[Merge]with: lp:openobject-addons

bzr revid: dbr@tinyerp.com-20111130103805-jp7tzgwv0ihut3yi
This commit is contained in:
DBR (OpenERP)
2011-11-30 16:08:05 +05:30
46 changed files with 754 additions and 520 deletions
+95 -93
View File
@@ -8,31 +8,31 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-11-24 12:54+0000\n"
"PO-Revision-Date: 2011-07-12 12:04+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2011-11-29 08:00+0000\n"
"Last-Translator: Ferdinand @ Camptocamp <Unknown>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-05 05:57+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-30 05:27+0000\n"
"X-Generator: Launchpad (build 14404)\n"
#. module: account_asset
#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_normal
#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_normal
msgid "Open Assets"
msgstr ""
msgstr "Anlage (Entwurf)"
#. module: account_asset
#: field:account.asset.property,method_end:0
#: field:account.asset.property.history,method_end:0
msgid "Ending date"
msgstr ""
msgstr "Ende Datum"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Depreciation board"
msgstr ""
msgstr "Abschreibungs-Tableau"
#. module: account_asset
#: view:account.asset.asset:0
@@ -45,61 +45,61 @@ msgstr ""
#: model:ir.model,name:account_asset.model_account_asset_asset
#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_form
msgid "Asset"
msgstr ""
msgstr "Anlagegüter"
#. module: account_asset
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr ""
msgstr "Ungültiger Modellname in der Aktionsdefinition."
#. module: account_asset
#: selection:account.asset.property,method:0
msgid "Linear"
msgstr ""
msgstr "Linear"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Change duration"
msgstr ""
msgstr "Verändere Lebensdauer"
#. module: account_asset
#: field:account.asset.asset,child_ids:0
msgid "Child assets"
msgstr ""
msgstr "untergeordnete Anlagengüter"
#. module: account_asset
#: field:account.asset.board,value_asset:0
msgid "Asset Value"
msgstr ""
msgstr "Anlagenwert"
#. module: account_asset
#: wizard_field:account.asset.modify,init,name:0
msgid "Reason"
msgstr ""
msgstr "Begründung"
#. module: account_asset
#: view:account.asset.asset:0
#: field:account.asset.asset,entry_ids:0
#: wizard_field:account.asset.compute,asset_compute,move_ids:0
msgid "Entries"
msgstr ""
msgstr "Buchungen"
#. module: account_asset
#: wizard_view:account.asset.compute,asset_compute:0
msgid "Generated entries"
msgstr ""
msgstr "erzeugte Buchungen"
#. module: account_asset
#: wizard_field:account.asset.modify,init,method_delay:0
#: field:account.asset.property,method_delay:0
#: field:account.asset.property.history,method_delay:0
msgid "Number of interval"
msgstr ""
msgstr "Anzahl der Intervalle"
#. module: account_asset
#: wizard_button:account.asset.compute,asset_compute,asset_open:0
msgid "Open entries"
msgstr ""
msgstr "offene Buchungen"
#. module: account_asset
#: view:account.asset.asset:0
@@ -108,102 +108,102 @@ msgstr ""
#: model:ir.ui.menu,name:account_asset.menu_finance_Assets
#: model:ir.ui.menu,name:account_asset.menu_finance_config_Assets
msgid "Assets"
msgstr ""
msgstr "Anlagegüter"
#. module: account_asset
#: selection:account.asset.property,method:0
msgid "Progressive"
msgstr ""
msgstr "Progressiv"
#. module: account_asset
#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_draft
#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_draft
msgid "Draft Assets"
msgstr ""
msgstr "Anlagegüter (Entwurf)"
#. module: account_asset
#: wizard_view:account.asset.modify,init:0
#: wizard_field:account.asset.modify,init,note:0
#: view:account.asset.property.history:0
msgid "Notes"
msgstr ""
msgstr "Bemerkungen"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Change history"
msgstr ""
msgstr "Bearbeitungshistorie"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Depreciation entries"
msgstr ""
msgstr "Abschreibungsbuchungen"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Methods"
msgstr ""
msgstr "Methoden"
#. module: account_asset
#: wizard_view:account.asset.modify,init:0
msgid "Asset properties to modify"
msgstr ""
msgstr "zu verändernde Anlagenmerkmale"
#. module: account_asset
#: field:account.asset.asset,partner_id:0
msgid "Partner"
msgstr ""
msgstr "Partner"
#. module: account_asset
#: wizard_field:account.asset.modify,init,method_period:0
#: field:account.asset.property,method_period:0
#: field:account.asset.property.history,method_period:0
msgid "Period per interval"
msgstr ""
msgstr "Perioden pro Intervall"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Depreciation duration"
msgstr ""
msgstr "Abschreibungsdauer"
#. module: account_asset
#: field:account.asset.property,account_analytic_id:0
msgid "Analytic account"
msgstr ""
msgstr "Analytisches Konto"
#. module: account_asset
#: field:account.asset.property,state:0
msgid "State"
msgstr ""
msgstr "Status"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Depreciation methods"
msgstr ""
msgstr "Abschreibungsmethode"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Other information"
msgstr ""
msgstr "Andere Informationen"
#. module: account_asset
#: field:account.asset.board,value_asset_cumul:0
msgid "Cumul. value"
msgstr ""
msgstr "kummulierter Betrag"
#. module: account_asset
#: view:account.asset.property:0
msgid "Assets methods"
msgstr ""
msgstr "Anlagen Methoden"
#. module: account_asset
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr ""
msgstr "Fehlerhafter XML-Code für diese Ansicht!"
#. module: account_asset
#: model:ir.model,name:account_asset.model_account_asset_property
msgid "Asset property"
msgstr ""
msgstr "Anlagenmerkmale"
#. module: account_asset
#: wizard_view:account.asset.compute,asset_compute:0
@@ -212,30 +212,30 @@ msgstr ""
#: model:ir.actions.wizard,name:account_asset.wizard_asset_compute
#: model:ir.ui.menu,name:account_asset.menu_wizard_asset_compute
msgid "Compute assets"
msgstr ""
msgstr "Berechne Anlagen"
#. module: account_asset
#: wizard_view:account.asset.modify,init:0
#: wizard_button:account.asset.modify,init,asset_modify:0
#: model:ir.actions.wizard,name:account_asset.wizard_asset_modify
msgid "Modify asset"
msgstr ""
msgstr "Verändere Anlagegut"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Confirm asset"
msgstr ""
msgstr "Anlagegut bestätigen"
#. module: account_asset
#: view:account.asset.property.history:0
#: model:ir.model,name:account_asset.model_account_asset_property_history
msgid "Asset history"
msgstr ""
msgstr "Anlagenhistorie"
#. module: account_asset
#: field:account.asset.property,date:0
msgid "Date created"
msgstr ""
msgstr "Erstellungsdatum"
#. module: account_asset
#: model:ir.module.module,description:account_asset.module_meta_information
@@ -252,211 +252,213 @@ msgstr ""
#: field:account.asset.board,value_gross:0
#: field:account.asset.property,value_total:0
msgid "Gross value"
msgstr ""
msgstr "Anschaffungswert"
#. module: account_asset
#: selection:account.asset.property,method_time:0
msgid "Ending period"
msgstr ""
msgstr "Periodenende"
#. module: account_asset
#: field:account.asset.board,name:0
msgid "Asset name"
msgstr ""
msgstr "Anlagenname"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Accounts information"
msgstr ""
msgstr "Konto Information"
#. module: account_asset
#: field:account.asset.asset,note:0
#: field:account.asset.category,note:0
#: field:account.asset.property.history,note:0
msgid "Note"
msgstr ""
msgstr "Notiz"
#. module: account_asset
#: selection:account.asset.asset,state:0
#: selection:account.asset.property,state:0
msgid "Draft"
msgstr ""
msgstr "Entwurf"
#. module: account_asset
#: field:account.asset.property,type:0
msgid "Depr. method type"
msgstr ""
msgstr "Abschreibungsmethode"
#. module: account_asset
#: field:account.asset.property,account_asset_id:0
msgid "Asset account"
msgstr ""
msgstr "Anlagenkonto"
#. module: account_asset
#: field:account.asset.property.history,asset_property_id:0
msgid "Method"
msgstr ""
msgstr "Methode"
#. module: account_asset
#: selection:account.asset.asset,state:0
msgid "Normal"
msgstr ""
msgstr "Normal"
#. module: account_asset
#: field:account.asset.property,method_progress_factor:0
msgid "Progressif factor"
msgstr ""
msgstr "Progressionsfaktor"
#. module: account_asset
#: field:account.asset.asset,localisation:0
msgid "Localisation"
msgstr ""
msgstr "Lokalisation"
#. module: account_asset
#: field:account.asset.property,method:0
msgid "Computation method"
msgstr ""
msgstr "Berechnungsmethode"
#. module: account_asset
#: field:account.asset.property,method_time:0
msgid "Time method"
msgstr ""
msgstr "Zeitmethode"
#. module: account_asset
#: field:account.asset.asset,active:0
msgid "Active"
msgstr ""
msgstr "Aktiv"
#. module: account_asset
#: field:account.asset.property.history,user_id:0
msgid "User"
msgstr ""
msgstr "Benutzer"
#. module: account_asset
#: field:account.asset.asset,property_ids:0
msgid "Asset method name"
msgstr ""
msgstr "Anlagenmethoden Bezeichnung"
#. module: account_asset
#: field:account.asset.asset,date:0
#: field:account.asset.property.history,date:0
msgid "Date"
msgstr ""
msgstr "Datum"
#. module: account_asset
#: field:account.asset.board,value_net:0
msgid "Net value"
msgstr ""
msgstr "Netto Wert"
#. module: account_asset
#: wizard_view:account.asset.close,init:0
#: model:ir.actions.wizard,name:account_asset.wizard_asset_close
msgid "Close asset"
msgstr ""
msgstr "Anlagegut schliessen"
#. module: account_asset
#: field:account.asset.property,history_ids:0
msgid "History"
msgstr ""
msgstr "Verlauf"
#. module: account_asset
#: field:account.asset.property,account_actif_id:0
msgid "Depreciation account"
msgstr ""
msgstr "AfA-Konto"
#. module: account_asset
#: field:account.asset.asset,period_id:0
#: wizard_field:account.asset.compute,init,period_id:0
msgid "Period"
msgstr ""
msgstr "Periode"
#. module: account_asset
#: model:ir.actions.act_window,name:account_asset.action_account_asset_category_form
#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_category_form
msgid "Asset Category"
msgstr ""
msgstr "Anlagenkategorie"
#. module: account_asset
#: wizard_button:account.asset.close,init,end:0
#: wizard_button:account.asset.compute,init,end:0
#: wizard_button:account.asset.modify,init,end:0
msgid "Cancel"
msgstr ""
msgstr "Abbrechen"
#. module: account_asset
#: selection:account.asset.asset,state:0
#: wizard_button:account.asset.compute,asset_compute,end:0
#: selection:account.asset.property,state:0
msgid "Close"
msgstr ""
msgstr "Schließen"
#. module: account_asset
#: selection:account.asset.property,state:0
msgid "Open"
msgstr ""
msgstr "Öffnen"
#. module: account_asset
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
"Der Objektname muss mit \"x_\" beginnen und darf keine Sonderzeichen "
"beinhalten!"
#. module: account_asset
#: model:ir.module.module,shortdesc:account_asset.module_meta_information
msgid "Asset management"
msgstr ""
msgstr "Anlagenbuchhaltung"
#. module: account_asset
#: view:account.asset.board:0
#: field:account.asset.property,board_ids:0
#: model:ir.model,name:account_asset.model_account_asset_board
msgid "Asset board"
msgstr ""
msgstr "Anlagenspiegel"
#. module: account_asset
#: field:account.asset.asset,state:0
msgid "Global state"
msgstr ""
msgstr "Globaler Status"
#. module: account_asset
#: selection:account.asset.property,method_time:0
msgid "Delay"
msgstr ""
msgstr "Verzögerung"
#. module: account_asset
#: wizard_view:account.asset.close,init:0
msgid "General information"
msgstr ""
msgstr "Allgemeine Informationen"
#. module: account_asset
#: field:account.asset.property,journal_analytic_id:0
msgid "Analytic journal"
msgstr ""
msgstr "analytisches Journal"
#. module: account_asset
#: field:account.asset.property,name:0
msgid "Method name"
msgstr ""
msgstr "Methodenname"
#. module: account_asset
#: field:account.asset.property,journal_id:0
msgid "Journal"
msgstr ""
msgstr "Journal"
#. module: account_asset
#: field:account.asset.property.history,name:0
msgid "History name"
msgstr ""
msgstr "Verlauf Bezeichnung"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Close method"
msgstr ""
msgstr "Abschlussmethode"
#. module: account_asset
#: field:account.asset.property,entry_asset_ids:0
msgid "Asset Entries"
msgstr ""
msgstr "Anlagen"
#. module: account_asset
#: field:account.asset.asset,category_id:0
@@ -464,66 +466,66 @@ msgstr ""
#: field:account.asset.category,name:0
#: model:ir.model,name:account_asset.model_account_asset_category
msgid "Asset category"
msgstr ""
msgstr "Analgenkategorie"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Depreciation"
msgstr ""
msgstr "Abschreibung"
#. module: account_asset
#: field:account.asset.asset,code:0
#: field:account.asset.category,code:0
msgid "Asset code"
msgstr ""
msgstr "Kurzbezeichnung"
#. module: account_asset
#: field:account.asset.asset,value_total:0
msgid "Total value"
msgstr ""
msgstr "Gesamt Wert"
#. module: account_asset
#: selection:account.asset.asset,state:0
msgid "View"
msgstr ""
msgstr "Ansicht"
#. module: account_asset
#: view:account.asset.asset:0
msgid "General info"
msgstr ""
msgstr "Allgemeine Informationen"
#. module: account_asset
#: field:account.asset.asset,sequence:0
msgid "Sequence"
msgstr ""
msgstr "Sequenz"
#. module: account_asset
#: field:account.asset.property,value_residual:0
msgid "Residual value"
msgstr ""
msgstr "Buchwert"
#. module: account_asset
#: wizard_button:account.asset.close,init,asset_close:0
msgid "End of asset"
msgstr ""
msgstr "Ende des Anlagegutes"
#. module: account_asset
#: selection:account.asset.property,type:0
msgid "Direct"
msgstr ""
msgstr "Direkt"
#. module: account_asset
#: selection:account.asset.property,type:0
msgid "Indirect"
msgstr ""
msgstr "Indirekt"
#. module: account_asset
#: field:account.asset.asset,parent_id:0
msgid "Parent asset"
msgstr ""
msgstr "übergeordnetes Anlagegut"
#. module: account_asset
#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_tree
#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_tree
msgid "Asset Hierarchy"
msgstr ""
msgstr "Anlangenhierarchie"
+1 -1
View File
@@ -23,7 +23,7 @@
<field name="code" eval="'# obj is a browse_record and will provide stupid ids to method\n' 'action = pool.get(\'ir.actions.todo\').action_launch(cr, uid, ' + str([ref('base_setup_installer_todo')]) + ', context=context)'"/>
</record>
<menuitem name="Add More Features" action="action_start_configurator" id="menu_view_base_module_configuration" parent="base.menu_config" type="server" icon="STOCK_EXECUTE" sequence="100"/>
<menuitem name="Add More Features" action="action_start_configurator" id="menu_view_base_module_configuration" parent="base.menu_config" type="server" icon="STOCK_EXECUTE" sequence="1"/>
<record id="ir_ui_view_sc_configuration" model="ir.ui.view_sc">
<field name="name">Add More Features</field>
<field name="resource">ir.ui.menu</field>
+5 -5
View File
@@ -441,10 +441,11 @@ class crm_lead(crm_case, osv.osv):
This opens Meeting's calendar view to schedule meeting on current Opportunity
@return : Dictionary value for created Meeting view
"""
if context is None:
context = {}
value = {}
data_obj = self.pool.get('ir.model.data')
for opp in self.browse(cr, uid, ids, context=context):
data_obj = self.pool.get('ir.model.data')
# Get meeting views
result = data_obj._get_id(cr, uid, 'crm', 'view_crm_case_meetings_filter')
res = data_obj.read(cr, uid, result, ['res_id'])
@@ -457,8 +458,7 @@ class crm_lead(crm_case, osv.osv):
id2 = data_obj.browse(cr, uid, id2, context=context).res_id
if id3:
id3 = data_obj.browse(cr, uid, id3, context=context).res_id
context = {
context.update({
'default_opportunity_id': opp.id,
'default_partner_id': opp.partner_id and opp.partner_id.id or False,
'default_user_id': uid,
@@ -466,7 +466,7 @@ class crm_lead(crm_case, osv.osv):
'default_email_from': opp.email_from,
'default_state': 'open',
'default_name': opp.name
}
})
value = {
'name': _('Meetings'),
'context': context,
+1
View File
@@ -147,6 +147,7 @@ class crm_lead_report(osv.osv):
extract('epoch' from (c.date_open-c.create_date))/(3600*24) as delay_open
FROM
crm_lead c
WHERE c.active = 'true'
)""")
crm_lead_report()
@@ -97,6 +97,7 @@ class crm_fundraising_report(osv.osv):
avg(extract('epoch' from (c.date_closed-c.create_date)))/(3600*24) as delay_close
from
crm_fundraising c
where c.active = 'true'
group by to_char(c.date, 'YYYY'), to_char(c.date, 'MM'),\
c.state, c.user_id,c.section_id,c.categ_id,type_id,c.partner_id,c.company_id,
c.create_date,to_char(c.date, 'YYYY-MM-DD')
@@ -101,6 +101,7 @@ class crm_helpdesk_report(osv.osv):
abs(avg(extract('epoch' from (c.date_deadline - c.date_closed)))/(3600*24)) as delay_expected
from
crm_helpdesk c
where c.active = 'true'
group by to_char(c.date, 'YYYY'), to_char(c.date, 'MM'),to_char(c.date, 'YYYY-MM-DD'),\
c.state, c.user_id,c.section_id,c.priority,\
c.partner_id,c.company_id,c.date_deadline,c.create_date,c.date,c.date_closed,\
@@ -100,6 +100,7 @@ class report_event_registration(osv.osv):
event_registration c ON (e.id=c.event_id)
LEFT JOIN
event_type t ON (e.type=t.id)
WHERE c.active = 'true'
GROUP BY
to_char(e.date_begin, 'YYYY'),
to_char(e.date_begin, 'MM'),
+1 -1
View File
@@ -27,7 +27,7 @@
'complexity': "easy",
"website": "http://www.openerp.com",
"images": ["images/hr_evaluation_analysis.jpeg","images/hr_evaluation.jpeg"],
"depends": ["hr",'hr_recruitment','survey'],
"depends": ["hr","base_calendar","survey"],
"description": """
Ability to create employees evaluation.
=======================================
+1 -1
View File
@@ -1205,7 +1205,7 @@ Once the form had been filled, the employee send it to his supervisor.
<field name="action">final</field>
<field eval="0" name="send_anonymous_employee"/>
<field eval="0" name="send_answer_employee"/>
<field name="survey_id" ref="hr_recruitment.survey_job_0"/>
<field name="survey_id" ref="hr_evaluation.survey_2"/>
<field eval="0" name="send_answer_manager"/>
<field eval="1" name="wait"/>
</record>
+2 -2
View File
@@ -59,7 +59,7 @@
<form string="Leave Request">
<group col="8" colspan="4">
<field name="name" attrs="{'readonly':[('state','!=','draft'),('state','!=','confirm')]}"/>
<field name="holiday_type" on_change="onchange_type(holiday_type)" attrs="{'readonly':[('state','!=','draft')]}" width="130" groups="base.group_hr_manager"/>
<field name="holiday_type" on_change="onchange_type(holiday_type)" attrs="{'readonly':[('state','!=','draft')]}" width="130" string="Mode" groups="base.group_hr_manager"/>
<group attrs="{'invisible':[('holiday_type','=','employee')]}">
<field name="category_id" attrs="{'required':[('holiday_type','=','category')], 'readonly':[('state','!=','draft')]}"/>
</group>
@@ -104,7 +104,7 @@
<form string="Allocation Request">
<group col="8" colspan="4">
<field name="name"/>
<field name="holiday_type" on_change="onchange_type(holiday_type)" attrs="{'readonly':[('state','!=','draft')]}" string="Allocation Category" groups="base.group_hr_manager"/>
<field name="holiday_type" on_change="onchange_type(holiday_type)" attrs="{'readonly':[('state','!=','draft')]}" string="Allocation Mode" groups="base.group_hr_manager"/>
<group attrs="{'invisible':[('holiday_type','=','category')]}">
<field name="employee_id" attrs="{'required':[('holiday_type','=','employee')]}"/>
</group>
File diff suppressed because it is too large Load Diff
+4 -5
View File
@@ -5,16 +5,15 @@
type: automatic
-
!python {model: ir.actions.todo}: |
if self.browse(cr, uid, ref('l10n_be.config_call_account_template')).state=='open':
install_todo = self.browse(cr, uid, ref('l10n_be.config_call_account_template'))
if install_todo.state == 'open':
wiz = self.pool.get('wizard.multi.charts.accounts')
values = {
'chart_template_id': ref('l10n_be.l10nbe_chart_template')
}
values.update(
wiz.onchange_chart_template_id(cr, uid, False, ref('l10n_be.l10nbe_chart_template')).get('values', {})
wiz.onchange_chart_template_id(cr, uid, False, ref('l10n_be.l10nbe_chart_template')).get('value', {})
)
wiz_id = wiz.create(cr, uid, values)
wiz.execute(cr, uid, [wiz_id])
self.write(cr, uid, [ref('l10n_be.config_call_account_template')], {
'state': 'done'
})
install_todo.write({'state':'done'})
+1 -1
View File
@@ -138,7 +138,7 @@
</group>
<separator colspan="4" string="Financial institute infos"/>
<newline/>
<field name="my_bank" attrs="{'invisible': [('company_id', '!=', True)]}" colspan="4"/>
<field name="my_bank" attrs="{'invisible': [('company_id', '=', False)]}" colspan="4"/>
<group string="BVR print options" colspan="4" attrs="{'invisible': [('my_bank', '!=', True)]}" >
<field name="bvr_adherent_num"/>
<field name="print_bank"/>
+2 -1
View File
@@ -359,11 +359,12 @@
</record>
<record id="ch_1024" model="account.account.template">
<field name="type">other</field>
<field name="name">Compte en devise A</field>
<field name="name">Compte en devise EUR</field>
<field name="code">1024</field>
<field name="user_type" ref="account_type_cash"/>
<field name="note"/>
<field ref="ch_102_0" name="parent_id"/>
<field name="currency_id" ref="base.EUR"/>
</record>
<record id="ch_1025" model="account.account.template">
<field name="type">other</field>
@@ -109,7 +109,7 @@ class report_membership(osv.osv):
LEFT JOIN membership_membership_line ml ON (ml.partner = p.id)
LEFT JOIN account_invoice_line il ON (ml.account_invoice_line = il.id)
LEFT JOIN account_invoice ai ON (il.invoice_id = ai.id)
WHERE p.membership_state != 'none'
WHERE p.membership_state != 'none' and p.active = 'true'
GROUP BY
p.id,
p.user_id,
+75 -62
View File
@@ -8,78 +8,80 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-07-04 14:16+0000\n"
"PO-Revision-Date: 2011-07-11 09:51+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2011-11-29 07:47+0000\n"
"Last-Translator: Ferdinand @ Camptocamp <Unknown>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-05 05:57+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-30 05:27+0000\n"
"X-Generator: Launchpad (build 14404)\n"
#. module: portal
#: code:addons/portal/wizard/share_wizard.py:55
#, python-format
msgid "Please select at least one user to share with"
msgstr ""
msgstr "Bitte wählen Sie mindestens einen Benutzer zum Teilen"
#. module: portal
#: code:addons/portal/wizard/share_wizard.py:59
#, python-format
msgid "Please select at least one group to share with"
msgstr ""
msgstr "Bitte wählen Sie mindestens eine Gruppe zum Teilen"
#. module: portal
#: field:res.portal,group_id:0
msgid "Group"
msgstr ""
msgstr "Gruppe"
#. module: portal
#: help:res.portal,other_group_ids:0
msgid "Those groups are assigned to the portal's users"
msgstr ""
msgstr "Diese Gruppen sind den Portalbenutzern zugeordnet"
#. module: portal
#: view:share.wizard:0
#: field:share.wizard,group_ids:0
msgid "Existing groups"
msgstr ""
msgstr "Vorhandene Gruppen"
#. module: portal
#: model:ir.model,name:portal.model_res_portal_wizard_user
msgid "Portal User Config"
msgstr ""
msgstr "Portalbenutzer Konfiguration"
#. module: portal
#: view:res.portal.wizard.user:0
msgid "Portal User"
msgstr ""
msgstr "Portalbenutzer"
#. module: portal
#: help:res.portal,override_menu:0
msgid "Enable this option to override the Menu Action of portal users"
msgstr ""
msgstr "Aktivieren, um die Menü Aktion für Portalbenutzer zu überschreiben"
#. module: portal
#: field:res.portal.wizard.user,user_email:0
msgid "E-mail"
msgstr ""
msgstr "E-Mail"
#. module: portal
#: view:res.portal:0
msgid "Other Groups assigned to Users"
msgstr ""
msgstr "Andere dem Benutzer zugeteilte Gruppen"
#. module: portal
#: constraint:res.users:0
msgid "The chosen company is not in the allowed companies for this user"
msgstr ""
"Die gewählte Firma ist nicht in der Liste der erlaubten Firmen für diesen "
"Benutzer"
#. module: portal
#: view:res.portal:0
#: field:res.portal,widget_ids:0
msgid "Widgets"
msgstr ""
msgstr "Oberflächenelemente"
#. module: portal
#: model:ir.module.module,description:portal.module_meta_information
@@ -103,67 +105,68 @@ msgstr ""
#. module: portal
#: view:share.wizard:0
msgid "Who do you want to share with?"
msgstr ""
msgstr "Mit wem wollen Sie teilen?"
#. module: portal
#: view:res.portal.wizard:0
msgid "Send Invitations"
msgstr ""
msgstr "Versende Einladungen"
#. module: portal
#: help:res.portal,url:0
msgid "The url where portal users can connect to the server"
msgstr ""
msgstr "Die URL, mit der sich Portalbenutzer anmelden können"
#. module: portal
#: field:res.portal.widget,widget_id:0
msgid "Widget"
msgstr ""
msgstr "Oberflächenelement"
#. module: portal
#: help:res.portal.wizard,message:0
msgid "This text is included in the welcome email sent to the users"
msgstr ""
msgstr "Dieser Text ist Bestandteil der Willkommen E-Mail an den Benutzer"
#. module: portal
#: help:res.portal,menu_action_id:0
msgid "If set, replaces the standard menu for the portal's users"
msgstr ""
"Wenn definiert, dann ersetzt dies das Standardmenü für Portalbenutzer"
#. module: portal
#: field:res.portal,parent_menu_id:0
msgid "Parent Menu"
msgstr ""
msgstr "Obermenü"
#. module: portal
#: view:res.portal:0
msgid "Portal Name"
msgstr ""
msgstr "Portalname"
#. module: portal
#: view:res.portal.wizard.user:0
msgid "Portal Users"
msgstr ""
msgstr "Portalbenutzer"
#. module: portal
#: field:res.portal,override_menu:0
msgid "Override Menu Action of Users"
msgstr ""
msgstr "Überschreibe Die Menü-Aktion für Benutzer"
#. module: portal
#: field:res.portal,menu_action_id:0
msgid "Menu Action"
msgstr ""
msgstr "Menü Aktion"
#. module: portal
#: field:res.portal.wizard.user,name:0
msgid "User Name"
msgstr ""
msgstr "Benutzer Name"
#. module: portal
#: model:ir.model,name:portal.model_res_portal_widget
msgid "Portal Widgets"
msgstr ""
msgstr "Portal Oberflächenelemente"
#. module: portal
#: model:ir.model,name:portal.model_res_portal
@@ -172,47 +175,47 @@ msgstr ""
#: field:res.portal.widget,portal_id:0
#: field:res.portal.wizard,portal_id:0
msgid "Portal"
msgstr ""
msgstr "Portal"
#. module: portal
#: code:addons/portal/wizard/portal_wizard.py:35
#, python-format
msgid "Your OpenERP account at %(company)s"
msgstr ""
msgstr "Ihr OpenERP Konto bei %(company)s"
#. module: portal
#: code:addons/portal/portal.py:110
#: code:addons/portal/portal.py:184
#, python-format
msgid "%s Menu"
msgstr ""
msgstr "%s Menü"
#. module: portal
#: help:res.portal.wizard,portal_id:0
msgid "The portal in which new users must be added"
msgstr ""
msgstr "Das Portal, zu dem neue Benutzer hinzugefügt werden müssen"
#. module: portal
#: help:res.portal,widget_ids:0
msgid "Widgets assigned to portal users"
msgstr ""
msgstr "Oberflächenelemente, die Portalbenutzern zugeordnet sind"
#. module: portal
#: code:addons/portal/wizard/portal_wizard.py:163
#, python-format
msgid "(missing url)"
msgstr ""
msgstr "(fehlende URL)"
#. module: portal
#: view:share.wizard:0
#: field:share.wizard,user_ids:0
msgid "Existing users"
msgstr ""
msgstr "Bestehende Benutzer"
#. module: portal
#: field:res.portal.wizard.user,wizard_id:0
msgid "Wizard"
msgstr ""
msgstr "Assistent"
#. module: portal
#: help:res.portal.wizard.user,user_email:0
@@ -220,63 +223,65 @@ msgid ""
"Will be used as user login. Also necessary to send the account information "
"to new users"
msgstr ""
"Wird als Benutzer Login verwendet. Ebenso notwendig die Kontoinformation an "
"neue Benutzer zu senden."
#. module: portal
#: field:res.portal.wizard.user,lang:0
msgid "Language"
msgstr ""
msgstr "Sprache"
#. module: portal
#: field:res.portal,url:0
msgid "URL"
msgstr ""
msgstr "URL"
#. module: portal
#: view:res.portal:0
msgid "Widgets assigned to Users"
msgstr ""
msgstr "Oberflächenelemente, die Benutzern zugeordnet sind"
#. module: portal
#: help:res.portal.wizard.user,lang:0
msgid "The language for the user's user interface"
msgstr ""
msgstr "Die Sprache für die Benutzerschnittstelle"
#. module: portal
#: view:res.portal.wizard:0
msgid "Cancel"
msgstr ""
msgstr "Abbrechen"
#. module: portal
#: view:res.portal:0
msgid "Website"
msgstr ""
msgstr "Webseite"
#. module: portal
#: view:res.portal:0
msgid "Create Parent Menu"
msgstr ""
msgstr "Erstelle Obermenü"
#. module: portal
#: view:res.portal.wizard:0
msgid ""
"The following text will be included in the welcome email sent to users."
msgstr ""
msgstr "Der folgende Text wird im Willkommen E-Mail verwendet werden"
#. module: portal
#: code:addons/portal/wizard/portal_wizard.py:135
#, python-format
msgid "Email required"
msgstr ""
msgstr "E-Mail ist erforderlich"
#. module: portal
#: model:ir.model,name:portal.model_res_users
msgid "res.users"
msgstr ""
msgstr "res.users"
#. module: portal
#: constraint:res.portal.wizard.user:0
msgid "Invalid email address"
msgstr ""
msgstr "Ungültige E-Mail Adresse"
#. module: portal
#: code:addons/portal/wizard/portal_wizard.py:136
@@ -284,28 +289,30 @@ msgstr ""
msgid ""
"You must have an email address in your User Preferences to send emails."
msgstr ""
"Sie müssen Ihre E-Mail Adresse in den Benuztereinstellungen erfassen um E-"
"Mails senden zu können."
#. module: portal
#: model:ir.model,name:portal.model_ir_ui_menu
msgid "ir.ui.menu"
msgstr ""
msgstr "ir.ui.menu"
#. module: portal
#: help:res.portal,group_id:0
msgid "The group extended by this portal"
msgstr ""
msgstr "Die diesem Portal zugeordnete Gruppe"
#. module: portal
#: view:res.portal:0
#: view:res.portal.wizard:0
#: field:res.portal.wizard,user_ids:0
msgid "Users"
msgstr ""
msgstr "Benutzer"
#. module: portal
#: field:res.portal,other_group_ids:0
msgid "Other User Groups"
msgstr ""
msgstr "Andere Benutzergruppen"
#. module: portal
#: model:ir.actions.act_window,name:portal.portal_list_action
@@ -313,38 +320,38 @@ msgstr ""
#: model:ir.ui.menu,name:portal.portal_menu
#: view:res.portal:0
msgid "Portals"
msgstr ""
msgstr "Portale"
#. module: portal
#: help:res.portal,parent_menu_id:0
msgid "The menu action opens the submenus of this menu item"
msgstr ""
msgstr "Die Menü-Aktion öffnet Unter-Menüeinträge dieses Menüeintrags"
#. module: portal
#: field:res.portal.widget,sequence:0
msgid "Sequence"
msgstr ""
msgstr "Sequenz"
#. module: portal
#: field:res.users,partner_id:0
msgid "Related Partner"
msgstr ""
msgstr "referenzierter Geschäftspartner"
#. module: portal
#: view:res.portal:0
msgid "Portal Menu"
msgstr ""
msgstr "Portal Menü"
#. module: portal
#: sql_constraint:res.users:0
msgid "You can not have two users with the same login !"
msgstr ""
msgstr "2 Benuzter können nicht den gleichen Login Code haben."
#. module: portal
#: view:res.portal.wizard:0
#: field:res.portal.wizard,message:0
msgid "Invitation message"
msgstr ""
msgstr "Einladungstext"
#. module: portal
#: code:addons/portal/wizard/portal_wizard.py:36
@@ -369,24 +376,24 @@ msgstr ""
#. module: portal
#: model:ir.model,name:portal.model_res_portal_wizard
msgid "Portal Wizard"
msgstr ""
msgstr "Portal Assistent"
#. module: portal
#: help:res.portal.wizard.user,name:0
msgid "The user's real name"
msgstr ""
msgstr "Der vollständige Name des Benutzers"
#. module: portal
#: model:ir.actions.act_window,name:portal.address_wizard_action
#: model:ir.actions.act_window,name:portal.partner_wizard_action
#: view:res.portal.wizard:0
msgid "Add Portal Access"
msgstr ""
msgstr "Füge Portalberechtigung hinzu"
#. module: portal
#: field:res.portal.wizard.user,partner_id:0
msgid "Partner"
msgstr ""
msgstr "Partner"
#. module: portal
#: model:ir.actions.act_window,help:portal.portal_list_action
@@ -398,8 +405,14 @@ msgid ""
"the portal's users.\n"
" "
msgstr ""
"\n"
"Ein Portal erlaubt die Zuordnung von bestimmten Sichten und Regeln zu einer "
"Benutzergruppe (die Portalgruppe).\n"
"Ein Portalmenu, Oberflächenelemente und einzelne Gruppen können "
"Portalbenutzern zugeordnet werden.\n"
" "
#. module: portal
#: model:ir.model,name:portal.model_share_wizard
msgid "Share Wizard"
msgstr ""
msgstr "Freigabeassistent"
+2 -2
View File
@@ -57,7 +57,7 @@
<field name="sequence"/>
<field colspan="4" name="name" select="1"/>
<field name="product_id"/>
<field name="product_tmpl_id" select="1"/>
<field name="product_tmpl_id" select="1" groups="product.group_product_variant"/>
<field name="categ_id" select="1"/>
<field name="min_quantity"/>
<field name="base"/>
@@ -74,7 +74,7 @@
<separator colspan="4" string="Rules Test Match"/>
<field colspan="4" name="name" select="1"/>
<field name="product_id" on_change="product_id_change(product_id)" select="1"/>
<field name="product_tmpl_id" select="1"/>
<field name="product_tmpl_id" select="1" groups="product.group_product_variant"/>
<field name="categ_id" select="1"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<newline/>
+2 -1
View File
@@ -34,6 +34,7 @@
<separator colspan="2" string="Performance"/>
<field name="planned_hours" widget="float_time"/>
<field name="effective_hours" widget="float_time" />
<field name="resource_calendar_id"/>
</group>
<group col="2" colspan="2" name="misc">
<separator colspan="4" string="Miscelleanous"/>
@@ -528,7 +529,7 @@
<field name="view_mode">tree,form,calendar,gantt,graph,kanban</field>
<field eval="False" name="filter"/>
<field name="view_id" ref="view_task_tree2"/>
<field name="context">{"search_default_draft": 1, "search_default_open":1}</field>
<field name="context">{"search_default_draft": 1, "search_default_open":1, "search_default_project_id": project_id}</field>
<field name="search_view_id" ref="view_task_search_form"/>
<field name="help">A task represents a work that has to be done. Each user works in his own list of tasks where he can record his task work in hours. He can work and close the task itself or delegate it to another user. If you delegate a task to another user, you get a new task in pending state, which will be reopened when you have to review the work achieved. If you install the project_timesheet module, task work can be invoiced based on the project configuration. With the project_mrp module, sales orders can create tasks automatically when they are confirmed.</field>
</record>
+1 -1
View File
@@ -91,7 +91,7 @@ class report_project_task_user(osv.osv):
(extract('epoch' from (t.date_start-t.create_date)))/(3600*24) as opening_days,
abs((extract('epoch' from (t.date_deadline-t.date_end)))/(3600*24)) as delay_endings_days
FROM project_task t
WHERE t.active = 'true'
GROUP BY
t.id,
remaining_hours,
-1
View File
@@ -487,7 +487,6 @@ project_issue()
class project(osv.osv):
_inherit = "project.project"
_columns = {
'resource_calendar_id' : fields.many2one('resource.calendar', 'Working Time', help="Timetable working hours to adjust the gantt diagram report", states={'close':[('readonly',True)], 'cancelled':[('readonly',True)]}),
'project_escalation_id' : fields.many2one('project.project','Project Escalation', help='If any issue is escalated from the current Project, it will be listed under the project selected here.', states={'close':[('readonly',True)], 'cancelled':[('readonly',True)]}),
'reply_to' : fields.char('Reply-To Email Address', size=256)
}
@@ -16,6 +16,7 @@
<field eval="15.0" name="duration"/>
<field eval="&quot;Bug in Accounts module&quot;" name="name"/>
<field eval="&quot;agr@agrolait.com&quot;" name="email_from"/>
<field name="type_id" ref="project.project_tt_specification"/>
</record>
<record id="crm_case_programnotgivingproperoutput0" model="project.issue">
@@ -31,6 +32,7 @@
<field name="categ_id" ref="bug_categ"/>
<field eval="&quot;Program not giving proper output&quot;" name="name"/>
<field name="project_id" ref="project.project_project_22"/>
<field name="type_id" ref="project.project_tt_specification"/>
</record>
<record id="crm_case_outputincorrect0" model="project.issue">
@@ -45,6 +47,7 @@
<field name="categ_id" ref="bug_categ"/>
<field name="project_id" ref="project.project_project_23"/>
<field eval="&quot;Output incorrect&quot;" name="name"/>
<field name="type_id" ref="project.project_tt_development"/>
</record>
<record id="crm_case_problemloadingpage0" model="project.issue">
@@ -60,6 +63,7 @@
<field name="categ_id" ref="bug_categ"/>
<field name="project_id" ref="project.project_project_22"/>
<field eval="&quot;Problem loading page&quot;" name="name"/>
<field name="type_id" ref="project.project_tt_testing"/>
</record>
<record id="crm_case_pagenotfound0" model="project.issue">
@@ -74,6 +78,7 @@
<field name="categ_id" ref="bug_categ"/>
<field name="project_id" ref="project.project_project_22"/>
<field eval="&quot;Page not Found&quot;" name="name"/>
<field name="type_id" ref="project.project_tt_development"/>
</record>
<record id="crm_case_programmingerror0" model="project.issue">
@@ -89,6 +94,7 @@
<field name="categ_id" ref="bug_categ"/>
<field name="project_id" ref="project.project_project_22"/>
<field eval="&quot;Programming Error&quot;" name="name"/>
<field name="type_id" ref="project.project_tt_testing"/>
</record>
<record id="crm_case_logicalerrorinprogram0" model="project.issue">
@@ -104,6 +110,7 @@
<field name="categ_id" ref="bug_categ"/>
<field name="project_id" ref="project.project_project_9"/>
<field eval="&quot;Logical Error in Program&quot;" name="name"/>
<field name="type_id" ref="project.project_tt_testing"/>
</record>
<record id="crm_case_constrainterror0" model="project.issue">
@@ -119,6 +126,7 @@
<field name="categ_id" ref="bug_categ"/>
<field name="project_id" ref="project.project_project_9"/>
<field eval="&quot;Constraint Error&quot;" name="name"/>
<field name="type_id" ref="project.project_tt_testing"/>
</record>
<record id="crm_case_errorinprogram0" model="project.issue">
@@ -133,6 +141,7 @@
<field name="categ_id" ref="feature_request_categ"/>
<field name="project_id" ref="project.project_project_22"/>
<field eval="&quot;Error in Program&quot;" name="name"/>
<field name="type_id" ref="project.project_tt_testing"/>
</record>
<record id="crm_case_patcheserrorinprogram0" model="project.issue">
@@ -148,6 +157,7 @@
<field name="categ_id" ref="feature_request_categ"/>
<field name="project_id" ref="project.project_project_9"/>
<field eval="&quot;Patches Error in Program&quot;" name="name"/>
<field name="type_id" ref="project.project_tt_testing"/>
</record>
<record id="crm_case_newfeaturestobeadded0" model="project.issue">
@@ -163,6 +173,7 @@
<field name="categ_id" ref="feature_request_categ"/>
<field name="project_id" ref="project.project_project_21"/>
<field eval="&quot;New Features To Be Added&quot;" name="name"/>
<field name="type_id" ref="project.project_tt_merge"/>
</record>
<record id="crm_case_addmenustothemodule0" model="project.issue">
@@ -179,6 +190,7 @@
<field name="project_id" ref="project.project_project_21"/>
<field eval="&quot;Add menus to the module&quot;" name="name"/>
<field eval="&quot;info@opensides.be&quot;" name="email_from"/>
<field name="type_id" ref="project.project_tt_development"/>
</record>
<record id="crm_case_includeattendancesheetinproject0" model="project.issue">
@@ -195,6 +207,7 @@
<field name="project_id" ref="project.project_project_9"/>
<field eval="&quot;Include Attendance sheet in Project&quot;" name="name"/>
<field eval="&quot;contact@tecsas.fr&quot;" name="email_from"/>
<field name="type_id" ref="project.project_tt_development"/>
</record>
<record id="crm_case_createnewobject0" model="project.issue">
@@ -210,6 +223,7 @@
<field name="categ_id" ref="feature_request_categ"/>
<field name="project_id" ref="project.project_project_22"/>
<field eval="&quot;Create new object&quot;" name="name"/>
<field name="type_id" ref="project.project_tt_specification"/>
</record>
<record id="crm_case_improvereportsinhrms0" model="project.issue">
@@ -225,6 +239,7 @@
<field name="categ_id" ref="feature_request_categ"/>
<field name="project_id" ref="project.project_project_22"/>
<field eval="&quot;Improve Reports in HRMS&quot;" name="name"/>
<field name="type_id" ref="project.project_tt_development"/>
</record>
<record id="crm_case_improvereportsinpms0" model="project.issue">
@@ -240,6 +255,7 @@
<field name="categ_id" ref="feature_request_categ"/>
<field name="project_id" ref="project.project_project_22"/>
<field eval="&quot;Improve Reports in PMS&quot;" name="name"/>
<field name="type_id" ref="project.project_tt_specification"/>
</record>
</data>
@@ -398,19 +398,6 @@
# Project
# ------------------------------------------------------
<record id="project.view_project_resource_form1" model="ir.ui.view">
<field name="name">Project Resource Calendar View</field>
<field name="model">project.project</field>
<field name="type">form</field>
<field name="inherit_id" ref="project.edit_project"/>
<field name="arch" type="xml">
<field name="priority" position="after">
<field name="resource_calendar_id"/>
</field>
</field>
</record>
<record id="view_project_form_inherited" model="ir.ui.view">
<field name="name">project.project.form.inherited</field>
<field name="model">project.project</field>
@@ -104,7 +104,7 @@ class project_issue_report(osv.osv):
FROM
project_issue c
WHERE c.categ_id IN (select id from crm_case_categ where object_id in (select id from ir_model where model = 'project.issue'))
WHERE c.active= 'true' and c.categ_id IN (select id from crm_case_categ where object_id in (select id from ir_model where model = 'project.issue'))
)""")
project_issue_report()
@@ -9,3 +9,4 @@
"access_resource_calendar_project_manager","resource.calendar.project.manager","resource.model_resource_calendar","project.group_project_manager",1,1,1,1
"access_project_issue_report_user","project.issue.report user","model_project_issue_report","project.group_project_user",1,0,0,0
"access_mail_message_issue_project_user","mail.message.user","mail.model_mail_message","project.group_project_user",1,1,1,0
"access_crm_case_section","crm.case.section","crm.model_crm_case_section","project.group_project_user",1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
9 access_resource_calendar_project_manager resource.calendar.project.manager resource.model_resource_calendar project.group_project_manager 1 1 1 1
10 access_project_issue_report_user project.issue.report user model_project_issue_report project.group_project_user 1 0 0 0
11 access_mail_message_issue_project_user mail.message.user mail.model_mail_message project.group_project_user 1 1 1 0
12 access_crm_case_section crm.case.section crm.model_crm_case_section project.group_project_user 1 0 0 0
+1 -1
View File
@@ -26,7 +26,7 @@
"website": "http://www.openerp.com",
"category": "Project Management",
"images": ["images/project_phase_form.jpeg","images/project_phases.jpeg", "images/resources_allocation.jpeg"],
"depends": ["resource", "project"],
"depends": ["project"],
"description": """
Long Term Project management module that tracks planning, scheduling, resources allocation.
===========================================================================================
@@ -273,23 +273,6 @@
</record>
# ------------------------------------------------------
# Project
# ------------------------------------------------------
<record id="project.view_project_user_form1" model="ir.ui.view">
<field name="name">Project Resource Calendar View</field>
<field name="model">project.project</field>
<field name="type">form</field>
<field name="inherit_id" ref="project.edit_project"/>
<field name="arch" type="xml">
<field name="effective_hours" position="after">
<field name="resource_calendar_id"/>
</field>
</field>
</record>
# ------------------------------------------------------
# Project Task
# ------------------------------------------------------
+5 -1
View File
@@ -65,7 +65,11 @@ More information on the methodology:
"board_project_scrum_view.xml",
],
'demo_xml': ['project_scrum_demo.xml'],
'test': ['test/project_scrum_report.yml'],
'test': ['test/backlog_process.yml',
'test/sprint_process.yml',
'test/cancel_backlog.yml',
'test/project_scrum_demo.yml',
],
'installable': True,
'active': False,
'certificate' : '00736750152003010781',
+4 -2
View File
@@ -262,7 +262,7 @@ class project_scrum_task(osv.osv):
'project.scrum.product.backlog': (_get_task, ['sprint_id'], 10)
}),
}
#dead code
def onchange_backlog_id(self, cr, uid, backlog_id=False):
if not backlog_id:
return {}
@@ -292,7 +292,7 @@ class project_scrum_meeting(osv.osv):
_defaults = {
'date' : lambda *a: time.strftime('%Y-%m-%d'),
}
# dead code
def button_send_to_master(self, cr, uid, ids, context=None):
meeting_id = self.browse(cr, uid, ids, context=context)[0]
if meeting_id and meeting_id.sprint_id.scrum_master_id.user_email:
@@ -303,6 +303,7 @@ class project_scrum_meeting(osv.osv):
raise osv.except_osv(_('Error !'), _('Please provide email address for scrum master defined on sprint.'))
return True
#dead code
def button_send_product_owner(self, cr, uid, ids, context=None):
if context is None:
context = {}
@@ -316,6 +317,7 @@ class project_scrum_meeting(osv.osv):
raise osv.except_osv(_('Error !'), _('Please provide email address for product owner defined on sprint.'))
return True
#dead code
def email_send(self, cr, uid, ids, email, context=None):
mail_message_obj = self.pool.get('mail.message')
meeting_id = self.browse(cr, uid, ids, context=context)[0]
+3 -2
View File
@@ -10,7 +10,6 @@
<field name="project_id" ref="project.project_project_9"/>
<field name="product_owner_id" ref="base.user_root"/>
<field model="res.users" name="scrum_master_id" search="[('login','=','admin')]"/>
<field name="state">open</field>
</record>
<record id="scrum_sprint_1" model="project.scrum.sprint">
@@ -158,7 +157,6 @@
<field name="expected_hours">6.0</field>
<field name="note">This new system will enable you to migrate automatically from an old version of OpenERP to a new one. This system will migrate not only the OpenERP system but also the customers particularities. This happens without any kind of script or programming. It has been possible to carry out such a system thanks to the descriptive approach of OpenERP components. </field>
<field name="sprint_id" ref="scrum_sprint_0"/>
<field name="state">done</field>
<field name="project_id" ref="project.project_project_9"/>
</record>
<record id="scrum_product_backlog_1" model="project.scrum.product.backlog">
@@ -387,6 +385,9 @@
<field name="state">open</field>
<field name="product_backlog_id" ref="scrum_product_backlog_7"/>
</record>
<!-- Resource: project_scrum.meeting -->
<record id="scrum_meeting_0" model="project.scrum.meeting">
<field name="question_yesterday">
Admin: Worked on the Automatic migration system
+2 -2
View File
@@ -263,6 +263,8 @@
<group colspan="4" col="6">
<field name="date"/>
<field name="user_id"/>
<button name="%(mail.action_email_compose_message_wizard)d"
string="Send Email" type="action" icon="terp-mail-message-new"/>
</group>
<notebook colspan="4">
<page string="Scrum Meeting">
@@ -273,8 +275,6 @@
<separator colspan="4" string="Are there anything blocking you?"/>
<field colspan="4" name="question_blocks" nolabel="1"/>
<separator colspan="4" string=""/>
<button name="button_send_to_master" type="object" string="Send to Scrum Master" icon="gtk-ok"/>
<button name="button_send_product_owner" type="object" string="Send to Product Owner" icon="gtk-ok"/>
</page>
<page string="Optional Info">
<separator colspan="4" string="Are your Sprint Backlog estimate accurate ?"/>
@@ -0,0 +1,39 @@
-
In Order to Test process of Project Agile Methology,
-
I put Backlog in pending state because of specification is not ready.
-
!python {model: project.scrum.product.backlog}: |
self.button_pending(cr, uid, [ref("scrum_product_backlog_0")])
-
I check state of Backlog after put in pending.
-
!assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: Backlog should be in pending state}:
- state == "pending"
-
Now Specification is ready so I Open backlog "Automatic migration system".
-
!python {model: project.scrum.product.backlog}: |
self.button_open(cr, uid, [ref("scrum_product_backlog_0")])
-
I check state of Backlog after opened.
-
!assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: Backlog should be in open state}:
- state == "open"
-
I close Backlog after review.
-
!python {model: project.scrum.product.backlog}: |
self.button_close(cr, uid, [ref("scrum_product_backlog_0")])
-
I check state of Backlog after closed.
-
!assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: Backlog should be in close state}:
- state == "done"
-
I merge two Backlogs in to one Backlog.
-
!python {model: project.scrum.backlog.merge}: |
self.check_backlogs(cr, uid, [ref("scrum_product_backlog_1"),ref("scrum_product_backlog_2")], {"active_ids": [ref("scrum_product_backlog_1"),ref("scrum_product_backlog_2")],
"active_id": ref("scrum_product_backlog_1")
})
@@ -0,0 +1,50 @@
-
I cancel Backlog "Automatic migration system" from draft state.
-
!python {model: project.scrum.product.backlog}: |
self.button_cancel(cr, uid, [ref("scrum_product_backlog_0")])
-
I check state of Backlog after canceled.
-
!assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: backlog should be in cancel state}:
- state == "cancel"
-
I cancel opened Backlog "Editable Trees".
-
!python {model: project.scrum.product.backlog}: |
self.button_cancel(cr, uid, [ref("scrum_product_backlog_7")])
-
I check state of Backlog after canceled.
-
!assert {model: project.scrum.product.backlog, id: scrum_product_backlog_7, severity: error, string: backlog should be in cancel state}:
- state == "cancel"
-
I put Backlog in pending due to resource unavailability.
-
!python {model: project.scrum.product.backlog}: |
self.button_pending(cr, uid, [ref("scrum_product_backlog_0")])
-
I check state of Backlog after put in pending.
-
!assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: Backlog should be in pending state}:
- state == "pending"
-
I cancel pending Backlog "Automatic migration system".
-
!python {model: project.scrum.product.backlog}: |
self.button_cancel(cr, uid, [ref("scrum_product_backlog_0")])
-
I check state of Backlog after canceled.
-
!assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: backlog should be in cancel state}:
- state == "cancel"
-
I Postpone opened Backlog "Reshape the complete menu".
-
!python {model: project.scrum.product.backlog}: |
self.button_postpone(cr, uid, [ref("scrum_product_backlog_6")])
-
I check state of Backlog after Postpone.
-
!assert {model: project.scrum.product.backlog, id: scrum_product_backlog_6, severity: error, string: backlog should be in cancel state}:
- state == "cancel"
@@ -0,0 +1,3 @@
-
!record {model: project.scrum.sprint, id: scrum_sprint_0, view: False}:
project_id: project.project_integrate_openerp
@@ -1,9 +0,0 @@
-
In order to test the PDF reports defined on a Project Scrum, we will print Project Scrum Sprint Burndown Report
-
!python {model: project.scrum.sprint}: |
import netsvc, tools, os
data_dict = {'model': 'project.scrum.sprint', 'id':ref('project_scrum.scrum_sprint_0')}
(data, format) = netsvc.LocalService('report.scrum.sprint.burndown').create(cr, uid, [ref('project_scrum.scrum_sprint_0')], data_dict, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'project_scrum-project_scrum_sprint_burndown.'+format), 'wb+').write(data)
@@ -0,0 +1,79 @@
-
I put sprint in pending state to allocate task to resources.
-
!python {model: project.scrum.sprint}: |
self.button_pending(cr, uid, [ref("scrum_sprint_0")])
-
I check state of sprint after put in pending.
-
!assert {model: project.scrum.sprint, id: scrum_sprint_0, severity: error, string: Sprint should be in pending state}:
- state == "pending"
-
I assign Backlog into this Sprint
-
!python {model: project.scrum.backlog.assign.sprint}: |
new_id = self.create(cr, uid, {'sprint_id': ref("scrum_sprint_0")})
self.assign_sprint(cr, uid, [new_id], {"active_ids": [ref("scrum_product_backlog_0")]
})
backlog_obj = self.pool.get('project.scrum.product.backlog')
task_obj = self.pool.get('project.task')
backlog_data = backlog_obj.browse(cr, uid, ref("scrum_product_backlog_0"), context)
assert backlog_data.sprint_id.id == ref("scrum_sprint_0"), 'Sprint is not assigned'
-
I Open sprint of "Week 31"
-
!python {model: project.scrum.sprint}: |
self.button_open(cr, uid, [ref("scrum_sprint_0")])
-
I check state of sprint after opened.
-
!assert {model: project.scrum.sprint, id: scrum_sprint_0, severity: error, string: Sprint should be in Open state}:
- state == "open"
-
I create tasks from backlog "Automatic migration system" for sprint
-
!python {model: project.scrum.backlog.create.task}: |
new_id = self.create(cr, uid, {'user_id': ref("project.res_users_project_manager")})
task_obj = self.pool.get('project.task')
backlog_obj = self.pool.get('project.scrum.product.backlog')
new_task = self.do_create(cr, uid, [new_id], {"active_ids": [ref("scrum_product_backlog_0")]})
backlog_data = backlog_obj.browse(cr, uid, ref("scrum_product_backlog_0"), context)
task_ids = task_obj.search(cr, uid, [('product_backlog_id','=', backlog_data.id)])
assert len(task_ids), "Task not created"
task = task_obj.browse(cr, uid, task_ids[0], context)
assert task.name == backlog_data.name and task.total_hours == backlog_data.expected_hours and task.user_id and task.user_id.id == ref("project.res_users_project_manager"), 'Task not has been created'
-
I send email to scrum master with scrum meeting details.
-
!python {model: mail.compose.message }: |
ctx = context.copy()
ctx.update({'active_model': 'project.scrum.meeting', 'active_id': ref("scrum_meeting_0"), 'active_ids': [ref("scrum_meeting_0")]})
vals = self.default_get(cr, uid , [], context=ctx)
try:
new_id = self.create(cr, uid, {'email_to': 'xyz@mycompany.com', 'subject': 'test'})
# We don't actually send the email, since this could log an error due to config...
# self.send_mail(cr, uid, [new_id], context=ctx)
except Exception, e:
pass
-
I close sprint after review
-
!python {model: project.scrum.sprint}: |
self.button_close(cr, uid, [ref("scrum_sprint_0")])
-
I check state after closed sprint.
-
!assert {model: project.scrum.sprint, id: scrum_sprint_0, severity: error, string: Sprint shoud be in close state}:
- state == "done"
-
I print Burndown chart of Sprint.
-
!python {model: project.scrum.sprint}: |
import netsvc, tools, os
data_dict = {'model': 'project.scrum.sprint', 'id':ref('scrum_sprint_0')}
(data, format) = netsvc.LocalService('report.scrum.sprint.burndown').create(cr, uid, [ref('scrum_sprint_0')], data_dict, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'project_scrum-project_scrum_sprint_burndown.'+format), 'wb+').write(data)
-1
View File
@@ -136,7 +136,6 @@
<action name="%(purchase.action_po_per_month_tree)d" string="Purchase order per month"/>
-->
<action name="%(purchase_draft)d" string="Request for Quotations"/>
<action name="%(purchase_waiting)d" string="Purchase Order Waiting Approval"/>
</column>
<column>
<action name="%(action_purchase_order_monthly_categ_graph)d" string="Monthly Purchase by Category"/>
+1 -1
View File
@@ -172,7 +172,7 @@
</group>
<notebook colspan="4">
<page string="Purchase Order">
<field name="partner_id" on_change="onchange_partner_id(partner_id)" context="{'search_default_supplier':1}" />
<field name="partner_id" on_change="onchange_partner_id(partner_id)" context="{'search_default_supplier':1,'default_supplier':1,'default_customer':0}" />
<field name="partner_address_id"/>
<field domain="[('type','=','purchase')]" name="pricelist_id" groups="base.group_extended"/>
<field name="origin" groups="base.group_extended"/>
+1 -5
View File
@@ -35,16 +35,12 @@ class stock_move(osv.osv):
on the purchase order in case the valuation data was not directly specified during picking
confirmation.
"""
product_uom_obj = self.pool.get('product.uom')
reference_amount, reference_currency_id = super(stock_move, self)._get_reference_accounting_values_for_valuation(cr, uid, move, context=context)
default_uom = move.product_id.uom_id.id
qty = product_uom_obj._compute_qty(cr, uid, move.product_uom.id, move.product_qty, default_uom)
if move.product_id.cost_method != 'average' or not move.price_unit:
# no average price costing or cost not specified during picking validation, we will
# plug the purchase line values if they are found.
if move.purchase_line_id and move.picking_id.purchase_id.pricelist_id:
reference_amount, reference_currency_id = move.purchase_line_id.price_unit * qty, move.picking_id.purchase_id.pricelist_id.currency_id.id
reference_amount, reference_currency_id = move.purchase_line_id.price_unit * move.product_qty, move.picking_id.purchase_id.pricelist_id.currency_id.id
return reference_amount, reference_currency_id
stock_move()
@@ -37,9 +37,10 @@ that exceeds minimum amount set by configuration wizard.
'website': 'http://www.openerp.com',
'init_xml': [],
'update_xml': [
'purchase_double_validation_workflow.xml',
'purchase_double_validation_installer.xml'
],
'purchase_double_validation_workflow.xml',
'purchase_double_validation_installer.xml',
'board_purchase_view.xml'
],
'test': ['test/purchase_double_validation_test.yml'],
'demo_xml': [],
'installable': True,
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="purchase_waiting" model="ir.actions.act_window">
<field name="name">Purchase Order Waiting Approval</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">purchase.order</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('date_order','&gt;',time.strftime('%Y-01-01 00:00:00')),('date_order','&lt;',time.strftime('%Y-12-31 23:59:59')), ('state','in',('wait','confirmed'))]</field>
</record>
<record id="board_purchase_form2" model="ir.ui.view">
<field name="name">board.purchase.form</field>
<field name="model">board.board</field>
<field name="type">form</field>
<field name="inherit_id" ref="purchase.board_purchase_form"/>
<field name="arch" type="xml">
<xpath expr="/form/board/column/action[@string='Request for Quotations']" position="after">
<action name="%(purchase_waiting)d" string="Purchase Order Waiting Approval"/>
</xpath>
</field>
</record>
</data>
</openerp>
+3 -1
View File
@@ -178,8 +178,10 @@
</form>
<tree string="Sales Order Lines">
<field colspan="4" name="name"/>
<field name="product_uom_qty" string="Qty"/>
<field name="product_uom_qty" string="Qty(UoM)"/>
<field name="product_uom" string="UoM"/>
<field groups="product.group_uos" name="product_uos_qty" string="Qty(UoS)"/>
<field groups="product.group_uos" name="product_uos" string="UoS"/>
<field name="discount"/>
<field name="price_unit"/>
<field name="price_subtotal"/>
+6 -6
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:16+0000\n"
"PO-Revision-Date: 2011-11-07 12:47+0000\n"
"Last-Translator: Ferdinand-camptocamp <Unknown>\n"
"PO-Revision-Date: 2011-11-29 07:02+0000\n"
"Last-Translator: Ferdinand @ Camptocamp <Unknown>\n"
"Language-Team: German <kde-i18n-doc@kde.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-12 04:50+0000\n"
"X-Generator: Launchpad (build 14277)\n"
"X-Launchpad-Export-Date: 2011-11-30 05:27+0000\n"
"X-Generator: Launchpad (build 14404)\n"
#. module: stock
#: field:product.product,track_outgoing:0
@@ -2256,7 +2256,7 @@ msgstr "Zukünftige Menge"
#. module: stock
#: field:product.category,property_stock_valuation_account_id:0
msgid "Stock Valuation Account"
msgstr ""
msgstr "Lagerbestandskonto"
#. module: stock
#: field:stock.move,note:0
@@ -4220,7 +4220,7 @@ msgstr "Optionale Lagerort Details, nur als Information"
#. module: stock
#: view:product.product:0
msgid "Expected Stock Variations"
msgstr ""
msgstr "Erwartete Lagerveränderungen"
#~ msgid "LIFO"
#~ msgstr "LiFo"
+1
View File
@@ -159,6 +159,7 @@ class report_stock_lines_date(osv.osv):
left outer join stock_inventory_line l on (p.id=l.product_id)
left join stock_inventory s on (l.inventory_id=s.id)
and s.state = 'done'
where p.active='true'
group by p.id
)""")
report_stock_lines_date()
-3
View File
@@ -128,15 +128,12 @@ class report_stock_move(osv.osv):
LEFT JOIN product_uom pu ON (sm.product_uom=pu.id)
LEFT JOIN product_uom pu2 ON (sm.product_uom=pu2.id)
LEFT JOIN product_template pt ON (pp.product_tmpl_id=pt.id)
LEFT JOIN stock_location sl ON (sm.location_id = sl.id)
GROUP BY
sm.id,sp.type, sm.date,sm.address_id,
sm.product_id,sm.state,sm.product_uom,sm.date_expected,
sm.product_id,pt.standard_price, sm.picking_id, sm.product_qty,
sm.company_id,sm.product_qty, sm.location_id,sm.location_dest_id,pu.factor,pt.categ_id, sp.stock_journal_id)
AS al
GROUP BY
al.out_qty,al.in_qty,al.curr_year,al.curr_month,
al.curr_day,al.curr_day_diff,al.curr_day_diff1,al.curr_day_diff2,al.dp,al.location_id,al.location_dest_id,
+2
View File
@@ -694,6 +694,8 @@ class stock_picking(osv.osv):
default['name'] = self.pool.get('ir.sequence').get(cr, uid, seq_obj_name)
default['origin'] = ''
default['backorder_id'] = False
if picking_obj.invoice_state == 'invoiced':
default['invoice_state'] = '2binvoiced'
res=super(stock_picking, self).copy(cr, uid, id, default, context)
if res:
picking_obj = self.browse(cr, uid, res, context=context)
+23 -7
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:16+0000\n"
"PO-Revision-Date: 2011-01-12 15:14+0000\n"
"Last-Translator: Ferdinand-camptocamp <Unknown>\n"
"PO-Revision-Date: 2011-11-29 07:08+0000\n"
"Last-Translator: Ferdinand @ Camptocamp <Unknown>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-05 05:48+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-30 05:27+0000\n"
"X-Generator: Launchpad (build 14404)\n"
#. module: stock_planning
#: code:addons/stock_planning/wizard/stock_planning_createlines.py:73
@@ -352,7 +352,7 @@ msgstr " Bedarfsmenge "
#: code:addons/stock_planning/stock_planning.py:719
#, python-format
msgid "%s Pick List %s (%s, %s) %s %s \n"
msgstr ""
msgstr "%s Lieferscheinliste %s (%s, %s) %s %s \n"
#. module: stock_planning
#: view:stock.planning.createlines:0
@@ -473,7 +473,7 @@ msgstr "Fehler !"
#: code:addons/stock_planning/stock_planning.py:626
#, python-format
msgid "Manual planning for %s"
msgstr ""
msgstr "Manuelle Planung für %s"
#. module: stock_planning
#: field:stock.sale.forecast,analyzed_user_id:0
@@ -1248,7 +1248,7 @@ msgstr "Erzeuge Prognosepositionen für d. ausgew. Zentrallager u. d. Periode"
#: code:addons/stock_planning/stock_planning.py:656
#, python-format
msgid "%s Requisition (%s, %s) %s %s \n"
msgstr ""
msgstr "%s Anforderung (%s, %s) %s %s \n"
#. module: stock_planning
#: code:addons/stock_planning/stock_planning.py:655
@@ -1757,6 +1757,22 @@ msgid ""
" Expected Out: %s Incoming Left: %s \n"
" Stock Simulation: %s Minimum stock: %s "
msgstr ""
"Lieferschein erstellt im MPS von Benutzer: %s Erstellungsdatum: %s "
" \n"
"Für Periode: %s entspricht Status: \n"
" Lagervorschau: %s \n"
" Anfangsbestand: %s \n"
" Geplant Auslieferung: %s Geplanter Eingang: %s "
" \n"
" bereits ausgeliefert: %s Bereits eingegangen: %s "
" \n"
" bestätigte Auslieferung: %s Bestätigter Eingang: %s "
" \n"
" geplante Auslieferung vor: %s Geplanter Eingang vor: %s "
" \n"
" erwartete Auslieferung: %s restlicher Eingang: %s "
" \n"
" Lager Simulation: %s Minimumbestand: %s "
#. module: stock_planning
#: field:stock.planning,procure_to_stock:0