diff options
| author | Sbh (OpenERP) <sbh@tinyerp.com> | 2010-12-31 10:29:26 +0530 |
|---|---|---|
| committer | Sbh (OpenERP) <sbh@tinyerp.com> | 2010-12-31 10:29:26 +0530 |
| commit | a329a57bdde3ca4006a1fea853c2cde49b90aa40 (patch) | |
| tree | 7ca3a5b3ff097185d5e275a195012c2df1141941 | |
| parent | acf9c6417981c09f7a7f12fe5423705c542e623f (diff) | |
| parent | f8c4b4e72ffea7448648cb1b5e4e5576c9cfa970 (diff) | |
[MERGE] Merge with lp:openobject-addons
bzr revid: sbh@tinyerp.com-20101230131110-8l42t3b4hituf7aj
bzr revid: sbh@tinyerp.com-20101231045926-gqkspd1jgoglv2qj
164 files changed, 2106 insertions, 1764 deletions
diff --git a/addons/account/account_demo.xml b/addons/account/account_demo.xml index 5ef0ee4992d..566185c70c3 100644 --- a/addons/account/account_demo.xml +++ b/addons/account/account_demo.xml @@ -126,6 +126,9 @@ <field eval="time.strftime('%Y')+'-12-31'" name="date_stop"/> <field name="company_id" ref="base.main_company"/> </record> - + + <record id="base.user_demo" model="res.users"> + <field name="groups_id" eval="[(4,ref('account.group_account_user'))]"/> + </record> </data> </openerp> diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml index f0cec0abda3..5b661e3e7d7 100644 --- a/addons/account/account_invoice_view.xml +++ b/addons/account/account_invoice_view.xml @@ -155,7 +155,7 @@ <field name="currency_id" width="50"/> <button name="%(action_account_change_currency)d" type="action" icon="terp-stock_effects-object-colorize" string="Change" attrs="{'invisible':[('state','!=','draft')]}" groups="account.group_account_user"/> <newline/> - <field string="Supplier" name="partner_id" domain="[('supplier','=', 1)]" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank_id,company_id)" context="{'default_customer': 0}"/> + <field string="Supplier" name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank_id,company_id)" context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}"/> <field domain="[('partner_id','=',partner_id)]" name="address_invoice_id"/> <field name="fiscal_position" groups="base.group_extended" widget="selection"/> <newline/> @@ -264,7 +264,7 @@ <field name="currency_id" width="50"/> <button name="%(action_account_change_currency)d" type="action" icon="terp-stock_effects-object-colorize" string="Change" attrs="{'invisible':[('state','!=','draft')]}" groups="account.group_account_user"/> <newline/> - <field string="Customer" name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank_id,company_id)" groups="base.group_user"/> + <field string="Customer" name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank_id,company_id)" groups="base.group_user" context="{'search_default_customer': 1}"/> <field domain="[('partner_id','=',partner_id)]" name="address_invoice_id"/> <field name="fiscal_position" groups="base.group_extended" widget="selection"/> <newline/> @@ -434,6 +434,7 @@ <field name="context">{'type':'out_invoice', 'journal_type': 'sale'}</field> <field name="search_view_id" ref="view_account_invoice_filter"/> <field name="help">With Customer Invoices you can create and manage sales invoices issued to your customers. OpenERP can also generate draft invoices automatically from sales orders or deliveries. You should only confirm them before sending them to your customers.</field> + <field name="groups_id" eval="[(6,0,[ref('account.group_account_manager'),ref('account.group_account_user')])]"/> </record> @@ -461,7 +462,7 @@ <field name="domain">[('type','=','in_invoice')]</field> <field name="context">{'type':'in_invoice', 'journal_type': 'purchase'}</field> <field name="search_view_id" ref="view_account_invoice_filter"/> - <field name="help">With Supplier Invoices you can enter and manage invoices issued by your suppliers. OpenERP can also generate draft invoices automatically from purchase order or receipt. This way, you can control the invoice from your supplier according to what you purchased or received.</field> + <field name="help">With Supplier Invoices you can enter and manage invoices issued by your suppliers. OpenERP can also generate draft invoices automatically from purchase orders or receipts. This way, you can control the invoice from your supplier according to what you purchased or received.</field> </record> <menuitem action="action_invoice_tree2" id="menu_action_invoice_tree2" parent="menu_finance_payables"/> diff --git a/addons/account/board_account_view.xml b/addons/account/board_account_view.xml index 93bcc7724be..673cdfab8e1 100644 --- a/addons/account/board_account_view.xml +++ b/addons/account/board_account_view.xml @@ -26,15 +26,15 @@ <field name="view_type">form</field> <field name="view_mode">tree,graph</field> <field name="context">{'group_by':['user_type'], 'group_by_no_leaf':1}</field> - <field name="view_id" ref="account.view_account_entries_report_tree"/> + <field name="view_id" ref="account.view_account_entries_report_tree"/> </record> <record id="action_treasory_graph" model="ir.actions.act_window"> <field name="name">Treasury</field> <field name="res_model">account.account</field> <field name="view_type">form</field> <field name="view_mode">graph,tree</field> - <field name="domain">[('type','=','liquidity')]</field> - <field name="view_id" ref="account.view_treasory_graph"/> + <field name="domain">[('type','=','liquidity')]</field> + <field name="view_id" ref="account.view_treasory_graph"/> </record> <record id="board_account_form" model="ir.ui.view"> <field name="name">board.account.form</field> @@ -45,11 +45,11 @@ <hpaned> <child1> <action colspan="4" height="160" width="400" name="%(account.action_invoice_tree1)d" string="Customer Invoices to Approve" domain="[('state','=','draft'),('type','=','out_invoice')]"/> - <action colspan="4" height="160" width="400" name="%(action_company_analysis_tree)d" string="Company Analysis" /> + <action colspan="4" height="160" width="400" name="%(action_company_analysis_tree)d" string="Company Analysis" groups="account.group_account_manager"/> </child1> <child2> - <action colspan="4" height="220" name="%(action_treasory_graph)d" string="Treasury"/> - <action colspan="4" height="220" name="%(action_aged_receivable)d" string="Aged Receivables"/> + <action colspan="4" height="220" name="%(action_treasory_graph)d" string="Treasury" groups="account.group_account_manager,account.group_account_user"/> + <action colspan="4" height="220" name="%(action_aged_receivable)d" string="Aged Receivables" groups="account.group_account_manager,account.group_account_user"/> <!-- <action colspan="4" height="220" name="%(action_aged_income)d" string="Aged income"/> --> </child2> </hpaned> diff --git a/addons/account/demo/account_minimal.xml b/addons/account/demo/account_minimal.xml index 871ef514836..65184b3d130 100644 --- a/addons/account/demo/account_minimal.xml +++ b/addons/account/demo/account_minimal.xml @@ -438,6 +438,5 @@ <field eval="'account.account,'+str(ref('account.a_sale'))" model="account.account" name="value"/> <field name="company_id" ref="base.main_company"/> </record> - </data> </openerp> diff --git a/addons/account/report/account_general_ledger.rml b/addons/account/report/account_general_ledger.rml index d3da592e085..15614444822 100644 --- a/addons/account/report/account_general_ledger.rml +++ b/addons/account/report/account_general_ledger.rml @@ -479,7 +479,7 @@ <para style="terp_default_Bold_9_Right">[[ formatLang(sum_balance_account(o), digits=get_digits(dp='Account')) ]] [[ company.currency_id.symbol ]]</para> </td> <td> - <para style="terp_default_Bold_9_Right">[[ o.currency_id and formatLang(sum_currency_amount_account(o), digits=get_digits(dp='Account')) + o.currency_id.code or '' ]]</para> + <para style="terp_default_Bold_9_Right">[[ o.currency_id and formatLang(sum_currency_amount_account(o), digits=get_digits(dp='Account')) + o.currency_id.symbol or '' ]]</para> </td> </tr> </blockTable> @@ -616,4 +616,4 @@ </section> </pto> </story> -</document>
\ No newline at end of file +</document> diff --git a/addons/account/report/account_general_ledger_landscape.rml b/addons/account/report/account_general_ledger_landscape.rml index 2d2fbed9ef9..22712af0f8c 100644 --- a/addons/account/report/account_general_ledger_landscape.rml +++ b/addons/account/report/account_general_ledger_landscape.rml @@ -508,7 +508,7 @@ <para style="terp_default_Bold_7_Right">[[ formatLang(sum_balance_account(o), digits=get_digits(dp='Account')) ]] [[ company.currency_id.symbol ]]</para> </td> <td> - <para style="terp_default_Bold_7_Right">[[ o.currency_id and formatLang(sum_currency_amount_account(o), digits=get_digits(dp='Account')) + o.currency_id.code or '' ]]</para> + <para style="terp_default_Bold_7_Right">[[ o.currency_id and formatLang(sum_currency_amount_account(o), digits=get_digits(dp='Account')) + o.currency_id.symbol or '' ]]</para> </td> </tr> </blockTable> diff --git a/addons/account/report/account_partner_balance.py b/addons/account/report/account_partner_balance.py index ab3cfd70970..eacafb02eda 100644 --- a/addons/account/report/account_partner_balance.py +++ b/addons/account/report/account_partner_balance.py @@ -28,8 +28,6 @@ from common_report_header import common_report_header class partner_balance(report_sxw.rml_parse, common_report_header): def __init__(self, cr, uid, name, context=None): - if context is None: - context = {} super(partner_balance, self).__init__(cr, uid, name, context=context) self.account_ids = [] self.localcontext.update( { @@ -276,6 +274,7 @@ class partner_balance(report_sxw.rml_parse, common_report_header): return temp_res def _sum_litige(self): + #gives the total of move lines with blocked boolean set to TRUE for the report selection move_state = ['draft','posted'] if self.target_move == 'posted': move_state = ['posted'] @@ -296,12 +295,15 @@ class partner_balance(report_sxw.rml_parse, common_report_header): return temp_res def _get_partners(self): + cr, uid = self.cr, self.uid + context = self.localcontext # all of it? + if self.result_selection == 'customer': - return 'Receivable Accounts' + return _('Receivable Accounts') elif self.result_selection == 'supplier': - return 'Payable Accounts' + return _('Payable Accounts') elif self.result_selection == 'customer_supplier': - return 'Receivable and Payable Accounts' + return _('Receivable and Payable Accounts') return '' report_sxw.report_sxw('report.account.partner.balance', 'res.partner', 'account/report/account_partner_balance.rml',parser=partner_balance, header="internal") diff --git a/addons/account/report/account_print_invoice.rml b/addons/account/report/account_print_invoice.rml index b4492e05b0d..0bab362e578 100644 --- a/addons/account/report/account_print_invoice.rml +++ b/addons/account/report/account_print_invoice.rml @@ -260,10 +260,10 @@ <para style="terp_default_Right_9">[[ formatLang(l.price_unit) ]]</para> </td> <td> - <para style="terp_default_Centre_9">[[ formatLang(l.discount, digits=get_digits(dp='Account')) ]] </para> + <para style="terp_default_Centre_9">[[ formatLang(l.discount, dp='Account') ]] </para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(l.price_subtotal, digits=get_digits(dp='Account')) ]] [[ o.currency_id.symbol ]]</para> + <para style="terp_default_Right_9">[[ formatLang(l.price_subtotal, dp='Account') ]] [[ o.currency_id.symbol ]]</para> </td> </tr> <tr> @@ -322,7 +322,7 @@ <para style="terp_default_9">Taxes:</para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(o.amount_tax, digits=get_digits(dp='Account')) ]] [[ o.currency_id.symbol ]]</para> + <para style="terp_default_Right_9">[[ formatLang(o.amount_tax, dp='Account') ]] [[ o.currency_id.symbol ]]</para> </td> </tr> <tr> @@ -368,7 +368,7 @@ <para style="terp_default_8">[[ t.name ]]</para> </td> <td> - <para style="terp_default_Right_8">[[ formatLang(t.base, digits=get_digits(dp='Account')) ]] [[ o.currency_id.symbol ]]</para> + <para style="terp_default_Right_8">[[ formatLang(t.base, dp='Account') ]] [[ o.currency_id.symbol ]]</para> </td> <td> <para style="terp_default_Right_8">[[ (t.tax_code_id and t.tax_code_id.notprintable) and removeParentNode('blockTable') or '' ]] [[ formatLang(t.amount, digits=get_digits(dp='Account')) ]] [[ o.currency_id.symbol ]]</para> diff --git a/addons/account/security/ir.model.access.csv b/addons/account/security/ir.model.access.csv index fe98ef7a403..83efe67f103 100644 --- a/addons/account/security/ir.model.access.csv +++ b/addons/account/security/ir.model.access.csv @@ -98,6 +98,7 @@ "access_account_bank_statement_manager","account.bank.statement manager","model_account_bank_statement","account.group_account_manager",1,1,1,1 "access_account_entries_report_manager","account.entries.report","model_account_entries_report","account.group_account_manager",1,1,1,1 "access_account_entries_report_user","account.entries.report","model_account_entries_report","account.group_account_user",1,0,0,0 +"access_account_entries_report_employee","account.entries.report employee","model_account_entries_report","base.group_user",1,0,0,0 "access_analytic_entries_report_manager","analytic.entries.report","model_analytic_entries_report","account.group_account_manager",1,0,0,0 "access_account_cashbox_line","account.cashbox.line","model_account_cashbox_line","account.group_account_manager",1,1,1,1 "access_account_cashbox_line","account.cashbox.line","model_account_cashbox_line","account.group_account_user",1,1,1,1 diff --git a/addons/account_analytic_analysis/account_analytic_analysis.py b/addons/account_analytic_analysis/account_analytic_analysis.py index 9c3034fe127..01c34459289 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis.py +++ b/addons/account_analytic_analysis/account_analytic_analysis.py @@ -384,7 +384,7 @@ class account_analytic_account(osv.osv): 'ca_to_invoice': fields.function(_analysis_all, method=True, multi='analytic_analysis', type='float', string='Uninvoiced Amount', help="If invoice from analytic account, the remaining amount you can invoice to the customer based on the total costs.", digits_compute=dp.get_precision('Account')), - 'ca_theorical': fields.function(_analysis_all, method=True, multi='analytic_analysis', type='float', string='Theorical Revenue', + 'ca_theorical': fields.function(_analysis_all, method=True, multi='analytic_analysis', type='float', string='Theoretical Revenue', help="Based on the costs you had on the project, what would have been the revenue if all these costs have been invoiced at the normal sale price provided by the pricelist.", digits_compute=dp.get_precision('Account')), 'hours_quantity': fields.function(_analysis_all, method=True, multi='analytic_analysis', type='float', string='Hours Tot', @@ -410,7 +410,7 @@ class account_analytic_account(osv.osv): 'real_margin': fields.function(_real_margin_calc, method=True, type='float', string='Real Margin', help="Computed using the formula: Invoiced Amount - Total Costs.", digits_compute=dp.get_precision('Account')), - 'theorical_margin': fields.function(_theorical_margin_calc, method=True, type='float', string='Theorical Margin', + 'theorical_margin': fields.function(_theorical_margin_calc, method=True, type='float', string='Theoretical Margin', help="Computed using the formula: Theorial Revenue - Total Costs", digits_compute=dp.get_precision('Account')), 'real_margin_rate': fields.function(_real_margin_rate_calc, method=True, type='float', string='Real Margin Rate (%)', diff --git a/addons/account_budget/report/crossovered_budget_report.rml b/addons/account_budget/report/crossovered_budget_report.rml index ef45c1bd2a6..63db53ab5ce 100644 --- a/addons/account_budget/report/crossovered_budget_report.rml +++ b/addons/account_budget/report/crossovered_budget_report.rml @@ -163,13 +163,13 @@ <para style="terp_default_9"><font face="Helvetica" size="10.0" color="white">[['.....' *(a['status']-1) ]]</font><font face="Helvetica" size="8.0">[[ (a['status']==1 and (setTag('para','para',{'fontName':'Helvetica-bold'}))) or removeParentNode('font') ]]</font> [[ a['name'] ]]</para> </td> <td> - <para style="terp_default_Right_9"><font face="Helvetica" size="8.0">[[ (a['status']==1 and ( setTag('para','para',{'fontName':'Helvetica-bold'}))) or removeParentNode('font') ]]</font> [[ formatLang(a['theo'], digits=get_digits(dp='Account')) ]] [[ company.currency_id.symbol ]]</para> + <para style="terp_default_Right_9"><font face="Helvetica" size="8.0">[[ (a['status']==1 and ( setTag('para','para',{'fontName':'Helvetica-bold'}))) or removeParentNode('font') ]]</font> [[ formatLang(a['theo'], dp='Account') ]] [[ company.currency_id.symbol ]]</para> </td> <td> - <para style="terp_default_Right_9"><font face="Helvetica" size="8.0">[[ (a['status']==1 and ( setTag('para','para',{'fontName':'Helvetica-bold'}))) or removeParentNode('font') ]]</font> [[ formatLang(a['pln'], digits=get_digits(dp='Account')) ]] [[ company.currency_id.symbol ]]</para> + <para style="terp_default_Right_9"><font face="Helvetica" size="8.0">[[ (a['status']==1 and ( setTag('para','para',{'fontName':'Helvetica-bold'}))) or removeParentNode('font') ]]</font> [[ formatLang(a['pln'], dp='Account') ]] [[ company.currency_id.symbol ]]</para> </td> <td> - <para style="terp_default_Right_9"><font face="Helvetica" size="8.0">[[ (a['status']==1 and ( setTag('para','para',{'fontName':'Helvetica-bold'}))) or removeParentNode('font') ]]</font> [[ formatLang(a['prac'], digits=get_digits(dp='Account')) ]] [[ company.currency_id.symbol ]]</para> + <para style="terp_default_Right_9"><font face="Helvetica" size="8.0">[[ (a['status']==1 and ( setTag('para','para',{'fontName':'Helvetica-bold'}))) or removeParentNode('font') ]]</font> [[ formatLang(a['prac'], dp='Account') ]] [[ company.currency_id.symbol ]]</para> </td> <td> <para style="terp_default_Centre_9"><font face="Helvetica" size="8.0">[[ (a['status']==1 and ( setTag('para','para',{'fontName':'Helvetica-bold'}))) or removeParentNode('font') ]]</font> [[ formatLang(a['perc'],digits=2) ]]%</para> @@ -183,13 +183,13 @@ <para style="terp_tblheader_Details">[[ repeatIn(funct_total(data['form']),'b') ]] Total :</para> </td> <td> - <para style="terp_default_Bold_right_9">[[ formatLang(b['tot_theo'], digits=get_digits(dp='Account')) ]] [[ company.currency_id.symbol ]]</para> + <para style="terp_default_Bold_right_9">[[ formatLang(b['tot_theo'], dp='Account') ]] [[ company.currency_id.symbol ]]</para> </td> <td> - <para style="terp_default_Bold_right_9">[[ formatLang(b['tot_pln'], digits=get_digits(dp='Account')) ]] [[ company.currency_id.symbol ]]</para> + <para style="terp_default_Bold_right_9">[[ formatLang(b['tot_pln'], dp='Account') ]] [[ company.currency_id.symbol ]]</para> </td> <td> - <para style="terp_default_Bold_right_9">[[ formatLang(b['tot_prac'], digits=get_digits(dp='Account')) ]] [[ company.currency_id.symbol ]]</para> + <para style="terp_default_Bold_right_9">[[ formatLang(b['tot_prac'], dp='Account') ]] [[ company.currency_id.symbol ]]</para> </td> <td> <para style="terp_tblheader_Details_Centre">[[ formatLang(b['tot_perc'],digits=2) ]]%</para> @@ -200,4 +200,4 @@ <font color="white"> </font> </para> </story> -</document>
\ No newline at end of file +</document> diff --git a/addons/account_invoice_layout/account_invoice_layout_demo.xml b/addons/account_invoice_layout/account_invoice_layout_demo.xml index e49079c9656..96f285caabf 100644 --- a/addons/account_invoice_layout/account_invoice_layout_demo.xml +++ b/addons/account_invoice_layout/account_invoice_layout_demo.xml @@ -4,11 +4,7 @@ <record id="demo_message1" model="notify.message"> <field name="name">OpenERP SA</field> - <field name="msg">ERP & CRM Solutions....</field> - </record> - <record id="demo_message1" model="notify.message"> - <field name="name">Tiny sprl</field> - <field name="msg">Be Expert with the Experts...</field> + <field name="msg">ERP & CRM Solutions...</field> </record> </data> </openerp> diff --git a/addons/account_invoice_layout/report/report_account_invoice_layout.rml b/addons/account_invoice_layout/report/report_account_invoice_layout.rml index dd802503430..4e6bdfd0aa0 100644 --- a/addons/account_invoice_layout/report/report_account_invoice_layout.rml +++ b/addons/account_invoice_layout/report/report_account_invoice_layout.rml @@ -403,7 +403,7 @@ <para style="terp_default_9">Net Total:</para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(o.amount_untaxed, digits=get_digits(dp='Account')) ]] [[ o.currency_id.symbol ]]</para> + <para style="terp_default_Right_9">[[ formatLang(o.amount_untaxed, dp='Account') ]] [[ o.currency_id.symbol ]]</para> </td> </tr> </blockTable> @@ -418,7 +418,7 @@ <para style="terp_default_9">Taxes:</para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(o.amount_tax, digits=get_digits(dp='Account')) ]] [[ o.currency_id.symbol ]]</para> + <para style="terp_default_Right_9">[[ formatLang(o.amount_tax, dp='Account') ]] [[ o.currency_id.symbol ]]</para> </td> </tr> </blockTable> @@ -433,7 +433,7 @@ <para style="terp_default_Bold_9">Total:</para> </td> <td> - <para style="terp_default_Right_9_Bold">[[ formatLang(o.amount_total, digits=get_digits(dp='Account')) ]] [[ o.currency_id.symbol ]]</para> + <para style="terp_default_Right_9_Bold">[[ formatLang(o.amount_total, dp='Account') ]] [[ o.currency_id.symbol ]]</para> </td> </tr> </blockTable> @@ -469,10 +469,10 @@ <para style="terp_default_8">[[ t.name ]]</para> </td> <td> - <para style="terp_default_Right_8">[[ formatLang(t.base, digits=get_digits(dp='Account')) ]] [[ o.currency_id.symbol ]]</para> + <para style="terp_default_Right_8">[[ formatLang(t.base, dp='Account') ]] [[ o.currency_id.symbol ]]</para> </td> <td> - <para style="terp_default_Right_8">[[ (t.tax_code_id and t.tax_code_id.notprintable) and removeParentNode('blockTable') or '' ]] [[ formatLang(t.amount, digits=get_digits(dp='Account')) ]] [[ o.currency_id.symbol ]]</para> + <para style="terp_default_Right_8">[[ (t.tax_code_id and t.tax_code_id.notprintable) and removeParentNode('blockTable') or '' ]] [[ formatLang(t.amount, dp='Account') ]] [[ o.currency_id.symbol ]]</para> </td> <td> <para style="terp_default_Right_8"> diff --git a/addons/account_invoice_layout/report/special_message_invoice.rml b/addons/account_invoice_layout/report/special_message_invoice.rml index b9cdafee0bf..eabb8efe9c2 100644 --- a/addons/account_invoice_layout/report/special_message_invoice.rml +++ b/addons/account_invoice_layout/report/special_message_invoice.rml @@ -407,7 +407,7 @@ <para style="terp_default_9">Net Total : </para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(o.amount_untaxed, digits=get_digits(dp='Account')) ]] [[ o.currency_id.symbol ]]</para> + <para style="terp_default_Right_9">[[ formatLang(o.amount_untaxed, dp='Account') ]] [[ o.currency_id.symbol ]]</para> </td> </tr> </blockTable> @@ -422,7 +422,7 @@ <para style="terp_default_9">Taxes : </para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(o.amount_tax, digits=get_digits(dp='Account')) ]] [[ o.currency_id.symbol ]]</para> + <para style="terp_default_Right_9">[[ formatLang(o.amount_tax, dp='Account') ]] [[ o.currency_id.symbol ]]</para> </td> </tr> </blockTable> @@ -437,7 +437,7 @@ <para style="terp_default_Bold_9">Total : </para> </td> <td> - <para style="terp_default_Right_9_Bold">[[ formatLang(o.amount_total, digits=get_digits(dp='Account')) ]] [[ o.currency_id.symbol ]]</para> + <para style="terp_default_Right_9_Bold">[[ formatLang(o.amount_total, dp='Account') ]] [[ o.currency_id.symbol ]]</para> </td> </tr> </blockTable> @@ -473,10 +473,10 @@ <para style="terp_default_8">[[ t.name ]]</para> </td> <td> - <para style="terp_default_Right_8">[[ formatLang(t.base, digits=get_digits(dp='Account')) ]] [[ o.currency_id.symbol ]]</para> + <para style="terp_default_Right_8">[[ formatLang(t.base, dp='Account') ]] [[ o.currency_id.symbol ]]</para> </td> <td> - <para style="terp_default_Right_8">[[ (t.tax_code_id and t.tax_code_id.notprintable) and removeParentNode('blockTable') or '' ]] [[ formatLang(t.amount, digits=get_digits(dp='Account')) ]] [[ o.currency_id.symbol ]]</para> + <para style="terp_default_Right_8">[[ (t.tax_code_id and t.tax_code_id.notprintable) and removeParentNode('blockTable') or '' ]] [[ formatLang(t.amount, dp='Account') ]] [[ o.currency_id.symbol ]]</para> </td> <td> <para style="terp_default_Right_8"> diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py index 481fef477e1..ba5264d759b 100644 --- a/addons/account_voucher/account_voucher.py +++ b/addons/account_voucher/account_voucher.py @@ -776,7 +776,7 @@ class account_voucher(osv.osv): 'date': inv.date, 'credit': diff > 0 and diff or 0.0, 'debit': diff < 0 and -diff or 0.0, - 'amount_currency': company_currency <> current_currency and currency_pool.compute(cr, uid, company_currency, current_currency, diff * -1, context=context_multi_currency) or 0.0, + 'amount_currency': company_currency <> current_currency and currency_pool.compute(cr, uid, company_currency, current_currency, diff * -1, context=context_multi_currency) or 0.0, 'currency_id': company_currency <> current_currency and current_currency or False, } diff --git a/addons/account_voucher/voucher_sales_purchase_view.xml b/addons/account_voucher/voucher_sales_purchase_view.xml index 3367b08583b..918099487ab 100644 --- a/addons/account_voucher/voucher_sales_purchase_view.xml +++ b/addons/account_voucher/voucher_sales_purchase_view.xml @@ -167,7 +167,7 @@ <button name="cancel_voucher" string="Cancel" type="object" states="posted" icon="terp-stock_effects-object-colorize" confirm="Are you sure to confirm this record ?"/> <button name="proforma_voucher" string="Validate" states="draft" icon="gtk-go-forward"/> <group attrs="{'invisible':[('state','!=','posted')]}"> - <button icon="terp-dolar_ok!" name="%(act_pay_voucher)d" context="{'narration':narration, 'title':'Customer Payment', 'type':'receipt', 'partner_id':partner_id, 'reference':reference, 'amount':amount}" type="action" string="Pay" attrs="{'invisible':[('pay_now','!=','pay_now')]}"/> + <button icon="terp-dolar_ok!" name="%(act_pay_voucher)d" context="{'narration':narration, 'title':'Customer Payment', 'type':'receipt', 'partner_id':partner_id, 'reference':reference, 'amount':amount}" type="action" string="Pay" attrs="{'invisible':[('pay_now','=','pay_now')]}"/> </group> <button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" icon="terp-stock_effects-object-colorize"/> </group> @@ -286,7 +286,7 @@ <button name="cancel_voucher" string="Cancel" states="draft,proforma" icon="gtk-cancel"/> <button name="cancel_voucher" string="Cancel" type="object" states="posted" icon="terp-stock_effects-object-colorize" confirm="Are you sure to confirm this record ?"/> <group attrs="{'invisible':[('state','!=','posted')]}"> - <button icon="terp-dolar_ok!" name="%(act_pay_bills)d" context="{'narration':narration, 'title':'Bill Payment', 'type':'payment', 'partner_id': partner_id, 'reference':reference}" type="action" string="Pay Bill" attrs="{'invisible':[('pay_now','!=','pay_now')]}"/> + <button icon="terp-dolar_ok!" name="%(act_pay_bills)d" context="{'narration':narration, 'title':'Bill Payment', 'type':'payment', 'partner_id': partner_id, 'reference':reference}" type="action" string="Pay Bill" attrs="{'invisible':[('pay_now','=','pay_now')]}"/> </group> <button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" icon="terp-stock_effects-object-colorize"/> <button name="proforma_voucher" string="Validate" states="draft" icon="gtk-go-forward"/> diff --git a/addons/auction/auction_demo.xml b/addons/auction/auction_demo.xml index cb8dfc45376..7f34eb6697c 100644 --- a/addons/auction/auction_demo.xml +++ b/addons/auction/auction_demo.xml @@ -913,6 +913,8 @@ <field name="action">sign_out</field> <field name="employee_id" ref="employee2" /> </record> - + <record id="base.user_demo" model="res.users"> + <field name="groups_id" eval="[(4,ref('auction.group_auction_manager'))]"/> + </record> </data> </openerp> diff --git a/addons/audittrail/audittrail_view.xml b/addons/audittrail/audittrail_view.xml index 1229a63f860..6f6b461d1a6 100644 --- a/addons/audittrail/audittrail_view.xml +++ b/addons/audittrail/audittrail_view.xml @@ -82,7 +82,7 @@ <field name="search_view_id" ref="view_audittrail_rule_search"/> </record> - <menuitem name="Rules" id="menu_action_audittrail_rule_tree" + <menuitem id="menu_action_audittrail_rule_tree" action="action_audittrail_rule_tree" parent="base.menu_audit" /> <!-- AuditTrail Log form --> diff --git a/addons/base_report_creator/base_report_creator.py b/addons/base_report_creator/base_report_creator.py index 28228b4ab58..663df95047b 100644 --- a/addons/base_report_creator/base_report_creator.py +++ b/addons/base_report_creator/base_report_creator.py @@ -193,16 +193,17 @@ class report_creator(osv.osv): if context is None: context = {} data = context.get('report_id', False) + res = super(report_creator, self).read(cr, user, ids, fields, context, load) if (not context) or 'report_id' not in context: - return super(report_creator, self).read(cr, user, ids, fields, context, load) + return res ctx = context or {} wp = '' - if data: + for data in res: + if not data.get('sql_query'): + return res if self.model_set_id: wp = [self._id_get(cr, user, data, context) + (' in (%s)' % (','.join(map(lambda x: "'" + str(x) + "'", ids))))] - report = self._sql_query_get(cr, user, [data], 'sql_query', None, ctx, where_plus = wp) - sql_query = report[data] - cr.execute(sql_query) + cr.execute(data['sql_query']) res = cr.dictfetchall() fields_get = self.fields_get(cr, user, None, context) for r in res: @@ -216,7 +217,7 @@ class report_creator(osv.osv): related_name = self.pool.get(field_dict.get('relation')).name_get(cr, user, [r[k]], context)[0] r[k] = related_name - return res + return res def search(self, cr, user, args, offset=0, limit=None, order=None, context=None, count=False): """ @@ -253,9 +254,8 @@ class report_creator(osv.osv): newargs += [("count(*) " + a[1] +" " + str(a[2]))] ctx = context or {} ctx['getid'] = True - report = self._sql_query_get(cr, user, [context_id], 'sql_query', None, ctx, where_plus = newargs, limit=limit, offset=offset) - query = report[context_id] - cr.execute(query, newargs2) + sql_query = report.sql_query + cr.execute(sql_query, newargs2) result = cr.fetchall() return map(lambda x: x[0], result) diff --git a/addons/board/board.py b/addons/board/board.py index 8662aa5bff2..7de35fcc5f8 100644 --- a/addons/board/board.py +++ b/addons/board/board.py @@ -120,7 +120,6 @@ class board_board(osv.osv): @return: Dictionary of Fields, arch and toolbar. """ - res = {} res = super(board_board, self).fields_view_get(cr, user, view_id, view_type,\ context, toolbar=toolbar, submenu=submenu) @@ -131,9 +130,31 @@ class board_board(osv.osv): view_id = vids[0] arch = self.pool.get('ir.ui.view.custom').browse(cr, user, view_id, context=context) res['arch'] = arch.arch - + res['arch'] = self._arch_preprocessing(cr, user, res['arch'], context=context) res['toolbar'] = {'print': [], 'action': [], 'relate': []} return res + + + def _arch_preprocessing(self, cr, user, arch, context=None): + from lxml import etree + def remove_unauthorized_children(node): + for child in node.iterchildren(): + if child.tag=='action' and child.get('invisible'): + node.remove(child) + else: + child=remove_unauthorized_children(child) + return node + + def encode(s): + if isinstance(s, unicode): + return s.encode('utf8') + return s + + archnode = etree.fromstring(encode(arch)) + return etree.tostring(remove_unauthorized_children(archnode),pretty_print=True) + + + _columns = { 'name': fields.char('Dashboard', size=64, required=True), diff --git a/addons/board/security/ir.model.access.csv b/addons/board/security/ir.model.access.csv index f073975d79a..1909601eb00 100644 --- a/addons/board/security/ir.model.access.csv +++ b/addons/board/security/ir.model.access.csv @@ -5,3 +5,5 @@ "access_board_note","board.note","model_board_note","base.group_user",1,1,1,1 "access_board_board_sale_salesman","board.board.sale.salesman","model_board_board","base.group_sale_salesman",1,1,1,1 "access_res_log_report","res.log.report","model_res_log_report","base.group_user",1,1,1,1 +"access_res_log_report_system","res.log.report system","model_res_log_report",base.group_system,1,0,0,0 +"access_res_log_report_erp_manager","res.log.report erp_manager","model_res_log_report",base.group_erp_manager,1,0,0,0 diff --git a/addons/crm/crm_demo.xml b/addons/crm/crm_demo.xml index e629330751f..16ae0e73129 100644 --- a/addons/crm/crm_demo.xml +++ b/addons/crm/crm_demo.xml @@ -5,5 +5,12 @@ <field name="groups_id" eval="[(4,ref('base.group_sale_salesman'))]"/> </record> + <record id="ir_ui_view_sc_calendar_demo" model="ir.ui.view_sc"> + <field name="name">Meetings</field> + <field name="resource">ir.ui.menu</field> + <field name="user_id" ref="base.user_demo"/> + <field name="res_id" ref="crm.menu_crm_case_categ_meet"/> + </record> + </data> </openerp> diff --git a/addons/crm/crm_phonecall_view.xml b/addons/crm/crm_phonecall_view.xml index 6c66dc94848..7a60af9533b 100644 --- a/addons/crm/crm_phonecall_view.xml +++ b/addons/crm/crm_phonecall_view.xml @@ -60,7 +60,7 @@ <form string="Phone Call"> <group colspan="6" col="7"> <field name="name" required="1"/> - <field name="partner_phone" required="1"/> + <field name="partner_phone"/> <field name="duration" widget="float_time" required="1"/> <button string="Schedule a Meeting" name="action_make_meeting" icon="gtk-redo" type="object"/> diff --git a/addons/crm/test/test_crm_lead.yml b/addons/crm/test/test_crm_lead.yml index 3c4a988cc79..353a8c95432 100644 --- a/addons/crm/test/test_crm_lead.yml +++ b/addons/crm/test/test_crm_lead.yml @@ -1,12 +1,12 @@ - | - In order to test the CRM in OpenERP, + In order to test the CRM in OpenERP, I will do a customer qualification process that starts with a fist contact with a customer (a lead), which will be converted to a business opportunity and a partner. - | In order to test the flow, I create a two new users "user_crm" and I assign the group "salesman". -- +- !record {model: res.users, id: res_users_usercrm0}: company_id: base.main_company context_lang: en_US @@ -16,11 +16,11 @@ login: user_crm name: user_crm password: user_crm - + - | I start by creating a new lead "New Customer" and I provide an address to this new customer, as well as an email "info@mycustomer.com". -- +- !record {model: crm.lead, id: crm_lead_newcustomer0}: email_from: info@mycustomer.com name: New Customer @@ -30,26 +30,26 @@ section_id: crm.section_sales_department referred: False - | - I check that the lead is in 'draft' state, -- + I check that the lead is in 'draft' state, +- !assert {model: crm.lead, id: crm_lead_newcustomer0, string: Lead in Draft}: - state == "draft" - I open lead by click on "Open" button, -- +- !python {model: crm.lead}: | self.case_open(cr, uid, [ref("crm_lead_newcustomer0")]) - | I check that lead is now in 'open' state. - !assert {model: crm.lead, id: crm_lead_newcustomer0, string: Lead in open state}: - - state == "open" - + - state == "open" + - | As the lead seems to be a real business opportunity, I will convert it to a - partner + partner and a business opportunity by clicking on the "Convert" button. -- +- !python {model: crm.lead}: | lead = self.browse(cr, uid, ref('crm_lead_newcustomer0')) action = self.convert_opportunity(cr, uid, [ref("crm_lead_newcustomer0")], {'active_ids': [ref("crm_lead_newcustomer0")]}) @@ -66,21 +66,21 @@ !python {model: crm.lead2opportunity.partner}: | self.make_partner(cr, uid, [ref("crm_lead2opportunity_partner_create_0")], {'active_ids': [ref("crm_lead_newcustomer0")]}) - - Now, I give value to this wizard field. + Now, I give value to this wizard field. - - !record {model: crm.lead2opportunity, id: crm_lead2opportunity_stonage_0}: + !record {model: crm.lead2opportunity, id: crm_lead2opportunity_stonage_0}: name: Capegemini planned_revenue: 0.00 probability: 0.00 - Then, Click on "Create Opportunity" button of this wizard. -- +- !python {model: crm.lead2opportunity}: | self.action_apply(cr, uid, [ref('crm_lead2opportunity_stonage_0')], {'active_id': ref('crm_lead_newcustomer0')}) - | In order to check the opportunity is created or not, I check type. -- +- !python {model: crm.lead}: | lead = self.browse(cr, uid, ref("crm_lead_newcustomer0")) assert lead.type == 'opportunity' diff --git a/addons/crm/test/test_crm_opportunity.yml b/addons/crm/test/test_crm_opportunity.yml index 99e81afc828..1392402965a 100644 --- a/addons/crm/test/test_crm_opportunity.yml +++ b/addons/crm/test/test_crm_opportunity.yml @@ -11,13 +11,13 @@ stage_id: crm.stage_opportunity1 categ_id: crm.categ_oppor2 section_id: crm.section_sales_department - + - | I check that the opportunity is in 'New' state. - !assert {model: crm.lead, id: crm_opportunity_abcfuelcounits0}: - state == "draft" -- | +- | I open opportunity by click on "Open" button, - !python {model: crm.lead}: | @@ -29,7 +29,7 @@ - !python {model: crm.lead}: | self.action_makeMeeting(cr, uid, [ref("crm_opportunity_abcfuelcounits0")]) - + - | I can see that Meeting's calendar view is shown. then I click on the date on which I want to schedule meeting. @@ -49,26 +49,27 @@ - | In order to schedule a phonecall to the partner I click on "schedule call" button and select planned date for the call. -- +- !record {model: crm.opportunity2phonecall, id: crm_opportunity2phonecall_abcfuelcounits0}: date: '2010-04-17 11:15:00' name: 'ABC FUEL CO 829264 - 10002 units' section_id: crm.section_sales_department user_id: base.user_demo -- | - schedule phonecall by apply (action_apply)function of opportunity2phoncall wizard -- + categ_id: crm.categ_phone1 +- | + schedule phonecall by apply (action_apply)function of opportunity2phoncall wizard +- !python {model: crm.opportunity2phonecall}: | self.action_apply(cr, uid, [ref('crm_opportunity2phonecall_abcfuelcounits0')], {'active_ids': [ref("crm_opportunity_abcfuelcounits0")]}) - | - I check that phonecall record is created for that opportunity. -- + I check that phonecall record is created for that opportunity. +- !python {model: crm.phonecall}: | phone_obj = self.pool.get('crm.phonecall') ids = phone_obj.search(cr, uid, [('name', '=', 'ABC FUEL CO 829264 - 10002 units')]) assert len(ids) -- | - I can see phonecall record after click on "Schedule call" wizard. +- | + I can see phonecall record after click on "Schedule call" wizard. - !record {model: crm.phonecall, id: crm_phonecall_abcfuelcounits0}: date: '2010-04-17 11:15:00' @@ -77,4 +78,4 @@ partner_address_id: base.res_partner_address_1 partner_id: base.res_partner_9 section_id: crm.section_sales_department - + diff --git a/addons/crm/test/test_crm_phonecall.yml b/addons/crm/test/test_crm_phonecall.yml index 1351ba88199..5c12da99a7d 100644 --- a/addons/crm/test/test_crm_phonecall.yml +++ b/addons/crm/test/test_crm_phonecall.yml @@ -1,36 +1,35 @@ - | I start by creating a new phonecall. -- +- !record {model: crm.phonecall, id: crm_phonecall_interviewcall0}: date: '2010-04-21 18:59:00' name: Interview call section_id: crm.section_sales_department -- | +- Now , I select partner by click on "Create a Partner" button. - -- +- !record {model: crm.phonecall2partner, id: crm_phonecall2partner_1}: action: exist partner_id: base.res_partner_9 -- +- Now, click on "Continue" button of this wizard. -- +- !python {model: crm.phonecall2partner}: | - self.make_partner(cr, uid, [ref("crm_phonecall2partner_1")], {"active_ids": [ref("crm_phonecall_interviewcall0")]}) - + self.make_partner(cr, uid, [ref("crm_phonecall2partner_1")], {"active_ids": [ref("crm_phonecall_interviewcall0")]}) + - | As the success of phonecall seems to be a real business opportunity, I will convert it to opportunity by clicking on the "Convert to Opportunity" button. -- +- !record {model: crm.phonecall2opportunity, id: crm_phonecall2opportunity_interviewcall0}: name: Interview call partner_id: base.res_partner_9 planned_revenue: 0.0 - probability: 0.0 + probability: 0.0 +- + Now, I click on "Convert" button of this wizard. - - Now, I click on "Convert" button of this wizard. -- !python {model: crm.phonecall2opportunity}: | self.action_apply(cr, uid, [ref("crm_phonecall2opportunity_interviewcall0")], {"active_id": ref("crm_phonecall_interviewcall0")}) @@ -39,29 +38,29 @@ - !assert {model: crm.phonecall, id: crm_phonecall_interviewcall0}: - opportunity_id != False - + - | And I check that the phonecall and the newly created business opportunity is linked to same partner - - !python {model: crm.phonecall}: | + !python {model: crm.phonecall}: | obj_phonecall = self.browse(cr, uid, ref('crm_phonecall_interviewcall0')) ids = self.pool.get('crm.lead').search(cr, uid, [('name', '=', obj_phonecall.opportunity_id.name)]) obj_opp = self.pool.get('crm.lead').browse(cr, uid, ids)[0] assert obj_phonecall.partner_id == obj_opp.partner_id - + - | I schedule Meeting on this current phonecall by clicking on "schedule Meeting" - !python {model: crm.phonecall}: | self.action_make_meeting(cr, uid, [ref('crm_phonecall_interviewcall0')]) - + - | I can see that Meeting's calendar view is shown. then I click on the date on which I want schedule meeting. I fill proper data for that meeting and save it -- +- !record {model: crm.meeting, id: crm_meeting_interviewcall0}: alarm_id: base_calendar.alarm3 date: '2010-04-20 00:00:00' @@ -73,20 +72,21 @@ partner_id: base.res_partner_9 phonecall_id: 'crm_phonecall_interviewcall0' state: open - + - | In order to schedule other phonecall to the partner I click on "schedule other call" button. and plan for other call I can see that it will open other phonecall view with some data same as current phonecall. -- +- !record {model: crm.phonecall2phonecall, id: crm_phonecall2phonecall_interviewcall0}: date: '2010-04-21 19:49:00' name: Interview call section_id: crm.section_sales_department user_id: base.user_root + categ_id: crm.categ_phone1 - | - I click on "Schedule" button of this wizard. + I click on "Schedule" button of this wizard. - !python {model: crm.phonecall2phonecall}: | - self.action_apply(cr, uid, [ref('crm_phonecall2phonecall_interviewcall0')], {'active_id': ref('crm_phonecall_interviewcall0')}) + self.action_apply(cr, uid, [ref('crm_phonecall2phonecall_interviewcall0')], {'active_id': ref('crm_phonecall_interviewcall0')}) diff --git a/addons/crm/wizard/crm_opportunity_to_phonecall.py b/addons/crm/wizard/crm_opportunity_to_phonecall.py index bd2aaca0607..0b68d7f37ba 100644 --- a/addons/crm/wizard/crm_opportunity_to_phonecall.py +++ b/addons/crm/wizard/crm_opportunity_to_phonecall.py @@ -85,7 +85,7 @@ class crm_opportunity2phonecall(osv.osv_memory): This converts Opportunity to Phonecall and opens Phonecall view @param self: The object pointer @param cr: the current row, from the database cursor, - @param uid: the current user’s ID for security checks, + @param uid: the current user's ID for security checks, @param ids: List of Opportunity to Phonecall IDs @param context: A standard dictionary for contextual values diff --git a/addons/delivery/delivery_data.xml b/addons/delivery/delivery_data.xml index ff0c90ad193..c1d9d99b33a 100644 --- a/addons/delivery/delivery_data.xml +++ b/addons/delivery/delivery_data.xml @@ -6,53 +6,5 @@ <field name="fields_id" search="[('model','=','res.partner'),('name','=','property_delivery_carrier')]"/> </record> - <!-- Create a transporter --> - - <record id="delivery_partner" model="res.partner"> - <field name="name">The Poste</field> - </record> - <record id="delivery_partner_address" model="res.partner.address"> - <field name="type">default</field> - <field name="partner_id" ref="delivery_partner"/> - </record> - - <!-- Create a partner --> - - <record id="delivery_product" model="product.product"> - <field name="name">Delivery by Poste</field> - <field name="type">service</field> - <field model="product.category" name="categ_id" search="[]"/> - </record> - - <!-- Carrier --> - - <record id="delivery_carrier" model="delivery.carrier"> - <field name="name">The Poste</field> - <field name="partner_id" ref="delivery_partner"/> - <field name="product_id" ref="delivery_product"/> - </record> - - <!-- Carrier Grids --> - - <record id="delivery_grid" model="delivery.grid"> - <field name="name">The Poste - Pricelist</field> - <field name="carrier_id" ref="delivery_carrier"/> - </record> - <record id="delivery_grid_line1" model="delivery.grid.line"> - <field name="name">Weight <= 5kg</field> - <field name="grid_id" ref="delivery_grid"/> - <field eval="5" name="max_value"/> - <field eval="20" name="list_price"/> - <field eval="10" name="standard_price"/> - </record> - <record id="delivery_grid_line2" model="delivery.grid.line"> - <field name="name">Weight > 5kg</field> - <field name="grid_id" ref="delivery_grid"/> - <field name="operator">>=</field> - <field eval="5" name="max_value"/> - <field eval="50" name="list_price"/> - <field eval="30" name="standard_price"/> - </record> - </data> </openerp> diff --git a/addons/delivery/delivery_demo.xml b/addons/delivery/delivery_demo.xml index f247c53ed82..44fffc2f985 100644 --- a/addons/delivery/delivery_demo.xml +++ b/addons/delivery/delivery_demo.xml @@ -1,9 +1,58 @@ <?xml version="1.0" encoding="utf-8"?> <openerp> <data noupdate="1"> + + <!-- Create a transporter --> + + <record id="delivery_partner" model="res.partner"> + <field name="name">The Poste</field> + </record> + <record id="delivery_partner_address" model="res.partner.address"> + <field name="type">default</field> + <field name="partner_id" ref="delivery_partner"/> + </record> + + <!-- Create a partner --> + + <record id="delivery_product" model="product.product"> + <field name="name">Delivery by Poste</field> + <field name="type">service</field> + <field model="product.category" name="categ_id" search="[]"/> + </record> + + <!-- Carrier --> + + <record id="delivery_carrier" model="delivery.carrier"> + <field name="name">The Poste</field> + <field name="partner_id" ref="delivery_partner"/> + <field name="product_id" ref="delivery_product"/> + </record> + + <!-- Carrier Grids --> + + <record id="delivery_grid" model="delivery.grid"> + <field name="name">The Poste - Pricelist</field> + <field name="carrier_id" ref="delivery_carrier"/> + </record> + <record id="delivery_grid_line1" model="delivery.grid.line"> + <field name="name">Weight <= 5kg</field> + <field name="grid_id" ref="delivery_grid"/> + <field eval="5" name="max_value"/> + <field eval="20" name="list_price"/> + <field eval="10" name="standard_price"/> + </record> + <record id="delivery_grid_line2" model="delivery.grid.line"> + <field name="name">Weight > 5kg</field> + <field name="grid_id" ref="delivery_grid"/> + <field name="operator">>=</field> + <field eval="5" name="max_value"/> + <field eval="50" name="list_price"/> + <field eval="30" name="standard_price"/> + </record> + <record id="delivery_grid_line3" model="delivery.grid.line"> <field name="name">Free if price >= 300</field> - <field name="grid_id" ref="delivery.delivery_grid"/> + <field name="grid_id" ref="delivery_grid"/> <field eval="300" name="max_value"/> <field name="operator">>=</field> <field name="type">price</field> diff --git a/addons/document/document_data.xml b/addons/document/document_data.xml index a4f546cbf83..d32256f63a9 100644 --- a/addons/document/document_data.xml +++ b/addons/document/document_data.xml @@ -1,12 +1,6 @@ <?xml version="1.0"?> <openerp> -<data noupdate="0"> - - <record model="document.directory.content.type" id="pdf"> - <field name="code">.pdf</field> - <field name="name">PDF Report</field> - <field name="mimetype">application/pdf</field> - </record> +<data noupdate="1"> <record model="document.storage" id="storage_default"> <field name="name">Database storage</field> @@ -28,6 +22,14 @@ <field name="ressource_id">0</field> </record> +</data> + +<data noupdate="0"> + <record model="document.directory.content.type" id="pdf"> + <field name="code">.pdf</field> + <field name="name">PDF Report</field> + <field name="mimetype">application/pdf</field> + </record> <record model="document.directory" id="dir_partner_category"> <field name="name">Partners by Category</field> diff --git a/addons/document_webdav/dav_fs.py b/addons/document_webdav/dav_fs.py index 7db6ce49d98..ec27b85fe45 100644 --- a/addons/document_webdav/dav_fs.py +++ b/addons/document_webdav/dav_fs.py @@ -277,9 +277,7 @@ class openerp_dav_handler(dav_interface): ua = self.parent.headers.get('User-Agent', False) ctx = {} if ua: - print ua if 'iPhone' in ua: - print "iphone" ctx['DAV-client'] = 'iPhone' elif 'Konqueror' in ua: ctx['DAV-client'] = 'GroupDAV' @@ -376,7 +374,7 @@ class openerp_dav_handler(dav_interface): cr.close() return self.db_name_list - def get_children(self,uri, filters=None): + def get_childs(self,uri, filters=None): """ return the child objects as self.baseuris for the given URI """ self.parent.log_message('get children: %s' % uri) cr, uid, pool, dbname, uri2 = self.get_cr(uri, allow_last=True) diff --git a/addons/hr/hr.py b/addons/hr/hr.py index 103b0534349..e2b9a7089f3 100644 --- a/addons/hr/hr.py +++ b/addons/hr/hr.py @@ -150,6 +150,7 @@ class hr_employee(osv.osv): 'partner_id': fields.related('address_home_id', 'partner_id', type='many2one', relation='res.partner', readonly=True, help="Partner that is related to the current employee. Accounting transaction will be written on this partner belongs to employee."), 'bank_account_id':fields.many2one('res.partner.bank', 'Bank Account', domain="[('partner_id','=',partner_id)]", help="Employee bank salary account"), 'work_phone': fields.char('Work Phone', size=32, readonly=False), + 'mobile_phone': fields.char('Mobile', size=32, readonly=False), 'work_email': fields.char('Work E-mail', size=240), 'work_location': fields.char('Office Location', size=32), 'notes': fields.text('Notes'), diff --git a/addons/hr/hr_demo.xml b/addons/hr/hr_demo.xml index 43bd88312f1..91b78ddeed5 100644 --- a/addons/hr/hr_demo.xml +++ b/addons/hr/hr_demo.xml @@ -79,5 +79,12 @@ <field name="category_ids" eval="[(6, 0, [ref('category_trainee')])]"/> </record> + <record id="ir_ui_view_sc_employees_demo" model="ir.ui.view_sc"> + <field name="name">Employees</field> + <field name="resource">ir.ui.menu</field> + <field name="user_id" ref="base.user_demo"/> + <field name="res_id" ref="hr.menu_open_view_employee_list_my"/> + </record> + </data> </openerp> diff --git a/addons/hr/hr_department_view.xml b/addons/hr/hr_department_view.xml index 41c3d478cce..08fa5e0d7d8 100644 --- a/addons/hr/hr_department_view.xml +++ b/addons/hr/hr_department_view.xml @@ -51,10 +51,6 @@ <search string="Departments"> <field name="name"/> <field name="manager_id" /> - <newline /> - <group expand="0" string="Group By..."> - <filter string="Manager" icon="terp-personal" domain="[]" context="{'group_by':'manager_id'}"/> - </group> </search> </field> </record> diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml index 5c257e9e6c9..c2b738351aa 100644 --- a/addons/hr/hr_view.xml +++ b/addons/hr/hr_view.xml @@ -37,14 +37,14 @@ </group> <notebook colspan="6"> <page string="Personal Information"> - <group col="2" colspan="2"> + <group col="2" colspan="2" groups="base.group_hr_user"> <separator colspan="2" string="Social IDs"/> <field name="ssnid"/> <field name="sinid" groups="base.group_extended"/> <field name="identification_id" groups="base.group_extended"/> <field name="passport_id"/> </group> - <group col="2" colspan="2"> + <group col="2" colspan="2" groups="base.group_hr_user"> <separator string="Status" colspan="2"/> <field name="gender"/> <field name="marital" widget="selection"/> @@ -57,6 +57,7 @@ <field name="partner_id" invisible="1" /> <field name="address_id" colspan="2" on_change="onchange_address_id(address_id)" domain="[('partner_id', '=', partner_id)]"/> <field name="work_phone"/> + <field name="mobile_phone"/> <field name="work_email" widget="email" /> <field name="work_location"/> </group> @@ -66,10 +67,10 @@ <field name="coach_id" /> </group> </page> - <page string="Categories"> + <page string="Categories" groups="base.group_hr_user"> <field name="category_ids" nolabel="1"/> </page> - <page string="Notes"> + <page string="Notes" groups="base.group_hr_user"> <field colspan="4" nolabel="1" name="notes"/> </page> </notebook> @@ -86,8 +87,8 @@ <tree string="Employees"> <field name="name"/> <field name="work_phone"/> + <field name="work_email"/> <field name="company_id" groups="base.group_multi_company"/> - <field name="work_email" invisible="1"/> <field name="department_id"/> <field name="job_id"/> <field name="parent_id"/> @@ -402,7 +403,7 @@ <field name="view_mode">tree,form</field> <field name="search_view_id" ref="view_job_filter"/> <field name="context">{"search_default_Current":1,"search_default_department_id": department_id}</field> - <field name="help">JJob Positions is used to define jobs and their requirements. You can attach a survey to a job position. This survey will be used in the recruitment process to evaluate the applicants for this job position.</field> + <field name="help">Job Positions are used to define jobs and their requirements. You can keep track of the number of employees you have per job position and how many you expect in the future. You can also attach a survey to a job position that will be used in the recruitment process to evaluate the applicants for this job position.</field> </record> <menuitem name="Recruitment" id="base.menu_crm_case_job_req_main" parent="menu_hr_root" groups="base.group_hr_user"/> diff --git a/addons/hr_attendance/hr_attendance_view.xml b/addons/hr_attendance/hr_attendance_view.xml index 66e99b5eb55..12374ed5552 100644 --- a/addons/hr_attendance/hr_attendance_view.xml +++ b/addons/hr_attendance/hr_attendance_view.xml @@ -129,8 +129,8 @@ <field name="arch" type="xml"> <field name="coach_id" position="after"> <group colspan="2"> - <button name="attendance_action_change" states="present" string="Sign Out" type="object" icon="gtk-go-forward" context="{'type':'sign_out'}"/> - <button name="attendance_action_change" states="absent" string="Sign In" type="object" icon="gtk-go-back" context="{'type':'sign_in'}"/> + <button name="attendance_action_change" states="present" string="Sign Out" type="object" icon="gtk-go-forward" context="{'type':'sign_out'}" groups="base.group_hr_user"/> + <button name="attendance_action_change" states="absent" string="Sign In" type="object" icon="gtk-go-back" context="{'type':'sign_in'}" groups="base.group_hr_user"/> </group> <field name="state"/> <newline/> diff --git a/addons/hr_attendance/wizard/hr_attendance_sign_in_out.py b/addons/hr_attendance/wizard/hr_attendance_sign_in_out.py index 948ac1128fa..7a51c2b9e1e 100644 --- a/addons/hr_attendance/wizard/hr_attendance_sign_in_out.py +++ b/addons/hr_attendance/wizard/hr_attendance_sign_in_out.py @@ -157,7 +157,7 @@ class hr_sign_in_out(osv.osv_memory): self.pool.get('hr.attendance').create(cr, uid, {'name': data['last_time'], 'action': 'sign_out', 'employee_id': emp_id}, context=context) try: - success = self.pool.get('hr.employee').attendance_action_change(cr, uid, [emp_id], 'sign_in') + self.pool.get('hr.employee').attendance_action_change(cr, uid, [emp_id], 'sign_in') except: raise osv.except_osv(_('UserError'), _('A sign-in must be right after a sign-out !')) return {'type': 'ir.actions.act_window_close'} # To do: Return Success message @@ -169,7 +169,7 @@ class hr_sign_in_out(osv.osv_memory): raise osv.except_osv(_('UserError'), _('The Sign-in date must be in the past')) self.pool.get('hr.attendance').create(cr, uid, {'name':data['last_time'], 'action':'sign_in', 'employee_id':emp_id}, context=context) try: - success = self.pool.get('hr.employee').attendance_action_change(cr, uid, [emp_id], 'sign_out') + self.pool.get('hr.employee').attendance_action_change(cr, uid, [emp_id], 'sign_out') except: raise osv.except_osv(_('UserError'), _('A sign-out must be right after a sign-in !')) return {'type': 'ir.actions.act_window_close'} # To do: Return Success message diff --git a/addons/hr_contract/hr_contract_view.xml b/addons/hr_contract/hr_contract_view.xml index 35d375fea1d..cae7885a754 100644 --- a/addons/hr_contract/hr_contract_view.xml +++ b/addons/hr_contract/hr_contract_view.xml @@ -102,7 +102,7 @@ <field name="inherit_id" ref="hr.view_employee_form"/> <field name="arch" type="xml"> <page string="Personal Information" position="after"> - <page string="Miscellaneous"> + <page string="Miscellaneous" groups="base.group_hr_user"> <group colspan="2" col="2"> <separator string="Personal Info" colspan="2"/> <field name="bank_account_id"/> diff --git a/addons/hr_evaluation/hr_evaluation_view.xml b/addons/hr_evaluation/hr_evaluation_view.xml index b4a3b305ca5..99f34f7cc7b 100644 --- a/addons/hr_evaluation/hr_evaluation_view.xml +++ b/addons/hr_evaluation/hr_evaluation_view.xml @@ -142,7 +142,7 @@ <field name="inherit_id" ref="hr.view_employee_form"/> <field name="arch" type="xml"> <page string="Notes" position="before"> - <page string="Evaluation"> + <page string="Evaluation" groups="base.group_hr_user"> <field name="evaluation_plan_id" on_change="onchange_evaluation_plan_id(evaluation_plan_id, evaluation_date)"/> <field name="evaluation_date"/> </page> diff --git a/addons/hr_expense/hr_expense.py b/addons/hr_expense/hr_expense.py index bc9c1cc36e4..e7fd63eadb4 100644 --- a/addons/hr_expense/hr_expense.py +++ b/addons/hr_expense/hr_expense.py @@ -142,7 +142,7 @@ class hr_expense_expense(osv.osv): else: acc = property_obj.get(cr, uid, 'property_account_expense_categ', 'product.category') if not acc: - raise osv.except_osv(_('Error !'), _('Please configure Default Expanse account for Product purchase, `property_account_expense_categ`')) + raise osv.except_osv(_('Error !'), _('Please configure Default Expense account for Product purchase, `property_account_expense_categ`')) lines.append((0, False, { 'name': l.name, diff --git a/addons/hr_expense/hr_expense_view.xml b/addons/hr_expense/hr_expense_view.xml index 17e0dd09bf9..726ae34b587 100644 --- a/addons/hr_expense/hr_expense_view.xml +++ b/addons/hr_expense/hr_expense_view.xml @@ -35,8 +35,8 @@ <field name="name"/> <field name="amount"/> <field name="state"/> - <button name="confirm" states="draft" string="Confirm" type="workflow" icon="gtk-apply" groups="base.group_hr_user,base.group_hr_manager"/> - <button name="refuse" states="confirm,draft,accepted" string="Refuse" type="workflow" icon="gtk-no" groups="base.group_hr_manager"/> + <button name="confirm" states="draft" string="Confirm" type="workflow" icon="gtk-apply"/> + <button name="refuse" states="confirm,draft,accepted" string="Refuse" type="workflow" icon="gtk-no" groups="base.group_hr_user"/> </tree> </field> </record> @@ -54,8 +54,8 @@ <field name="name"/> <field name="amount"/> <field name="state"/> - <button name="confirm" states="draft" string="Confirm" type="workflow" icon="gtk-apply" groups="base.group_hr_user,base.group_hr_manager"/> - <button name="refuse" states="confirm,draft,accepted" string="Refuse" type="workflow" icon="gtk-no" groups="base.group_hr_manager"/> + <button name="confirm" states="draft" string="Confirm" type="workflow" icon="gtk-apply"/> + <button name="refuse" states="confirm,draft,accepted" string="Refuse" type="workflow" icon="gtk-no" groups="base.group_hr_user"/> </tree> </field> </record> @@ -101,11 +101,11 @@ </field> <field name="state"/> <group col="6" colspan="2"> - <button name="draft" states="confirm,cancelled" string="Set to Draft" type="workflow" icon="gtk-convert" groups="base.group_hr_manager"/> - <button name="refuse" states="confirm,accepted" string="Refuse" type="workflow" icon="gtk-no" groups="base.group_hr_manager" /> - <button name="confirm" states="draft" string="Confirm" type="workflow" icon="gtk-apply" groups="base.group_hr_user,base.group_hr_manager"/> - <button name="invoice" states="accepted" string="Invoice" type="workflow" icon="gtk-go-forward" groups="base.group_hr_manager"/> - <button name="validate" states="confirm" string="Approve" type="workflow" icon="gtk-go-forward" groups="base.group_hr_manager"/> + <button name="draft" states="confirm,cancelled" string="Set to Draft" type="workflow" icon="gtk-convert" groups="base.group_hr_user"/> + <button name="refuse" states="confirm,accepted" string="Refuse" type="workflow" icon="gtk-no" groups="base.group_hr_user" /> + <button name="confirm" states="draft" string="Confirm" type="workflow" icon="gtk-apply"/> + <button name="invoice" states="accepted" string="Invoice" type="workflow" icon="gtk-go-forward" groups="base.group_hr_user"/> + <button name="validate" states="confirm" string="Approve" type="workflow" icon="gtk-go-forward" groups="base.group_hr_user"/> </group> </page> <page string="Other Info" groups="base.group_extended"> diff --git a/addons/hr_expense/hr_expense_workflow.xml b/addons/hr_expense/hr_expense_workflow.xml index 192533e67de..7946bef3b6b 100644 --- a/addons/hr_expense/hr_expense_workflow.xml +++ b/addons/hr_expense/hr_expense_workflow.xml @@ -65,48 +65,56 @@ <field name="act_from" ref="act_confirm"/> <field name="act_to" ref="act_accepted"/> <field name="signal">validate</field> + <field name="group_id" ref="base.group_hr_user"/> </record> <record id="t4" model="workflow.transition"> <field name="act_from" ref="act_confirm"/> <field name="act_to" ref="act_refused"/> <field name="signal">refuse</field> + <field name="group_id" ref="base.group_hr_user"/> </record> <record id="t6" model="workflow.transition"> <field name="act_from" ref="act_accepted"/> <field name="act_to" ref="act_refused"/> <field name="signal">refuse</field> + <field name="group_id" ref="base.group_hr_user"/> </record> <record id="t7" model="workflow.transition"> <field name="act_from" ref="act_confirm"/> <field name="act_to" ref="act_draft"/> <field name="signal">draft</field> + <field name="group_id" ref="base.group_hr_user"/> </record> <record id="t8" model="workflow.transition"> <field name="act_from" ref="act_accepted"/> <field name="act_to" ref="act_invoice"/> <field name="signal">invoice</field> + <field name="group_id" ref="base.group_hr_user"/> </record> <record id="t9" model="workflow.transition"> <field name="act_from" ref="act_invoice"/> <field name="act_to" ref="act_paid"/> <field name="signal">subflow.paid</field> + <field name="group_id" ref="base.group_hr_user"/> </record> <record id="t10" model="workflow.transition"> <field name="act_from" ref="act_invoice"/> <field name="act_to" ref="act_refused"/> <field name="signal">subflow.cancel</field> + <field name="group_id" ref="base.group_hr_user"/> </record> <record id="t11" model="workflow.transition"> <field name="act_from" ref="act_refused"/> <field name="act_to" ref="act_draft"/> <field name="signal">draft</field> + <field name="group_id" ref="base.group_hr_user"/> </record> </data> diff --git a/addons/hr_expense/report/hr_expense_report.py b/addons/hr_expense/report/hr_expense_report.py index b50e37b654e..df630931875 100644 --- a/addons/hr_expense/report/hr_expense_report.py +++ b/addons/hr_expense/report/hr_expense_report.py @@ -21,6 +21,7 @@ import tools from osv import fields,osv +from decimal_precision import decimal_precision as dp class hr_expense_report(osv.osv): @@ -47,11 +48,11 @@ class hr_expense_report(osv.osv): 'company_id':fields.many2one('res.company', 'Company', readonly=True), 'user_id':fields.many2one('res.users', 'Validation User', readonly=True), 'currency_id': fields.many2one('res.currency', 'Currency', readonly=True), - 'price_total':fields.float('Total Price', readonly=True), + 'price_total':fields.float('Total Price', readonly=True, digits_compute=dp.get_precision('Account')), 'delay_valid':fields.float('Delay to Valid', readonly=True), 'delay_confirm':fields.float('Delay to Confirm', readonly=True), 'analytic_account': fields.many2one('account.analytic.account','Analytic account',readonly=True), - 'price_average':fields.float('Average Price', readonly=True), + 'price_average':fields.float('Average Price', readonly=True, digits_compute=dp.get_precision('Account')), 'nbr':fields.integer('# of Lines', readonly=True), 'no_of_products':fields.integer('# of Products', readonly=True), 'no_of_account':fields.integer('# of Accounts', readonly=True), diff --git a/addons/hr_expense/security/ir.model.access.csv b/addons/hr_expense/security/ir.model.access.csv index fa8b5401497..674b06304d2 100644 --- a/addons/hr_expense/security/ir.model.access.csv +++ b/addons/hr_expense/security/ir.model.access.csv @@ -2,6 +2,7 @@ "access_hr_expense_expense_user","hr.expense.expense.user","model_hr_expense_expense","base.group_hr_user",1,1,1,1 "access_hr_expense_expense_employee","hr.expense.expense.employee","model_hr_expense_expense","base.group_user",1,1,1,1 "access_hr_expense_line_user","hr.expense.line.user","model_hr_expense_line","base.group_hr_user",1,1,1,1 +"access_hr_expense_line_employee","hr.expense.line.employee","model_hr_expense_line","base.group_user",1,1,1,1 "access_hr_expense_report_manager","hr.expense.report.manager","model_hr_expense_report","base.group_hr_manager",1,1,1,1 "access_product_product_hr_expense_user","product.product.hr.expense.user","product.model_product_product","base.group_hr_user",1,1,1,1 "access_product_template_hr_expense_user","product.template.hr.expense.user","product.model_product_template","base.group_hr_user",1,1,1,1 diff --git a/addons/hr_holidays/hr_holidays_view.xml b/addons/hr_holidays/hr_holidays_view.xml index 44e5a214c54..adbc670c64e 100644 --- a/addons/hr_holidays/hr_holidays_view.xml +++ b/addons/hr_holidays/hr_holidays_view.xml @@ -93,11 +93,11 @@ <newline/> <field name="state" colspan="2"/> <group colspan="2" col="6"> - <button string="Refuse" name="refuse" states="confirm,validate,validate1" type="workflow" icon="gtk-no" groups="base.group_hr_manager"/> - <button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-yes" groups="base.group_hr_user,base.group_hr_manager"/> - <button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply" groups="base.group_hr_manager"/> - <button string="Approved" name="second_validate" states="validate1" type="workflow" icon="gtk-apply" groups="base.group_hr_manager"/> - <button string="Set to Draft" name="set_to_draft" states="refuse" type="object" icon="gtk-convert" groups="base.group_hr_manager"/> + <button string="Refuse" name="refuse" states="confirm,validate,validate1" type="workflow" icon="gtk-no" groups="base.group_hr_user,base.group_hr_manager"/> + <button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-yes"/> + <button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply" groups="base.group_hr_user"/> + <button string="Approved" name="second_validate" states="validate1" type="workflow" icon="gtk-apply" groups="base.group_hr_user"/> + <button string="Set to Draft" name="set_to_draft" states="refuse" type="object" icon="gtk-convert" groups="base.group_hr_user"/> </group> </page> </notebook> @@ -135,11 +135,11 @@ <newline/> <field name="state" colspan="2"/> <group colspan="2" col="6"> - <button string="Refuse" name="refuse" states="confirm,validate,validate1" type="workflow" icon="gtk-no" groups="base.group_hr_manager"/> - <button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-yes" groups="base.group_hr_user,base.group_hr_manager"/> - <button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply" groups="base.group_hr_manager"/> - <button string="Approved" name="second_validate" states="validate1" type="workflow" icon="gtk-apply" groups="base.group_hr_manager"/> - <button string="Set to Draft" name="set_to_draft" states="cancel" type="object" icon="gtk-convert" groups="base.group_hr_manager"/> + <button string="Refuse" name="refuse" states="confirm,validate,validate1" type="workflow" icon="gtk-no" groups="base.group_hr_user"/> + <button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-yes"/> + <button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply" groups="base.group_hr_user"/> + <button string="Approved" name="second_validate" states="validate1" type="workflow" icon="gtk-apply" groups="base.group_hr_user"/> + <button string="Set to Draft" name="set_to_draft" states="cancel" type="object" icon="gtk-convert" groups="base.group_hr_user"/> </group> </page> </notebook> @@ -162,8 +162,8 @@ <field name="user_id" invisible="1"/> <!--field name="type"/--> <field name="state"/> - <button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply" groups="base.group_hr_manager"/> - <button string="Approved" name="second_validate" states="validate1" type="workflow" icon="gtk-apply" groups="base.group_hr_manager"/> + <button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply" groups="base.group_hr_user,base.group_hr_manager"/> + <button string="Approved" name="second_validate" states="validate1" type="workflow" icon="gtk-apply" groups="base.group_hr_user,base.group_hr_manager"/> </tree> </field> </record> @@ -217,9 +217,9 @@ <field name="manager_id" invisible="1"/> <field name="user_id" invisible="1"/> <field name="state"/> - <button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-yes" groups="base.group_hr_user,base.group_hr_manager"/> - <button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply" groups="base.group_hr_manager"/> - <button string="Refuse" name="refuse" states="confirm" type="workflow" icon="gtk-no" groups="base.group_hr_manager"/> + <button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-yes"/> + <button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply" groups="base.group_hr_user"/> + <button string="Refuse" name="refuse" states="confirm" type="workflow" icon="gtk-no" groups="base.group_hr_user"/> </tree> </field> </record> @@ -242,8 +242,8 @@ <field name="user_id" invisible="1"/> <!--field name="type"/--> <field name="state"/> - <button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply" groups="base.group_hr_manager"/> - <button string="Approved" name="second_validate" states="validate1" type="workflow" icon="gtk-apply" groups="base.group_hr_manager"/> + <button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply" groups="base.group_hr_user,base.group_hr_manager"/> + <button string="Approved" name="second_validate" states="validate1" type="workflow" icon="gtk-apply" groups="base.group_hr_user,base.group_hr_manager"/> </tree> </field> </record> diff --git a/addons/hr_holidays/hr_holidays_workflow.xml b/addons/hr_holidays/hr_holidays_workflow.xml index b9bac4fdcfc..888b3dd629d 100644 --- a/addons/hr_holidays/hr_holidays_workflow.xml +++ b/addons/hr_holidays/hr_holidays_workflow.xml @@ -63,18 +63,21 @@ <field name="act_to" ref="act_validate" /> <field name="signal">validate</field> <field name="condition">True</field> + <field name="group_id" ref="base.group_hr_user"/> </record> <record model="workflow.transition" id="t3"> <field name="act_from" ref="act_confirm" /> <field name="act_to" ref="act_refuse" /> <field name="signal">refuse</field> + <field name="group_id" ref="base.group_hr_user"/> </record> <record model="workflow.transition" id="t4"> <field name="act_from" ref="act_validate" /> <field name="act_to" ref="act_refuse" /> <field name="signal">refuse</field> + <field name="group_id" ref="base.group_hr_user"/> </record> <record model="workflow.transition" id="t8"> @@ -82,12 +85,14 @@ <field name="act_to" ref="act_validate1" /> <field name="group_id" ref="base.group_hr_user"/> <field name="signal">second_validate</field> + <field name="group_id" ref="base.group_hr_user"/> </record> <record model="workflow.transition" id="t10"> <field name="act_from" ref="act_validate1" /> <field name="act_to" ref="act_refuse" /> <field name="signal">refuse</field> + <field name="group_id" ref="base.group_hr_user"/> </record> <record model="workflow.transition" id="t11"> diff --git a/addons/hr_payroll/hr_paroll_report.xml b/addons/hr_payroll/hr_paroll_report.xml index 732b72f6a1d..2fae9bcf4c8 100644 --- a/addons/hr_payroll/hr_paroll_report.xml +++ b/addons/hr_payroll/hr_paroll_report.xml @@ -51,7 +51,7 @@ name="salary.structure" rml="hr_payroll/report/report_emp_salary_structure.rml" menu = "True" - string="Salary Structure" /> + string="Salary Structure" groups="base.group_hr_manager"/> </data> </openerp> diff --git a/addons/hr_payroll/hr_payroll_view.xml b/addons/hr_payroll/hr_payroll_view.xml index f57fdbd2787..73d354bb26d 100644 --- a/addons/hr_payroll/hr_payroll_view.xml +++ b/addons/hr_payroll/hr_payroll_view.xml @@ -91,7 +91,7 @@ <field name="arch" type="xml"> <data> <xpath expr="/form/notebook/page[@string='Personal Information']" position="after"> - <page string="Miscellaneous"> + <page string="Miscellaneous" groups="base.group_hr_user"> <group colspan="2" col="2"> <separator string="Personal Info" colspan="2"/> <field name="bank_account_id" context="{'display_partner':True, 'partner_id':partner_id}"/> @@ -934,7 +934,7 @@ </field> </record> <record id="action_contibution_register_form" model="ir.actions.act_window"> - <field name="name">Contibution Register</field> + <field name="name">Contribution Register</field> <field name="res_model">hr.contibution.register</field> <field name="view_type">form</field> <field name="view_id" ref="hr_contibution_register_tree"/> @@ -960,13 +960,17 @@ </field> </record> + + <!-- Shortcuts --> <act_window name="Payslips" domain="[('employee_id', '=', active_id)]" res_model="hr.payslip" src_model="hr.employee" view_id ="view_hr_payslip_tree" - id="act_hr_employee_payslip_list"/> + id="act_hr_employee_payslip_list" + groups="base.group_hr_manager"/> + </data> </openerp> diff --git a/addons/hr_payroll/report/payroll_register.rml b/addons/hr_payroll/report/payroll_register.rml index e47a7bfd870..4dd2900171a 100644 --- a/addons/hr_payroll/report/payroll_register.rml +++ b/addons/hr_payroll/report/payroll_register.rml @@ -175,22 +175,22 @@ <para style="terp_default_8">[[ l.employee_id.name ]]</para> </td> <td> - <para style="terp_default_9_right">[[ formatLang(l.basic) ]] [[ (company.currency_id and company.currency_id.symbol) or '']] </para> + <para style="terp_default_9_right">[[ formatLang(l.basic, dp='Account') ]] [[ company.currency_id.symbol]] </para> </td> <td> - <para style="terp_default_9_right">[[ formatLang(l.other_pay)]] [[ (company.currency_id and company.currency_id.symbol) or '']] </para> + <para style="terp_default_9_right">[[ formatLang(l.other_pay, dp='Account')]] [[ company.currency_id.symbol]] </para> </td> <td> - <para style="terp_default_9_right">[[ formatLang(l.allounce)]] [[ (company.currency_id and company.currency_id.symbol) or '']] </para> + <para style="terp_default_9_right">[[ formatLang(l.allounce, dp='Account')]] [[ company.currency_id.symbol]] </para> </td> <td> - <para style="terp_default_9_right">[[ formatLang(l.grows)]] [[ (company.currency_id and company.currency_id.symbol) or '']] </para> + <para style="terp_default_9_right">[[ formatLang(l.grows, dp='Account')]] [[ company.currency_id.symbol]] </para> </td> <td> - <para style="terp_default_9_right">[[ formatLang(l.deduction)]] [[ (company.currency_id and company.currency_id.symbol) or '']] </para> + <para style="terp_default_9_right">[[ formatLang(l.deduction, dp='Account')]] [[ company.currency_id.symbol]] </para> </td> <td> - <para style="terp_default_9_right">[[ formatLang(l.net)]] [[ (company.currency_id and company.currency_id.symbol) or '']] </para> + <para style="terp_default_9_right">[[ formatLang(l.net, dp='Account')]] [[ company.currency_id.symbol]] </para> </td> </tr> </blockTable> @@ -206,22 +206,22 @@ <para style="terp_tblheader_details">Total Salary</para> </td> <td> - <para style="terp_tbleheader_details_right">[[formatLang(get_basic(o))]][[ (company.currency_id and company.currency_id.symbol) or '']] </para> + <para style="terp_tbleheader_details_right">[[formatLang(get_basic(), dp='Account')]][[ company.currency_id.symbol]] </para> </td> <td> - <para style="terp_tbleheader_details_right">[[formatLang(get_other(o))]] [[ (company.currency_id and company.currency_id.symbol) or '']] </para> + <para style="terp_tbleheader_details_right">[[formatLang(get_other(), dp='Account')]] [[ company.currency_id.symbol]]</para> </td> <td> - <para style="terp_tbleheader_details_right">[[formatLang(get_allow(o))]] [[ (company.currency_id and company.currency_id.symbol) or '']] </para> + <para style="terp_tbleheader_details_right">[[formatLang(get_allow(), dp='Account')]] [[ company.currency_id.symbol]]</para> </td> <td> - <para style="terp_tbleheader_details_right">[[formatLang(get_grows(o))]] [[ (company.currency_id and company.currency_id.symbol) or '']] </para> + <para style="terp_tbleheader_details_right">[[formatLang(get_grows(), dp='Account')]] [[ company.currency_id.symbol]]</para> </td> <td> - <para style="terp_tbleheader_details_right">[[formatLang(get_deduct(o))]] [[ (company.currency_id and company.currency_id.symbol) or '']] </para> + <para style="terp_tbleheader_details_right">[[formatLang(get_deduct(), dp='Account')]] [[ company.currency_id.symbol]]</para> </td> <td> - <para style="terp_tbleheader_details_right">[[formatLang(get_net(o))]] [[ (company.currency_id and company.currency_id.symbol) or '']] </para> + <para style="terp_tbleheader_details_right">[[formatLang(get_net(), dp='Account')]] [[ company.currency_id.symbol]]</para> </td> </tr> </blockTable> @@ -259,4 +259,4 @@ </para> </pto> </story> -</document>
\ No newline at end of file +</document> diff --git a/addons/hr_payroll/report/payslip.rml b/addons/hr_payroll/report/payslip.rml index 1e4e13e3026..26c59391234 100644 --- a/addons/hr_payroll/report/payslip.rml +++ b/addons/hr_payroll/report/payslip.rml @@ -392,19 +392,19 @@ <para style="terp_default_Bold_9">Basic Salary</para> </td> <td> - <para style="terp_default_9">[[ formatLang(o.basic_before_leaves) ]] [[ o.company_id and o.company_id.currency_id.symbol or '' ]] </para> + <para style="terp_default_9">[[ formatLang(o.basic_before_leaves, dp='Account') ]] [[ o.company_id.currency_id.symbol ]] </para> </td> <td> <para style="terp_default_Bold_9">Leaved Deduction</para> </td> <td> - <para style="terp_default_9">[[ o.leaves or '' ]]</para> + <para style="terp_default_9">[[ formatLang(o.leaves, dp='Account') ]] [[ o.company_id.currency_id.symbol ]] </para> </td> <td> <para style="terp_default_Bold_9">Basic Salary – Leaves</para> </td> <td> - <para style="terp_default_9">[[ formatLang(o.basic) ]] [[ o.company_id and o.company_id.currency_id.symbol or '' ]] </para> + <para style="terp_default_9">[[ formatLang(o.basic, dp='Account') ]] [[ o.company_id.currency_id.symbol ]]</para> </td> </tr> </blockTable> @@ -433,7 +433,7 @@ <para style="terp_default_9">[[ ld.code ]]</para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(ld.total) ]] [[ o.company_id and o.company_id.currency_id.symbol or '' ]] </para> + <para style="terp_default_Right_9">[[ formatLang(ld.total, dp='Account') ]] [[ o.company_id.currency_id.symbol ]]</para> </td> </tr> </blockTable> @@ -463,7 +463,7 @@ <para style="terp_default_9">Basic Salary</para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(o.basic) ]] [[ o.company_id and o.company_id.currency_id.symbol or '' ]]</para> + <para style="terp_default_Right_9">[[ formatLang(o.basic, dp='Account') ]] [[ o.company_id.currency_id.symbol ]]</para> </td> </tr> <tr> @@ -471,7 +471,7 @@ <para style="terp_default_9">[[repeatIn(get_earnings(o.line_ids),'a') ]] [[ a.code ]]</para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(a.total) ]] [[ o.company_id and o.company_id.currency_id.symbol or '' ]] </para> + <para style="terp_default_Right_9">[[ formatLang(a.total, dp='Account') ]] [[ o.company_id.currency_id.symbol ]]</para> </td> </tr> </blockTable> @@ -488,7 +488,7 @@ <para style="terp_default_9">[[ b.code ]]</para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(b.total) ]] [[ o.company_id and o.company_id.currency_id.symbol or '' ]] </para> + <para style="terp_default_Right_9">[[ formatLang(b.total, dp='Account') ]] [[ o.company_id.currency_id.symbol ]]</para> </td> </tr> </blockTable> @@ -508,13 +508,13 @@ <para style="terp_tblheader_Details">Total Earnings<font face="Helvetica" size="7.0">([[ o.company_id and o.company_id.currency_id.symbol or '' ]])</font></para> </td> <td> - <para style="terp_tblheader_Details_Right">[[ formatLang(o.allounce + o.basic) ]] [[ o.company_id and o.company_id.currency_id.symbol ]] </para> + <para style="terp_tblheader_Details_Right">[[ formatLang(o.allounce + o.basic, dp='Account') ]] [[ o.company_id.currency_id.symbol ]] </para> </td> <td> <para style="terp_tblheader_Details">Total Deductions<font face="Helvetica" size="7.0">([[ o.company_id and o.company_id.currency_id.symbol or '' ]])</font></para> </td> <td> - <para style="terp_tblheader_Details_Right">[[ formatLang(o.deduction) ]] [[ o.company_id and o.company_id.currency_id.symbol or '' ]]</para> + <para style="terp_tblheader_Details_Right">[[ formatLang(o.deduction, dp='Account') ]] [[ o.company_id.currency_id.symbol ]]</para> </td> </tr> </blockTable> @@ -542,10 +542,10 @@ <para style="terp_default_9">[[ ol.code or '' ]]</para> </td> <td> - <para style="terp_default_Right_9">[[ ol.type in ['advance','loan','otherpay'] and formatLang(ol.total) or '' ]] [[ ol.type in ['advance','loan','otherpay'] and o.company_id and o.company_id.currency_id.symbol or '' ]]</para> + <para style="terp_default_Right_9">[[ ol.type in ['advance','loan','otherpay'] and formatLang(ol.total, dp='Account') or '' ]] [[ ol.type in ['advance','loan','otherpay'] and o.company_id and o.company_id.currency_id.symbol or '' ]]</para> </td> <td> - <para style="terp_default_Right_9">[[ ol.type in ['otherdeduct','installment'] and formatLang(ol.total) or '' ]] [[ ol.type in ['otherdeduct','installment'] and o.company_id and o.company_id.currency_id.symbol or '' ]]</para> + <para style="terp_default_Right_9">[[ ol.type in ['otherdeduct','installment'] and formatLang(ol.total, dp='Account') or '' ]] [[ ol.type in ['otherdeduct','installment'] and o.company_id and o.company_id.currency_id.symbol or '' ]]</para> </td> </tr> </blockTable> @@ -561,7 +561,7 @@ <para style="terp_tblheader_Details">Net Amount<font face="Helvetica" size="7.0">([[ o.company_id and o.company_id.currency_id.symbol or '' ]])</font></para> </td> <td> - <para style="terp_tblheader_Details_Right">[[ formatLang(o.net) ]] [[ o.company_id and o.company_id.currency_id.symbol or '' ]]</para> + <para style="terp_tblheader_Details_Right">[[ formatLang(o.net, dp='Account') ]] [[ o.company_id.currency_id.symbol ]]</para> </td> </tr> </blockTable> diff --git a/addons/hr_payroll/report/report_employees_detail.rml b/addons/hr_payroll/report/report_employees_detail.rml index 67a49abc4c6..87ec7a3d3d9 100644 --- a/addons/hr_payroll/report/report_employees_detail.rml +++ b/addons/hr_payroll/report/report_employees_detail.rml @@ -684,47 +684,47 @@ <para style="terp_tblheader_Details">[[ get_monthly_total()[0] ]]</para> </td> <td> - <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[1]) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> - </td> - <td> - <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[2]) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> - </td> - <td> - <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[3]) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> - </td> - <td> - <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[4]) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> - </td> - <td> - <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[5]) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> - </td> - <td> - <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[6]) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> - </td> - <td> - <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[7]) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> - </td> - <td> - <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[8]) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> - </td> - <td> - <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[9]) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> - </td> - <td> - <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[10]) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> - </td> - <td> - <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[11]) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> - </td> - <td> - <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[12]) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> - </td> - <td> - <para style="terp_tblheader_General_Right">[[ formatLang(get_total()) ]][[ company.currency_id.symbol ]]</para> + <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[1], dp='Account')) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> + </td> + <td> + <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[2], dp='Account')) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> + </td> + <td> + <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[3], dp='Account')) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> + </td> + <td> + <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[4], dp='Account')) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> + </td> + <td> + <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[5], dp='Account')) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> + </td> + <td> + <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[6], dp='Account')) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> + </td> + <td> + <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[7], dp='Account')) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> + </td> + <td> + <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[8], dp='Account')) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> + </td> + <td> + <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[9], dp='Account')) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> + </td> + <td> + <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[10], dp='Account']) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> + </td> + <td> + <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[11], dp='Account']) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> + </td> + <td> + <para style="terp_tblheader_Details_Right">[[ formatLang(get_monthly_total()[12], dp='Account']) or removeParentNode('para') ]][[ company.currency_id.symbol ]]</para> + </td> + <td> + <para style="terp_tblheader_General_Right">[[ formatLang(get_total(), dp='Account') ]][[ company.currency_id.symbol ]]</para> </td> </tr> </blockTable> </section> </pto> </story> -</document>
\ No newline at end of file +</document> diff --git a/addons/hr_payroll/report/report_payroll_advice.rml b/addons/hr_payroll/report/report_payroll_advice.rml index bd1b0c632cd..3e0aa3c0af1 100644 --- a/addons/hr_payroll/report/report_payroll_advice.rml +++ b/addons/hr_payroll/report/report_payroll_advice.rml @@ -257,10 +257,10 @@ <para style="terp_default_9">[[ line['name'] ]]</para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(line['amount' ]) ]] [[ (company.currency_id and company.currency_id.symbol) or '' ]]</para> + <para style="terp_default_Right_9">[[ formatLang(line['amount'], dp='Account') ]] [[ company.currency_id.symbol ]]</para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(line['bysal']) ]] [[ (company.currency_id and company.currency_id.symbol) or '' ]]</para> + <para style="terp_default_Right_9">[[ formatLang(line['bysal'], dp='Account') ]] [[ company.currency_id.symbol ]]</para> </td> <td> <para style="terp_default_9">[[ line['acc_no'] ]]</para> @@ -282,10 +282,10 @@ <para style="terp_tblheader_Details">Total:</para> </td> <td> - <para style="terp_tblheader_Details_Right">[[ formatLang(get_total()) ]] [[ (company.currency_id and company.currency_id.symbol) or '' ]]</para> + <para style="terp_tblheader_Details_Right">[[ formatLang(get_total(), dp='Account') ]] [[ company.currency_id.symbol ]]</para> </td> <td> - <para style="terp_tblheader_Details_Right">[[ formatLang(get_bysal_total()) ]] [[ (company.currency_id and company.currency_id.symbol) or '' ]]</para> + <para style="terp_tblheader_Details_Right">[[ formatLang(get_bysal_total(), dp='Account') ]] [[ company.currency_id.symbol ]]</para> </td> <td> <para style="terp_tblheader_Details_Right"> @@ -361,4 +361,4 @@ </para> </pto> </story> -</document>
\ No newline at end of file +</document> diff --git a/addons/hr_payroll/report/report_year_report.rml b/addons/hr_payroll/report/report_year_report.rml index 4314b91a552..564e87d04ab 100644 --- a/addons/hr_payroll/report/report_year_report.rml +++ b/addons/hr_payroll/report/report_year_report.rml @@ -248,66 +248,66 @@ </td> <td> <para style="terp_default_Right_8"> - <font face="Helvetica" size="9.0">[[ (e[1]!='' and formatLang(e[1])) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> + <font face="Helvetica" size="9.0">[[ (e[1]!='' and formatLang(e[1], dp='Account')) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> </para> </td> <td> <para style="terp_default_Right_8"> - <font face="Helvetica" size="9.0">[[ (e[2]!='' and formatLang(e[2])) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> + <font face="Helvetica" size="9.0">[[ (e[2]!='' and formatLang(e[2], dp='Account')) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> </para> </td> <td> <para style="terp_default_Right_8"> - <font face="Helvetica" size="9.0">[[ (e[3]!='' and formatLang(e[3])) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> + <font face="Helvetica" size="9.0">[[ (e[3]!='' and formatLang(e[3], dp='Account')) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> </para> </td> <td> <para style="terp_default_Right_8"> - <font face="Helvetica" size="9.0">[[ (e[4]!='' and formatLang(e[4])) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> + <font face="Helvetica" size="9.0">[[ (e[4]!='' and formatLang(e[4], dp='Account')) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> </para> </td> <td> <para style="terp_default_Right_8"> - <font face="Helvetica" size="9.0">[[ (e[5]!='' and formatLang(e[5])) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> + <font face="Helvetica" size="9.0">[[ (e[5]!='' and formatLang(e[5], dp='Account')) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> </para> </td> <td> <para style="terp_default_Right_8"> - <font face="Helvetica" size="9.0">[[ (e[6]!='' and formatLang(e[6])) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> + <font face="Helvetica" size="9.0">[[ (e[6]!='' and formatLang(e[6], dp='Account')) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> </para> </td> <td> <para style="terp_default_Right_8"> - <font face="Helvetica" size="9.0">[[ (e[7]!='' and formatLang(e[7])) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> + <font face="Helvetica" size="9.0">[[ (e[7]!='' and formatLang(e[7], dp='Account')) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> </para> </td> <td> <para style="terp_default_Right_8"> - <font face="Helvetica" size="9.0">[[ (e[8]!='' and formatLang(e[8])) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> + <font face="Helvetica" size="9.0">[[ (e[8]!='' and formatLang(e[8], dp='Account')) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> </para> </td> <td> <para style="terp_default_Right_8"> - <font face="Helvetica" size="9.0">[[ (e[9]!='' and formatLang(e[9])) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> + <font face="Helvetica" size="9.0">[[ (e[9]!='' and formatLang(e[9], dp='Account')) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> </para> </td> <td> <para style="terp_default_Right_8"> - <font face="Helvetica" size="9.0">[[ (e[10]!='' and formatLang(e[10])) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> + <font face="Helvetica" size="9.0">[[ (e[10]!='' and formatLang(e[10], dp='Account')) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> </para> </td> <td> <para style="terp_default_Right_8"> - <font face="Helvetica" size="9.0">[[ (e[11]!='' and formatLang(e[11])) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> + <font face="Helvetica" size="9.0">[[ (e[11]!='' and formatLang(e[11], dp='Account')) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> </para> </td> <td> <para style="terp_default_Right_8"> - <font face="Helvetica" size="9.0">[[ (e[12]!='' and formatLang(e[12])) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> + <font face="Helvetica" size="9.0">[[ (e[12]!='' and formatLang(e[12], dp='Account')) or removeParentNode('font') ]] [[company.currency_id.symbol]]</font> </para> </td> <td> - <para style="terp_default_Right_9_Bold">[[ formatLang(e[13]) ]] [[company.currency_id.symbol]]</para> + <para style="terp_default_Right_9_Bold">[[ formatLang(e[13], dp='Account') ]] [[company.currency_id.symbol]]</para> </td> </tr> </blockTable> @@ -321,47 +321,47 @@ <para style="terp_tblheader_Details">Total</para> </td> <td> - <para style="terp_tblheader_General_Right">[[ formatLang(t[1]) or removeParentNode('para') ]] [[company.currency_id.symbol]]</para> + <para style="terp_tblheader_General_Right">[[ formatLang(t[1], dp='Account') or removeParentNode('para') ]] [[company.currency_id.symbol]]</para> </td> <td> - <para style="terp_tblheader_General_Right">[[ formatLang(t[2]) or removeParentNode('para')]] [[company.currency_id.symbol]]</para> + <para style="terp_tblheader_General_Right">[[ formatLang(t[2], dp='Account') or removeParentNode('para')]] [[company.currency_id.symbol]]</para> </td> <td> - <para style="terp_tblheader_General_Right">[[ formatLang(t[3]) or removeParentNode('para')]] [[company.currency_id.symbol]]</para> + <para style="terp_tblheader_General_Right">[[ formatLang(t[3], dp='Account') or removeParentNode('para')]] [[company.currency_id.symbol]]</para> </td> <td> - <para style="terp_tblheader_General_Right">[[ formatLang(t[4]) or removeParentNode('para')]] [[company.currency_id.symbol]]</para> + <para style="terp_tblheader_General_Right">[[ formatLang(t[4], dp='Account') or removeParentNode('para')]] [[company.currency_id.symbol]]</para> </td> <td> - <para style="terp_tblheader_General_Right">[[ formatLang(t[5]) or removeParentNode('para')]] [[company.currency_id.symbol]]</para> + <para style="terp_tblheader_General_Right">[[ formatLang(t[5], dp='Account') or removeParentNode('para')]] [[company.currency_id.symbol]]</para> </td> <td> - <para style="terp_tblheader_General_Right">[[ formatLang(t[6]) or removeParentNode('para')]] [[company.currency_id.symbol]]</para> + <para style="terp_tblheader_General_Right">[[ formatLang(t[6], dp='Account') or removeParentNode('para')]] [[company.currency_id.symbol]]</para> </td> <td> - <para style="terp_tblheader_General_Right">[[ formatLang(t[7]) or removeParentNode('para')]] [[company.currency_id.symbol]]</para> + <para style="terp_tblheader_General_Right">[[ formatLang(t[7], dp='Account') or removeParentNode('para')]] [[company.currency_id.symbol]]</para> </td> <td> - <para style="terp_tblheader_General_Right">[[ formatLang(t[8]) or removeParentNode('para')]] [[company.currency_id.symbol]]</para> + <para style="terp_tblheader_General_Right">[[ formatLang(t[8], dp='Account') or removeParentNode('para')]] [[company.currency_id.symbol]]</para> </td> <td> - <para style="terp_tblheader_General_Right">[[ formatLang(t[9]) or removeParentNode('para')]] [[company.currency_id.symbol]]</para> + <para style="terp_tblheader_General_Right">[[ formatLang(t[9], dp='Account') or removeParentNode('para')]] [[company.currency_id.symbol]]</para> </td> <td> - <para style="terp_tblheader_General_Right">[[ formatLang(t[10]) or removeParentNode('para')]] [[company.currency_id.symbol]]</para> + <para style="terp_tblheader_General_Right">[[ formatLang(t[10], dp='Account') or removeParentNode('para')]] [[company.currency_id.symbol]]</para> </td> <td> - <para style="terp_tblheader_General_Right">[[ formatLang(t[11]) or removeParentNode('para')]] [[company.currency_id.symbol]]</para> + <para style="terp_tblheader_General_Right">[[ formatLang(t[11], dp='Account') or removeParentNode('para')]] [[company.currency_id.symbol]]</para> </td> <td> - <para style="terp_tblheader_General_Right">[[ formatLang(t[12]) or removeParentNode('para')]] [[company.currency_id.symbol]]</para> + <para style="terp_tblheader_General_Right">[[ formatLang(t[12], dp='Account') or removeParentNode('para')]] [[company.currency_id.symbol]]</para> </td> <td> - <para style="terp_tblheader_General_Right">[[ formatLang(get_total()) ]] [[company.currency_id.symbol]]</para> + <para style="terp_tblheader_General_Right">[[ formatLang(get_total(), dp='Account') ]] [[company.currency_id.symbol]]</para> </td> </tr> </blockTable> </section> </pto> </story> -</document>
\ No newline at end of file +</document> diff --git a/addons/hr_payroll_account/hr_payroll_account.py b/addons/hr_payroll_account/hr_payroll_account.py index 35f638a3326..4668827ef89 100644 --- a/addons/hr_payroll_account/hr_payroll_account.py +++ b/addons/hr_payroll_account/hr_payroll_account.py @@ -64,7 +64,7 @@ class hr_employee(osv.osv): method=True, domain="[('type', '=', 'liquidity')]", view_load=True, - help="Select Bank Account from where Salary Expanse will be Paid"), + help="Select Bank Account from where Salary Expense will be Paid"), 'salary_account':fields.property( 'account.account', type='many2one', @@ -73,7 +73,7 @@ class hr_employee(osv.osv): method=True, domain="[('type', '=', 'other')]", view_load=True, - help="Expanse account when Salary Expanse will be recorded"), + help="Expense account when Salary Expense will be recorded"), 'employee_account':fields.property( 'account.account', type='many2one', @@ -99,7 +99,7 @@ class payroll_register(osv.osv): _description = 'Payroll Register' _columns = { - 'journal_id': fields.many2one('account.journal', 'Expanse Journal'), + 'journal_id': fields.many2one('account.journal', 'Expense Journal'), 'bank_journal_id': fields.many2one('account.journal', 'Bank Journal'), 'period_id': fields.many2one('account.period', 'Force Period', domain=[('state','<>','done')], help="Keep empty to use the period of the validation(Payslip) date."), } @@ -213,7 +213,7 @@ class hr_payslip(osv.osv): _description = 'Pay Slip' _columns = { - 'journal_id': fields.many2one('account.journal', 'Expanse Journal'), + 'journal_id': fields.many2one('account.journal', 'Expense Journal'), 'bank_journal_id': fields.many2one('account.journal', 'Bank Journal'), 'move_ids':fields.one2many('hr.payslip.account.move', 'slip_id', 'Accounting vouchers'), 'move_line_ids':fields.many2many('account.move.line', 'payslip_lines_rel', 'slip_id', 'line_id', 'Accounting Lines', readonly=True), @@ -336,7 +336,7 @@ class hr_payslip(osv.osv): name = '[%s]-%s' % (slip.number, line.name) invoice_pool.pay_and_reconcile(cr, uid, invids, amount, acc_id, period_id, journal_id, False, period_id, False, context, name) other_pay -= amount - #TODO: link this account entries to the Payment Lines also Expanse Entries to Account Lines + #TODO: link this account entries to the Payment Lines also Expense Entries to Account Lines l_ids = movel_pool.search(cr, uid, [('name','=',name)], context=context) line_ids += l_ids diff --git a/addons/hr_recruitment/hr_recruitment_menu.xml b/addons/hr_recruitment/hr_recruitment_menu.xml index 7c158bb8795..2e941877b65 100644 --- a/addons/hr_recruitment/hr_recruitment_menu.xml +++ b/addons/hr_recruitment/hr_recruitment_menu.xml @@ -10,6 +10,7 @@ <field name="view_id" ref="crm_case_tree_view_job"/> <field name="context">{"search_default_user_id":uid, 'search_default_current': 1,"search_default_department_id": department_id}</field> <field name="search_view_id" ref="view_crm_case_jobs_filter"/> + <field name="help">From this menu you can track applicants in the recruitment process and manage all operations: meetings, interviews, phone calls, etc. If you setup the email gateway, applicants and their attached CV are created automatically when an email is sent to jobs@yourcompany.com. If you install the document management modules, all documents (CV and motivation letters) are indexed automatically, so that you can easily search through their content.</field> </record> <record model="ir.actions.act_window.view" id="action_hr_sec_tree_view_act_job"> diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml index e3955002c26..3738a1d8be6 100644 --- a/addons/hr_recruitment/hr_recruitment_view.xml +++ b/addons/hr_recruitment/hr_recruitment_view.xml @@ -23,11 +23,12 @@ # Stage # ------------------------------------------------------ <record id="hr_job_stage_act" model="ir.actions.act_window"> - <field name="name">Applicant Stages</field> + <field name="name">Recruitment / Applicants Stages</field> <field name="res_model">hr.recruitment.stage</field> <field name="view_type">form</field> <field name="domain">[]</field> <field name="context">{}</field> + <field name="help">Define here your stages of the recruitment process, for example: qualification call, first interview, second interview, refused, hired.</field> </record> diff --git a/addons/hr_recruitment/report/hr_recruitment_report.py b/addons/hr_recruitment/report/hr_recruitment_report.py index 3ba27af9228..5234e933813 100644 --- a/addons/hr_recruitment/report/hr_recruitment_report.py +++ b/addons/hr_recruitment/report/hr_recruitment_report.py @@ -21,6 +21,8 @@ import tools from osv import fields,osv from hr_recruitment import hr_recruitment +from decimal_precision import decimal_precision as dp + AVAILABLE_STATES = [ ('draft','New'), @@ -56,9 +58,9 @@ class hr_recruitment_report(osv.osv): 'type_id': fields.many2one('hr.recruitment.degree', 'Degree'), 'department_id': fields.many2one('hr.department','Department',readonly=True), 'priority': fields.selection(hr_recruitment.AVAILABLE_PRIORITIES, 'Appreciation'), - 'salary_prop': fields.float("Salary Proposed"), - 'salary_prop_avg': fields.float("Avg Salary Proposed", group_operator="avg"), - 'salary_exp': fields.float("Salary Expected"), + 'salary_prop' : fields.float("Salary Proposed", digits_compute=dp.get_precision('Account')), + 'salary_prop_avg' : fields.float("Avg Salary Proposed", group_operator="avg", digits_compute=dp.get_precision('Account')), + 'salary_exp' : fields.float("Salary Expected", digits_compute=dp.get_precision('Account')), 'partner_id': fields.many2one('res.partner', 'Partner',readonly=True), 'partner_address_id': fields.many2one('res.partner.address', 'Partner Contact Name',readonly=True), 'available': fields.float("Availability"), @@ -66,7 +68,6 @@ class hr_recruitment_report(osv.osv): help="Number of Days to close the project issue"), 'delay_close': fields.float('Avg. Delay to Close', digits=(16,2), readonly=True, group_operator="avg", help="Number of Days to close the project issue"), - } _order = 'date desc' def init(self, cr): diff --git a/addons/hr_timesheet/hr_timesheet_view.xml b/addons/hr_timesheet/hr_timesheet_view.xml index 9cfbf0c992c..131148f373a 100644 --- a/addons/hr_timesheet/hr_timesheet_view.xml +++ b/addons/hr_timesheet/hr_timesheet_view.xml @@ -102,7 +102,7 @@ <field name="inherit_id" ref="hr.view_employee_form"/> <field name="arch" type="xml"> <page string="Categories" position="after"> - <page string="Timesheets"> + <page string="Timesheets" groups="base.group_hr_user"> <field name="product_id" domain="[('type','=','service')]"/> <field name="journal_id" widget="selection"/> </page> diff --git a/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report.py b/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report.py index 90ba2aa7f6c..eb1437534d4 100644 --- a/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report.py +++ b/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report.py @@ -217,91 +217,3 @@ class report_timesheet_invoice(osv.osv): """) report_timesheet_invoice() -class report_random_timsheet(osv.osv): - _name = "report.random.timesheet" - _description = "Random Timesheet Report" - _auto = False - - _columns = { - 'analytic_account_id': fields.many2one('account.analytic.account','Analytic Account', readonly=True), - 'name': fields.char('Description', size=64, readonly=True), - 'quantity': fields.float('Quantity', readonly=True), - 'date': fields.date('Date', readonly=True), - 'user_id': fields.many2one('res.users', 'User', readonly=True) - } - _order = "date desc" - - def __init__(self, pool, cr): - super(report_random_timsheet, self).__init__(pool, cr) - self.called = False - - def fields_view_get(self, cr, user, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): - """ To call the init() method timely - """ - if not self.called: - self.init(cr, user) - self.called = True # To make sure that init doesn't get called multiple times - - res = super(report_random_timsheet, self).fields_view_get(cr, user, view_id, view_type, context, toolbar=toolbar, submenu=submenu) - return res - - def init(self, cr, uid=1): - drop_view_if_exists(cr, 'report_random_timesheet') - - cr.execute("""create or replace view report_random_timesheet as ( - - select - line.id as id, line.account_id as analytic_account_id, line.name as name, - line.unit_amount as quantity, line.date as date, line.user_id as user_id - from - account_analytic_line line, hr_department dept,hr_employee dept_user - where - (dept.id = dept_user.department_id AND dept_user.id=line.user_id AND line.user_id is not null) - AND (dept.manager_id = """ + str(uid) + """ ) - AND (line.date <= CURRENT_DATE AND line.date > (CURRENT_DATE-3)) - LIMIT 10 - ) - """ ) - -report_random_timsheet() - -class random_timesheet_lines(osv.osv): - _name = "random.timesheet.lines" - _description = "Random Timesheet Lines" - _auto = False - - _columns = { - 'date': fields.date('Date', readonly=True), - 'name': fields.char('Description', size=64, readonly=True), - 'user_id': fields.many2one('res.users', 'User', readonly=True), - 'quantity': fields.float('Quantity', readonly=True), - 'product_id': fields.many2one('product.product', 'Product', readonly=True), - 'analytic_account_id': fields.many2one('account.analytic.account','Analytic Account', readonly=True), - 'uom_id': fields.many2one('product.uom', 'UoM', readonly=True), - 'amount': fields.float('Amount', readonly=True), - 'to_invoice': fields.many2one('hr_timesheet_invoice.factor', 'Invoicing', readonly=True), - 'general_account_id': fields.many2one('account.account', 'General Account', readonly=True) - } - - _order = "date desc" - - def init(self, cr): - drop_view_if_exists(cr, 'random_timesheet_lines') - - cr.execute("""create or replace view random_timesheet_lines as ( - select - line.id as id, line.date as date, line.name as name, line.unit_amount as quantity, - line.product_id as product_id, line.account_id as analytic_account_id, - line.product_uom_id as uom_id, line.amount as amount, line.to_invoice as to_invoice, - line.general_account_id as general_account_id, line.user_id as user_id - from - account_analytic_line line - where - (line.date <= CURRENT_DATE AND line.date > (CURRENT_DATE-15)) - ) - """ ) - -random_timesheet_lines() - -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report_view.xml b/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report_view.xml index b763f96c10a..1d2f5195687 100644 --- a/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report_view.xml +++ b/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report_view.xml @@ -425,85 +425,5 @@ src_model="res.users"/> - <!-- Random Timesheet --> - - <record model="ir.ui.view" id="view_random_timesheet_tree"> - <field name="name">report.random.timesheet.tree</field> - <field name="model">report.random.timesheet</field> - <field name="type">tree</field> - <field name="arch" type="xml"> - <tree string="Random Timesheets"> - <field name="analytic_account_id" select="1" groups="analytic.group_analytic_accounting"/> - <field name="name" select="1"/> - <field name="quantity" select="2" /> - <field name="date" select="1"/> - </tree> - </field> - </record> - - <record model="ir.actions.act_window" id="action_random_timesheet_board"> - <field name="name">Random Timesheet</field> - <field name="res_model">report.random.timesheet</field> - <field name="view_type">form</field> - <field name="view_mode">tree,form</field> - <field name="view_id" ref="view_random_timesheet_tree"/> - </record> - - <!-- Random Timesheet Lines of random activities --> - - <record id="view_random_timesheet_lines_search" model="ir.ui.view"> - <field name="name">random.timesheet.lines.search</field> - <field name="model">random.timesheet.lines</field> - <field name="type">search</field> - <field name="arch" type="xml"> - <search string="Search Timesheet Lines"> - <group col='15' colspan='4'> - <filter icon="terp-check" string="Current" domain="[('date','=',time.strftime('%%Y-%%m-%%d'))]"/> - <separator orientation="vertical"/> - <field name="user_id" widget="selection"/> - <field name="product_id" widget="selection"/> - </group> - <newline/> - <group expand="0" string="Group By..."> - <filter string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> - <separator orientation="vertical"/> - <filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/> - <filter string="Analytic Account" icon="terp-folder-violet" domain="[]" context="{'group_by':'analytic_account_id'}"/> - <filter string="General Account" icon="terp-folder-orange" domain="[]" context="{'group_by':'general_account_id'}"/> - </group> - </search> - </field> - </record> - - <record model="ir.ui.view" id="view_random_timesheet_lines_tree"> - <field name="name">random.timesheet.lines.tree</field> - <field name="model">random.timesheet.lines</field> - <field name="type">tree</field> - <field name="arch" type="xml"> - <tree string="Random Timesheets Lines"> - <field name="date" select="1"/> - <field name="user_id"/> - <field name="name" select="1"/> - <field name="quantity" /> - <field name="product_id" select="1"/> - <field name="analytic_account_id" select="1" groups="analytic.group_analytic_accounting"/> - <field name="uom_id" /> - <field name="amount" /> - <field name="to_invoice" select="1"/> - <field name="general_account_id" /> - </tree> - </field> - </record> - - <record model="ir.actions.act_window" id="action_random_timesheet_lines_board"> - <field name="type">ir.actions.act_window</field> - <field name="name">Working Hours</field> - <field name="res_model">random.timesheet.lines</field> - <field name="view_type">form</field> - <field name="view_mode">tree,form</field> - <field name="context">{'search_default_user_id':uid }</field> - <field name="view_id" ref="view_random_timesheet_lines_tree"/> - <field name="search_view_id" ref="view_random_timesheet_lines_search"/> - </record> </data> </openerp> diff --git a/addons/hr_timesheet_invoice/security/ir.model.access.csv b/addons/hr_timesheet_invoice/security/ir.model.access.csv index c647fec62cf..9d8c41be2cd 100644 --- a/addons/hr_timesheet_invoice/security/ir.model.access.csv +++ b/addons/hr_timesheet_invoice/security/ir.model.access.csv @@ -7,8 +7,6 @@ "access_report_timesheet_account","report_timesheet.account","model_report_timesheet_account","base.group_hr_manager",1,1,1,1 "access_report_timesheet_account_date","report_timesheet.account.date","model_report_timesheet_account_date","base.group_hr_manager",1,1,1,1 "access_report_timesheet_invoice","report_timesheet.invoice","model_report_timesheet_invoice","base.group_hr_manager",1,1,1,1 -"access_report_random_timesheet","report_random_timesheet","model_report_random_timesheet","base.group_hr_manager",1,1,1,1 -"access_report_random_timesheet_lines","random_timesheet_lines","model_random_timesheet_lines","base.group_hr_manager",1,1,1,1 "access_report_analytic_account_close_manager","report.analytic.account.close.manager","model_report_analytic_account_close","base.group_hr_manager",1,1,1,1 "access_report_account_analytic_line_to_invoice_manager","report.account.analytic.line.to.invoice.manager","model_report_account_analytic_line_to_invoice","base.group_hr_manager",1,1,1,1 "access_account_invoice_hr_user","account.invoice.hr.user","account.model_account_invoice","base.group_hr_user",1,1,1,1 diff --git a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml index 22c169daac9..8456bca1f3d 100644 --- a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml +++ b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml @@ -132,8 +132,8 @@ <field name="state"/> <button name="button_confirm" states="draft" string="Confirm" type="object" icon="terp-check"/> <button name="action_set_to_draft" states="done" string="Set to Draft" type="object" icon="terp-stock_effects-object-colorize"/> - <button name="cancel" states="confirm" string="Refuse" type="workflow" icon="gtk-cancel" groups="base.group_hr_manager"/> - <button name="done" states="confirm" string="Approve" type="workflow" icon="terp-camera_test" groups="base.group_hr_manager"/> + <button name="cancel" states="confirm" string="Refuse" type="workflow" icon="gtk-cancel" groups="base.group_hr_user"/> + <button name="done" states="confirm" string="Approve" type="workflow" icon="terp-camera_test" groups="base.group_hr_user"/> </group> </form> </field> diff --git a/addons/hr_timesheet_sheet/hr_timesheet_workflow.xml b/addons/hr_timesheet_sheet/hr_timesheet_workflow.xml index 1afc8909323..667658685f9 100644 --- a/addons/hr_timesheet_sheet/hr_timesheet_workflow.xml +++ b/addons/hr_timesheet_sheet/hr_timesheet_workflow.xml @@ -40,21 +40,25 @@ <record id="t0" model="workflow.transition"> <field name="act_from" ref="act_new"/> <field name="act_to" ref="act_draft"/> + <field name="group_id" ref="base.group_hr_user"/> </record> <record id="t1" model="workflow.transition"> <field name="act_from" ref="act_draft"/> <field name="act_to" ref="act_confirm"/> <field name="signal">confirm</field> + <field name="group_id" ref="base.group_hr_user"/> </record> <record id="t2" model="workflow.transition"> <field name="act_from" ref="act_confirm"/> <field name="act_to" ref="act_done"/> <field name="signal">done</field> + <field name="group_id" ref="base.group_hr_user"/> </record> <record id="t3" model="workflow.transition"> <field name="act_from" ref="act_confirm"/> <field name="act_to" ref="act_draft"/> <field name="signal">cancel</field> + <field name="group_id" ref="base.group_hr_user"/> </record> </data> </openerp> diff --git a/addons/hr_timesheet_sheet/report/hr_timesheet_report.py b/addons/hr_timesheet_sheet/report/hr_timesheet_report.py index 84ef868ab81..d20ad3a5f4c 100644 --- a/addons/hr_timesheet_sheet/report/hr_timesheet_report.py +++ b/addons/hr_timesheet_sheet/report/hr_timesheet_report.py @@ -21,6 +21,8 @@ import tools from osv import fields,osv +from decimal_precision import decimal_precision as dp + class hr_timesheet_report(osv.osv): _name = "hr.timesheet.report" @@ -40,7 +42,7 @@ class hr_timesheet_report(osv.osv): 'user_id': fields.many2one('res.users', 'User',readonly=True), 'account_id': fields.many2one('account.analytic.account', 'Analytic Account',readonly=True), 'company_id': fields.many2one('res.company', 'Company',readonly=True), - 'cost': fields.float('Cost',readonly=True), + 'cost': fields.float('Cost',readonly=True, digits_compute=dp.get_precision('Account')), 'quantity': fields.float('Quantity',readonly=True), } diff --git a/addons/l10n_es/account_chart.xml b/addons/l10n_es/account_chart.xml index 6e56007fc46..df0b218ae49 100644 --- a/addons/l10n_es/account_chart.xml +++ b/addons/l10n_es/account_chart.xml @@ -33,13 +33,13 @@ <field name="code">terceros</field> <field name="close_method">balance</field> </record> - <record id="terceros - rec" model="account.account.type"> + <record id="terceros_-_rec" model="account.account.type"> <field name="name">Terceros - A Cobrar</field> <field name="code">terceros - rec</field> <field name="report_type">asset</field> <field name="close_method">balance</field> </record> - <record id="terceros - pay" model="account.account.type"> + <record id="terceros_-_pay" model="account.account.type"> <field name="name">Terceros - A Pagar</field> <field name="code">terceros - pay</field> <field name="report_type">liability</field> @@ -3883,7 +3883,7 @@ <field name="parent_id" ref="pgc_4"/> <field name="type">view</field> <field name="name">Proveedores</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_400" model="account.account.template"> <field name="code">400</field> @@ -3891,7 +3891,7 @@ <field name="parent_id" ref="pgc_40"/> <field name="type">view</field> <field name="name">Proveedores</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_4000" model="account.account.template"> <field name="code">4000</field> @@ -3899,7 +3899,7 @@ <field name="parent_id" ref="pgc_400"/> <field name="type">view</field> <field name="name">Proveedores (euros)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_4000_child" model="account.account.template"> <field name="code">4000</field> @@ -3907,7 +3907,7 @@ <field name="parent_id" ref="pgc_4000"/> <field name="type">payable</field> <field name="name">Proveedores (euros)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_4004" model="account.account.template"> <field name="code">4004</field> @@ -3915,7 +3915,7 @@ <field name="parent_id" ref="pgc_400"/> <field name="type">view</field> <field name="name">Proveedores (moneda extranjera)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_4004_child" model="account.account.template"> <field name="code">4004</field> @@ -3923,7 +3923,7 @@ <field name="parent_id" ref="pgc_4004"/> <field name="type">payable</field> <field name="name">Proveedores (moneda extranjera)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_4009" model="account.account.template"> <field name="code">4009</field> @@ -3931,7 +3931,7 @@ <field name="parent_id" ref="pgc_400"/> <field name="type">view</field> <field name="name">Proveedores, facturas pendientes de recibir o de formalizar</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_4009_child" model="account.account.template"> <field name="code">4009</field> @@ -3939,7 +3939,7 @@ <field name="parent_id" ref="pgc_4009"/> <field name="type">payable</field> <field name="name">Proveedores, facturas pendientes de recibir o de formalizar</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_401" model="account.account.template"> <field name="code">401</field> @@ -3947,7 +3947,7 @@ <field name="parent_id" ref="pgc_40"/> <field name="type">view</field> <field name="name">Proveedores, efectos comerciales a pagar</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_401_child" model="account.account.template"> <field name="code">401</field> @@ -3955,7 +3955,7 @@ <field name="parent_id" ref="pgc_401"/> <field name="type">other</field> <field name="name">Proveedores, efectos comerciales a pagar</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_403" model="account.account.template"> <field name="code">403</field> @@ -3963,7 +3963,7 @@ <field name="parent_id" ref="pgc_40"/> <field name="type">view</field> <field name="name">Proveedores, empresas del grupo</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_4030" model="account.account.template"> <field name="code">4030</field> @@ -3971,7 +3971,7 @@ <field name="parent_id" ref="pgc_403"/> <field name="type">view</field> <field name="name">Proveedores, empresas del grupo (euros)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_4030_child" model="account.account.template"> <field name="code">4030</field> @@ -3979,7 +3979,7 @@ <field name="parent_id" ref="pgc_4030"/> <field name="type">payable</field> <field name="name">Proveedores, empresas del grupo (euros)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_4031" model="account.account.template"> <field name="code">4031</field> @@ -3987,7 +3987,7 @@ <field name="parent_id" ref="pgc_403"/> <field name="type">view</field> <field name="name">Efectos comerciales a pagar, empresas del grupo</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_4031_child" model="account.account.template"> <field name="code">4031</field> @@ -3995,7 +3995,7 @@ <field name="parent_id" ref="pgc_4031"/> <field name="type">payable</field> <field name="name">Efectos comerciales a pagar, empresas del grupo</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_4034" model="account.account.template"> <field name="code">4034</field> @@ -4003,7 +4003,7 @@ <field name="parent_id" ref="pgc_403"/> <field name="type">view</field> <field name="name">Proveedores, empresas del grupo (moneda extranjera)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_4034_child" model="account.account.template"> <field name="code">4034</field> @@ -4011,7 +4011,7 @@ <field name="parent_id" ref="pgc_4034"/> <field name="type">payable</field> <field name="name">Proveedores, empresas del grupo (moneda extranjera)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_4036" model="account.account.template"> <field name="code">4036</field> @@ -4019,7 +4019,7 @@ <field name="parent_id" ref="pgc_403"/> <field name="type">view</field> <field name="name">Envases y embalajes a devolver a proveedores, empresas del grupo</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_4036_child" model="account.account.template"> <field name="code">4036</field> @@ -4027,7 +4027,7 @@ <field name="parent_id" ref="pgc_4036"/> <field name="type">payable</field> <field name="name">Envases y embalajes a devolver a proveedores, empresas del grupo</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_4039" model="account.account.template"> <field name="code">4039</field> @@ -4035,7 +4035,7 @@ <field name="parent_id" ref="pgc_403"/> <field name="type">view</field> <field name="name">Proveedores, empresas del grupo, facturas pendientes de recibir o de formalizar</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_4039_child" model="account.account.template"> <field name="code">4039</field> @@ -4043,7 +4043,7 @@ <field name="parent_id" ref="pgc_4039"/> <field name="type">payable</field> <field name="name">Proveedores, empresas del grupo, facturas pendientes de recibir o de formalizar</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_404" model="account.account.template"> <field name="code">404</field> @@ -4051,7 +4051,7 @@ <field name="parent_id" ref="pgc_40"/> <field name="type">view</field> <field name="name">Proveedores, empresas asociadas</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_404_child" model="account.account.template"> <field name="code">404</field> @@ -4059,7 +4059,7 @@ <field name="parent_id" ref="pgc_404"/> <field name="type">other</field> <field name="name">Proveedores, empresas asociadas</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_405" model="account.account.template"> <field name="code">405</field> @@ -4067,7 +4067,7 @@ <field name="parent_id" ref="pgc_40"/> <field name="type">view</field> <field name="name">Proveedores, otras partes vinculadas</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_405_child" model="account.account.template"> <field name="code">405</field> @@ -4075,7 +4075,7 @@ <field name="parent_id" ref="pgc_405"/> <field name="type">other</field> <field name="name">Proveedores, otras partes vinculadas</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_406" model="account.account.template"> <field name="code">406</field> @@ -4083,7 +4083,7 @@ <field name="parent_id" ref="pgc_40"/> <field name="type">view</field> <field name="name">Envases y embalajes a devolver a proveedores</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_406_child" model="account.account.template"> <field name="code">406</field> @@ -4091,7 +4091,7 @@ <field name="parent_id" ref="pgc_406"/> <field name="type">other</field> <field name="name">Envases y embalajes a devolver a proveedores</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_407" model="account.account.template"> <field name="code">407</field> @@ -4099,7 +4099,7 @@ <field name="parent_id" ref="pgc_40"/> <field name="type">view</field> <field name="name">Anticipos a proveedores</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_407_child" model="account.account.template"> <field name="code">407</field> @@ -4107,7 +4107,7 @@ <field name="parent_id" ref="pgc_407"/> <field name="type">other</field> <field name="name">Anticipos a proveedores</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_41" model="account.account.template"> <field name="code">41</field> @@ -4115,7 +4115,7 @@ <field name="parent_id" ref="pgc_4"/> <field name="type">view</field> <field name="name">Acreedores varios</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_410" model="account.account.template"> <field name="code">410</field> @@ -4123,7 +4123,7 @@ <field name="parent_id" ref="pgc_41"/> <field name="type">view</field> <field name="name">Acreedores por prestaciones de servicios</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_4100" model="account.account.template"> <field name="code">4100</field> @@ -4131,7 +4131,7 @@ <field name="parent_id" ref="pgc_410"/> <field name="type">view</field> <field name="name">Acreedores por prestaciones de servicios (euros)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_4100_child" model="account.account.template"> <field name="code">4100</field> @@ -4139,7 +4139,7 @@ <field name="parent_id" ref="pgc_4100"/> <field name="type">payable</field> <field name="name">Acreedores por prestaciones de servicios (euros)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_4104" model="account.account.template"> <field name="code">4104</field> @@ -4147,7 +4147,7 @@ <field name="parent_id" ref="pgc_410"/> <field name="type">view</field> <field name="name">Acreedores por prestaciones de servicios (moneda extranjera)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_4104_child" model="account.account.template"> <field name="code">4104</field> @@ -4155,7 +4155,7 @@ <field name="parent_id" ref="pgc_4104"/> <field name="type">payable</field> <field name="name">Acreedores por prestaciones de servicios (moneda extranjera)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_4109" model="account.account.template"> <field name="code">4109</field> @@ -4163,7 +4163,7 @@ <field name="parent_id" ref="pgc_410"/> <field name="type">view</field> <field name="name">Acreedores por prestaciones de servicios, facturas pendientes de recibir o de formalizar</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_4109_child" model="account.account.template"> <field name="code">4109</field> @@ -4171,7 +4171,7 @@ <field name="parent_id" ref="pgc_4109"/> <field name="type">payable</field> <field name="name">Acreedores por prestaciones de servicios, facturas pendientes de recibir o de formalizar</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_411" model="account.account.template"> <field name="code">411</field> @@ -4179,7 +4179,7 @@ <field name="parent_id" ref="pgc_41"/> <field name="type">view</field> <field name="name">Acreedores, efectos comerciales a pagar</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_411_child" model="account.account.template"> <field name="code">411</field> @@ -4187,7 +4187,7 @@ <field name="parent_id" ref="pgc_411"/> <field name="type">other</field> <field name="name">Acreedores, efectos comerciales a pagar</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_419" model="account.account.template"> <field name="code">419</field> @@ -4195,7 +4195,7 @@ <field name="parent_id" ref="pgc_41"/> <field name="type">view</field> <field name="name">Acreedores por operaciones en común</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_419_child" model="account.account.template"> <field name="code">419</field> @@ -4203,7 +4203,7 @@ <field name="parent_id" ref="pgc_419"/> <field name="type">other</field> <field name="name">Acreedores por operaciones en común</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_43" model="account.account.template"> <field name="code">43</field> @@ -4211,7 +4211,7 @@ <field name="parent_id" ref="pgc_4"/> <field name="type">view</field> <field name="name">Clientes</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_430" model="account.account.template"> <field name="code">430</field> @@ -4219,7 +4219,7 @@ <field name="parent_id" ref="pgc_43"/> <field name="type">view</field> <field name="name">Clientes</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4300" model="account.account.template"> <field name="code">4300</field> @@ -4227,7 +4227,7 @@ <field name="parent_id" ref="pgc_430"/> <field name="type">view</field> <field name="name">Clientes (euros)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4300_child" model="account.account.template"> <field name="code">4300</field> @@ -4235,7 +4235,7 @@ <field name="parent_id" ref="pgc_4300"/> <field name="type">receivable</field> <field name="name">Clientes (euros)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4304" model="account.account.template"> <field name="code">4304</field> @@ -4243,7 +4243,7 @@ <field name="parent_id" ref="pgc_430"/> <field name="type">view</field> <field name="name">Clientes (moneda extranjera)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4304_child" model="account.account.template"> <field name="code">4304</field> @@ -4251,7 +4251,7 @@ <field name="parent_id" ref="pgc_4304"/> <field name="type">receivable</field> <field name="name">Clientes (moneda extranjera)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4309" model="account.account.template"> <field name="code">4309</field> @@ -4259,7 +4259,7 @@ <field name="parent_id" ref="pgc_430"/> <field name="type">view</field> <field name="name">Clientes, facturas pendientes de recibir o de formalizar</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4309_child" model="account.account.template"> <field name="code">4309</field> @@ -4267,7 +4267,7 @@ <field name="parent_id" ref="pgc_4309"/> <field name="type">receivable</field> <field name="name">Clientes, facturas pendientes de recibir o de formalizar</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_431" model="account.account.template"> <field name="code">431</field> @@ -4275,7 +4275,7 @@ <field name="parent_id" ref="pgc_43"/> <field name="type">view</field> <field name="name">Clientes, efectos comerciales a cobrar</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4310" model="account.account.template"> <field name="code">4310</field> @@ -4283,7 +4283,7 @@ <field name="parent_id" ref="pgc_431"/> <field name="type">view</field> <field name="name">Efectos comerciales en cartera</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4310_child" model="account.account.template"> <field name="code">4310</field> @@ -4291,7 +4291,7 @@ <field name="parent_id" ref="pgc_4310"/> <field name="type">receivable</field> <field name="name">Efectos comerciales en cartera</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4311" model="account.account.template"> <field name="code">4311</field> @@ -4299,7 +4299,7 @@ <field name="parent_id" ref="pgc_431"/> <field name="type">view</field> <field name="name">Efectos comerciales descontados</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4311_child" model="account.account.template"> <field name="code">4311</field> @@ -4307,7 +4307,7 @@ <field name="parent_id" ref="pgc_4311"/> <field name="type">receivable</field> <field name="name">Efectos comerciales descontados</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4312" model="account.account.template"> <field name="code">4312</field> @@ -4315,7 +4315,7 @@ <field name="parent_id" ref="pgc_431"/> <field name="type">view</field> <field name="name">Efectos comerciales en gestión de cobro</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4312_child" model="account.account.template"> <field name="code">4312</field> @@ -4323,7 +4323,7 @@ <field name="parent_id" ref="pgc_4312"/> <field name="type">receivable</field> <field name="name">Efectos comerciales en gestión de cobro</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4315" model="account.account.template"> <field name="code">4315</field> @@ -4331,7 +4331,7 @@ <field name="parent_id" ref="pgc_431"/> <field name="type">view</field> <field name="name">Efectos comerciales impagados</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4315_child" model="account.account.template"> <field name="code">4315</field> @@ -4339,7 +4339,7 @@ <field name="parent_id" ref="pgc_4315"/> <field name="type">receivable</field> <field name="name">Efectos comerciales impagados</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_432" model="account.account.template"> <field name="code">432</field> @@ -4347,7 +4347,7 @@ <field name="parent_id" ref="pgc_43"/> <field name="type">view</field> <field name="name">Clientes, operaciones de factoring</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_432_child" model="account.account.template"> <field name="code">432</field> @@ -4355,7 +4355,7 @@ <field name="parent_id" ref="pgc_432"/> <field name="type">other</field> <field name="name">Clientes, operaciones de factoring</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_433" model="account.account.template"> <field name="code">433</field> @@ -4363,7 +4363,7 @@ <field name="parent_id" ref="pgc_43"/> <field name="type">view</field> <field name="name">Clientes, empresas del grupo</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4330" model="account.account.template"> <field name="code">4330</field> @@ -4371,7 +4371,7 @@ <field name="parent_id" ref="pgc_433"/> <field name="type">view</field> <field name="name">Clientes empresas del grupo (euros)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4330_child" model="account.account.template"> <field name="code">4330</field> @@ -4379,7 +4379,7 @@ <field name="parent_id" ref="pgc_4330"/> <field name="type">receivable</field> <field name="name">Clientes empresas del grupo (euros)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4331" model="account.account.template"> <field name="code">4331</field> @@ -4387,7 +4387,7 @@ <field name="parent_id" ref="pgc_433"/> <field name="type">view</field> <field name="name">Efectos comerciales a cobrar, empresas del grupo</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4331_child" model="account.account.template"> <field name="code">4331</field> @@ -4395,7 +4395,7 @@ <field name="parent_id" ref="pgc_4331"/> <field name="type">receivable</field> <field name="name">Efectos comerciales a cobrar, empresas del grupo</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4332" model="account.account.template"> <field name="code">4332</field> @@ -4403,7 +4403,7 @@ <field name="parent_id" ref="pgc_433"/> <field name="type">view</field> <field name="name">Clientes empresas del grupo, operaciones de factoring</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4332_child" model="account.account.template"> <field name="code">4332</field> @@ -4411,7 +4411,7 @@ <field name="parent_id" ref="pgc_4332"/> <field name="type">receivable</field> <field name="name">Clientes empresas del grupo, operaciones de factoring</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4334" model="account.account.template"> <field name="code">4334</field> @@ -4419,7 +4419,7 @@ <field name="parent_id" ref="pgc_433"/> <field name="type">view</field> <field name="name">Clientes empresas del grupo (moneda extranjera)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4334_child" model="account.account.template"> <field name="code">4334</field> @@ -4427,7 +4427,7 @@ <field name="parent_id" ref="pgc_4334"/> <field name="type">receivable</field> <field name="name">Clientes empresas del grupo (moneda extranjera)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4336" model="account.account.template"> <field name="code">4336</field> @@ -4435,7 +4435,7 @@ <field name="parent_id" ref="pgc_433"/> <field name="type">view</field> <field name="name">Clientes empresas del grupo de dudoso cobro</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4336_child" model="account.account.template"> <field name="code">4336</field> @@ -4443,7 +4443,7 @@ <field name="parent_id" ref="pgc_4336"/> <field name="type">receivable</field> <field name="name">Clientes empresas del grupo de dudoso cobro</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4337" model="account.account.template"> <field name="code">4337</field> @@ -4451,7 +4451,7 @@ <field name="parent_id" ref="pgc_433"/> <field name="type">view</field> <field name="name">Envases y embalajes a devolver a clientes, empresas del grupo</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4337_child" model="account.account.template"> <field name="code">4337</field> @@ -4459,7 +4459,7 @@ <field name="parent_id" ref="pgc_4337"/> <field name="type">receivable</field> <field name="name">Envases y embalajes a devolver a clientes, empresas del grupo</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4339" model="account.account.template"> <field name="code">4339</field> @@ -4467,7 +4467,7 @@ <field name="parent_id" ref="pgc_433"/> <field name="type">view</field> <field name="name">Clientes empresas del grupo, facturas pendientes de formalizar</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4339_child" model="account.account.template"> <field name="code">4339</field> @@ -4475,7 +4475,7 @@ <field name="parent_id" ref="pgc_4339"/> <field name="type">receivable</field> <field name="name">Clientes empresas del grupo, facturas pendientes de formalizar</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_434" model="account.account.template"> <field name="code">434</field> @@ -4483,7 +4483,7 @@ <field name="parent_id" ref="pgc_43"/> <field name="type">view</field> <field name="name">Clientes, empresas asociadas</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_434_child" model="account.account.template"> <field name="code">434</field> @@ -4491,7 +4491,7 @@ <field name="parent_id" ref="pgc_434"/> <field name="type">other</field> <field name="name">Clientes, empresas asociadas</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_435" model="account.account.template"> <field name="code">435</field> @@ -4499,7 +4499,7 @@ <field name="parent_id" ref="pgc_43"/> <field name="type">view</field> <field name="name">Clientes, otras partes vinculadas</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_435_child" model="account.account.template"> <field name="code">435</field> @@ -4507,7 +4507,7 @@ <field name="parent_id" ref="pgc_435"/> <field name="type">other</field> <field name="name">Clientes, otras partes vinculadas</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_436" model="account.account.template"> <field name="code">436</field> @@ -4515,7 +4515,7 @@ <field name="parent_id" ref="pgc_43"/> <field name="type">view</field> <field name="name">Clientes de dudoso cobro</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_436_child" model="account.account.template"> <field name="code">436</field> @@ -4523,7 +4523,7 @@ <field name="parent_id" ref="pgc_436"/> <field name="type">other</field> <field name="name">Clientes de dudoso cobro</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_437" model="account.account.template"> <field name="code">437</field> @@ -4531,7 +4531,7 @@ <field name="parent_id" ref="pgc_43"/> <field name="type">view</field> <field name="name">Envases y embalajes a devolver por clientes</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_437_child" model="account.account.template"> <field name="code">437</field> @@ -4539,7 +4539,7 @@ <field name="parent_id" ref="pgc_437"/> <field name="type">other</field> <field name="name">Envases y embalajes a devolver por clientes</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_438" model="account.account.template"> <field name="code">438</field> @@ -4547,7 +4547,7 @@ <field name="parent_id" ref="pgc_43"/> <field name="type">view</field> <field name="name">Anticipos de clientes</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_438_child" model="account.account.template"> <field name="code">438</field> @@ -4555,7 +4555,7 @@ <field name="parent_id" ref="pgc_438"/> <field name="type">other</field> <field name="name">Anticipos de clientes</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_44" model="account.account.template"> <field name="code">44</field> @@ -4563,7 +4563,7 @@ <field name="parent_id" ref="pgc_4"/> <field name="type">view</field> <field name="name">Deudores varios</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_440" model="account.account.template"> <field name="code">440</field> @@ -4571,7 +4571,7 @@ <field name="parent_id" ref="pgc_44"/> <field name="type">view</field> <field name="name">Deudores</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4400" model="account.account.template"> <field name="code">4400</field> @@ -4579,7 +4579,7 @@ <field name="parent_id" ref="pgc_440"/> <field name="type">view</field> <field name="name">Deudores (euros)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4400_child" model="account.account.template"> <field name="code">4400</field> @@ -4587,7 +4587,7 @@ <field name="parent_id" ref="pgc_4400"/> <field name="type">receivable</field> <field name="name">Deudores (euros)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4404" model="account.account.template"> <field name="code">4404</field> @@ -4595,7 +4595,7 @@ <field name="parent_id" ref="pgc_440"/> <field name="type">view</field> <field name="name">Deudores (moneda extranjera)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4404_child" model="account.account.template"> <field name="code">4404</field> @@ -4603,7 +4603,7 @@ <field name="parent_id" ref="pgc_4404"/> <field name="type">receivable</field> <field name="name">Deudores (moneda extranjera)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4409" model="account.account.template"> <field name="code">4409</field> @@ -4611,7 +4611,7 @@ <field name="parent_id" ref="pgc_440"/> <field name="type">view</field> <field name="name">Deudores, facturas pendientes de formalizar</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4409_child" model="account.account.template"> <field name="code">4409</field> @@ -4619,7 +4619,7 @@ <field name="parent_id" ref="pgc_4409"/> <field name="type">receivable</field> <field name="name">Deudores, facturas pendientes de formalizar</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_441" model="account.account.template"> <field name="code">441</field> @@ -4627,7 +4627,7 @@ <field name="parent_id" ref="pgc_44"/> <field name="type">view</field> <field name="name">Deudores, efectos comerciales a cobrar</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4410" model="account.account.template"> <field name="code">4410</field> @@ -4635,7 +4635,7 @@ <field name="parent_id" ref="pgc_441"/> <field name="type">view</field> <field name="name">Deudores, efectos comerciales en cartera</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4410_child" model="account.account.template"> <field name="code">4410</field> @@ -4643,7 +4643,7 @@ <field name="parent_id" ref="pgc_4410"/> <field name="type">receivable</field> <field name="name">Deudores, efectos comerciales en cartera</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4411" model="account.account.template"> <field name="code">4411</field> @@ -4651,7 +4651,7 @@ <field name="parent_id" ref="pgc_441"/> <field name="type">view</field> <field name="name">Deudores, efectos comerciales descontados</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4411_child" model="account.account.template"> <field name="code">4411</field> @@ -4659,7 +4659,7 @@ <field name="parent_id" ref="pgc_4411"/> <field name="type">receivable</field> <field name="name">Deudores, efectos comerciales descontados</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4412" model="account.account.template"> <field name="code">4412</field> @@ -4667,7 +4667,7 @@ <field name="parent_id" ref="pgc_441"/> <field name="type">view</field> <field name="name">Deudores, efectos comerciales en gestión de cobro</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4412_child" model="account.account.template"> <field name="code">4412</field> @@ -4675,7 +4675,7 @@ <field name="parent_id" ref="pgc_4412"/> <field name="type">receivable</field> <field name="name">Deudores, efectos comerciales en gestión de cobro</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4415" model="account.account.template"> <field name="code">4415</field> @@ -4683,7 +4683,7 @@ <field name="parent_id" ref="pgc_441"/> <field name="type">view</field> <field name="name">Deudores, efectos comerciales impagados</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_4415_child" model="account.account.template"> <field name="code">4415</field> @@ -4691,7 +4691,7 @@ <field name="parent_id" ref="pgc_4415"/> <field name="type">receivable</field> <field name="name">Deudores, efectos comerciales impagados</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_446" model="account.account.template"> <field name="code">446</field> @@ -4699,7 +4699,7 @@ <field name="parent_id" ref="pgc_44"/> <field name="type">view</field> <field name="name">Deudores de dudoso cobro</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_446_child" model="account.account.template"> <field name="code">446</field> @@ -4707,7 +4707,7 @@ <field name="parent_id" ref="pgc_446"/> <field name="type">other</field> <field name="name">Deudores de dudoso cobro</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_449" model="account.account.template"> <field name="code">449</field> @@ -4715,7 +4715,7 @@ <field name="parent_id" ref="pgc_44"/> <field name="type">view</field> <field name="name">Deudores por operaciones en común</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_449_child" model="account.account.template"> <field name="code">449</field> @@ -4723,7 +4723,7 @@ <field name="parent_id" ref="pgc_449"/> <field name="type">other</field> <field name="name">Deudores por operaciones en común</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_46" model="account.account.template"> <field name="code">46</field> @@ -4739,7 +4739,7 @@ <field name="parent_id" ref="pgc_46"/> <field name="type">view</field> <field name="name">Anticipos de remuneraciones</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_460_child" model="account.account.template"> <field name="code">460</field> @@ -4747,7 +4747,7 @@ <field name="parent_id" ref="pgc_460"/> <field name="type">other</field> <field name="name">Anticipos de remuneraciones</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_465" model="account.account.template"> <field name="code">465</field> @@ -4755,7 +4755,7 @@ <field name="parent_id" ref="pgc_46"/> <field name="type">view</field> <field name="name">Remuneraciones pendientes de pago</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_465_child" model="account.account.template"> <field name="code">465</field> @@ -4763,7 +4763,7 @@ <field name="parent_id" ref="pgc_465"/> <field name="type">other</field> <field name="name">Remuneraciones pendientes de pago</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_466" model="account.account.template"> <field name="code">466</field> @@ -4771,7 +4771,7 @@ <field name="parent_id" ref="pgc_46"/> <field name="type">view</field> <field name="name">Remuneraciones mediante sistemas de aportación definida pendientes de pago</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_466_child" model="account.account.template"> <field name="code">466</field> @@ -4779,7 +4779,7 @@ <field name="parent_id" ref="pgc_466"/> <field name="type">other</field> <field name="name">Remuneraciones mediante sistemas de aportación definida pendientes de pago</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_47" model="account.account.template"> <field name="code">47</field> @@ -5059,7 +5059,7 @@ <field name="parent_id" ref="pgc_48"/> <field name="type">view</field> <field name="name">Gastos anticipados</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_480_child" model="account.account.template"> <field name="code">480</field> @@ -5067,7 +5067,7 @@ <field name="parent_id" ref="pgc_480"/> <field name="type">other</field> <field name="name">Gastos anticipados</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_485" model="account.account.template"> <field name="code">485</field> @@ -5075,7 +5075,7 @@ <field name="parent_id" ref="pgc_48"/> <field name="type">view</field> <field name="name">Ingresos anticipados</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_485_child" model="account.account.template"> <field name="code">485</field> @@ -5083,7 +5083,7 @@ <field name="parent_id" ref="pgc_485"/> <field name="type">other</field> <field name="name">Ingresos anticipados</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_49" model="account.account.template"> <field name="code">49</field> diff --git a/addons/l10n_es/account_chart_pymes.xml b/addons/l10n_es/account_chart_pymes.xml index 50ab4987113..2e52df600ab 100644 --- a/addons/l10n_es/account_chart_pymes.xml +++ b/addons/l10n_es/account_chart_pymes.xml @@ -3550,7 +3550,7 @@ <field name="parent_id" ref="pgc_pymes_4"/> <field name="type">view</field> <field name="name">Proveedores</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_400" model="account.account.template"> <field name="code">400</field> @@ -3558,7 +3558,7 @@ <field name="parent_id" ref="pgc_pymes_40"/> <field name="type">view</field> <field name="name">Proveedores</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_4000" model="account.account.template"> <field name="code">4000</field> @@ -3566,7 +3566,7 @@ <field name="parent_id" ref="pgc_pymes_400"/> <field name="type">view</field> <field name="name">Proveedores (euros)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_4000_child" model="account.account.template"> <field name="code">4000</field> @@ -3574,7 +3574,7 @@ <field name="parent_id" ref="pgc_pymes_4000"/> <field name="type">payable</field> <field name="name">Proveedores (euros)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_4004" model="account.account.template"> <field name="code">4004</field> @@ -3582,7 +3582,7 @@ <field name="parent_id" ref="pgc_pymes_400"/> <field name="type">view</field> <field name="name">Proveedores (moneda extranjera)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_4004_child" model="account.account.template"> <field name="code">4004</field> @@ -3590,7 +3590,7 @@ <field name="parent_id" ref="pgc_pymes_4004"/> <field name="type">payable</field> <field name="name">Proveedores (moneda extranjera)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_4009" model="account.account.template"> <field name="code">4009</field> @@ -3598,7 +3598,7 @@ <field name="parent_id" ref="pgc_pymes_400"/> <field name="type">view</field> <field name="name">Proveedores, facturas pendientes de recibir o de formalizar</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_4009_child" model="account.account.template"> <field name="code">4009</field> @@ -3606,7 +3606,7 @@ <field name="parent_id" ref="pgc_pymes_4009"/> <field name="type">payable</field> <field name="name">Proveedores, facturas pendientes de recibir o de formalizar</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_401" model="account.account.template"> <field name="code">401</field> @@ -3614,7 +3614,7 @@ <field name="parent_id" ref="pgc_pymes_40"/> <field name="type">view</field> <field name="name">Proveedores, efectos comerciales a pagar</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_401_child" model="account.account.template"> <field name="code">401</field> @@ -3622,7 +3622,7 @@ <field name="parent_id" ref="pgc_pymes_401"/> <field name="type">other</field> <field name="name">Proveedores, efectos comerciales a pagar</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_403" model="account.account.template"> <field name="code">403</field> @@ -3630,7 +3630,7 @@ <field name="parent_id" ref="pgc_pymes_40"/> <field name="type">view</field> <field name="name">Proveedores, empresas del grupo</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_4030" model="account.account.template"> <field name="code">4030</field> @@ -3638,7 +3638,7 @@ <field name="parent_id" ref="pgc_pymes_403"/> <field name="type">view</field> <field name="name">Proveedores, empresas del grupo (euros)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_4030_child" model="account.account.template"> <field name="code">4030</field> @@ -3646,7 +3646,7 @@ <field name="parent_id" ref="pgc_pymes_4030"/> <field name="type">payable</field> <field name="name">Proveedores, empresas del grupo (euros)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_4031" model="account.account.template"> <field name="code">4031</field> @@ -3654,7 +3654,7 @@ <field name="parent_id" ref="pgc_pymes_403"/> <field name="type">view</field> <field name="name">Efectos comerciales a pagar, empresas del grupo</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_4031_child" model="account.account.template"> <field name="code">4031</field> @@ -3662,7 +3662,7 @@ <field name="parent_id" ref="pgc_pymes_4031"/> <field name="type">payable</field> <field name="name">Efectos comerciales a pagar, empresas del grupo</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_4034" model="account.account.template"> <field name="code">4034</field> @@ -3670,7 +3670,7 @@ <field name="parent_id" ref="pgc_pymes_403"/> <field name="type">view</field> <field name="name">Proveedores, empresas del grupo (moneda extranjera)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_4034_child" model="account.account.template"> <field name="code">4034</field> @@ -3678,7 +3678,7 @@ <field name="parent_id" ref="pgc_pymes_4034"/> <field name="type">payable</field> <field name="name">Proveedores, empresas del grupo (moneda extranjera)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_4036" model="account.account.template"> <field name="code">4036</field> @@ -3686,7 +3686,7 @@ <field name="parent_id" ref="pgc_pymes_403"/> <field name="type">view</field> <field name="name">Envases y embalajes a devolver a proveedores, empresas del grupo</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_4036_child" model="account.account.template"> <field name="code">4036</field> @@ -3694,7 +3694,7 @@ <field name="parent_id" ref="pgc_pymes_4036"/> <field name="type">payable</field> <field name="name">Envases y embalajes a devolver a proveedores, empresas del grupo</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_4039" model="account.account.template"> <field name="code">4039</field> @@ -3702,7 +3702,7 @@ <field name="parent_id" ref="pgc_pymes_403"/> <field name="type">view</field> <field name="name">Proveedores, empresas del grupo, facturas pendientes de recibir o de formalizar</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_4039_child" model="account.account.template"> <field name="code">4039</field> @@ -3710,7 +3710,7 @@ <field name="parent_id" ref="pgc_pymes_4039"/> <field name="type">payable</field> <field name="name">Proveedores, empresas del grupo, facturas pendientes de recibir o de formalizar</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_404" model="account.account.template"> <field name="code">404</field> @@ -3718,7 +3718,7 @@ <field name="parent_id" ref="pgc_pymes_40"/> <field name="type">view</field> <field name="name">Proveedores, empresas asociadas</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_404_child" model="account.account.template"> <field name="code">404</field> @@ -3726,7 +3726,7 @@ <field name="parent_id" ref="pgc_pymes_404"/> <field name="type">other</field> <field name="name">Proveedores, empresas asociadas</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_405" model="account.account.template"> <field name="code">405</field> @@ -3734,7 +3734,7 @@ <field name="parent_id" ref="pgc_pymes_40"/> <field name="type">view</field> <field name="name">Proveedores, otras partes vinculadas</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_405_child" model="account.account.template"> <field name="code">405</field> @@ -3742,7 +3742,7 @@ <field name="parent_id" ref="pgc_pymes_405"/> <field name="type">other</field> <field name="name">Proveedores, otras partes vinculadas</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_406" model="account.account.template"> <field name="code">406</field> @@ -3750,7 +3750,7 @@ <field name="parent_id" ref="pgc_pymes_40"/> <field name="type">view</field> <field name="name">Envases y embalajes a devolver a proveedores</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_406_child" model="account.account.template"> <field name="code">406</field> @@ -3758,7 +3758,7 @@ <field name="parent_id" ref="pgc_pymes_406"/> <field name="type">other</field> <field name="name">Envases y embalajes a devolver a proveedores</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_407" model="account.account.template"> <field name="code">407</field> @@ -3766,7 +3766,7 @@ <field name="parent_id" ref="pgc_pymes_40"/> <field name="type">view</field> <field name="name">Anticipos a proveedores</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_407_child" model="account.account.template"> <field name="code">407</field> @@ -3774,7 +3774,7 @@ <field name="parent_id" ref="pgc_pymes_407"/> <field name="type">other</field> <field name="name">Anticipos a proveedores</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_41" model="account.account.template"> <field name="code">41</field> @@ -3782,7 +3782,7 @@ <field name="parent_id" ref="pgc_pymes_4"/> <field name="type">view</field> <field name="name">Acreedores varios</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_410" model="account.account.template"> <field name="code">410</field> @@ -3790,7 +3790,7 @@ <field name="parent_id" ref="pgc_pymes_41"/> <field name="type">view</field> <field name="name">Acreedores por prestaciones de servicios</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_4100" model="account.account.template"> <field name="code">4100</field> @@ -3798,7 +3798,7 @@ <field name="parent_id" ref="pgc_pymes_410"/> <field name="type">view</field> <field name="name">Acreedores por prestaciones de servicios (euros)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_4100_child" model="account.account.template"> <field name="code">4100</field> @@ -3806,7 +3806,7 @@ <field name="parent_id" ref="pgc_pymes_4100"/> <field name="type">payable</field> <field name="name">Acreedores por prestaciones de servicios (euros)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_4104" model="account.account.template"> <field name="code">4104</field> @@ -3814,7 +3814,7 @@ <field name="parent_id" ref="pgc_pymes_410"/> <field name="type">view</field> <field name="name">Acreedores por prestaciones de servicios (moneda extranjera)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_4104_child" model="account.account.template"> <field name="code">4104</field> @@ -3822,7 +3822,7 @@ <field name="parent_id" ref="pgc_pymes_4104"/> <field name="type">payable</field> <field name="name">Acreedores por prestaciones de servicios (moneda extranjera)</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_4109" model="account.account.template"> <field name="code">4109</field> @@ -3830,7 +3830,7 @@ <field name="parent_id" ref="pgc_pymes_410"/> <field name="type">view</field> <field name="name">Acreedores por prestaciones de servicios, facturas pendientes de recibir o de formalizar</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_4109_child" model="account.account.template"> <field name="code">4109</field> @@ -3838,7 +3838,7 @@ <field name="parent_id" ref="pgc_pymes_4109"/> <field name="type">payable</field> <field name="name">Acreedores por prestaciones de servicios, facturas pendientes de recibir o de formalizar</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_411" model="account.account.template"> <field name="code">411</field> @@ -3846,7 +3846,7 @@ <field name="parent_id" ref="pgc_pymes_41"/> <field name="type">view</field> <field name="name">Acreedores, efectos comerciales a pagar</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_411_child" model="account.account.template"> <field name="code">411</field> @@ -3854,7 +3854,7 @@ <field name="parent_id" ref="pgc_pymes_411"/> <field name="type">other</field> <field name="name">Acreedores, efectos comerciales a pagar</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_419" model="account.account.template"> <field name="code">419</field> @@ -3862,7 +3862,7 @@ <field name="parent_id" ref="pgc_pymes_41"/> <field name="type">view</field> <field name="name">Acreedores por operaciones en común</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_419_child" model="account.account.template"> <field name="code">419</field> @@ -3870,7 +3870,7 @@ <field name="parent_id" ref="pgc_pymes_419"/> <field name="type">other</field> <field name="name">Acreedores por operaciones en común</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_43" model="account.account.template"> <field name="code">43</field> @@ -3878,7 +3878,7 @@ <field name="parent_id" ref="pgc_pymes_4"/> <field name="type">view</field> <field name="name">Clientes</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_430" model="account.account.template"> <field name="code">430</field> @@ -3886,7 +3886,7 @@ <field name="parent_id" ref="pgc_pymes_43"/> <field name="type">view</field> <field name="name">Clientes</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4300" model="account.account.template"> <field name="code">4300</field> @@ -3894,7 +3894,7 @@ <field name="parent_id" ref="pgc_pymes_430"/> <field name="type">view</field> <field name="name">Clientes (euros)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4300_child" model="account.account.template"> <field name="code">4300</field> @@ -3902,7 +3902,7 @@ <field name="parent_id" ref="pgc_pymes_4300"/> <field name="type">receivable</field> <field name="name">Clientes (euros)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4304" model="account.account.template"> <field name="code">4304</field> @@ -3910,7 +3910,7 @@ <field name="parent_id" ref="pgc_pymes_430"/> <field name="type">view</field> <field name="name">Clientes (moneda extranjera)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4304_child" model="account.account.template"> <field name="code">4304</field> @@ -3918,7 +3918,7 @@ <field name="parent_id" ref="pgc_pymes_4304"/> <field name="type">receivable</field> <field name="name">Clientes (moneda extranjera)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4309" model="account.account.template"> <field name="code">4309</field> @@ -3926,7 +3926,7 @@ <field name="parent_id" ref="pgc_pymes_430"/> <field name="type">view</field> <field name="name">Clientes, facturas pendientes de recibir o de formalizar</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4309_child" model="account.account.template"> <field name="code">4309</field> @@ -3934,7 +3934,7 @@ <field name="parent_id" ref="pgc_pymes_4309"/> <field name="type">receivable</field> <field name="name">Clientes, facturas pendientes de recibir o de formalizar</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_431" model="account.account.template"> <field name="code">431</field> @@ -3942,7 +3942,7 @@ <field name="parent_id" ref="pgc_pymes_43"/> <field name="type">view</field> <field name="name">Clientes, efectos comerciales a cobrar</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4310" model="account.account.template"> <field name="code">4310</field> @@ -3950,7 +3950,7 @@ <field name="parent_id" ref="pgc_pymes_431"/> <field name="type">view</field> <field name="name">Efectos comerciales en cartera</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4310_child" model="account.account.template"> <field name="code">4310</field> @@ -3958,7 +3958,7 @@ <field name="parent_id" ref="pgc_pymes_4310"/> <field name="type">receivable</field> <field name="name">Efectos comerciales en cartera</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4311" model="account.account.template"> <field name="code">4311</field> @@ -3966,7 +3966,7 @@ <field name="parent_id" ref="pgc_pymes_431"/> <field name="type">view</field> <field name="name">Efectos comerciales descontados</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4311_child" model="account.account.template"> <field name="code">4311</field> @@ -3974,7 +3974,7 @@ <field name="parent_id" ref="pgc_pymes_4311"/> <field name="type">receivable</field> <field name="name">Efectos comerciales descontados</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4312" model="account.account.template"> <field name="code">4312</field> @@ -3982,7 +3982,7 @@ <field name="parent_id" ref="pgc_pymes_431"/> <field name="type">view</field> <field name="name">Efectos comerciales en gestión de cobro</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4312_child" model="account.account.template"> <field name="code">4312</field> @@ -3990,7 +3990,7 @@ <field name="parent_id" ref="pgc_pymes_4312"/> <field name="type">receivable</field> <field name="name">Efectos comerciales en gestión de cobro</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4315" model="account.account.template"> <field name="code">4315</field> @@ -3998,7 +3998,7 @@ <field name="parent_id" ref="pgc_pymes_431"/> <field name="type">view</field> <field name="name">Efectos comerciales impagados</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4315_child" model="account.account.template"> <field name="code">4315</field> @@ -4006,7 +4006,7 @@ <field name="parent_id" ref="pgc_pymes_4315"/> <field name="type">receivable</field> <field name="name">Efectos comerciales impagados</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_432" model="account.account.template"> <field name="code">432</field> @@ -4014,7 +4014,7 @@ <field name="parent_id" ref="pgc_pymes_43"/> <field name="type">view</field> <field name="name">Clientes, operaciones de factoring</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_432_child" model="account.account.template"> <field name="code">432</field> @@ -4022,7 +4022,7 @@ <field name="parent_id" ref="pgc_pymes_432"/> <field name="type">other</field> <field name="name">Clientes, operaciones de factoring</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_433" model="account.account.template"> <field name="code">433</field> @@ -4030,7 +4030,7 @@ <field name="parent_id" ref="pgc_pymes_43"/> <field name="type">view</field> <field name="name">Clientes, empresas del grupo</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4330" model="account.account.template"> <field name="code">4330</field> @@ -4038,7 +4038,7 @@ <field name="parent_id" ref="pgc_pymes_433"/> <field name="type">view</field> <field name="name">Clientes empresas del grupo (euros)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4330_child" model="account.account.template"> <field name="code">4330</field> @@ -4046,7 +4046,7 @@ <field name="parent_id" ref="pgc_pymes_4330"/> <field name="type">receivable</field> <field name="name">Clientes empresas del grupo (euros)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4331" model="account.account.template"> <field name="code">4331</field> @@ -4054,7 +4054,7 @@ <field name="parent_id" ref="pgc_pymes_433"/> <field name="type">view</field> <field name="name">Efectos comerciales a cobrar, empresas del grupo</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4331_child" model="account.account.template"> <field name="code">4331</field> @@ -4062,7 +4062,7 @@ <field name="parent_id" ref="pgc_pymes_4331"/> <field name="type">receivable</field> <field name="name">Efectos comerciales a cobrar, empresas del grupo</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4332" model="account.account.template"> <field name="code">4332</field> @@ -4070,7 +4070,7 @@ <field name="parent_id" ref="pgc_pymes_433"/> <field name="type">view</field> <field name="name">Clientes empresas del grupo, operaciones de factoring</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4332_child" model="account.account.template"> <field name="code">4332</field> @@ -4078,7 +4078,7 @@ <field name="parent_id" ref="pgc_pymes_4332"/> <field name="type">receivable</field> <field name="name">Clientes empresas del grupo, operaciones de factoring</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4334" model="account.account.template"> <field name="code">4334</field> @@ -4086,7 +4086,7 @@ <field name="parent_id" ref="pgc_pymes_433"/> <field name="type">view</field> <field name="name">Clientes empresas del grupo (moneda extranjera)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4334_child" model="account.account.template"> <field name="code">4334</field> @@ -4094,7 +4094,7 @@ <field name="parent_id" ref="pgc_pymes_4334"/> <field name="type">receivable</field> <field name="name">Clientes empresas del grupo (moneda extranjera)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4336" model="account.account.template"> <field name="code">4336</field> @@ -4102,7 +4102,7 @@ <field name="parent_id" ref="pgc_pymes_433"/> <field name="type">view</field> <field name="name">Clientes empresas del grupo de dudoso cobro</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4336_child" model="account.account.template"> <field name="code">4336</field> @@ -4110,7 +4110,7 @@ <field name="parent_id" ref="pgc_pymes_4336"/> <field name="type">receivable</field> <field name="name">Clientes empresas del grupo de dudoso cobro</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4337" model="account.account.template"> <field name="code">4337</field> @@ -4118,7 +4118,7 @@ <field name="parent_id" ref="pgc_pymes_433"/> <field name="type">view</field> <field name="name">Envases y embalajes a devolver a clientes, empresas del grupo</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4337_child" model="account.account.template"> <field name="code">4337</field> @@ -4126,7 +4126,7 @@ <field name="parent_id" ref="pgc_pymes_4337"/> <field name="type">receivable</field> <field name="name">Envases y embalajes a devolver a clientes, empresas del grupo</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4339" model="account.account.template"> <field name="code">4339</field> @@ -4134,7 +4134,7 @@ <field name="parent_id" ref="pgc_pymes_433"/> <field name="type">view</field> <field name="name">Clientes empresas del grupo, facturas pendientes de formalizar</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4339_child" model="account.account.template"> <field name="code">4339</field> @@ -4142,7 +4142,7 @@ <field name="parent_id" ref="pgc_pymes_4339"/> <field name="type">receivable</field> <field name="name">Clientes empresas del grupo, facturas pendientes de formalizar</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_434" model="account.account.template"> <field name="code">434</field> @@ -4150,7 +4150,7 @@ <field name="parent_id" ref="pgc_pymes_43"/> <field name="type">view</field> <field name="name">Clientes, empresas asociadas</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_434_child" model="account.account.template"> <field name="code">434</field> @@ -4158,7 +4158,7 @@ <field name="parent_id" ref="pgc_pymes_434"/> <field name="type">other</field> <field name="name">Clientes, empresas asociadas</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_435" model="account.account.template"> <field name="code">435</field> @@ -4166,7 +4166,7 @@ <field name="parent_id" ref="pgc_pymes_43"/> <field name="type">view</field> <field name="name">Clientes, otras partes vinculadas</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_435_child" model="account.account.template"> <field name="code">435</field> @@ -4174,7 +4174,7 @@ <field name="parent_id" ref="pgc_pymes_435"/> <field name="type">other</field> <field name="name">Clientes, otras partes vinculadas</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_436" model="account.account.template"> <field name="code">436</field> @@ -4182,7 +4182,7 @@ <field name="parent_id" ref="pgc_pymes_43"/> <field name="type">view</field> <field name="name">Clientes de dudoso cobro</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_436_child" model="account.account.template"> <field name="code">436</field> @@ -4190,7 +4190,7 @@ <field name="parent_id" ref="pgc_pymes_436"/> <field name="type">other</field> <field name="name">Clientes de dudoso cobro</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_437" model="account.account.template"> <field name="code">437</field> @@ -4198,7 +4198,7 @@ <field name="parent_id" ref="pgc_pymes_43"/> <field name="type">view</field> <field name="name">Envases y embalajes a devolver por clientes</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_437_child" model="account.account.template"> <field name="code">437</field> @@ -4206,7 +4206,7 @@ <field name="parent_id" ref="pgc_pymes_437"/> <field name="type">other</field> <field name="name">Envases y embalajes a devolver por clientes</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_438" model="account.account.template"> <field name="code">438</field> @@ -4214,7 +4214,7 @@ <field name="parent_id" ref="pgc_pymes_43"/> <field name="type">view</field> <field name="name">Anticipos de clientes</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_438_child" model="account.account.template"> <field name="code">438</field> @@ -4222,7 +4222,7 @@ <field name="parent_id" ref="pgc_pymes_438"/> <field name="type">other</field> <field name="name">Anticipos de clientes</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_44" model="account.account.template"> <field name="code">44</field> @@ -4230,7 +4230,7 @@ <field name="parent_id" ref="pgc_pymes_4"/> <field name="type">view</field> <field name="name">Deudores varios</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_440" model="account.account.template"> <field name="code">440</field> @@ -4238,7 +4238,7 @@ <field name="parent_id" ref="pgc_pymes_44"/> <field name="type">view</field> <field name="name">Deudores</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4400" model="account.account.template"> <field name="code">4400</field> @@ -4246,7 +4246,7 @@ <field name="parent_id" ref="pgc_pymes_440"/> <field name="type">view</field> <field name="name">Deudores (euros)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4400_child" model="account.account.template"> <field name="code">4400</field> @@ -4254,7 +4254,7 @@ <field name="parent_id" ref="pgc_pymes_4400"/> <field name="type">receivable</field> <field name="name">Deudores (euros)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4404" model="account.account.template"> <field name="code">4404</field> @@ -4262,7 +4262,7 @@ <field name="parent_id" ref="pgc_pymes_440"/> <field name="type">view</field> <field name="name">Deudores (moneda extranjera)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4404_child" model="account.account.template"> <field name="code">4404</field> @@ -4270,7 +4270,7 @@ <field name="parent_id" ref="pgc_pymes_4404"/> <field name="type">receivable</field> <field name="name">Deudores (moneda extranjera)</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4409" model="account.account.template"> <field name="code">4409</field> @@ -4278,7 +4278,7 @@ <field name="parent_id" ref="pgc_pymes_440"/> <field name="type">view</field> <field name="name">Deudores, facturas pendientes de formalizar</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4409_child" model="account.account.template"> <field name="code">4409</field> @@ -4286,7 +4286,7 @@ <field name="parent_id" ref="pgc_pymes_4409"/> <field name="type">receivable</field> <field name="name">Deudores, facturas pendientes de formalizar</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_441" model="account.account.template"> <field name="code">441</field> @@ -4294,7 +4294,7 @@ <field name="parent_id" ref="pgc_pymes_44"/> <field name="type">view</field> <field name="name">Deudores, efectos comerciales a cobrar</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4410" model="account.account.template"> <field name="code">4410</field> @@ -4302,7 +4302,7 @@ <field name="parent_id" ref="pgc_pymes_441"/> <field name="type">view</field> <field name="name">Deudores, efectos comerciales en cartera</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4410_child" model="account.account.template"> <field name="code">4410</field> @@ -4310,7 +4310,7 @@ <field name="parent_id" ref="pgc_pymes_4410"/> <field name="type">receivable</field> <field name="name">Deudores, efectos comerciales en cartera</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4411" model="account.account.template"> <field name="code">4411</field> @@ -4318,7 +4318,7 @@ <field name="parent_id" ref="pgc_pymes_441"/> <field name="type">view</field> <field name="name">Deudores, efectos comerciales descontados</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4411_child" model="account.account.template"> <field name="code">4411</field> @@ -4326,7 +4326,7 @@ <field name="parent_id" ref="pgc_pymes_4411"/> <field name="type">receivable</field> <field name="name">Deudores, efectos comerciales descontados</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4412" model="account.account.template"> <field name="code">4412</field> @@ -4334,7 +4334,7 @@ <field name="parent_id" ref="pgc_pymes_441"/> <field name="type">view</field> <field name="name">Deudores, efectos comerciales en gestión de cobro</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4412_child" model="account.account.template"> <field name="code">4412</field> @@ -4342,7 +4342,7 @@ <field name="parent_id" ref="pgc_pymes_4412"/> <field name="type">receivable</field> <field name="name">Deudores, efectos comerciales en gestión de cobro</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4415" model="account.account.template"> <field name="code">4415</field> @@ -4350,7 +4350,7 @@ <field name="parent_id" ref="pgc_pymes_441"/> <field name="type">view</field> <field name="name">Deudores, efectos comerciales impagados</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_4415_child" model="account.account.template"> <field name="code">4415</field> @@ -4358,7 +4358,7 @@ <field name="parent_id" ref="pgc_pymes_4415"/> <field name="type">receivable</field> <field name="name">Deudores, efectos comerciales impagados</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_446" model="account.account.template"> <field name="code">446</field> @@ -4366,7 +4366,7 @@ <field name="parent_id" ref="pgc_pymes_44"/> <field name="type">view</field> <field name="name">Deudores de dudoso cobro</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_446_child" model="account.account.template"> <field name="code">446</field> @@ -4374,7 +4374,7 @@ <field name="parent_id" ref="pgc_pymes_446"/> <field name="type">other</field> <field name="name">Deudores de dudoso cobro</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_449" model="account.account.template"> <field name="code">449</field> @@ -4382,7 +4382,7 @@ <field name="parent_id" ref="pgc_pymes_44"/> <field name="type">view</field> <field name="name">Deudores por operaciones en común</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_449_child" model="account.account.template"> <field name="code">449</field> @@ -4390,7 +4390,7 @@ <field name="parent_id" ref="pgc_pymes_449"/> <field name="type">other</field> <field name="name">Deudores por operaciones en común</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_46" model="account.account.template"> <field name="code">46</field> @@ -4406,7 +4406,7 @@ <field name="parent_id" ref="pgc_pymes_46"/> <field name="type">view</field> <field name="name">Anticipos de remuneraciones</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_460_child" model="account.account.template"> <field name="code">460</field> @@ -4414,7 +4414,7 @@ <field name="parent_id" ref="pgc_pymes_460"/> <field name="type">other</field> <field name="name">Anticipos de remuneraciones</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_465" model="account.account.template"> <field name="code">465</field> @@ -4422,7 +4422,7 @@ <field name="parent_id" ref="pgc_pymes_46"/> <field name="type">view</field> <field name="name">Remuneraciones pendientes de pago</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_465_child" model="account.account.template"> <field name="code">465</field> @@ -4430,7 +4430,7 @@ <field name="parent_id" ref="pgc_pymes_465"/> <field name="type">other</field> <field name="name">Remuneraciones pendientes de pago</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_47" model="account.account.template"> <field name="code">47</field> @@ -4710,7 +4710,7 @@ <field name="parent_id" ref="pgc_pymes_48"/> <field name="type">view</field> <field name="name">Gastos anticipados</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_480_child" model="account.account.template"> <field name="code">480</field> @@ -4718,7 +4718,7 @@ <field name="parent_id" ref="pgc_pymes_480"/> <field name="type">other</field> <field name="name">Gastos anticipados</field> - <field name="user_type" ref="terceros - rec"/> + <field name="user_type" ref="terceros_-_rec"/> </record> <record id="pgc_pymes_485" model="account.account.template"> <field name="code">485</field> @@ -4726,7 +4726,7 @@ <field name="parent_id" ref="pgc_pymes_48"/> <field name="type">view</field> <field name="name">Ingresos anticipados</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_485_child" model="account.account.template"> <field name="code">485</field> @@ -4734,7 +4734,7 @@ <field name="parent_id" ref="pgc_pymes_485"/> <field name="type">other</field> <field name="name">Ingresos anticipados</field> - <field name="user_type" ref="terceros - pay"/> + <field name="user_type" ref="terceros_-_pay"/> </record> <record id="pgc_pymes_49" model="account.account.template"> <field name="code">49</field> diff --git a/addons/l10n_it/libroIVA.py b/addons/l10n_it/libroIVA.py index 1805cd108bf..a78c81ffdb3 100755 --- a/addons/l10n_it/libroIVA.py +++ b/addons/l10n_it/libroIVA.py @@ -40,14 +40,14 @@ class l10n_chart_it_report_libroIVA (osv.osv): _columns = { 'name': fields.char('Fiscal year',size=64), - 'company_id': fields.many2one('res.company', 'Company'), + 'company_id': fields.many2one('res.company', 'Company'), } def init (self, cr) : cr.execute("""DROP VIEW IF EXISTS account_report_libroiva""") - cr.execute(""" - CREATE VIEW account_report_libroiva AS ( - SELECT id, name, company_id FROM account_fiscalyear + cr.execute(""" + CREATE VIEW account_report_libroiva AS ( + SELECT id, name, company_id FROM account_fiscalyear )""") l10n_chart_it_report_libroIVA() diff --git a/addons/marketing_campaign/marketing_campaign.py b/addons/marketing_campaign/marketing_campaign.py index 91af27db4ad..2ca21a3031c 100644 --- a/addons/marketing_campaign/marketing_campaign.py +++ b/addons/marketing_campaign/marketing_campaign.py @@ -28,6 +28,7 @@ from traceback import format_exception from sys import exc_info from tools.safe_eval import safe_eval as eval import re +from decimal_precision import decimal_precision as dp from osv import fields, osv import netsvc @@ -108,7 +109,7 @@ Normal - the campaign runs normally and automatically sends all emails and repor 'State',), 'activity_ids': fields.one2many('marketing.campaign.activity', 'campaign_id', 'Activities'), - 'fixed_cost': fields.float('Fixed Cost', help="Fixed cost for running this campaign. You may also specify variable cost and revenue on each campaign activity. Cost and Revenue statistics are included in Campaign Reporting."), + 'fixed_cost': fields.float('Fixed Cost', help="Fixed cost for running this campaign. You may also specify variable cost and revenue on each campaign activity. Cost and Revenue statistics are included in Campaign Reporting.", digits_compute=dp.get_precision('Purchase Price')), } _defaults = { @@ -397,8 +398,8 @@ class marketing_campaign_activity(osv.osv): 'from_ids': fields.one2many('marketing.campaign.transition', 'activity_to_id', 'Previous Activities'), - 'variable_cost': fields.float('Variable Cost', help="Set a variable cost if you consider that every campaign item that has reached this point has entailed a certain cost. You can get cost statistics in the Reporting section"), - 'revenue': fields.float('Revenue', help="Set an expected revenue if you consider that every campaign item that has reached this point has generated a certain revenue. You can get revenue statistics in the Reporting section"), + 'variable_cost': fields.float('Variable Cost', help="Set a variable cost if you consider that every campaign item that has reached this point has entailed a certain cost. You can get cost statistics in the Reporting section", digits_compute=dp.get_precision('Purchase Price')), + 'revenue': fields.float('Revenue', help="Set an expected revenue if you consider that every campaign item that has reached this point has generated a certain revenue. You can get revenue statistics in the Reporting section", digits_compute=dp.get_precision('Sale Price')), 'signal': fields.char('Signal', size=128, help='An activity with a signal can be called programmatically. Be careful, the workitem is always created when a signal is sent'), 'keep_if_condition_not_met': fields.boolean("Don't delete workitems", diff --git a/addons/marketing_campaign/marketing_campaign_view.xml b/addons/marketing_campaign/marketing_campaign_view.xml index e65579c1df3..89b459b8896 100644 --- a/addons/marketing_campaign/marketing_campaign_view.xml +++ b/addons/marketing_campaign/marketing_campaign_view.xml @@ -143,7 +143,7 @@ </group> <group colspan="2" col="2"> <separator string="Filter" colspan="4"/> - <field name="ir_filter_id" domain="[('model_id', '=', object_id)]"/> + <field name="ir_filter_id"/> </group> <newline/> <group colspan="2" col="4"> diff --git a/addons/marketing_campaign/report/campaign_analysis.py b/addons/marketing_campaign/report/campaign_analysis.py index a4dbb1c4769..ceab0eab519 100644 --- a/addons/marketing_campaign/report/campaign_analysis.py +++ b/addons/marketing_campaign/report/campaign_analysis.py @@ -20,6 +20,8 @@ ############################################################################## import tools from osv import fields, osv +from decimal_precision import decimal_precision as dp + class campaign_analysis(osv.osv): _name = "campaign.analysis" @@ -61,8 +63,8 @@ class campaign_analysis(osv.osv): 'country_id': fields.related('partner_id','address', 'country_id', type='many2one', relation='res.country',string='Country'), 'total_cost' : fields.function(_total_cost, string='Cost', method=True, - type="float" ), - 'revenue': fields.float('Revenue',digits=(16,2),readonly=True), + type="float", digits_compute=dp.get_precision('Purchase Price')), + 'revenue': fields.float('Revenue', readonly=True, digits_compute=dp.get_precision('Sale Price')), 'count' : fields.integer('# of Actions', readonly=True), 'state': fields.selection([('todo', 'To Do'), ('exception', 'Exception'), ('done', 'Done'), diff --git a/addons/mrp/__openerp__.py b/addons/mrp/__openerp__.py index f267764970a..b7a6466bbaf 100644 --- a/addons/mrp/__openerp__.py +++ b/addons/mrp/__openerp__.py @@ -34,7 +34,7 @@ * Make to Stock / Make to Order (by line) * Multi-level BoMs, no limit * Multi-level routing, no limit - * Routing and workcenter integrated with analytic accounting + * Routing and work center integrated with analytic accounting * Scheduler computation periodically / Just In Time module * Multi-pos, multi-warehouse * Different reordering policies diff --git a/addons/mrp/i18n/ar.po b/addons/mrp/i18n/ar.po index fd992456fc1..9c728738c6e 100644 --- a/addons/mrp/i18n/ar.po +++ b/addons/mrp/i18n/ar.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -39,7 +44,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -500,7 +505,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -552,7 +557,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -645,7 +650,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "" #. module: mrp @@ -1064,7 +1069,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1705,8 +1710,8 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" #. module: mrp @@ -1789,9 +1794,9 @@ msgstr "" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1824,7 +1829,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2262,9 +2267,9 @@ msgstr "" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" diff --git a/addons/mrp/i18n/bg.po b/addons/mrp/i18n/bg.po index 0222fc5fa4a..553247c5007 100644 --- a/addons/mrp/i18n/bg.po +++ b/addons/mrp/i18n/bg.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "Бр. цикли" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -39,7 +44,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -552,7 +557,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -645,7 +650,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "" #. module: mrp @@ -1064,7 +1069,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1705,8 +1710,8 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" #. module: mrp @@ -1789,9 +1794,9 @@ msgstr "" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1824,7 +1829,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2262,9 +2267,9 @@ msgstr "" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" diff --git a/addons/mrp/i18n/bs.po b/addons/mrp/i18n/bs.po index cfecb19f6de..18e0aafdba0 100644 --- a/addons/mrp/i18n/bs.po +++ b/addons/mrp/i18n/bs.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -39,7 +44,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -500,7 +505,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -552,7 +557,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -645,7 +650,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "" #. module: mrp @@ -1064,7 +1069,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1705,8 +1710,8 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" #. module: mrp @@ -1789,9 +1794,9 @@ msgstr "" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1824,7 +1829,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2262,9 +2267,9 @@ msgstr "" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" diff --git a/addons/mrp/i18n/ca.po b/addons/mrp/i18n/ca.po index fa478c6ce57..4961f086fc9 100644 --- a/addons/mrp/i18n/ca.po +++ b/addons/mrp/i18n/ca.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "Núm. de cicles" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -39,7 +44,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -506,7 +511,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -558,7 +563,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -651,7 +656,7 @@ msgstr "Preparat" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "Temps en hores per realitzar un cicle." #. module: mrp @@ -1070,7 +1075,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1712,8 +1717,8 @@ msgstr "Consumició de productes produïts" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" "Descripció del centre de producció. Descriu aquí que és un cicle segons " "aquest centre de producció." @@ -1798,9 +1803,9 @@ msgstr "Ordre de producció" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1833,7 +1838,7 @@ msgstr "Estructura LdM" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2271,9 +2276,9 @@ msgstr "Descripció" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" @@ -3117,9 +3122,9 @@ msgstr "" #~ "produir." #~ msgid "" -#~ "The list of operations (list of workcenters) to produce the finished " -#~ "product. The routing is mainly used to compute workcenter costs during " -#~ "operations and to plan futur loads on workcenters based on production " +#~ "The list of operations (list of work centers) to produce the finished " +#~ "product. The routing is mainly used to compute work center costs during " +#~ "operations and to plan futur loads on work centers based on production " #~ "plannification." #~ msgstr "" #~ "La llista d'operacions (llista de centres de producció) per produir el " diff --git a/addons/mrp/i18n/cs.po b/addons/mrp/i18n/cs.po index 205d0ec6770..6b49fe7dc1e 100644 --- a/addons/mrp/i18n/cs.po +++ b/addons/mrp/i18n/cs.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -39,7 +44,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -500,7 +505,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -645,7 +650,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "" #. module: mrp @@ -1064,7 +1069,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1705,8 +1710,8 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" #. module: mrp @@ -1789,9 +1794,9 @@ msgstr "" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1824,7 +1829,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2262,9 +2267,9 @@ msgstr "" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" diff --git a/addons/mrp/i18n/de.po b/addons/mrp/i18n/de.po index 1472f18b6e4..50c8ff7e0b2 100644 --- a/addons/mrp/i18n/de.po +++ b/addons/mrp/i18n/de.po @@ -29,6 +29,11 @@ msgid "No. Of Cycles" msgstr "Anzahl Zyklen" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "Maximale Anzahl an Fertigungsvorgängen dieser Fertigungsstelle." + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "Maßgeblicher Lagerort für Verfügbarkeit von Waren." @@ -535,7 +540,7 @@ msgstr "Fehler: Falscher EAN code" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "Spezifiziere Stundensatz der Fertigungsstelle." #. module: mrp @@ -587,7 +592,7 @@ msgstr "März" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "Spezifiziere Kosten der Fertigungsstelle pro Zyklus" #. module: mrp @@ -680,7 +685,7 @@ msgstr "Fertig" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "Zeit in Stunden für einen Auftragszyklus" #. module: mrp @@ -1135,7 +1140,7 @@ msgstr "]" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "Reihenfolge bei Anzeige der Liste für Fertigungsstellen" #. module: mrp @@ -1853,8 +1858,8 @@ msgstr "Fertigprodukte Verbrauch" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" "Beschreibung der Fertigungsstelle. Beschreibe hier den Fertigungszyklus aus " "der Perspektive dieser Fertigungsstelle." @@ -1947,9 +1952,9 @@ msgstr "Fertigungsauftrag" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" "Liste der Fertigungsvorgänge (Liste Fertigungsstellen) für die Produktion " @@ -1986,7 +1991,7 @@ msgstr "Stückliste Struktur" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" "Anzahl Fertigungsvorgänge die bei einer Fertigungsstelle parallel bearbeitet " @@ -2461,9 +2466,9 @@ msgstr "Beschreibung" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" "Fertigungsvorgänge (Arbeitsauftragsliste) für die Herstellung des " @@ -3353,9 +3358,9 @@ msgstr "Jahr" #~ "geändert werden" #~ msgid "" -#~ "The list of operations (list of workcenters) to produce the finished " -#~ "product. The routing is mainly used to compute workcenter costs during " -#~ "operations and to plan futur loads on workcenters based on production " +#~ "The list of operations (list of work centers) to produce the finished " +#~ "product. The routing is mainly used to compute work center costs during " +#~ "operations and to plan futur loads on work centers based on production " #~ "plannification." #~ msgstr "" #~ "Arbeitsplätze, an denen Fertigprodukte produziert werden. Das \"Routing\" " diff --git a/addons/mrp/i18n/el.po b/addons/mrp/i18n/el.po index 8064e84d120..db9b66be367 100644 --- a/addons/mrp/i18n/el.po +++ b/addons/mrp/i18n/el.po @@ -31,6 +31,11 @@ msgid "No. Of Cycles" msgstr "Αρ. Κύκλων" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -42,7 +47,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -509,7 +514,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -561,7 +566,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -654,7 +659,7 @@ msgstr "Έτοιμο" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "Χρόνος ενός κύκλου σε ώρες" #. module: mrp @@ -1073,7 +1078,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1715,8 +1720,8 @@ msgstr "Ανάλωση Παραγομένων Προϊόντων" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" "Περιγραφή κέντρου εργασίας. Εξηγείστε εδώ τι αποτελεί κύκλο για το κέντρο " "αυτό." @@ -1801,9 +1806,9 @@ msgstr "Εντολή Παραγωγής" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1836,7 +1841,7 @@ msgstr "Δομή ΚΥ" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2274,9 +2279,9 @@ msgstr "Περιγραφή" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" @@ -3039,9 +3044,9 @@ msgstr "" #~ msgstr "plus" #~ msgid "" -#~ "The list of operations (list of workcenters) to produce the finished " -#~ "product. The routing is mainly used to compute workcenter costs during " -#~ "operations and to plan futur loads on workcenters based on production " +#~ "The list of operations (list of work centers) to produce the finished " +#~ "product. The routing is mainly used to compute work center costs during " +#~ "operations and to plan futur loads on work centers based on production " #~ "plannification." #~ msgstr "" #~ "Η λίστα των λειτουργιών (λίστα κέντρων εργασίας) ποαραγωγής του " diff --git a/addons/mrp/i18n/es.po b/addons/mrp/i18n/es.po index 4ae19062725..a5e45586b9c 100644 --- a/addons/mrp/i18n/es.po +++ b/addons/mrp/i18n/es.po @@ -28,6 +28,10 @@ msgid "No. Of Cycles" msgstr "Núm. de ciclos" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "Número de operaciones que este centro de producción puede realizar." + #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "Ubicación donde el sistema buscará los componentes." @@ -532,8 +536,8 @@ msgstr "Error: Código EAN no válido" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." -msgstr "Indica el coste del centro de producción por hora." +msgid "Specify Cost of Work center per hour." +msgstr "Indica coste del centro de trabajo por hora." #. module: mrp #: view:mrp.routing:0 @@ -584,8 +588,8 @@ msgstr "Marzo" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." -msgstr "Indica el coste del centro de producción por ciclo." +msgid "Specify Cost of Work center per cycle." +msgstr "Especifique el coste por centro de prodcción" #. module: mrp #: field:mrp.bom,child_complete_ids:0 @@ -678,7 +682,7 @@ msgstr "Preparado" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "Tiempo en horas para realizar un ciclo." #. module: mrp @@ -1132,7 +1136,7 @@ msgstr "]" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" "Indica el orden de secuencia cuando se muestra una lista de rutas de centros " "de producción." @@ -1848,8 +1852,8 @@ msgstr "Consumición de productos producidos" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" "Descripción del centro de producción. Describa aquí que es un ciclo según " "este centro de producción." @@ -1943,9 +1947,9 @@ msgstr "Orden de producción" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" "La lista de las operaciones (lista de los centros de producción) para " @@ -1983,7 +1987,7 @@ msgstr "Despiece de la LdM" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" "Número de operaciones que este centro de producción puede realizar en " @@ -2453,9 +2457,9 @@ msgstr "Descripción" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" "La lista de las operaciones (lista de los centros de producción) para " @@ -3351,9 +3355,9 @@ msgstr "Año" #~ msgstr "Nombre de modelo no válido en la definición de acción." #~ msgid "" -#~ "The list of operations (list of workcenters) to produce the finished " -#~ "product. The routing is mainly used to compute workcenter costs during " -#~ "operations and to plan futur loads on workcenters based on production " +#~ "The list of operations (list of work centers) to produce the finished " +#~ "product. The routing is mainly used to compute work center costs during " +#~ "operations and to plan futur loads on work centers based on production " #~ "plannification." #~ msgstr "" #~ "La lista de operaciones (lista de centros de producción) para producir el " diff --git a/addons/mrp/i18n/es_AR.po b/addons/mrp/i18n/es_AR.po index c9cdf92b4df..679884415f6 100644 --- a/addons/mrp/i18n/es_AR.po +++ b/addons/mrp/i18n/es_AR.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -39,7 +44,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -500,7 +505,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -552,7 +557,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -645,7 +650,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "" #. module: mrp @@ -1064,7 +1069,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1705,8 +1710,8 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" #. module: mrp @@ -1789,9 +1794,9 @@ msgstr "Orden de Producción" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1824,7 +1829,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2262,9 +2267,9 @@ msgstr "" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" diff --git a/addons/mrp/i18n/es_EC.po b/addons/mrp/i18n/es_EC.po index d01cfcec684..3a0a21dd1d2 100644 --- a/addons/mrp/i18n/es_EC.po +++ b/addons/mrp/i18n/es_EC.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "Núm. de ciclos" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -39,7 +44,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -506,7 +511,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -558,7 +563,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -651,7 +656,7 @@ msgstr "Preparado" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "Tiempo en horas para realizar un ciclo." #. module: mrp @@ -1070,7 +1075,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1712,8 +1717,8 @@ msgstr "Consumición de productos producidos" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" "Descripción del centro de producción. Describa aquí que es un ciclo según " "este centro de producción." @@ -1798,9 +1803,9 @@ msgstr "Orden de producción" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1833,7 +1838,7 @@ msgstr "Despiece de la LdM" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2271,9 +2276,9 @@ msgstr "Descripción" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" diff --git a/addons/mrp/i18n/et.po b/addons/mrp/i18n/et.po index e5a6e8da9fa..dc6001bb3d1 100644 --- a/addons/mrp/i18n/et.po +++ b/addons/mrp/i18n/et.po @@ -6,14 +6,14 @@ msgid "" msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2010-12-21 19:44+0000\n" +"POT-Creation-Date: 2010-12-15 15:05+0000\n" "PO-Revision-Date: 2010-10-30 09:28+0000\n" "Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-12-24 05:03+0000\n" +"X-Launchpad-Export-Date: 2010-12-17 05:00+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: mrp @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "Tsükklite No." #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -39,7 +44,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -100,11 +105,6 @@ msgid "Routings" msgstr "Tarnimised" #. module: mrp -#: field:mrp.workcenter,product_id:0 -msgid "Work Center Product" -msgstr "" - -#. module: mrp #: view:mrp.bom:0 msgid "Search Bill Of Material" msgstr "" @@ -120,13 +120,6 @@ msgid "To Produce" msgstr "" #. module: mrp -#: help:mrp.routing.workcenter,cycle_nbr:0 -msgid "" -"Number of iterations this work center has to do in the specified operation " -"of the routing." -msgstr "" - -#. module: mrp #: view:mrp.bom:0 #: field:mrp.bom,code:0 #: view:mrp.production:0 @@ -224,13 +217,6 @@ msgid "" msgstr "" #. module: mrp -#: help:mrp.workcenter,product_id:0 -msgid "" -"Fill this product to track easily your production costs in the analytic " -"accounting." -msgstr "" - -#. module: mrp #: model:process.node,note:mrp.process_node_purchaseprocure0 msgid "For purchased material" msgstr "" @@ -500,7 +486,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -551,8 +537,13 @@ msgid "March" msgstr "" #. module: mrp +#: model:ir.model,name:mrp.model_mrp_workcenter_load +msgid "Workcenter Load" +msgstr "Töökeskkonna Koormus" + +#. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -568,6 +559,13 @@ msgid "Produce" msgstr "" #. module: mrp +#: help:mrp.product_price,number:0 +msgid "" +"Specify quantity of products to produce or buy. Report of Cost structure " +"will be displayed base on this qunatity." +msgstr "" + +#. module: mrp #: selection:mrp.production,state:0 #: view:mrp.production.order:0 #: selection:mrp.production.order,state:0 @@ -611,7 +609,6 @@ msgstr "" #. module: mrp #: model:ir.actions.act_window,name:mrp.action_mrp_workcenter_load_wizard -#: model:ir.model,name:mrp.model_mrp_workcenter_load #: model:ir.model,name:mrp.model_report_workcenter_load msgid "Work Center Load" msgstr "" @@ -639,13 +636,14 @@ msgid "Planning" msgstr "" #. module: mrp -#: view:mrp.production:0 -msgid "Ready" -msgstr "Valmis" +#: view:mrp.workcenter:0 +msgid "Costing Information" +msgstr "" #. module: mrp +#: help:mrp.routing.workcenter,hour_nbr:0 #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "Aeg tundides mis kulub ühes tsükklis." #. module: mrp @@ -810,13 +808,6 @@ msgid "Procurement of raw material" msgstr "" #. module: mrp -#: help:mrp.routing.workcenter,hour_nbr:0 -msgid "" -"Time in hours for this work center to achieve the operation of the specified " -"routing." -msgstr "" - -#. module: mrp #: view:mrp.production:0 #: field:mrp.production,cycle_total:0 msgid "Total Cycles" @@ -1064,7 +1055,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1073,45 +1064,6 @@ msgid "Order quantity cannot be negative or zero !" msgstr "" #. module: mrp -#: model:ir.module.module,description:mrp.module_meta_information -msgid "" -"\n" -" This is the base module to manage the manufacturing process in OpenERP.\n" -"\n" -" Features:\n" -" * Make to Stock / Make to Order (by line)\n" -" * Multi-level BoMs, no limit\n" -" * Multi-level routing, no limit\n" -" * Routing and workcenter integrated with analytic accounting\n" -" * Scheduler computation periodically / Just In Time module\n" -" * Multi-pos, multi-warehouse\n" -" * Different reordering policies\n" -" * Cost method by product: standard price, average price\n" -" * Easy analysis of troubles or needs\n" -" * Very flexible\n" -" * Allows to browse Bill of Materials in complete structure\n" -" that include child and phantom BoMs\n" -" It supports complete integration and planification of stockable goods,\n" -" consumable of services. Services are completely integrated with the " -"rest\n" -" of the software. For instance, you can set up a sub-contracting service\n" -" in a BoM to automatically purchase on order the assembly of your " -"production.\n" -"\n" -" Reports provided by this module:\n" -" * Bill of Material structure and components\n" -" * Load forecast on workcenters\n" -" * Print a production order\n" -" * Stock forecasts\n" -" Dashboard provided by this module::\n" -" * List of next production orders\n" -" * List of deliveries (out picking)\n" -" * Graph of work center load\n" -" * List of procurement in exception\n" -" " -msgstr "" - -#. module: mrp #: model:ir.actions.act_window,name:mrp.mrp_production_action3 msgid "Manufacturing Orders in Progress" msgstr "" @@ -1628,12 +1580,6 @@ msgid "Production Analysis" msgstr "" #. module: mrp -#: code:addons/mrp/mrp.py:0 -#, python-format -msgid "Copy" -msgstr "" - -#. module: mrp #: view:mrp.production.lot.line:0 msgid "Production Products" msgstr "toodete tootmine" @@ -1705,8 +1651,8 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" "Töökeskonna kirjeldus. selgita siin mis tsükklid kuuluvad sellele " "töökeskonnale." @@ -1791,9 +1737,9 @@ msgstr "Tootmiskorraldus" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1826,7 +1772,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -1973,11 +1919,6 @@ msgid "Number of Hours" msgstr "" #. module: mrp -#: view:mrp.workcenter:0 -msgid "Costing Information" -msgstr "" - -#. module: mrp #: model:process.node,name:mrp.process_node_purchaseprocure0 msgid "Procurement Orders" msgstr "" @@ -2054,6 +1995,7 @@ msgid "BoM Revisions" msgstr "" #. module: mrp +#: view:mrp.production:0 #: selection:mrp.production,state:0 #: selection:mrp.production.order,state:0 msgid "Draft" @@ -2264,9 +2206,9 @@ msgstr "" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" @@ -2352,13 +2294,6 @@ msgid "" msgstr "" #. module: mrp -#: help:mrp.product_price,number:0 -msgid "" -"Specify quantity of products to produce or buy. Report of Cost structure " -"will be displayed base on this quantity." -msgstr "" - -#. module: mrp #: selection:mrp.bom,method:0 msgid "On Stock" msgstr "" @@ -2413,14 +2348,6 @@ msgstr "" #~ msgid "Origin" #~ msgstr "Allikas" -#, python-format -#~ msgid "No supplier defined for this product !" -#~ msgstr "Sellele tootele pole defineeritud tarnijat !" - -#, python-format -#~ msgid "Product name" -#~ msgstr "Toote nimi" - #~ msgid "Invalid XML for View Architecture!" #~ msgstr "Vigane XML vaate arhitektuurile!" @@ -2442,10 +2369,6 @@ msgstr "" #~ msgid "Do nothing" #~ msgstr "Ära tee midagi" -#, python-format -#~ msgid "products" -#~ msgstr "tooted" - #~ msgid "Internal Ref." #~ msgstr "Sisemine viide" @@ -2455,27 +2378,15 @@ msgstr "" #~ msgid "Stockable Production Order" #~ msgstr "Tootmiskorraldus lattu" -#, python-format -#~ msgid "Workcenter name" -#~ msgstr "Töökeskkonna nimi" - #~ msgid "Production Orders" #~ msgstr "Tootmiskorraldused" -#, python-format -#~ msgid "Product Quantity" -#~ msgstr "Tootekogus" - #~ msgid "Procurements" #~ msgstr "Hanked" #~ msgid "Details" #~ msgstr "Üksikasjad" -#, python-format -#~ msgid "Product Standard Price" -#~ msgstr "Toote standardhind" - #~ msgid "product" #~ msgstr "toode" @@ -2491,6 +2402,9 @@ msgstr "" #~ msgid "Latest error" #~ msgstr "Viimane viga" +#~ msgid "Ready" +#~ msgstr "Valmis" + #~ msgid "Production Orders Planning" #~ msgstr "Tootmiskorralduste Planeerimine" @@ -2509,10 +2423,6 @@ msgstr "" #~ msgid "If Product type is service" #~ msgstr "kui Toote tüüp on teenus" -#, python-format -#~ msgid "SUBTOTAL" -#~ msgstr "VAHESUMMA" - #~ msgid "Security Days" #~ msgstr "Turvalised Päevad" @@ -2537,13 +2447,6 @@ msgstr "" #~ msgid "on order" #~ msgstr "tellimisel" -#~ msgid "Create Procurement" -#~ msgstr "Loo hange" - -#, python-format -#~ msgid "Product uom" -#~ msgstr "Toote mõõtühik" - #~ msgid "Number of Cycle" #~ msgstr "Tsükkli number" @@ -2674,9 +2577,6 @@ msgstr "" #~ msgid "Workcenters load" #~ msgstr "Töökeskkonna koormus" -#~ msgid "Workcenter Load" -#~ msgstr "Töökeskkonna Koormus" - #~ msgid "MRP Management - Reporting" #~ msgstr "TVP haldus - Aruandlus" diff --git a/addons/mrp/i18n/fi.po b/addons/mrp/i18n/fi.po index 37774f19cf7..1ff6b7b8452 100644 --- a/addons/mrp/i18n/fi.po +++ b/addons/mrp/i18n/fi.po @@ -29,6 +29,11 @@ msgid "No. Of Cycles" msgstr "Kiertojen määrä" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -40,7 +45,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -506,7 +511,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -558,7 +563,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -651,7 +656,7 @@ msgstr "Valmis" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "Yhden kierron kesto tunneissa." #. module: mrp @@ -1070,7 +1075,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1713,8 +1718,8 @@ msgstr "Tuotannon tuotteiden kulutus" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" "Työpisteen kuvaus. Selitä tässä mitä kierros tarkoittaa tässä työpisteessä." @@ -1798,9 +1803,9 @@ msgstr "Tuotantotilaus" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1833,7 +1838,7 @@ msgstr "Osaluettelon rakenne" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2271,9 +2276,9 @@ msgstr "Kuvaus" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" @@ -2991,9 +2996,9 @@ msgstr "" #~ msgstr "Varastoitava tuote prosessi" #~ msgid "" -#~ "The list of operations (list of workcenters) to produce the finished " -#~ "product. The routing is mainly used to compute workcenter costs during " -#~ "operations and to plan futur loads on workcenters based on production " +#~ "The list of operations (list of work centers) to produce the finished " +#~ "product. The routing is mainly used to compute work center costs during " +#~ "operations and to plan futur loads on work centers based on production " #~ "plannification." #~ msgstr "" #~ "Lista toiminnoista (työpisteistä) jotka tuotteen valmistaminen vaatii. " diff --git a/addons/mrp/i18n/fr.po b/addons/mrp/i18n/fr.po index a6997ded81c..21c1e20d700 100644 --- a/addons/mrp/i18n/fr.po +++ b/addons/mrp/i18n/fr.po @@ -45,6 +45,11 @@ msgid "No. Of Cycles" msgstr "Nombre de Cycles" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "Nombre d'opérations simultanées du poste de charge" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "Emplacement des composants" @@ -540,7 +545,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "Précisez le coût horaire du centre de charge" #. module: mrp @@ -592,7 +597,7 @@ msgstr "Mars" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "Précisez le coût par cycle du poste de charge" #. module: mrp @@ -685,7 +690,7 @@ msgstr "Prêt" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "Temps nécessaire à la réalisation d'un cycle" #. module: mrp @@ -1772,8 +1777,8 @@ msgstr "Consommation en production de produit" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" "Description du centre de travail. Expliquez ici ce qu'est le cycle d'après " "le centre de travail." @@ -1862,9 +1867,9 @@ msgstr "Ordre de Production" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" "La liste des opérations (liste des postes de charge) pour fabriquer le " @@ -1901,7 +1906,7 @@ msgstr "Structure de la Nomenclature" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" "Nombre d'opérations que ce poste de charge peut réaliser en parallèle. Si ce " @@ -2352,9 +2357,9 @@ msgstr "Description" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" "La liste des opérations (liste des postes de charge) pour fabriquer le " @@ -3159,9 +3164,9 @@ msgstr "" #~ msgstr "Ordres de production en cours" #~ msgid "" -#~ "The list of operations (list of workcenters) to produce the finished " -#~ "product. The routing is mainly used to compute workcenter costs during " -#~ "operations and to plan futur loads on workcenters based on production " +#~ "The list of operations (list of work centers) to produce the finished " +#~ "product. The routing is mainly used to compute work center costs during " +#~ "operations and to plan futur loads on work centers based on production " #~ "plannification." #~ msgstr "" #~ "La liste des opérations pour fabriquer le produit fini. La gammeest " diff --git a/addons/mrp/i18n/hi.po b/addons/mrp/i18n/hi.po index b8eba16b420..f7856ec0047 100644 --- a/addons/mrp/i18n/hi.po +++ b/addons/mrp/i18n/hi.po @@ -29,6 +29,11 @@ msgid "No. Of Cycles" msgstr "" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -40,7 +45,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -501,7 +506,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -553,7 +558,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -646,7 +651,7 @@ msgstr "तैयार" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "" #. module: mrp @@ -1065,7 +1070,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1706,8 +1711,8 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" #. module: mrp @@ -1790,9 +1795,9 @@ msgstr "" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1825,7 +1830,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2263,9 +2268,9 @@ msgstr "" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" diff --git a/addons/mrp/i18n/hr.po b/addons/mrp/i18n/hr.po index af544d5fb2f..7893f000c79 100644 --- a/addons/mrp/i18n/hr.po +++ b/addons/mrp/i18n/hr.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -39,7 +44,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -500,7 +505,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -552,7 +557,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -645,7 +650,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "" #. module: mrp @@ -1064,7 +1069,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1705,8 +1710,8 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" #. module: mrp @@ -1789,9 +1794,9 @@ msgstr "" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1824,7 +1829,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2262,9 +2267,9 @@ msgstr "" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" diff --git a/addons/mrp/i18n/hu.po b/addons/mrp/i18n/hu.po index 137f199dc2e..f8d642055b7 100644 --- a/addons/mrp/i18n/hu.po +++ b/addons/mrp/i18n/hu.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -39,7 +44,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -500,7 +505,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -552,7 +557,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -645,7 +650,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "" #. module: mrp @@ -1064,7 +1069,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1705,8 +1710,8 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" #. module: mrp @@ -1789,9 +1794,9 @@ msgstr "" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1824,7 +1829,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2262,9 +2267,9 @@ msgstr "" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" diff --git a/addons/mrp/i18n/id.po b/addons/mrp/i18n/id.po index 686a95f7f1b..548406b5ca2 100644 --- a/addons/mrp/i18n/id.po +++ b/addons/mrp/i18n/id.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -39,7 +44,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -500,7 +505,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -552,7 +557,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -645,7 +650,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "" #. module: mrp @@ -1064,7 +1069,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1705,8 +1710,8 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" #. module: mrp @@ -1789,9 +1794,9 @@ msgstr "" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1824,7 +1829,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2262,9 +2267,9 @@ msgstr "" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" diff --git a/addons/mrp/i18n/it.po b/addons/mrp/i18n/it.po index 2386e0ca010..3210fa1e43d 100644 --- a/addons/mrp/i18n/it.po +++ b/addons/mrp/i18n/it.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "N. Cicli di Lavoro" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "Numero di operazioni che questo centro di lavoro può fare." + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "Punto di stoccaggio dove il sistema cercherà i componenti" @@ -516,7 +521,7 @@ msgstr "Errore: codice EAN non valido" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "Specificare il costo orario per il centro di lavoro." #. module: mrp @@ -568,7 +573,7 @@ msgstr "Marzo" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "Specificare il costo per ciclo per il centro di lavoro." #. module: mrp @@ -661,7 +666,7 @@ msgstr "Pronto" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "Tempo in ore per completare un ciclo." #. module: mrp @@ -1083,7 +1088,7 @@ msgstr "]" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1726,8 +1731,8 @@ msgstr "Utilizzo Prodotti in Produzione" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" #. module: mrp @@ -1810,9 +1815,9 @@ msgstr "Ordine di Produzione" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1845,7 +1850,7 @@ msgstr "Struttura Distinta Base" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" "Numero di operazioni che questo centro di lavoro può fare in parallelo. Se " @@ -2292,9 +2297,9 @@ msgstr "Descrizione" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" @@ -2662,9 +2667,9 @@ msgstr "Anno" #~ msgstr "Ciclo di lavoro del materiale" #~ msgid "" -#~ "The list of operations (list of workcenters) to produce the finished " -#~ "product. The routing is mainly used to compute workcenter costs during " -#~ "operations and to plan futur loads on workcenters based on production " +#~ "The list of operations (list of work centers) to produce the finished " +#~ "product. The routing is mainly used to compute work center costs during " +#~ "operations and to plan futur loads on work centers based on production " #~ "plannification." #~ msgstr "" #~ "La lista delle lavorazioni (lista dei centri di lavoro) per ottenere il " diff --git a/addons/mrp/i18n/ko.po b/addons/mrp/i18n/ko.po index c3e286954ea..b789ccde189 100644 --- a/addons/mrp/i18n/ko.po +++ b/addons/mrp/i18n/ko.po @@ -29,6 +29,11 @@ msgid "No. Of Cycles" msgstr "싸이클 횟수" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -40,7 +45,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -503,7 +508,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -555,7 +560,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -648,7 +653,7 @@ msgstr "준비" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "한 사이클을 수행하는 시간" #. module: mrp @@ -1067,7 +1072,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1708,8 +1713,8 @@ msgstr "생산 상품 소비" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "워크센터 설명. 이 워크센터에 기초하여 사이클을 설명하십시오." #. module: mrp @@ -1792,9 +1797,9 @@ msgstr "생산 주문" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1827,7 +1832,7 @@ msgstr "BOM 구조" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2265,9 +2270,9 @@ msgstr "설명" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" @@ -2872,9 +2877,9 @@ msgstr "" #~ msgstr "견적 요청이 생성되어 공급자에게 전송됩니다." #~ msgid "" -#~ "The list of operations (list of workcenters) to produce the finished " -#~ "product. The routing is mainly used to compute workcenter costs during " -#~ "operations and to plan futur loads on workcenters based on production " +#~ "The list of operations (list of work centers) to produce the finished " +#~ "product. The routing is mainly used to compute work center costs during " +#~ "operations and to plan futur loads on work centers based on production " #~ "plannification." #~ msgstr "" #~ "완제품 생산을 위한 오퍼레이션 리스트 (워크센터 리스트). 이 라우팅은 주로 오퍼레이션 중의 워크센터 원가 계산과 생산 계획에 기초한 " diff --git a/addons/mrp/i18n/lt.po b/addons/mrp/i18n/lt.po index d79f5abb856..63e69a2e684 100644 --- a/addons/mrp/i18n/lt.po +++ b/addons/mrp/i18n/lt.po @@ -29,6 +29,11 @@ msgid "No. Of Cycles" msgstr "Ciklų skaičius" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -40,7 +45,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -506,7 +511,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -558,7 +563,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -651,7 +656,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "Vieno ciklo laikas valandomis." #. module: mrp @@ -1070,7 +1075,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1712,8 +1717,8 @@ msgstr "Gamybos produktų vartojimas" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "Darbo centro parašymas. Nurodomas koks yra šio darbo centro ciklas." #. module: mrp @@ -1796,9 +1801,9 @@ msgstr "Gamybos užsakymas" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1831,7 +1836,7 @@ msgstr "KS struktūra" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2269,9 +2274,9 @@ msgstr "Aprašymas" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" @@ -2955,9 +2960,9 @@ msgstr "" #~ msgstr "plius" #~ msgid "" -#~ "The list of operations (list of workcenters) to produce the finished " -#~ "product. The routing is mainly used to compute workcenter costs during " -#~ "operations and to plan futur loads on workcenters based on production " +#~ "The list of operations (list of work centers) to produce the finished " +#~ "product. The routing is mainly used to compute work center costs during " +#~ "operations and to plan futur loads on work centers based on production " #~ "plannification." #~ msgstr "" #~ "Tai yra darbų sąrašas (sąrašas darbo centrų) pagaminti pabaigtus produktus. " diff --git a/addons/mrp/i18n/mrp.pot b/addons/mrp/i18n/mrp.pot index fd09e5a8e1f..24f420781ef 100644 --- a/addons/mrp/i18n/mrp.pot +++ b/addons/mrp/i18n/mrp.pot @@ -27,6 +27,11 @@ msgid "No. Of Cycles" msgstr "" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -442,6 +447,12 @@ msgid "Complete this only if you want automatic analytic accounting entries on p msgstr "" #. module: mrp +#: help:mrp.workcenter,product_id:0 +#: help:mrp.workcenter,product_id:0 +msgid "Fill this product to track easily your production costs in the analytic accounting." +msgstr "" + +#. module: mrp #: field:mrp.production.workcenter.line,cycle:0 msgid "Nbr of cycles" msgstr "" @@ -470,7 +481,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -521,8 +532,13 @@ msgid "March" msgstr "" #. module: mrp +#: model:ir.model,name:mrp.model_mrp_workcenter_load +msgid "Work Center Load" +msgstr "" + +#. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -613,7 +629,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "" #. module: mrp @@ -1003,7 +1019,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 -msgid "Gives the sequence order when displaying a list of routing workcenters." +msgid "Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1613,7 +1629,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,note:0 -msgid "Description of the workcenter. Explain here what's a cycle according to this workcenter." +msgid "Description of the work center. Explain here what's a cycle according to this work center." msgstr "" #. module: mrp @@ -1687,7 +1703,7 @@ msgstr "" #. module: mrp #: help:mrp.production,routing_id:0 -msgid "The list of operations (list of workcenters) to produce the finished product. The routing is mainly used to compute workcenter costs during operations and to plan future loads on workcenters based on production plannification." +msgid "The list of operations (list of work centers) to produce the finished product. The routing is mainly used to compute work center costs during operations and to plan future loads on work centers based on production plannification." msgstr "" #. module: mrp @@ -1718,7 +1734,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 -msgid "Number of operations this workcenter can do in parallel. If this workcenter represents a team of 5 workers, the capacity per cycle is 5." +msgid "Number of operations this work center can do in parallel. If this work center represents a team of 5 workers, the capacity per cycle is 5." msgstr "" #. module: mrp @@ -2131,7 +2147,7 @@ msgstr "" #. module: mrp #: help:mrp.bom,routing_id:0 -msgid "The list of operations (list of workcenters) to produce the finished product. The routing is mainly used to compute workcenter costs during operations and to plan future loads on workcenters based on production planning." +msgid "The list of operations (list of work centers) to produce the finished product. The routing is mainly used to compute work center costs during operations and to plan future loads on work centers based on production planning." msgstr "" #. module: mrp diff --git a/addons/mrp/i18n/nl.po b/addons/mrp/i18n/nl.po index a55a23a4244..3824d520de2 100644 --- a/addons/mrp/i18n/nl.po +++ b/addons/mrp/i18n/nl.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "Aantal cycli" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -39,7 +44,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -505,7 +510,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -557,7 +562,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -650,7 +655,7 @@ msgstr "Gereed" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "Tijd in uren voor één productiecyclus." #. module: mrp @@ -1069,7 +1074,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1712,8 +1717,8 @@ msgstr "Productie verbruiksartikelen" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" "Omschrijving van de werkplaats. Leg uit wat een cyclus is vanuit het " "gezichtspunt van deze werkplaats." @@ -1798,9 +1803,9 @@ msgstr "Productieorder" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1833,7 +1838,7 @@ msgstr "Materiaallijststructuur" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2271,9 +2276,9 @@ msgstr "Beschrijving" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" @@ -2642,9 +2647,9 @@ msgstr "" #~ msgstr "Wacht op beschikbare producten ter reservering" #~ msgid "" -#~ "The list of operations (list of workcenters) to produce the finished " -#~ "product. The routing is mainly used to compute workcenter costs during " -#~ "operations and to plan futur loads on workcenters based on production " +#~ "The list of operations (list of work centers) to produce the finished " +#~ "product. The routing is mainly used to compute work center costs during " +#~ "operations and to plan futur loads on work centers based on production " #~ "plannification." #~ msgstr "" #~ "De lijst van handelingen (lijst van werkplaatsen) voor het produceren van " diff --git a/addons/mrp/i18n/nl_BE.po b/addons/mrp/i18n/nl_BE.po index d1719be2c3e..49dff3e758c 100644 --- a/addons/mrp/i18n/nl_BE.po +++ b/addons/mrp/i18n/nl_BE.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -39,7 +44,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -500,7 +505,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -552,7 +557,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -645,7 +650,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "" #. module: mrp @@ -1064,7 +1069,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1705,8 +1710,8 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" #. module: mrp @@ -1789,9 +1794,9 @@ msgstr "" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1824,7 +1829,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2262,9 +2267,9 @@ msgstr "" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" diff --git a/addons/mrp/i18n/pl.po b/addons/mrp/i18n/pl.po index 577e85c38fd..6033974b20d 100644 --- a/addons/mrp/i18n/pl.po +++ b/addons/mrp/i18n/pl.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "Liczba cykli" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "Liczba operacji, którą to centrum może wykonać." + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "Strefa, w której system będzie oczekiwał komponentów." @@ -39,7 +44,7 @@ msgstr "Wykorzystanie centrum roboczego" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "Obłożenie centrum roboczego" #. module: mrp @@ -518,7 +523,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "Podaj godzinowy koszt centrum roboczego" #. module: mrp @@ -570,7 +575,7 @@ msgstr "Marzec" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "Podaj koszt centrum roboczego na cykl" #. module: mrp @@ -663,7 +668,7 @@ msgstr "Gotowe" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "Czas wykonania jednego cyklu w godzinach" #. module: mrp @@ -1090,7 +1095,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "Ustala kolejność wyświetlania na liście centrów roboczych." #. module: mrp @@ -1742,8 +1747,8 @@ msgstr "Zużycie materiałów w produkcji" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "Opis centrum roboczego. Opisz co jest cyklem dla tego centrum." #. module: mrp @@ -1826,9 +1831,9 @@ msgstr "Zamówienie produkcji" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1861,7 +1866,7 @@ msgstr "Struktura Zest. Mat." #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2299,9 +2304,9 @@ msgstr "Opis" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" @@ -2751,9 +2756,9 @@ msgstr "" #~ msgstr "plus" #~ msgid "" -#~ "The list of operations (list of workcenters) to produce the finished " -#~ "product. The routing is mainly used to compute workcenter costs during " -#~ "operations and to plan futur loads on workcenters based on production " +#~ "The list of operations (list of work centers) to produce the finished " +#~ "product. The routing is mainly used to compute work center costs during " +#~ "operations and to plan futur loads on work centers based on production " #~ "plannification." #~ msgstr "" #~ "Lista operacji (lista centrów roboczych) do wyprodukowania produktu " diff --git a/addons/mrp/i18n/pt.po b/addons/mrp/i18n/pt.po index 9d7ba0a1852..64507331115 100644 --- a/addons/mrp/i18n/pt.po +++ b/addons/mrp/i18n/pt.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "Núm. de ciclos" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "Número de operacões que este centro de produção pode realizar." + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "Local onde o sistema irá procurar componentes." @@ -519,7 +524,7 @@ msgstr "Erro: Código EAN inválido" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "Indica o custo do centro de trabalho por hora." #. module: mrp @@ -571,7 +576,7 @@ msgstr "Março" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "Especifique o custe do centro de trabalho por ciclo" #. module: mrp @@ -664,7 +669,7 @@ msgstr "Pronto" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "Tempo em horas por fazer um ciclo." #. module: mrp @@ -1083,7 +1088,7 @@ msgstr "]" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1724,8 +1729,8 @@ msgstr "Consumo de produtos de produção" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" "Descrição do centro de trabalho. Explicar aqui o que é um ciclo de acordo " "para este centro de trabalho." @@ -1810,9 +1815,9 @@ msgstr "Ordem de produção" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1845,7 +1850,7 @@ msgstr "Estructura BoM" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2283,9 +2288,9 @@ msgstr "Descrição" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" diff --git a/addons/mrp/i18n/pt_BR.po b/addons/mrp/i18n/pt_BR.po index 9b73821968f..534e492ac45 100644 --- a/addons/mrp/i18n/pt_BR.po +++ b/addons/mrp/i18n/pt_BR.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "Núm. de ciclos" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -503,7 +508,7 @@ msgstr "Erro: Código EAN inválido" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -555,7 +560,7 @@ msgstr "Março" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -648,7 +653,7 @@ msgstr "Pronto" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "Tempo em hora para fazer um ciclo." #. module: mrp @@ -1067,7 +1072,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1710,8 +1715,8 @@ msgstr "Produção de Bens de Consumo" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" "Descrição do centro de trabalho. Explique aqui o que é um ciclo de acordo " "com este centro de trabalho." @@ -1796,9 +1801,9 @@ msgstr "Ordem de Produção" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1831,7 +1836,7 @@ msgstr "Estrutura da BoM" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2269,9 +2274,9 @@ msgstr "Descrição" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" diff --git a/addons/mrp/i18n/ro.po b/addons/mrp/i18n/ro.po index 6ac472d9d89..ce29311c0f9 100644 --- a/addons/mrp/i18n/ro.po +++ b/addons/mrp/i18n/ro.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "Nr de cicluri" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -39,7 +44,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -500,7 +505,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -552,7 +557,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -645,7 +650,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "" #. module: mrp @@ -1064,7 +1069,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1705,8 +1710,8 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" #. module: mrp @@ -1789,9 +1794,9 @@ msgstr "" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1824,7 +1829,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2262,9 +2267,9 @@ msgstr "" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" diff --git a/addons/mrp/i18n/ru.po b/addons/mrp/i18n/ru.po index 44aa10a6d9d..3d105709d9a 100644 --- a/addons/mrp/i18n/ru.po +++ b/addons/mrp/i18n/ru.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "Кол-во циклов" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -39,7 +44,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -500,7 +505,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -552,7 +557,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -645,7 +650,7 @@ msgstr "Готово" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "Время в часах на выполнение одного цикла" #. module: mrp @@ -1064,7 +1069,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1705,8 +1710,8 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" "Описание участка обработка. Укажите здесь, что соответствует циклу участка." @@ -1790,9 +1795,9 @@ msgstr "Заказ на производство" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1825,7 +1830,7 @@ msgstr "Структура спецификации" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2263,9 +2268,9 @@ msgstr "Описание" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" @@ -2688,9 +2693,9 @@ msgstr "" #~ msgstr "Заявка выслана поставщику" #~ msgid "" -#~ "The list of operations (list of workcenters) to produce the finished " -#~ "product. The routing is mainly used to compute workcenter costs during " -#~ "operations and to plan futur loads on workcenters based on production " +#~ "The list of operations (list of work centers) to produce the finished " +#~ "product. The routing is mainly used to compute work center costs during " +#~ "operations and to plan futur loads on work centers based on production " #~ "plannification." #~ msgstr "" #~ "Список операций и участков обработки для производства готового изделия. " diff --git a/addons/mrp/i18n/sk.po b/addons/mrp/i18n/sk.po index 12076c50989..c4633f77368 100644 --- a/addons/mrp/i18n/sk.po +++ b/addons/mrp/i18n/sk.po @@ -29,6 +29,11 @@ msgid "No. Of Cycles" msgstr "" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -40,7 +45,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -501,7 +506,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -553,7 +558,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -646,7 +651,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "" #. module: mrp @@ -1065,7 +1070,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1706,8 +1711,8 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" #. module: mrp @@ -1790,9 +1795,9 @@ msgstr "" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1825,7 +1830,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2263,9 +2268,9 @@ msgstr "" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" diff --git a/addons/mrp/i18n/sl.po b/addons/mrp/i18n/sl.po index c8939d2538e..d666b0eb4c0 100644 --- a/addons/mrp/i18n/sl.po +++ b/addons/mrp/i18n/sl.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -39,7 +44,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -500,7 +505,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -552,7 +557,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -645,7 +650,7 @@ msgstr "Pripravljen" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "" #. module: mrp @@ -1064,7 +1069,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1705,8 +1710,8 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" #. module: mrp @@ -1789,9 +1794,9 @@ msgstr "" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1824,7 +1829,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2262,9 +2267,9 @@ msgstr "Opis" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" diff --git a/addons/mrp/i18n/sq.po b/addons/mrp/i18n/sq.po index 41d0f380f13..e40beaf43d9 100644 --- a/addons/mrp/i18n/sq.po +++ b/addons/mrp/i18n/sq.po @@ -29,6 +29,11 @@ msgid "No. Of Cycles" msgstr "" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -40,7 +45,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -501,7 +506,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -553,7 +558,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -646,7 +651,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "" #. module: mrp @@ -1065,7 +1070,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1706,8 +1711,8 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" #. module: mrp @@ -1790,9 +1795,9 @@ msgstr "" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1825,7 +1830,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2263,9 +2268,9 @@ msgstr "" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" diff --git a/addons/mrp/i18n/sv.po b/addons/mrp/i18n/sv.po index 9d30a29b085..30028732a6e 100644 --- a/addons/mrp/i18n/sv.po +++ b/addons/mrp/i18n/sv.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "No. Of Cycles" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "Platser där systemet ska titta efter komponenter" @@ -39,7 +44,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -505,7 +510,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -557,7 +562,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -650,7 +655,7 @@ msgstr "Klar" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "Time in hours for doing one cycle." #. module: mrp @@ -1069,7 +1074,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1710,11 +1715,11 @@ msgstr "Production Products Consommation" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." #. module: mrp #: help:mrp.product.produce,mode:0 @@ -1796,9 +1801,9 @@ msgstr "Tillverkningsorder" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1831,7 +1836,7 @@ msgstr "BOM Structure" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2269,9 +2274,9 @@ msgstr "Beskrivning" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" @@ -3098,14 +3103,14 @@ msgstr "" #~ msgstr "Product quantity" #~ msgid "" -#~ "The list of operations (list of workcenters) to produce the finished " -#~ "product. The routing is mainly used to compute workcenter costs during " -#~ "operations and to plan futur loads on workcenters based on production " +#~ "The list of operations (list of work centers) to produce the finished " +#~ "product. The routing is mainly used to compute work center costs during " +#~ "operations and to plan futur loads on work centers based on production " #~ "plannification." #~ msgstr "" -#~ "The list of operations (list of workcenters) to produce the finished " -#~ "product. The routing is mainly used to compute workcenter costs during " -#~ "operations and to plan futur loads on workcenters based on production " +#~ "The list of operations (list of work centers) to produce the finished " +#~ "product. The routing is mainly used to compute work center costs during " +#~ "operations and to plan futur loads on work centers based on production " #~ "plannification." #~ msgid "Stockable Product Process" diff --git a/addons/mrp/i18n/tlh.po b/addons/mrp/i18n/tlh.po index bba5f31e89b..90d56600d2d 100644 --- a/addons/mrp/i18n/tlh.po +++ b/addons/mrp/i18n/tlh.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -39,7 +44,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -500,7 +505,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -552,7 +557,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -645,7 +650,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "" #. module: mrp @@ -1064,7 +1069,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1705,8 +1710,8 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" #. module: mrp @@ -1789,9 +1794,9 @@ msgstr "" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1824,7 +1829,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2262,9 +2267,9 @@ msgstr "" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" diff --git a/addons/mrp/i18n/tr.po b/addons/mrp/i18n/tr.po index 3de31d3a78c..56eb40bf975 100644 --- a/addons/mrp/i18n/tr.po +++ b/addons/mrp/i18n/tr.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "Çevrim Sayısı" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -39,7 +44,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -500,7 +505,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -552,7 +557,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -645,7 +650,7 @@ msgstr "Hazır" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "" #. module: mrp @@ -1064,7 +1069,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1705,8 +1710,8 @@ msgstr "Üretim Ürünleri Consommation" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" #. module: mrp @@ -1789,9 +1794,9 @@ msgstr "Üretim Emri" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1824,7 +1829,7 @@ msgstr "BOM YAPISI" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2262,9 +2267,9 @@ msgstr "Açıklama" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" @@ -2715,9 +2720,9 @@ msgstr "" #~ msgstr "İptal Edildi" #~ msgid "" -#~ "The list of operations (list of workcenters) to produce the finished " -#~ "product. The routing is mainly used to compute workcenter costs during " -#~ "operations and to plan futur loads on workcenters based on production " +#~ "The list of operations (list of work centers) to produce the finished " +#~ "product. The routing is mainly used to compute work center costs during " +#~ "operations and to plan futur loads on work centers based on production " #~ "plannification." #~ msgstr "" #~ "Operasyon Listesi (iş merkezi listesi) Bitmiş ürünleri üretmek için. The " diff --git a/addons/mrp/i18n/uk.po b/addons/mrp/i18n/uk.po index 4fb0fdf5fc4..d8ab0d477a1 100644 --- a/addons/mrp/i18n/uk.po +++ b/addons/mrp/i18n/uk.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -39,7 +44,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -500,7 +505,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -552,7 +557,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -645,7 +650,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "" #. module: mrp @@ -1064,7 +1069,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1705,8 +1710,8 @@ msgstr "Видаток продуктів виробництва" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" #. module: mrp @@ -1789,9 +1794,9 @@ msgstr "Заявка на виробництво" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1824,7 +1829,7 @@ msgstr "Структура СВ" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2262,9 +2267,9 @@ msgstr "Опис" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" diff --git a/addons/mrp/i18n/vi.po b/addons/mrp/i18n/vi.po index 621a36a862c..927d3b0a809 100644 --- a/addons/mrp/i18n/vi.po +++ b/addons/mrp/i18n/vi.po @@ -29,6 +29,11 @@ msgid "No. Of Cycles" msgstr "" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -40,7 +45,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -501,7 +506,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -553,7 +558,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -646,7 +651,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "" #. module: mrp @@ -1065,7 +1070,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1706,8 +1711,8 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "" #. module: mrp @@ -1790,9 +1795,9 @@ msgstr "" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1825,7 +1830,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2263,9 +2268,9 @@ msgstr "" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" diff --git a/addons/mrp/i18n/zh_CN.po b/addons/mrp/i18n/zh_CN.po index 17f6f4a27e9..7a19a38ff95 100644 --- a/addons/mrp/i18n/zh_CN.po +++ b/addons/mrp/i18n/zh_CN.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "周期" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -39,7 +44,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -500,7 +505,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -552,7 +557,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -645,7 +650,7 @@ msgstr "准备好" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "一个周期的工作小时数" #. module: mrp @@ -1064,7 +1069,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1705,8 +1710,8 @@ msgstr "生产产品消耗" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "根据中工作中心说明在什么循环" #. module: mrp @@ -1789,9 +1794,9 @@ msgstr "生产单" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1824,7 +1829,7 @@ msgstr "物料清单结构" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2262,9 +2267,9 @@ msgstr "说明" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" @@ -2722,7 +2727,7 @@ msgstr "" #~ " * Make to Stock / Make to Order (by line)\n" #~ " * Multi-level BoMs, no limit\n" #~ " * Multi-level routing, no limit\n" -#~ " * Routing and workcenter integrated with analytic accounting\n" +#~ " * Routing and work center integrated with analytic accounting\n" #~ " * Scheduler computation periodically / Just In Time module\n" #~ " * Multi-pos, multi-warehouse\n" #~ " * Different reordering policies\n" @@ -3065,9 +3070,9 @@ msgstr "" #~ msgstr "正" #~ msgid "" -#~ "The list of operations (list of workcenters) to produce the finished " -#~ "product. The routing is mainly used to compute workcenter costs during " -#~ "operations and to plan futur loads on workcenters based on production " +#~ "The list of operations (list of work centers) to produce the finished " +#~ "product. The routing is mainly used to compute work center costs during " +#~ "operations and to plan futur loads on work centers based on production " #~ "plannification." #~ msgstr "这生产成品的运作列表(工作中心列表)工艺路线主要是用于计算这生产计划的工作中心的成本和计划未来的工作中心的未来负荷" diff --git a/addons/mrp/i18n/zh_HK.po b/addons/mrp/i18n/zh_HK.po index d476b2177fd..14b8b5e22b4 100644 --- a/addons/mrp/i18n/zh_HK.po +++ b/addons/mrp/i18n/zh_HK.po @@ -29,6 +29,11 @@ msgid "No. Of Cycles" msgstr "週期數" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -40,7 +45,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -501,7 +506,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -553,7 +558,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -646,7 +651,7 @@ msgstr "就緒" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "一個循環所須的小時數" #. module: mrp @@ -1065,7 +1070,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1706,8 +1711,8 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "工作中心之描述。在此說明此工作中心是依據那個週期。" #. module: mrp @@ -1790,9 +1795,9 @@ msgstr "" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1825,7 +1830,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2263,9 +2268,9 @@ msgstr "" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" diff --git a/addons/mrp/i18n/zh_TW.po b/addons/mrp/i18n/zh_TW.po index a374cea05cc..f8ee29c605b 100644 --- a/addons/mrp/i18n/zh_TW.po +++ b/addons/mrp/i18n/zh_TW.po @@ -28,6 +28,11 @@ msgid "No. Of Cycles" msgstr "週期數" #. module: mrp +#: help:mrp.routing.workcenter,cycle_nbr:0 +msgid "Number of iterations this work center has to do in the specified operation of the routing." +msgstr "" + +#. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." msgstr "" @@ -39,7 +44,7 @@ msgstr "" #. module: mrp #: view:report.workcenter.load:0 -msgid "Work Centers load" +msgid "Work Center Loads" msgstr "" #. module: mrp @@ -500,7 +505,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Workcenter per hour." +msgid "Specify Cost of Work center per hour." msgstr "" #. module: mrp @@ -552,7 +557,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 -msgid "Specify Cost of Workcenter per cycle." +msgid "Specify Cost of Work center per cycle." msgstr "" #. module: mrp @@ -645,7 +650,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,time_cycle:0 -msgid "Time in hours for doing one cycle." +msgid "Time in hours for this work center to achieve the operation of the specified routing." msgstr "一個循環所須的小時數" #. module: mrp @@ -1064,7 +1069,7 @@ msgstr "" #. module: mrp #: help:mrp.routing.workcenter,sequence:0 msgid "" -"Gives the sequence order when displaying a list of routing workcenters." +"Gives the sequence order when displaying a list of routing work centers." msgstr "" #. module: mrp @@ -1705,8 +1710,8 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,note:0 msgid "" -"Description of the workcenter. Explain here what's a cycle according to this " -"workcenter." +"Description of the work center. Explain here what's a cycle according to this " +"work center." msgstr "工作中心之描述。在此說明此工作中心是依據那個週期。" #. module: mrp @@ -1789,9 +1794,9 @@ msgstr "" #. module: mrp #: help:mrp.production,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "plannification." msgstr "" @@ -1824,7 +1829,7 @@ msgstr "" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 msgid "" -"Number of operations this workcenter can do in parallel. If this workcenter " +"Number of operations this work center can do in parallel. If this work center " "represents a team of 5 workers, the capacity per cycle is 5." msgstr "" @@ -2262,9 +2267,9 @@ msgstr "" #. module: mrp #: help:mrp.bom,routing_id:0 msgid "" -"The list of operations (list of workcenters) to produce the finished " -"product. The routing is mainly used to compute workcenter costs during " -"operations and to plan future loads on workcenters based on production " +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " "planning." msgstr "" diff --git a/addons/mrp/mrp.py b/addons/mrp/mrp.py index d5bc8f39e6c..3850ab33822 100644 --- a/addons/mrp/mrp.py +++ b/addons/mrp/mrp.py @@ -39,15 +39,15 @@ class mrp_workcenter(osv.osv): _description = 'Work Center' _inherits = {'resource.resource':"resource_id"} _columns = { - 'note': fields.text('Description', help="Description of the workcenter. Explain here what's a cycle according to this workcenter."), - 'capacity_per_cycle': fields.float('Capacity per Cycle', help="Number of operations this workcenter can do in parallel. If this workcenter represents a team of 5 workers, the capacity per cycle is 5."), + 'note': fields.text('Description', help="Description of the work center. Explain here what's a cycle according to this work center."), + 'capacity_per_cycle': fields.float('Capacity per Cycle', help="Number of operations this work center can do in parallel. If this work center represents a team of 5 workers, the capacity per cycle is 5."), 'time_cycle': fields.float('Time for 1 cycle (hour)', help="Time in hours for doing one cycle."), 'time_start': fields.float('Time before prod.', help="Time in hours for the setup."), 'time_stop': fields.float('Time after prod.', help="Time in hours for the cleaning."), - 'costs_hour': fields.float('Cost per hour', help="Specify Cost of Workcenter per hour."), + 'costs_hour': fields.float('Cost per hour', help="Specify Cost of Work center per hour."), 'costs_hour_account_id': fields.many2one('account.analytic.account', 'Hour Account', domain=[('type','<>','view')], help="Complete this only if you want automatic analytic accounting entries on production orders."), - 'costs_cycle': fields.float('Cost per cycle', help="Specify Cost of Workcenter per cycle."), + 'costs_cycle': fields.float('Cost per cycle', help="Specify Cost of Work center per cycle."), 'costs_cycle_account_id': fields.many2one('account.analytic.account', 'Cycle Account', domain=[('type','<>','view')], help="Complete this only if you want automatic analytic accounting entries on production orders."), 'costs_journal_id': fields.many2one('account.analytic.journal', 'Analytic Journal'), @@ -109,7 +109,7 @@ class mrp_routing_workcenter(osv.osv): _columns = { 'workcenter_id': fields.many2one('mrp.workcenter', 'Work Center', required=True), 'name': fields.char('Name', size=64, required=True), - 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of routing workcenters."), + 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of routing work centers."), 'cycle_nbr': fields.float('Number of Cycles', required=True, help="Number of iterations this work center has to do in the specified operation of the routing."), 'hour_nbr': fields.float('Number of Hours', required=True, help="Time in hours for this work center to achieve the operation of the specified routing."), @@ -211,7 +211,7 @@ class mrp_bom(osv.osv): 'product_efficiency': fields.float('Manufacturing Efficiency', required=True, help="A factor of 0.9 means a loss of 10% within the production process."), 'bom_lines': fields.one2many('mrp.bom', 'bom_id', 'BoM Lines'), 'bom_id': fields.many2one('mrp.bom', 'Parent BoM', ondelete='cascade', select=True), - 'routing_id': fields.many2one('mrp.routing', 'Routing', help="The list of operations (list of workcenters) to produce the finished product. The routing is mainly used to compute workcenter costs during operations and to plan future loads on workcenters based on production planning."), + 'routing_id': fields.many2one('mrp.routing', 'Routing', help="The list of operations (list of work centers) to produce the finished product. The routing is mainly used to compute work center costs during operations and to plan future loads on work centers based on production planning."), 'property_ids': fields.many2many('mrp.property', 'mrp_bom_property_rel', 'bom_id','property_id', 'Properties'), 'revision_ids': fields.one2many('mrp.bom.revision', 'bom_id', 'BoM Revisions'), 'child_complete_ids': fields.function(_child_compute, relation='mrp.bom', method=True, string="BoM Hierarchy", type='many2many'), @@ -335,7 +335,7 @@ class mrp_bom(osv.osv): result = result + res[0] result2 = result2 + res[1] return result, result2 - + def copy_data(self, cr, uid, id, default=None, context=None): if default is None: default = {} @@ -442,7 +442,7 @@ class mrp_production(osv.osv): 'date_finished': fields.datetime('End Date'), 'bom_id': fields.many2one('mrp.bom', 'Bill of Material', domain=[('bom_id','=',False)]), - 'routing_id': fields.many2one('mrp.routing', string='Routing', on_delete='set null', help="The list of operations (list of workcenters) to produce the finished product. The routing is mainly used to compute workcenter costs during operations and to plan future loads on workcenters based on production plannification."), + 'routing_id': fields.many2one('mrp.routing', string='Routing', on_delete='set null', help="The list of operations (list of work centers) to produce the finished product. The routing is mainly used to compute work center costs during operations and to plan future loads on work centers based on production plannification."), 'picking_id': fields.many2one('stock.picking', 'Picking list', readonly=True, help="This is the internal picking list that brings the finished product to the production plan"), @@ -664,8 +664,6 @@ class mrp_production(osv.osv): """ stock_mov_obj = self.pool.get('stock.move') production = self.browse(cr, uid, production_id, context=context) - - final_product_todo = [] produced_qty = 0 if production_mode == 'consume_produce': @@ -706,10 +704,7 @@ class mrp_production(osv.osv): stock_mov_obj.action_consume(cr, uid, [raw_product.id], consumed_qty, production.location_src_id.id, context=context) if production_mode == 'consume_produce': - # To produce remaining qty of final product - vals = {'state':'confirmed'} - final_product_todo = [x.id for x in production.move_created_ids] - stock_mov_obj.write(cr, uid, final_product_todo, vals) + produced_products = {} for produced_product in production.move_created_ids2: if produced_product.scrapped: diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml index 2fa05cfc04d..000ae6cbcf2 100644 --- a/addons/mrp/mrp_view.xml +++ b/addons/mrp/mrp_view.xml @@ -561,19 +561,18 @@ <field name="type">form</field> <field name="arch" type="xml"> <form string="Manufacturing Orders"> - <group colspan="4" col="6"> + <group colspan="4" col="7"> <field name="name" string="Reference"/> <field name="date_planned"/> <field name="origin"/> + <newline/> <field name="product_id" on_change="product_id_change(product_id)"/> <field name="product_qty"/> - <group colspan="2" col="4"> <field name="product_uom"/> <button type="action" icon="terp-accessories-archiver+" name="%(mrp.action_change_production_qty)d" string="Change Qty" states="ready,confirmed" /> - </group> <label string="" colspan="2"/> <field name="product_uos_qty" groups="product.group_uos"/> <field name="product_uos" groups="product.group_uos"/> @@ -599,6 +598,11 @@ string="Consume Products" type="action" icon="gtk-go-forward" context="{'consume': True}" states="draft,waiting,confirmed,assigned" /> + <button + name="%(stock.track_line)d" + string="Split in production lots" + type="action" icon="gtk-justify-fill" + states="draft,waiting,confirmed,assigned" /> <button name="%(stock.move_scrap)d" string="Scrap Products" type="action" icon="gtk-convert" context="{'scrap': True}" @@ -617,11 +621,6 @@ <field name="state" invisible="1"/> <field name="scrapped" invisible="1"/> <button - name="%(stock.track_line)d" - string="Split in production lots" - type="action" icon="gtk-justify-fill" - states="done,cancel" /> - <button name="%(stock.move_scrap)d" string="Scrap Products" type="action" icon="gtk-convert" @@ -727,12 +726,15 @@ <field name="arch" type="xml"> <search string="Search Production"> <group col='9' colspan='4'> + <filter icon="terp-gtk-media-pause" string="Pending" name="pending" + domain="[('state','=','confirmed')]" + help="Manufacturing Orders which are waiting for raw materials."/> <filter icon="terp-camera_test" string="Ready" name="ready" domain="[('state','=','ready')]" - help="Non confirmed manufacturing orders"/> - <filter icon="terp-check" string="Current" name="current" - domain="[('state','in',('confirmed','ready','exception','in_production'))]" - help="Manufacturing Orders which are waiting for raw materials, confirmed, ready to start or currently in production."/> + help="Manufacturing Orders which are ready to start production."/> + <filter icon="terp-check" string="In Production" name="inprogress" + domain="[('state','=','in_production')]" + help="Manufacturing Orders which are currently in production."/> <separator orientation="vertical"/> <filter icon="terp-gnome-cpu-frequency-applet+" string="Late" domain="['&', ('date_planned::date','<', current_date), ('state', 'in', ('draft', 'confirmed', 'ready'))]" diff --git a/addons/mrp/report/mrp_report_view.xml b/addons/mrp/report/mrp_report_view.xml index a1e3f7174bd..09e15ebf39f 100644 --- a/addons/mrp/report/mrp_report_view.xml +++ b/addons/mrp/report/mrp_report_view.xml @@ -7,7 +7,7 @@ <field name="model">report.workcenter.load</field> <field name="type">tree</field> <field name="arch" type="xml"> - <tree string="Work Centers load"> + <tree string="Work Center Loads"> <field name="name"/> <field name="workcenter_id"/> <field name="cycle"/> @@ -29,7 +29,7 @@ </graph> </field> </record> - + <record id="view_workcenter_load_search" model="ir.ui.view"> <field name="name">report.workcenter.load.search</field> <field name="model">report.workcenter.load</field> diff --git a/addons/mrp/report/price.py b/addons/mrp/report/price.py index f3d0a3d51ac..85063c1a335 100644 --- a/addons/mrp/report/price.py +++ b/addons/mrp/report/price.py @@ -18,9 +18,10 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. # ############################################################################## + import pooler from report.interface import report_rml -from report.interface import toxml +#from report.interface import toxml from tools import to_xml from report import report_sxw from datetime import datetime diff --git a/addons/mrp/report/workcenter_load.py b/addons/mrp/report/workcenter_load.py index 7c8c9d9e575..145051f17fd 100644 --- a/addons/mrp/report/workcenter_load.py +++ b/addons/mrp/report/workcenter_load.py @@ -124,7 +124,7 @@ class report_custom(report_int): x_index.append((dates[date]['name'], date)) pdf_string = StringIO.StringIO() can = canvas.init(fname=pdf_string, format='pdf') - can.set_title("Work Centers Load") + can.set_title("Work Center Loads") chart_object.set_defaults(line_plot.T, line_style=None) if datas['form']['measure_unit'] == 'cycles': y_label = "Load (Cycles)" @@ -132,7 +132,7 @@ class report_custom(report_int): y_label = "Load (Hours)" # For add the report header on the top of the report. - tb = text_box.T(loc=(300, 500), text="/hL/15/bWork Centers Load", line_style=None) + tb = text_box.T(loc=(300, 500), text="/hL/15/bWork Center Loads", line_style=None) tb.draw() ar = area.T(legend = legend.T(), x_grid_style = line_style.gray70_dash1, diff --git a/addons/mrp/stock.py b/addons/mrp/stock.py index 8758bc09cd5..f8fad71fc58 100644 --- a/addons/mrp/stock.py +++ b/addons/mrp/stock.py @@ -140,6 +140,13 @@ class StockMove(osv.osv): res.append(new_move) return {} + def trigger_move_state(self, cr, uid, move, state, context=None): + new_moves = super(StockMove, self).trigger_move_state(cr, uid, move, state, context=context) + if state == 'confirm': + new_moves =[x.id for x in new_moves] + self.write(cr, uid, new_moves, {'production_id': False}, context=context) + return new_moves + StockMove() diff --git a/addons/mrp_repair/report/order.rml b/addons/mrp_repair/report/order.rml index b0f197a2f1d..b72f3d7a130 100644 --- a/addons/mrp_repair/report/order.rml +++ b/addons/mrp_repair/report/order.rml @@ -306,7 +306,7 @@ <para style="P29">Operation Line(s)</para> <section> <para style="P30"><font color="white">[[ repeatIn(o.operations,'line') ]] </font></para> - <para style="P30"><font color="white">[[ line or removeParentNode('section')]]</font></para> + <para style="P29">[[ (not line) and removeParentNode('section') ]]</para> <blockTable colWidths="254.0,100.0,60.0,60.0,60.0" style="Table5">[[ (line.to_invoice==True) or removeParentNode('blockTable') ]] <tr> <td> @@ -332,7 +332,7 @@ <para style="P29">Fees Line(s) [[ (o.fees_lines ==[] and removeParentNode('para') ) ]]</para> <section> <para style="P30"><font color="white">[[ repeatIn(o.fees_lines,'fees') ]]</font></para> - <para style="P30"><font color="white">[[ fees or removeParentNode('section')]]</font></para> + <para style="P29">[[ (not fees) and removeParentNode('section') ]]</para> <blockTable colWidths="254.0,100.0,60.0,60.0,60.0" style="Table6">[[ (fees.to_invoice==True) or removeParentNode('blockTable') ]] <tr> @@ -365,7 +365,7 @@ <para style="terp_default_9">Net Total :</para> </td> <td> - <para style="P26">[[ formatLang(o.amount_untaxed, digits=get_digits(dp='Sale Price'))]] [[ o.pricelist_id.currency_id. symbol ]]</para> + <para style="P26">[[ formatLang(o.amount_untaxed, dp='Sale Price')]] [[ o.pricelist_id.currency_id. symbol ]]</para> </td> </tr> @@ -379,7 +379,7 @@ <para style="terp_default_9">Taxes:</para> </td> <td> - <para style="P26">[[ formatLang(o.amount_tax, digits=get_digits(dp='Account'))]] [[ o.pricelist_id.currency_id. symbol ]]</para> + <para style="P26">[[ formatLang(o.amount_tax, dp='Account')]] [[ o.pricelist_id.currency_id. symbol ]]</para> </td> </tr> <tr> @@ -392,7 +392,7 @@ <para style="terp_tblheader_Details">Total :</para> </td> <td> - <para style="terp_default_right_bold_9">[[ formatLang(total(o), digits=get_digits(dp='Sale Price')) ]] [[ o.pricelist_id.currency_id. symbol ]]</para> + <para style="terp_default_right_bold_9">[[ formatLang(total(o), dp='Sale Price') ]] [[ o.pricelist_id.currency_id. symbol ]]</para> </td> </tr> </blockTable> diff --git a/addons/mrp_repair/wizard/make_invoice.py b/addons/mrp_repair/wizard/make_invoice.py index 2cb6409348e..61f82a3d57c 100644 --- a/addons/mrp_repair/wizard/make_invoice.py +++ b/addons/mrp_repair/wizard/make_invoice.py @@ -27,7 +27,7 @@ class make_invoice(osv.osv_memory): _description = 'Make Invoice' _columns = { - 'group': fields.boolean('Group by partner invoice address'), + 'group': fields.boolean('Group by partner invoice address'), } def make_invoices(self, cr, uid, ids, context=None): diff --git a/addons/pad/web/editors.py b/addons/pad/web/editors.py index b954967497c..e303dc4b3d7 100644 --- a/addons/pad/web/editors.py +++ b/addons/pad/web/editors.py @@ -14,7 +14,7 @@ class SidebarTemplateEditor(openobject.templating.TemplateEditor): output.index(self.ADD_ATTACHMENT_BUTTON)) + 1 output = output[:form_opener_insertion] + \ '''<a href="#" id="add-pad" class="button-a - attachment-button">${_(" Add pad")}</a>\n''' + \ + attachment-button">${_("Write")}</a>\n''' + \ output[form_opener_insertion:] return output diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py index 0476fb03b31..f359b8208d7 100644 --- a/addons/point_of_sale/point_of_sale.py +++ b/addons/point_of_sale/point_of_sale.py @@ -33,6 +33,7 @@ class pos_config_journal(osv.osv): """ Point of Sale journal configuration""" _name = 'pos.config.journal' _description = "Journal Configuration" + _columns = { 'name': fields.char('Description', size=64), 'code': fields.char('Code', size=64), @@ -41,9 +42,11 @@ class pos_config_journal(osv.osv): pos_config_journal() + class pos_company_discount(osv.osv): """ Company Discount and Cashboxes """ _inherit = 'res.company' + _columns = { 'company_discount': fields.float('Max Discount(%)', digits_compute=dp.get_precision('Point Of Sale')), 'max_diff': fields.float('Max Difference for Cashboxes', digits_compute=dp.get_precision('Point Of Sale Discount')), @@ -173,21 +176,23 @@ class pos_order(osv.osv): (1-(line.discount or 0.0)/100.0), line.qty), res[order.id]['amount_tax']) elif line.qty != 0.0: - for c in tax_obj.compute_all(cr, uid, line.product_id.taxes_id, line.price_unit * (1-(line.discount or 0.0)/100.0), line.qty, line.product_id, line.order_id.partner_id)['taxes']: + for c in tax_obj.compute_all(cr, uid, line.product_id.taxes_id, \ + line.price_unit * (1-(line.discount or 0.0)/100.0), \ + line.qty, line.product_id, line.order_id.partner_id)['taxes']: val += c.get('amount', 0.0) res[order.id]['amount_tax'] = cur_obj.round(cr, uid, cur, val) res[order.id]['amount_total'] = res[order.id]['amount_tax'] + cur_obj.round(cr, uid, cur, val1) return res def _sale_journal_get(self, cr, uid, context=None): - """ To get sale journal for this order" + """ To get sale journal for this order @return: journal """ journal_obj = self.pool.get('account.journal') res = journal_obj.search(cr, uid, [('type', '=', 'sale')], limit=1) return res and res[0] or False def _shop_get(self, cr, uid, context=None): - """ To get Shop for this order" + """ To get Shop for this order @return: Shop id """ res = self.pool.get('sale.shop').search(cr, uid, []) return res and res[0] or False @@ -207,7 +212,7 @@ class pos_order(osv.osv): }) return super(pos_order, self).copy(cr, uid, id, default, context=context) - def _get_v( self, cr, uid, ids, *a): + def _get_v( self, cr, uid, ids, *args): """ Changed the Validation state of order @return: State """ res_obj = self.pool.get('res.users') @@ -243,8 +248,13 @@ class pos_order(osv.osv): 'shop_id': fields.many2one('sale.shop', 'Shop', required=True, states={'draft': [('readonly', False)]}, readonly=True), 'date_order': fields.datetime('Date Ordered', readonly=True), - 'date_validation': fields.function(_get_date_payment, method=True, string='Validation Date', type='date', store=True), - 'date_payment': fields.function(_get_date_payment2, method=True, string='Payment Date', type='date', store=True), + 'date_validation': fields.function(_get_date_payment, + method=True, + string='Validation Date', + type='date', store=True), + 'date_payment': fields.function(_get_date_payment2, method=True, + string='Payment Date', + type='date', store=True), 'date_validity': fields.date('Validity Date', required=True), 'user_id': fields.many2one('res.users', 'Connected Salesman', help="Person who uses the the cash register. It could be a reliever, a student or an interim employee."), 'user_salesman_id': fields.many2one('res.users', 'Cashier', required=True, help="User who is logged into the system."), @@ -285,7 +295,7 @@ class pos_order(osv.osv): } def _select_pricelist(self, cr, uid, context=None): - """ To get default pricelist for the order" + """ To get default pricelist for the order @param name: Names of fields. @return: pricelist ID """ @@ -293,7 +303,7 @@ class pos_order(osv.osv): return pricelist and pricelist[0] or False def _journal_default(self, cr, uid, context=None): - """ To get default pricelist for the order" + """ To get default pricelist for the order @param name: Names of fields. @return: journal ID """ @@ -319,7 +329,7 @@ class pos_order(osv.osv): def test_order_lines(self, cr, uid, order, context=None): - """ Test order line is created or not for the order " + """ Test order line is created or not for the order @param name: Names of fields. @return: True """ @@ -452,7 +462,7 @@ class pos_order(osv.osv): location_id, stock_dest_id = stock_dest_id, location_id move_obj.create(cr, uid, { - 'name': 'Stock move (POS %d)' % (order.id, ), + 'name': '(POS %d)' % (order.id, ), 'product_uom': line.product_id.uom_id.id, 'product_uos': line.product_id.uom_id.id, 'picking_id': picking_id, @@ -506,7 +516,7 @@ class pos_order(osv.osv): def add_payment(self, cr, uid, order_id, data, context=None): """Create a new payment for the order""" - statement_obj= self.pool.get('account.bank.statement') + statement_obj = self.pool.get('account.bank.statement') statement_line_obj = self.pool.get('account.bank.statement.line') prod_obj = self.pool.get('product.product') property_obj = self.pool.get('ir.property') @@ -524,12 +534,15 @@ class pos_order(osv.osv): if 'payment_name' in data.keys(): args['name'] = data['payment_name'] + ' ' + order.name account_def = property_obj.get(cr, uid, 'property_account_receivable', 'res.partner', context=context) - args['account_id'] = order.partner_id and order.partner_id.property_account_receivable and order.partner_id.property_account_receivable.id or account_def.id or curr_c.account_receivable.id + args['account_id'] = order.partner_id and order.partner_id.property_account_receivable \ + and order.partner_id.property_account_receivable.id or account_def.id or curr_c.account_receivable.id if data.get('is_acc', False): args['is_acc'] = data['is_acc'] - args['account_id'] = prod_obj.browse(cr, uid, data['product_id'], context=context).property_account_income and prod_obj.browse(cr, uid, data['product_id'], context=context).property_account_income.id + args['account_id'] = prod_obj.browse(cr, uid, data['product_id'], context=context).property_account_income \ + and prod_obj.browse(cr, uid, data['product_id'], context=context).property_account_income.id if not args['account_id']: - raise osv.except_osv(_('Error'), _('Please provide an account for the product: %s')%(prod_obj.browse(cr, uid, data['product_id'], context=context).name)) + raise osv.except_osv(_('Error'), _('Please provide an account for the product: %s')% \ + (prod_obj.browse(cr, uid, data['product_id'], context=context).name)) args['partner_id'] = order.partner_id and order.partner_id.id or None args['ref'] = order.contract_number or None @@ -545,6 +558,8 @@ class pos_order(osv.osv): args['statement_id'] = statement_id args['pos_statement_id'] = order_id args['journal_id'] = data['journal'] + args['type'] = 'customer' + args['ref'] = order.name statement_line_obj.create(cr, uid, args, context=context) ids_new.append(statement_id) @@ -555,7 +570,9 @@ class pos_order(osv.osv): return statement_id def add_product(self, cr, uid, order_id, product_id, qty, context=None): + """Create a new order line the order""" + line_obj = self.pool.get('pos.order.line') values = self.read(cr, uid, order_id, ['partner_id', 'pricelist_id']) @@ -576,7 +593,9 @@ class pos_order(osv.osv): return order_line_id, price def refund(self, cr, uid, ids, context=None): + """Create a copy of order for refund order""" + clone_list = [] line_obj = self.pool.get('pos.order.line') @@ -601,7 +620,9 @@ class pos_order(osv.osv): return clone_list def action_invoice(self, cr, uid, ids, context=None): + """Create a invoice of order """ + inv_ref = self.pool.get('account.invoice') inv_line_ref = self.pool.get('account.invoice.line') product_obj = self.pool.get('product.product') @@ -644,7 +665,8 @@ class pos_order(osv.osv): inv_line.update(inv_line_ref.product_id_change(cr, uid, [], line.product_id.id, line.product_id.uom_id.id, - line.qty, partner_id = order.partner_id.id, fposition_id=order.partner_id.property_account_position.id)['value']) + line.qty, partner_id = order.partner_id.id, + fposition_id=order.partner_id.property_account_position.id)['value']) inv_line['price_unit'] = line.price_unit inv_line['discount'] = line.discount inv_line['name'] = inv_name diff --git a/addons/point_of_sale/report/account_statement.rml b/addons/point_of_sale/report/account_statement.rml index c61d0347d84..33c6c62cd6e 100644 --- a/addons/point_of_sale/report/account_statement.rml +++ b/addons/point_of_sale/report/account_statement.rml @@ -214,10 +214,10 @@ <para style="terp_default_Centre_8">[[ formatLang(statement.closing_date,date_time=True)]]</para> </td> <td> - <para style="terp_default_Centre_8">[[ formatLang(statement.balance_start)]] [[ company.currency_id.symbol ]]</para> + <para style="terp_default_Centre_8">[[ formatLang(statement.balance_start, dp='Account') ]][[ company.currency_id.symbol ]]</para> </td> <td> - <para style="terp_default_Centre_8">[[ formatLang(statement.balance_end_real)]] [[ company.currency_id.symbol ]]</para> + <para style="terp_default_Centre_8">[[ formatLang(statement.balance_end_real, dp='Account') ]][[ company.currency_id.symbol ]]</para> </td> </tr> </blockTable> @@ -250,7 +250,7 @@ <para style="terp_default_9">[[ line_ids.partner_id.name ]]</para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(line_ids.amount) ]] [[ company.currency_id.symbol ]]</para> + <para style="terp_default_Right_9">[[ formatLang(line_ids.amount, dp='Account') ]] [[ company.currency_id.symbol ]]</para> </td> </tr> </blockTable> @@ -267,7 +267,7 @@ <para style="terp_tblheader_Details">Total :</para> </td> <td> - <para style="terp_default_Right_9_Bold">[[ formatLang(get_total(statement.line_ids)) ]] [[ company.currency_id.symbol ]]</para> + <para style="terp_default_Right_9_Bold">[[ formatLang(get_total(statement.line_ids), dp='Account') ]] [[ company.currency_id.symbol ]]</para> </td> </tr> </blockTable> @@ -282,4 +282,4 @@ </para> </pto> </story> -</document>
\ No newline at end of file +</document> diff --git a/addons/point_of_sale/report/pos_details.rml b/addons/point_of_sale/report/pos_details.rml index ae9d7252984..7aa2c3a8ea0 100644 --- a/addons/point_of_sale/report/pos_details.rml +++ b/addons/point_of_sale/report/pos_details.rml @@ -238,13 +238,13 @@ <para style="terp_default_9">[ [[ line_ids['code'] ]] ] [[ line_ids['name'] ]]</para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(line_ids['price_unit']) ]] [[ company.currency_id.symbol ]]</para> + <para style="terp_default_Right_9">[[ formatLang(line_ids['price_unit'], dp='Sale Price') ]] [[ company.currency_id.symbol ]]</para> </td> <td> <para style="terp_default_Centre_9">[[ formatLang(line_ids['qty']) ]] [[ line_ids['uom'] ]]</para> </td> <td> - <para style="terp_default_Centre_9">[[ formatLang(line_ids['discount']) ]]</para> + <para style="terp_default_Centre_9">[[ formatLang(line_ids['discount'], dp='Sale Price') ]]</para> </td> <td> <para style="terp_default_Centre_9">[[ getinvoice(line_ids['invoice_id'],user) or removeParentNode('font') ]]</para> @@ -306,7 +306,7 @@ <para style="terp_default_9">[[ p['name'] or removeParentNode('para') ]]</para> </td> <td> - <para style="terp_default_Right_9_Bold">[[ formatLang(p['sum']) or removeParentNode('tr') ]] [[ company.currency_id.symbol ]]</para> + <para style="terp_default_Right_9_Bold">[[ formatLang(p['sum'], dp='Account') or removeParentNode('tr') ]] [[ company.currency_id.symbol ]]</para> </td> </tr> </blockTable> @@ -335,7 +335,7 @@ <para style="terp_default_Bold_9">Sales total(Revenue)</para> </td> <td> - <para style="terp_default_Right_9_Bold">[[ formatLang(getsalestotal2(data['form'],user)) ]] [[ company.currency_id.symbol ]]</para> + <para style="terp_default_Right_9_Bold">[[ formatLang(getsalestotal2(data['form'],user), dp='Sale Price') ]] [[ company.currency_id.symbol ]]</para> </td> </tr> <tr> @@ -351,7 +351,7 @@ <para style="terp_default_Bold_9">Total invoiced</para> </td> <td> - <para style="terp_default_Right_9_Bold">[[ formatLang(getsuminvoice2(data['form'],user)) ]] [[ company.currency_id.symbol ]]</para> + <para style="terp_default_Right_9_Bold">[[ formatLang(getsuminvoice2(data['form'],user), dp='Sale Price') ]] [[ company.currency_id.symbol ]]</para> </td> </tr> <tr> @@ -359,7 +359,7 @@ <para style="terp_default_Bold_9">Total discount</para> </td> <td> - <para style="terp_default_Right_9_Bold">[[ formatLang(getsumdisc(data['form'],user)) ]] [[ company.currency_id.symbol ]]</para> + <para style="terp_default_Right_9_Bold">[[ formatLang(getsumdisc(data['form'],user), dp='Sale Price') ]] [[ company.currency_id.symbol ]]</para> </td> </tr> <tr> @@ -367,7 +367,7 @@ <para style="terp_default_Bold_9">Total paid</para> </td> <td> - <para style="terp_default_Right_9_Bold">[[ formatLang(getpaidtotal2(data['form'],user)) ]] [[ company.currency_id.symbol ]]</para> + <para style="terp_default_Right_9_Bold">[[ formatLang(getpaidtotal2(data['form'],user), dp='Sale Price') ]] [[ company.currency_id.symbol ]]</para> </td> </tr> <tr> @@ -375,7 +375,7 @@ <para style="terp_default_Bold_9">Total of the day</para> </td> <td> - <para style="terp_default_Right_9_Bold">[[ formatLang(gettotalofthaday(data['form'])) ]] [[ company.currency_id.symbol ]]</para> + <para style="terp_default_Right_9_Bold">[[ formatLang(gettotalofthaday(data['form']), dp='Sale Price') ]] [[ company.currency_id.symbol ]]</para> </td> </tr> </blockTable> diff --git a/addons/point_of_sale/report/pos_payment_report_date.rml b/addons/point_of_sale/report/pos_payment_report_date.rml index b8f86233319..ba7764fed28 100644 --- a/addons/point_of_sale/report/pos_payment_report_date.rml +++ b/addons/point_of_sale/report/pos_payment_report_date.rml @@ -155,13 +155,13 @@ <para style="terp_default_Right_9">[[ formatLang(line_ids['qty']) ]] [[line_ids['uom'] ]]</para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(line_ids['discount']) ]]</para> + <para style="terp_default_Right_9">[[ formatLang(line_ids['discount'], dp='Sale Price') ]]</para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(line_ids['price_unit']) ]] </para> + <para style="terp_default_Right_9">[[ formatLang(line_ids['price_unit'], dp='Sale Price') ]] [[ company.currency_id.symbol ]]</para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(line_ids['total']) ]] [[ company.currency_id.symbol ]]</para> + <para style="terp_default_Right_9">[[ formatLang(line_ids['total'], dp='Sale Price') ]] [[ company.currency_id.symbol ]]</para> </td> </tr> </blockTable> @@ -177,7 +177,7 @@ <para style="terp_tblheader_General_Right">Total:</para> </td> <td> - <para style="terp_default_Right_9_Bold">[[ formatLang(pos_payment_date_total(data['form'])) or removeParentNode('blockTable')]] [[ company.currency_id.symbol ]]</para> + <para style="terp_default_Right_9_Bold">[[ formatLang(pos_payment_date_total(data['form']), dp='Sale Price') or removeParentNode('blockTable')]] [[ company.currency_id.symbol ]]</para> </td> </tr> </blockTable> @@ -185,4 +185,4 @@ <font color="white"> </font> </para> </story> -</document>
\ No newline at end of file +</document> diff --git a/addons/point_of_sale/report/pos_receipt_with_remboursment.py b/addons/point_of_sale/report/pos_receipt_with_remboursment.py index 9b3dc529646..c600a9e2754 100644 --- a/addons/point_of_sale/report/pos_receipt_with_remboursment.py +++ b/addons/point_of_sale/report/pos_receipt_with_remboursment.py @@ -63,14 +63,19 @@ class order(report_sxw.rml_parse): WHERE absl.pos_statement_id = %d"""%(order_id.id) self.cr.execute(sql) res = self.cr.fetchone() - lst.append(res[0]) + if not res: + return ['', 0.0] + lst.append(res[0]) # todo: improve sql2 = """ select sum(absl.amount) as amt from account_bank_statement as abs LEFT JOIN account_bank_statement_line as absl ON abs.id = absl.statement_id LEFT JOIN account_journal as aj ON aj.id = abs.journal_id where aj.name = '%s' """%(res[0]) self.cr.execute(sql2) res1 = self.cr.fetchone() - lst.append(res1[0]) + if res1: + lst.append(res1[0]) + else: + lst.append(0.0) return lst report_sxw.report_sxw('report.pos.receipt.with.remboursment', 'pos.order', 'addons/point_of_sale/report/pos_receipt_with_remboursment.rml', parser=order, header=False) diff --git a/addons/point_of_sale/report/pos_receipt_without_remboursment.py b/addons/point_of_sale/report/pos_receipt_without_remboursment.py index 72d227fbd52..d2fe0f1d542 100644 --- a/addons/point_of_sale/report/pos_receipt_without_remboursment.py +++ b/addons/point_of_sale/report/pos_receipt_without_remboursment.py @@ -63,14 +63,19 @@ class order(report_sxw.rml_parse): WHERE absl.pos_statement_id = %d"""%(order_id.id) self.cr.execute(sql) res = self.cr.fetchone() - lst.append(res[0]) + if not res: + return ['', 0.0] + lst.append(res[0]) # todo: improve sql2 = """ select sum(absl.amount) as amt from account_bank_statement as abs LEFT JOIN account_bank_statement_line as absl ON abs.id = absl.statement_id LEFT JOIN account_journal as aj ON aj.id = abs.journal_id where aj.name = '%s' """%(res[0]) self.cr.execute(sql2) res1 = self.cr.fetchone() - lst.append(res1[0]) + if res1: + lst.append(res1[0]) + else: + lst.append(0.0) return lst report_sxw.report_sxw('report.pos.receipt.without.remboursment', 'pos.order', 'addons/point_of_sale/report/pos_receipt_without_remboursment.rml', parser=order, header=False) diff --git a/addons/point_of_sale/wizard/pos_scan_product.py b/addons/point_of_sale/wizard/pos_scan_product.py index 49cd32eba4d..391b6a70e87 100644 --- a/addons/point_of_sale/wizard/pos_scan_product.py +++ b/addons/point_of_sale/wizard/pos_scan_product.py @@ -25,9 +25,11 @@ from tools.translate import _ class pos_scan_product(osv.osv_memory): _name = 'pos.scan.product' _description = 'Scan product' + _columns = { - 'gencod': fields.char('Barcode',size=13,required= True) + 'gencod': fields.char('Barcode', size=13, required=True) } + def scan(self, cr, uid, ids, context=None): """ To get the gencod and scan product @@ -40,9 +42,10 @@ class pos_scan_product(osv.osv_memory): if context is None: context = {} data=self.read(cr, uid, ids)[0] - record_id = context and context.get('active_id',False) + record_id = context and context.get('active_id', False) result =self. pool.get('pos.order.line')._scan_product(cr, uid, data['gencod'], 1, record_id) return {'gencod': False} + pos_scan_product() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/procurement/procurement_view.xml b/addons/procurement/procurement_view.xml index bea250a25f5..618e8d9794c 100644 --- a/addons/procurement/procurement_view.xml +++ b/addons/procurement/procurement_view.xml @@ -35,6 +35,7 @@ <field name="product_id"/> <field name="product_qty"/> <field name="product_uom" string="UOM"/> + <field name="state" invisible = "1"/> <field name="message"/> </tree> </field> diff --git a/addons/product/pricelist.py b/addons/product/pricelist.py index 8991d99d077..cd8c338da89 100644 --- a/addons/product/pricelist.py +++ b/addons/product/pricelist.py @@ -221,7 +221,7 @@ class product_pricelist(osv.osv): 'AND (min_quantity IS NULL OR min_quantity <= %s) ' 'AND i.price_version_id = v.id AND v.pricelist_id = pl.id ' 'ORDER BY sequence', - (tmpl_id, product_id, pricelist_id, qty)) + (tmpl_id, product_id, plversion_ids[0], qty)) res1 = cr.dictfetchall() uom_price_already_computed = False for res in res1: diff --git a/addons/product/pricelist_view.xml b/addons/product/pricelist_view.xml index 83b6b5beec6..c6c248be3ce 100644 --- a/addons/product/pricelist_view.xml +++ b/addons/product/pricelist_view.xml @@ -208,5 +208,11 @@ <field name="view_type">form</field> <field name="view_mode">tree,form</field> </record> + + <menuitem + action="product_pricelist_type_action" id="menu_product_pricelist_type_action2" + parent="product.menu_product_pricelist_main" sequence="2" + groups="base.group_extended"/> + </data> </openerp> diff --git a/addons/product/product.py b/addons/product/product.py index c55105a1b16..7c0cf118ce2 100644 --- a/addons/product/product.py +++ b/addons/product/product.py @@ -53,7 +53,7 @@ def check_ean(eancode): evensum += int(finalean[i]) total=(oddsum * 3) + evensum - check = int(10 - math.ceil(total % 10.0)) + check = int(10 - math.ceil(total % 10.0)) %10 if check != int(eancode[-1]): return False @@ -524,9 +524,9 @@ class product_product(osv.osv): if sellers: for s in sellers: mydict = { - 'id': product.id, - 'name': s.product_name or product.name, - 'default_code': s.product_code or product.default_code, + 'id': product.id, + 'name': s.product_name or product.name, + 'default_code': s.product_code or product.default_code, 'variants': product.variants } result.append(_name_get(mydict)) @@ -724,7 +724,8 @@ class product_supplierinfo(osv.osv): 'qty': lambda *a: 0.0, 'sequence': lambda *a: 1, 'delay': lambda *a: 1, - 'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'product.supplierinfo', context=c) + 'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'product.supplierinfo', context=c), + 'product_uom': _get_uom_id, } def _check_uom(self, cr, uid, ids, context=None): for supplier_info in self.browse(cr, uid, ids, context=context): diff --git a/addons/profile_tools/installer.py b/addons/profile_tools/installer.py index 6c0d03e2ddb..6f68b63cc02 100644 --- a/addons/profile_tools/installer.py +++ b/addons/profile_tools/installer.py @@ -31,7 +31,7 @@ class misc_tools_installer(osv.osv_memory): 'idea':fields.boolean('Ideas Box',help='Promote ideas of the employees, votes and discussion on best ideas.'), 'share':fields.boolean('Web Share',help='Allows you to give restricted access to your OpenERP documents to external users, ' \ 'such as customers, suppliers, or accountants. You can share any OpenERP Menu such as your project tasks, support requests, invoices, etc.'), - 'pad': fields.boolean('Native pad integration', + 'pad': fields.boolean('Collaborative Note Pads', help="This module creates a tighter integration between a Pad " "instance of your choosing and your OpenERP Web Client by " "letting you easily link pads to OpenERP objects via " diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py index 4640ea8fa48..c8dbcdf0dcd 100644 --- a/addons/project_long_term/project_long_term.py +++ b/addons/project_long_term/project_long_term.py @@ -105,8 +105,8 @@ class project_phase(osv.osv): _columns = { 'name': fields.char("Name", size=64, required=True), - 'date_start': fields.date('Start Date', help="Starting Date of the phase", states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}), - 'date_end': fields.date('End Date', help="Ending Date of the phase", states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}), + 'date_start': fields.date('Start Date', help="It's computed according to the phases order : the start date of the 1st phase is set by you while the other start dates depend on the end date of their previous phases", states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}), + 'date_end': fields.date('End Date', help=" It's computed by the scheduler according to the start date and the duration.", states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}), 'constraint_date_start': fields.date('Minimum Start Date', help='force the phase to start after this date', states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}), 'constraint_date_end': fields.date('Deadline', help='force the phase to finish before this date', states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}), 'project_id': fields.many2one('project.project', 'Project', required=True), @@ -144,13 +144,6 @@ class project_phase(osv.osv): result['date_start'] = project_id.date_start return {'value': result} - def onchange_days(self, cr, uid, ids, project, context=None): - result = {} - for id in ids: - project_id = self.browse(cr, uid, id, context=context) - newdate = datetime.strptime(project_id.date_start, '%Y-%m-%d') + relativedelta(days=project_id.duration or 0.0) - result['date_end'] = newdate.strftime('%Y-%m-%d') - return {'value': result} def _check_date_start(self, cr, uid, phase, date_end, context=None): """ @@ -192,55 +185,6 @@ class project_phase(osv.osv): dt_end = work_times[-1][1].strftime('%Y-%m-%d') self.write(cr, uid, [phase.id], {'date_start': date_start.strftime('%Y-%m-%d'), 'date_end': dt_end}, context=context) - def write(self, cr, uid, ids, vals, context=None): - resource_calendar_obj = self.pool.get('resource.calendar') - resource_obj = self.pool.get('resource.resource') - uom_obj = self.pool.get('product.uom') - if context is None: - context = {} - res = super(project_phase, self).write(cr, uid, ids, vals, context=context) - if context.get('scheduler',False): - return res - # Consider calendar and efficiency if the phase is performed by a resource - # otherwise consider the project's working calendar - - #TOCHECK : why need this ? - if isinstance(ids, (int, long)): - ids = [ids] - default_uom_id = self._get_default_uom_id(cr, uid) - for phase in self.browse(cr, uid, ids, context=context): - calendar_id = phase.project_id.resource_calendar_id and phase.project_id.resource_calendar_id.id or False - resource_id = resource_obj.search(cr, uid, [('user_id', '=', phase.responsible_id.id)],context=context) - if resource_id: - cal_id = resource_obj.browse(cr, uid, resource_id[0], context=context).calendar_id.id - if cal_id: - calendar_id = cal_id - - avg_hours = uom_obj._compute_qty(cr, uid, phase.product_uom.id, phase.duration, default_uom_id) - # Change the date_start and date_end - # for previous and next phases respectively based on valid condition - if vals.get('date_start', False) and vals['date_start'] < phase.date_start: - dt_start = datetime.strptime(vals['date_start'], '%Y-%m-%d') - work_times = resource_calendar_obj.interval_get(cr, uid, calendar_id, dt_start, avg_hours or 0.0, resource_id and resource_id[0] or False) - if work_times: - vals['date_end'] = work_times[-1][1].strftime('%Y-%m-%d') - for prv_phase in phase.previous_phase_ids: - if prv_phase.id == phase.id: - continue - self._check_date_start(cr, uid, prv_phase, dt_start, context=context) - - if vals.get('date_end', False) and vals['date_end'] > phase.date_end: - dt_end = datetime.strptime(vals['date_end'], '%Y-%m-%d') - work_times = resource_calendar_obj.interval_min_get(cr, uid, calendar_id, dt_end, avg_hours or 0.0, resource_id and resource_id[0] or False) - if work_times: - vals['date_start'] = work_times[0][0].strftime('%Y-%m-%d') - for next_phase in phase.next_phase_ids: - if next_phase.id == phase.id: - continue - self._check_date_end(cr, uid, next_phase, dt_end, context=context) - - return res - def copy(self, cr, uid, id, default=None, context=None): if default is None: default = {} @@ -282,25 +226,29 @@ class project_phase(osv.osv): res[phase.id] = resource_objs return res - def generate_schedule(self, cr, uid, ids, start_date, calendar_id=False, context=None): + def generate_schedule(self, cr, uid, ids, start_date=False, calendar_id=False, context=None): """ Schedule phase with the start date till all the next phases are completed. - @param: start_dsate : start date for the phase + @param: start_date (datetime.datetime) : start date for the phase. It would be either Start date of phase or start date of project or system current date @param: calendar_id : working calendar of the project """ if context is None: context = {} resource_pool = self.pool.get('resource.resource') + data_pool = self.pool.get('ir.model.data') resource_allocation_pool = self.pool.get('project.resource.allocation') uom_pool = self.pool.get('product.uom') - default_uom_id = self._get_default_uom_id(cr, uid) + data_model, day_uom_id = data_pool.get_object_reference(cr, uid, 'product', 'uom_day') for phase in self.browse(cr, uid, ids, context=context): if not phase.responsible_id: raise osv.except_osv(_('No responsible person assigned !'),_("You must assign a responsible person for phase '%s' !") % (phase.name,)) + if not start_date: + start_date = phase.project_id.date_start or phase.date_start or datetime.now().strftime("%Y-%m-%d") + start_date = datetime.strftime((datetime.strptime(start_date, "%Y-%m-%d")), "%Y-%m-%d") phase_resource_obj = resource_pool.generate_resources(cr, uid, [phase.responsible_id.id], calendar_id, context=context) - avg_hours = uom_pool._compute_qty(cr, uid, phase.product_uom.id, phase.duration, default_uom_id) - duration = str(avg_hours) + 'H' + avg_days = uom_pool._compute_qty(cr, uid, phase.product_uom.id, phase.duration, day_uom_id) + duration = str(avg_days) + 'd' # Create a new project for each phase def Project(): # If project has working calendar then that @@ -308,14 +256,17 @@ class project_phase(osv.osv): start = start_date minimum_time_unit = 1 resource = phase_resource_obj + working_hours_per_day = 24 + vacation = [] if calendar_id: - working_days = resource_pool.compute_working_calendar(cr, uid, calendar_id, context=context) + working_hours_per_day = 8 #TODO: it should be come from calendars vacation = tuple(resource_pool.compute_vacation(cr, uid, calendar_id)) - + working_days = resource_pool.compute_working_calendar(cr, uid, calendar_id, context=context) def phase(): effort = duration project = Task.BalancedProject(Project) + s_date = project.phase.start.to_datetime() e_date = project.phase.end.to_datetime() # Recalculate date_start and date_end @@ -368,7 +319,7 @@ class project_phase(osv.osv): start_date = datetime.now().strftime("%Y-%m-%d") resources = resources_list.get(phase.id, []) calendar_id = phase.project_id.resource_calendar_id.id - task_ids = map(lambda x : x.id, (filter(lambda x : x.state in ['open', 'draft', 'pending'] , phase.task_ids))) + task_ids = map(lambda x : x.id, (filter(lambda x : x.state in ['draft'] , phase.task_ids))) #reassign only task not yet started if task_ids: task_pool.generate_schedule(cr, uid, task_ids, resources, calendar_id, start_date, context=context) @@ -440,12 +391,9 @@ class project(osv.osv): ('state', 'in', ['draft', 'open', 'pending']), ('previous_phase_ids', '=', False) ]) - start_date = project.date_start - if not start_date: - start_date = datetime.now().strftime("%Y-%m-%d") - start_dt = datetime.strftime((datetime.strptime(start_date, "%Y-%m-%d")), "%Y-%m-%d %H:%M") calendar_id = project.resource_calendar_id and project.resource_calendar_id.id or False - phase_pool.generate_schedule(cr, uid, phase_ids, start_dt, calendar_id, context=context) + start_date = False + phase_pool.generate_schedule(cr, uid, phase_ids, start_date, calendar_id, context=context) return True def schedule_tasks(self, cr, uid, ids, context=None): @@ -507,6 +455,7 @@ class project_task(osv.osv): """ Schedule the tasks according to resource available and priority. """ + resource_pool = self.pool.get('resource.resource') if not ids: return False if context is None: @@ -535,11 +484,14 @@ class project_task(osv.osv): try: resource = reduce(operator.or_, resources) except: - raise osv.except_osv(_('Error'), _('Should have Resources Allocation or Project Members!')) + raise osv.except_osv(_('Error'), _('Resources should be allocated to your phases and Members should be assigned to your Project!')) minimum_time_unit = 1 - if calendar_id: # If project has working calendar - working_days = resource_pool.compute_working_calendar(cr, uid, calendar_id, context=context) + working_hours_per_day = 24 + vacation = [] + if calendar_id: + working_hours_per_day = 8 #TODO: it should be come from calendars vacation = tuple(resource_pool.compute_vacation(cr, uid, calendar_id, context=context)) + working_days = resource_pool.compute_working_calendar(cr, uid, calendar_id, context=context) # Dynamic creation of tasks task_number = 0 for openobect_task in self.browse(cr, uid, ids, context=context): diff --git a/addons/project_long_term/project_long_term_view.xml b/addons/project_long_term/project_long_term_view.xml index 37813f84946..7eaed6e120c 100644 --- a/addons/project_long_term/project_long_term_view.xml +++ b/addons/project_long_term/project_long_term_view.xml @@ -63,7 +63,7 @@ <field name="resource_id"/> <field name="phase_id"/> <field name="project_id"/> - <field name="useability"/> + <field name="useability" string="Availability"/> </tree> </field> </record> @@ -117,7 +117,7 @@ </group> <group colspan="6" col="6"> <field name="date_start"/> - <field name="duration" on_change="onchange_days(project_id)" /> + <field name="duration"/> <field name="product_uom" nolabel="1" domain="[('category_id.name', '=', 'Working Time')]"/> <field name="date_end"/> </group> @@ -127,15 +127,15 @@ <field colspan="4" name="resource_ids" nolabel="1"> <tree editable="bottom" string="Project Resource Allocation"> <field name="resource_id" context="{'project_id':parent.project_id}"/> - <field name="date_start"/> - <field name="date_end"/> - <field name="useability"/> + <field name="date_start" readonly="1"/> + <field name="date_end" readonly="1"/> + <field name="useability" string="Availability"/> </tree> <form string="Project Resource Allocation"> <field name="resource_id" context="{'project_id':parent.project_id}"/> - <field name="date_start"/> - <field name="date_end"/> - <field name="useability"/> + <field name="date_start" readonly="1"/> + <field name="date_end" readonly="1"/> + <field name="useability" string="Availability"/> </form> </field> <separator string="" colspan="4"/> @@ -148,15 +148,17 @@ <button string="Start Phase" name="set_open" states="pending,draft" icon="gtk-execute"/> </group> </page> - <page string="Task Detail"> - <field colspan="4" name="task_ids" context="{'default_project_id' :project_id}" nolabel="1"> - <tree editable="bottom" string="Project's Tasks"> + <page string="Tasks Details"> + <field colspan="4" name="task_ids" readonly="1" context="{'default_project_id' :project_id}" nolabel="1"> + <tree string="Project's Tasks"> <field name="sequence"/> <field name="name"/> <field name="user_id"/> <field name="planned_hours" widget="float_time"/> <field name="project_id" invisible="1"/> <field name="total_hours" sum='Total Hours'/> + <field name="remaining_hours" widget="float_time" sum="Remaining Hours"/> + <field name="state"/> </tree> <form string="Project's Tasks"> <notebook colspan="4"> @@ -165,6 +167,7 @@ <field name="name"/> <field name="project_id"/> <field name="user_id"/> + <field name="sequence"/> </group> <group colspan="2" col="2"> <separator string="Dates" colspan="2"/> @@ -175,7 +178,7 @@ <separator string="Planning" colspan="2"/> <field name="planned_hours" widget="float_time"/> <field name="total_hours" widget="float_time"/> - <field name="remaining_hours" widget="float_time" sum="Remaining Hours"/> + <field name="remaining_hours" widget="float_time"/> <field name="effective_hours" invisible="1"/> </group> <group colspan="6" col="4"> diff --git a/addons/project_long_term/wizard/project_compute_phases.py b/addons/project_long_term/wizard/project_compute_phases.py index 351297384fd..c07f1ae81be 100644 --- a/addons/project_long_term/wizard/project_compute_phases.py +++ b/addons/project_long_term/wizard/project_compute_phases.py @@ -65,10 +65,11 @@ class project_compute_phases(osv.osv_memory): context = {} mod_obj = self.pool.get('ir.model.data') act_obj = self.pool.get('ir.actions.act_window') - result = mod_obj._get_id(cr, uid, 'project_long_term', 'act_project_phase_list') + result = mod_obj._get_id(cr, uid, 'project_long_term', 'act_project_phase') id = mod_obj.read(cr, uid, [result], ['res_id'])[0]['res_id'] result = act_obj.read(cr, uid, [id], context=context)[0] - result['context'] = {"search_default_project_id":data['project_id'], "search_default_responsible_id":uid, "search_default_current": 1} + result['target'] = 'current' + result['context'] = {"search_default_project_id":data['project_id'], "default_project_id":data['project_id'], "search_default_responsible_id":uid, "search_default_current": 1} return result project_compute_phases() diff --git a/addons/project_long_term/wizard/project_compute_tasks.py b/addons/project_long_term/wizard/project_compute_tasks.py index 0d5fa22e6a8..658350a27d2 100644 --- a/addons/project_long_term/wizard/project_compute_tasks.py +++ b/addons/project_long_term/wizard/project_compute_tasks.py @@ -50,13 +50,13 @@ class project_compute_tasks(osv.osv_memory): context = {} mod_obj = self.pool.get('ir.model.data') act_obj = self.pool.get('ir.actions.act_window') - result = mod_obj._get_id(cr, uid, 'project', 'action_view_task') + result = mod_obj._get_id(cr, uid, 'project_long_term', 'act_resouce_allocation') id = mod_obj.read(cr, uid, [result], ['res_id'])[0]['res_id'] result = {} if not id: return result result = act_obj.read(cr, uid, [id], context=context)[0] - result['context'] = {"search_default_project_id":data['project_id'], "search_default_user_id":uid, "search_default_current": 1} + result['target'] = 'current' return result project_compute_tasks() diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml index b5518fee139..359810fb306 100644 --- a/addons/purchase/purchase_view.xml +++ b/addons/purchase/purchase_view.xml @@ -12,13 +12,42 @@ groups="group_purchase_manager" parent="base.menu_purchase_root" sequence="100"/> + <menuitem + id="menu_purchase_config_pricelist" name="Pricelists" + parent="menu_purchase_config_purchase" sequence="50"/> + <menuitem action="product.product_pricelist_action" id="menu_product_pricelist_action_purhase" - parent="menu_purchase_config_purchase" sequence="2"/> + parent="menu_purchase_config_pricelist" sequence="20"/> <menuitem action="product.product_pricelist_action2" id="menu_product_pricelist_action2_purchase" - parent="menu_purchase_config_purchase" sequence="1"/> + parent="menu_purchase_config_pricelist" sequence="10"/> + + <menuitem + action="product.product_pricelist_type_action" id="menu_purchase_product_pricelist_type" + parent="menu_purchase_config_pricelist" sequence="2" + groups="base.group_extended"/> + + <menuitem + id="menu_product_in_config_purchase" name="Product" + parent="menu_purchase_config_purchase" sequence="30"/> + + <menuitem + action="product.product_category_action_form" id="menu_product_category_config_purchase" + parent="purchase.menu_product_in_config_purchase" sequence="10"/> + + <menuitem + id="menu_purchase_unit_measure_purchase" name="Units of Measure" + parent="purchase.menu_product_in_config_purchase" sequence="20"/> + + <menuitem + action="product.product_uom_categ_form_action" id="menu_purchase_uom_categ_form_action" + parent="menu_purchase_unit_measure_purchase" sequence="30"/> + + <menuitem + action="product.product_uom_form_action" id="menu_purchase_uom_form_action" + parent="menu_purchase_unit_measure_purchase" sequence="30"/> <!--supplier addresses action--> @@ -84,6 +113,10 @@ <!--product menu--> <menuitem id="menu_procurement_management_product" name="Products" parent="base.menu_purchase_root" sequence="8"/> + + <menuitem name="Products by Category" id="menu_product_by_category_purchase_form" action="product.product_category_action" + parent="menu_procurement_management_product" sequence="10"/> + <menuitem name="Products" id="menu_procurement_partner_contact_form" action="product.product_normal_action_puchased" parent="menu_procurement_management_product"/> @@ -100,7 +133,7 @@ </calendar> </field> </record> - <record model="ir.ui.view" id="view_purchase_order_graph"> + <record model="ir.ui.view" id="purchase_order_graph"> <field name="name">purchase.order.graph</field> <field name="model">purchase.order</field> <field name="type">graph</field> @@ -156,7 +189,7 @@ <field name="state" readonly="1"/> <button name="purchase_cancel" states="draft,confirmed,wait_auth" string="Cancel" icon="gtk-cancel"/> <button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="gtk-convert"/> - <button name="action_cancel" states="approved,except_picking,except_invoice" string="Cancel Purchase Order" type="object" icon="gtk-cancel"/> + <button name="action_cancel" states="approved,except_picking,except_invoice,wait" string="Cancel Purchase Order" type="object" icon="gtk-cancel"/> <button name="picking_ok" states="except_picking" string="Manually Corrected" icon="gtk-convert"/> <button name="invoice_ok" states="except_invoice" string="Manually Corrected" icon="gtk-convert"/> <button name="purchase_confirm" states="draft" string="Convert to Purchase Order" icon="gtk-go-forward"/> @@ -206,7 +239,7 @@ <separator orientation="vertical"/> <filter icon="terp-emblem-important" name="exception" string="Exception" domain="[('state','in',('except_invoice','except_picking'))]" separator="1" help="Purchase order which are in the exception state"/> <separator orientation="vertical"/> - <filter icon="terp-gtk-go-back-rtl" string="To be Invoiced" domain="[('invoiced','=',1)]" separator="1" help="Purchase order to be invoiced"/> + <filter icon="terp-gtk-go-back-rtl" string="Not Invoiced" domain="[('invoice_ids','=', False)]" separator="1" help="Purchase orders that include lines not invoiced." groups="base.group_extended"/> <separator orientation="vertical"/> <field name="name" select="1" string="Reference"/> <field name="partner_id" select="1"/> @@ -257,10 +290,11 @@ <field name="context">{'search_default_draft': 1}</field> <field name="view_mode">tree,form,graph,calendar</field> <field name="search_view_id" ref="view_purchase_order_filter"/> - <field name="help">With the Requests for Quotation menu you can create new requests for quotations, review existing ones or turn them into a purchase order once the supplier offer is approved. When you confirm a RfQ, OpenERP will convert it to a Purchase Order and generate the next steps: draft reception of the products, draft invoice to control.</field> + <field name="help">You can create a request for quotation when you want to buy products to a supplier but the purchase is not confirmed yet. Use also this menu to review requests for quotation created automatically based on your logistic rules (minimum stock, MTO, etc). You can convert the request for quotation into a purchase order once the order is confirmed. If you use the extended interface (from user's preferences), you can select the way to control your supplier invoices: based on the order, based on the receptions or manual encoding.</field> </record> - <menuitem action="purchase_rfq" id="menu_purchase_rfq" parent="menu_procurement_management" - sequence="6"/> + <menuitem action="purchase_rfq" id="menu_purchase_rfq" + parent="menu_procurement_management" + sequence="6"/> <record id="purchase_form_action" model="ir.actions.act_window"> <field name="name">Purchase Orders</field> @@ -269,8 +303,7 @@ <field name="view_mode">tree,form,graph,calendar</field> <field name="context">{'search_default_approved': 1,'search_default_create_uid':uid}</field> <field name="search_view_id" ref="view_purchase_order_filter"/> - <field name="help">From the Purchase Orders menu, you can track the status of your orders: products received, invoice received and controlled. -</field> + <field name="help">Use this menu to search within your purchase orders by references, supplier, products, etc. For each purchase order, you can track the products received, and control the supplier invoices.</field> </record> <menuitem action="purchase_form_action" id="menu_purchase_form_action" parent="menu_procurement_management" /> diff --git a/addons/purchase/report/order.rml b/addons/purchase/report/order.rml index c12a04b586f..4b143d0f961 100644 --- a/addons/purchase/report/order.rml +++ b/addons/purchase/report/order.rml @@ -352,7 +352,7 @@ <para style="terp_default_9">Taxes :</para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(o.amount_tax, digits=get_digits(dp='Purchase Price')) ]] [[ o.pricelist_id.currency_id. symbol ]]</para> + <para style="terp_default_Right_9">[[ formatLang(o.amount_tax, dp='Purchase Price') ]] [[ o.pricelist_id.currency_id. symbol ]]</para> </td> </tr> <tr> diff --git a/addons/purchase/report/purchase_report.py b/addons/purchase/report/purchase_report.py index 8c5510852ca..6b68cecf1a5 100644 --- a/addons/purchase/report/purchase_report.py +++ b/addons/purchase/report/purchase_report.py @@ -103,9 +103,10 @@ class purchase_report(osv.osv): extract(epoch from age(l.date_planned,s.date_order))/(24*60*60)::decimal(16,2) as delay_pass, count(*) as nbr, (l.price_unit*l.product_qty*u.factor)::decimal(16,2) as price_total, - avg(100.0 * (l.price_unit*l.product_qty*u.factor) / (t.standard_price*l.product_qty*u.factor))::decimal(16,2) as negociation, + avg(100.0 * (l.price_unit*l.product_qty*u.factor) / NULLIF(t.standard_price*l.product_qty*u.factor, 0.0))::decimal(16,2) as negociation, + sum(t.standard_price*l.product_qty*u.factor)::decimal(16,2) as price_standard, - (sum(l.product_qty*l.price_unit)/sum(l.product_qty/u.factor))::decimal(16,2) as price_average + (sum(l.product_qty*l.price_unit)/NULLIF(sum(l.product_qty*u.factor),0.0))::decimal(16,2) as price_average from purchase_order s left join purchase_order_line l on (s.id=l.order_id) left join product_product p on (l.product_id=p.id) diff --git a/addons/purchase/wizard/purchase_line_invoice.py b/addons/purchase/wizard/purchase_line_invoice.py index f22df7aef41..3ff0ee53b6e 100644 --- a/addons/purchase/wizard/purchase_line_invoice.py +++ b/addons/purchase/wizard/purchase_line_invoice.py @@ -19,8 +19,6 @@ # ############################################################################## -import netsvc -import ir from osv import osv from tools.translate import _ @@ -52,7 +50,6 @@ class purchase_line_invoice(osv.osv_memory): invoices = {} invoice_obj=self.pool.get('account.invoice') purchase_line_obj=self.pool.get('purchase.order.line') - purchase_obj = self.pool.get('purchase.order') property_obj=self.pool.get('ir.property') account_fiscal_obj=self.pool.get('account.fiscal.position') invoice_line_obj=self.pool.get('account.invoice.line') diff --git a/addons/purchase_double_validation/__init__.py b/addons/purchase_double_validation/__init__.py new file mode 100644 index 00000000000..989850585bf --- /dev/null +++ b/addons/purchase_double_validation/__init__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +############################################################################## + +import purchase_double_validation_installer + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/purchase_double_validation/__openerp__.py b/addons/purchase_double_validation/__openerp__.py new file mode 100644 index 00000000000..ca21dfc6077 --- /dev/null +++ b/addons/purchase_double_validation/__openerp__.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +############################################################################## + +{ + "name" : "purchase_double_validation", + "version" : "1.1", + "category": 'Generic Modules/Sales & Purchases', + "depends" : ["base","purchase"], + "author" : 'OpenERP SA', + "description": """ + This module modifies the purchase workflow in order to validate purchases 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' + ], + 'demo_xml': [], + 'installable': True, + 'active': False, + +} diff --git a/addons/purchase_double_validation/purchase_double_validation_installer.py b/addons/purchase_double_validation/purchase_double_validation_installer.py new file mode 100644 index 00000000000..4dc73b45fcb --- /dev/null +++ b/addons/purchase_double_validation/purchase_double_validation_installer.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +############################################################################## + +import time +from osv import fields, osv + +class purchase_double_validation_installer(osv.osv_memory): + _name = 'purchase.double.validation.installer' + _inherit = 'res.config' + _columns = { + 'limit_amount': fields.integer('Maximum Purchase Amount', required=True, help="Maximum amount after which validation of purchase is required."), + } + + _defaults = { + 'limit_amount': 5000, + } + + def execute(self, cr, uid, ids, context=None): + data = self.read(cr, uid, ids, context=context) + if not data: + return {} + amt = data[0]['limit_amount'] + data_pool = self.pool.get('ir.model.data') + transition_obj = self.pool.get('workflow.transition') + waiting = data_pool._get_id(cr, uid, 'purchase', 'trans_confirmed_router') + waiting_id = data_pool.browse(cr, uid, waiting, context=context).res_id + confirm = data_pool._get_id(cr, uid, 'purchase_double_validation', 'trans_waiting_confirmed') + confirm_id = data_pool.browse(cr, uid, confirm, context=context).res_id + transition_obj.write(cr, uid, waiting_id, {'condition': 'amount_total>=%s' % (amt)}) + transition_obj.write(cr, uid, confirm_id, {'condition': 'amount_total<%s' % (amt)}) + return {} + +purchase_double_validation_installer() + + + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: + diff --git a/addons/purchase_double_validation/purchase_double_validation_installer.xml b/addons/purchase_double_validation/purchase_double_validation_installer.xml new file mode 100644 index 00000000000..c3369f68554 --- /dev/null +++ b/addons/purchase_double_validation/purchase_double_validation_installer.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="utf-8"?> +<openerp> + <data> + <!-- configartion view --> + + <record id="view_config_purchase_limit_amount" model="ir.ui.view"> + <field name="name">Configure Limit Amount for Purchase</field> + <field name="model">purchase.double.validation.installer</field> + <field name="type">form</field> + <field name="inherit_id" ref="base.res_config_view_base"/> + <field name="arch" type="xml"> + <data> + <form position="attributes"> + <attribute name="string">Purchase Application Configuration</attribute> + </form> + <separator string="title" position="attributes"> + <attribute name="string">Configure Limit Amount for Purchase</attribute> + </separator> + <xpath expr="//label[@string='description']" position="attributes"> + <attribute name="string">Define minimum amount after which puchase is needed to be validated.</attribute> + </xpath> + <xpath expr='//separator[@string="vsep"]' position='attributes'> + <attribute name='rowspan'>15</attribute> + <attribute name='string'></attribute> + </xpath> + <group string="res_config_contents" position="replace"> + <field name="limit_amount"/> + <newline/> + </group> + </data> + </field> + </record> + + <record id="action_config_purchase_limit_amount" model="ir.actions.act_window"> + <field name="name">Configure Limit Amount for Purchase</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">purchase.double.validation.installer</field> + <field name="view_id" ref="view_config_purchase_limit_amount"/> + <field name="view_type">form</field> + <field name="view_mode">form</field> + <field name="target">new</field> + </record> + + <!-- register configuration wizard --> + <record id="config_wizard_step_purchase_limit_amount" model="ir.actions.todo"> + <field name="action_id" ref="action_config_purchase_limit_amount"/> + <field name="restart">onskip</field> + </record> + + </data> +</openerp> diff --git a/addons/purchase_double_validation/purchase_double_validation_workflow.xml b/addons/purchase_double_validation/purchase_double_validation_workflow.xml new file mode 100644 index 00000000000..b4005133b60 --- /dev/null +++ b/addons/purchase_double_validation/purchase_double_validation_workflow.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<openerp> + <data> + + <record id="purchase.trans_confirmed_router" model="workflow.transition"> + <field name="condition">amount_untaxed >= 1000</field> + <field name="signal">purchase_approve</field> + <field name="group_id" ref="purchase.group_purchase_manager"/> + </record> + + <record id="trans_waiting_confirmed" model="workflow.transition"> + <field name="act_from" ref="purchase.act_confirmed"/> + <field name="act_to" ref="purchase.act_router"/> + <field name="condition">amount_untaxed < 1000</field> + </record> + + </data> +</openerp> diff --git a/addons/resource/__openerp__.py b/addons/resource/__openerp__.py index 82d68f53ef4..9b9f6c7ca89 100644 --- a/addons/resource/__openerp__.py +++ b/addons/resource/__openerp__.py @@ -28,7 +28,7 @@ "description": """ Module for resource management A resource represent something that can be scheduled - (a developer on a task or a workcenter on manufacturing orders). + (a developer on a task or a work center on manufacturing orders). This module manages a resource calendar associated to every resource. It also manages the leaves of every resource. diff --git a/addons/resource/resource.py b/addons/resource/resource.py index 19ece464eaf..30def0c2e16 100644 --- a/addons/resource/resource.py +++ b/addons/resource/resource.py @@ -229,7 +229,7 @@ class resource_resource(osv.osv): 'resource_type': fields.selection([('user','Human'),('material','Material')], 'Resource Type', required=True), 'user_id' : fields.many2one('res.users', 'User', help='Related user name for the resource to manage its access.'), 'time_efficiency' : fields.float('Efficiency factor', size=8, required=True, help="This field depict the efficiency of the resource to complete tasks. e.g resource put alone on a phase of 5 days with 5 tasks assigned to him, will show a load of 100% for this phase by default, but if we put a efficency of 200%, then his load will only be 50%."), - 'calendar_id' : fields.many2one("resource.calendar", "Working time", help="Define the schedule of resource"), + 'calendar_id' : fields.many2one("resource.calendar", "Working Period", help="Define the schedule of resource"), } _defaults = { 'resource_type' : 'user', @@ -299,11 +299,15 @@ class resource_resource(osv.osv): leave_list.sort() return leave_list - def compute_working_calendar(cr, uid, calendar_id, context=None): + def compute_working_calendar(self, cr, uid, calendar_id=False, context=None): """ Change the format of working calendar from 'Openerp' format to bring it into 'Faces' format. @param calendar_id : working calendar of the project """ + if not calendar_id: + # Calendar is not specified: working days: 24/7 + return [('fri', '1:0-12:0','12:0-24:0'), ('thu', '1:0-12:0','12:0-24:0'), ('wed', '1:0-12:0','12:0-24:0'), + ('mon', '1:0-12:0','12:0-24:0'), ('tue', '1:0-12:0','12:0-24:0'), ('sat', '1:0-12:0','12:0-24:0'), ('sun', '1:0-12:0','12:0-24:0')] resource_attendance_pool = self.pool.get('resource.calendar.attendance') time_range = "8:00-8:00" non_working = "" @@ -321,8 +325,8 @@ class resource_resource(osv.osv): if week_days.has_key(week['dayofweek']): day = week_days[week['dayofweek']] wk_days[week['dayofweek']] = week_days[week['dayofweek']] - hour_from_str = convert_timeformat(cr, uid, week['hour_from']) - hour_to_str = convert_timeformat(cr, uid, week['hour_to']) + hour_from_str = convert_timeformat(week['hour_from']) + hour_to_str = convert_timeformat(week['hour_to']) res_str = hour_from_str + '-' + hour_to_str wktime_list.append((day, res_str)) # Convert into format like [('mon', '8:00-12:00', '13:00-18:00')] diff --git a/addons/resource/resource_view.xml b/addons/resource/resource_view.xml index 61b14c3614d..424955d0584 100644 --- a/addons/resource/resource_view.xml +++ b/addons/resource/resource_view.xml @@ -26,7 +26,7 @@ <separator orientation="vertical" groups="base.group_multi_company"/> <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> <separator orientation="vertical" /> - <filter string="Working Time" icon="terp-go-today" domain="[]" context="{'group_by':'calendar_id'}"/> + <filter string="Working Period" icon="terp-go-today" domain="[]" context="{'group_by':'calendar_id'}"/> </group> </search> </field> @@ -57,7 +57,7 @@ <field name="name" string="Reason"/> <field name="resource_id" string="Resource"/> <field name="company_id" string="Company" widget="selection" groups="base.group_multi_company"/> - <field name="calendar_id" string="Working Time" widget="selection"/> + <field name="calendar_id" string="Working Period" widget="selection"/> </group> <newline/> <group expand="0" string="Group By..." colspan="4" col="20"> @@ -179,7 +179,7 @@ </group> <notebook colspan="4"> <page string="General Information"> - <field name="calendar_id" widget="selection"/> + <field name="calendar_id" string="Working Period"/> <field name="time_efficiency" groups="base.group_extended"/> </page> </notebook> @@ -197,7 +197,7 @@ <field name="user_id" /> <field name="company_id" groups="base.group_multi_company"/> <field name="resource_type" /> - <field name="calendar_id" /> + <field name="calendar_id" string="Working Period"/> <field name="time_efficiency" groups="base.group_extended"/> </tree> </field> @@ -225,7 +225,7 @@ </group> <group colspan="2" col="2"> <field name="date_from"/> - <field name="calendar_id"/> + <field name="calendar_id" string="Working Period"/> <field name="company_id" widget="selection" groups="base.group_multi_company"/> </group> <group colspan="2" col="2"> diff --git a/addons/sale/report/sale_order.rml b/addons/sale/report/sale_order.rml index d80b07fa06f..807e552cc80 100644 --- a/addons/sale/report/sale_order.rml +++ b/addons/sale/report/sale_order.rml @@ -334,7 +334,7 @@ <para style="terp_default_9">Net Total :</para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(o.amount_untaxed , digits=get_digits(dp='Sale Price')) ]] [[ o.pricelist_id.currency_id. symbol ]]</para> + <para style="terp_default_Right_9">[[ formatLang(o.amount_untaxed, dp='Sale Price') ]] [[ o.pricelist_id.currency_id.symbol ]]</para> </td> </tr> <tr> @@ -347,7 +347,7 @@ <para style="terp_default_9">Taxes :</para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(o.amount_tax , digits=get_digits(dp='Sale Price')) ]] [[ o.pricelist_id.currency_id. symbol ]]</para> + <para style="terp_default_Right_9">[[ formatLang(o.amount_tax, dp='Sale Price') ]] [[ o.pricelist_id.currency_id.symbol ]]</para> </td> </tr> <tr> @@ -360,7 +360,7 @@ <para style="terp_default_Bold_9">Total :</para> </td> <td> - <para style="terp_default_Right_9_Bold">[[ formatLang(o.amount_total , digits=get_digits(dp='Sale Price')) ]] [[ o.pricelist_id.currency_id. symbol ]] </para> + <para style="terp_default_Right_9_Bold">[[ formatLang(o.amount_total, dp='Sale Price') ]] [[ o.pricelist_id.currency_id.symbol ]] </para> </td> </tr> </blockTable> diff --git a/addons/sale/report/sale_report.py b/addons/sale/report/sale_report.py index 546e88ce37a..aaaec228d7b 100644 --- a/addons/sale/report/sale_report.py +++ b/addons/sale/report/sale_report.py @@ -95,8 +95,8 @@ class sale_report(osv.osv): else u.name end) as uom_name, - sum(l.product_uom_qty/u.factor) as product_uom_qty, - sum(l.product_uom_qty*l.price_unit) as price_total, + sum(l.product_uom_qty * u.factor) as product_uom_qty, + sum(l.product_uom_qty * l.price_unit) as price_total, pt.categ_id, l.order_id from sale_order_line l ,product_uom u, product_product p, product_template pt diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 132f3cf2a5b..cac858d765b 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -705,6 +705,7 @@ class sale_order(osv.osv): #'state': 'waiting', 'note': line.notes, 'company_id': order.company_id.id, + 'returned_price': line.price_unit, }) if line.product_id: diff --git a/addons/stock/report/lot_overview.rml b/addons/stock/report/lot_overview.rml index d68010b35e6..1bb1b5990ca 100644 --- a/addons/stock/report/lot_overview.rml +++ b/addons/stock/report/lot_overview.rml @@ -181,10 +181,10 @@ <para style="terp_default_Right_9">[[formatLang( p['prod_qty']) ]] [[ p['uom'] ]]</para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(p['price']) ]]</para> + <para style="terp_default_Right_9">[[ formatLang(p['price'], dp='Account') ]]</para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(p['price_value']) ]] [[ o.company_id.currency_id.symbol]]</para> + <para style="terp_default_Right_9">[[ formatLang(p['price_value'], dp='Account') ]] [[ o.company_id.currency_id.symbol]]</para> </td> </tr> </blockTable> @@ -198,7 +198,7 @@ <para style="terp_default_Bold_9">Total:</para> </td> <td> - <para style="terp_tblheader_Details_Right">[[ formatLang(price_total()) ]] [[ o.company_id.currency_id.symbol ]]</para> + <para style="terp_tblheader_Details_Right">[[ formatLang(price_total(), dp='Account') ]] [[ o.company_id.currency_id.symbol ]]</para> </td> </tr> </blockTable> @@ -215,7 +215,7 @@ </para> </td> <td> - <para style="terp_tblheader_Details_Right">[[ formatLang(grand_total_price()) ]] [[ o.company_id.currency_id.symbol ]]</para> + <para style="terp_tblheader_Details_Right">[[ formatLang(grand_total_price(), dp='Account') ]] [[ o.company_id.currency_id.symbol ]]</para> </td> </tr> </blockTable> @@ -224,4 +224,4 @@ </para> </pto> </story> -</document>
\ No newline at end of file +</document> diff --git a/addons/stock/report/lot_overview_all.rml b/addons/stock/report/lot_overview_all.rml index e46a2966c38..d2e628152f0 100644 --- a/addons/stock/report/lot_overview_all.rml +++ b/addons/stock/report/lot_overview_all.rml @@ -181,10 +181,10 @@ <para style="terp_default_Right_9">[[formatLang( p['prod_qty']) ]] [[ p['uom'] ]]</para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(p['price']) ]]</para> + <para style="terp_default_Right_9">[[ formatLang(p['price'], dp='Account') ]]</para> </td> <td> - <para style="terp_default_Right_9">[[ formatLang(p['price_value']) ]] [[ o.company_id.currency_id.symbol]]</para> + <para style="terp_default_Right_9">[[ formatLang(p['price_value'], dp='Account') ]] [[ o.company_id.currency_id.symbol]]</para> </td> </tr> </blockTable> @@ -198,7 +198,7 @@ <para style="terp_default_Bold_9">Total:</para> </td> <td> - <para style="terp_tblheader_Details_Right">[[ formatLang(price_total()) ]] [[ o.company_id.currency_id.symbol ]]</para> + <para style="terp_tblheader_Details_Right">[[ formatLang(price_total(), dp='Account') ]] [[ o.company_id.currency_id.symbol ]]</para> </td> </tr> </blockTable> @@ -215,7 +215,7 @@ </para> </td> <td> - <para style="terp_tblheader_Details_Right">[[ formatLang(grand_total_price()) ]] [[ o.company_id.currency_id.symbol ]]</para> + <para style="terp_tblheader_Details_Right">[[ formatLang(grand_total_price(), dp='Account') ]] [[ o.company_id.currency_id.symbol ]]</para> </td> </tr> </blockTable> @@ -224,4 +224,4 @@ </para> </pto> </story> -</document>
\ No newline at end of file +</document> diff --git a/addons/stock/stock.py b/addons/stock/stock.py index d84ede039d3..fd041989d93 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -475,7 +475,10 @@ class stock_tracking(osv.osv): def make_sscc(self, cr, uid, context=None): sequence = self.pool.get('ir.sequence').get(cr, uid, 'stock.lot.tracking') - return sequence + str(self.checksum(sequence)) + try: + return sequence + str(self.checksum(sequence)) + except Exception: + return sequence _columns = { 'name': fields.char('Pack Reference', size=64, required=True, select=True), @@ -799,10 +802,11 @@ class stock_picking(osv.osv): move_ids = self.pool.get('stock.move').search(cr, uid, [('picking_id', 'in', ids)]) for move in self.pool.get('stock.move').browse(cr, uid, move_ids): if move.state not in ('done', 'cancel'): + if move.product_qty != 0.0: return False else: - move.write(cr, uid, [move.id], {'state': 'done'}) + move.write({'state': 'done'}) return True def test_assigned(self, cr, uid, ids): @@ -870,7 +874,7 @@ class stock_picking(osv.osv): @return {'contact': address, 'invoice': address} for invoice """ partner_obj = self.pool.get('res.partner') - partner = picking.address_id.partner_id + partner = (picking.purchase_id and picking.purchase_id.partner_id) or (picking.sale_id and picking.sale_id.partner_id) or picking.address_id.partner_id return partner_obj.address_get(cr, uid, [partner.id], ['contact', 'invoice']) @@ -973,7 +977,7 @@ class stock_picking(osv.osv): if picking.invoice_state != '2binvoiced': continue payment_term_id = False - partner = picking.address_id and picking.address_id.partner_id + partner = picking.address_id and picking.address_id.partner_id if not partner: raise osv.except_osv(_('Error, no partner !'), _('Please put a partner on the picking list if you want to generate invoice.')) @@ -1212,6 +1216,8 @@ class stock_picking(osv.osv): {'price_unit': product_price, 'price_currency_id': product_currency}) + if not move.returned_price: + move_obj.write(cr, uid, [move.id], {'returned_price': move.price_unit}) for move in too_few: product_qty = move_product_qty[move.id] @@ -1288,6 +1294,9 @@ class stock_picking(osv.osv): @param ids: List of Picking Ids @param context: A standard dictionary for contextual values """ + if context is None: + context = {} + data_obj = self.pool.get('ir.model.data') for pick in self.browse(cr, uid, ids, context=context): msg='' if pick.auto_picking: @@ -1297,6 +1306,11 @@ class stock_picking(osv.osv): 'in':_('Reception'), 'internal': _('Internal picking'), } + view_list = { + 'out': 'view_picking_out_form', + 'in': 'view_picking_in_form', + 'internal': 'view_picking_form', + } message = type_list.get(pick.type, _('Document')) + " '" + (pick.name or '?') + "' " if pick.min_date: msg= _(' for the ')+ datetime.strptime(pick.min_date, '%Y-%m-%d %H:%M:%S').strftime('%m/%d/%Y') @@ -1307,8 +1321,10 @@ class stock_picking(osv.osv): 'done': _('is done.'), 'draft':_('is in draft state.'), } + res = data_obj.get_object_reference(cr, uid, 'stock', view_list.get(pick.type, 'view_picking_form')) + context.update({'view_id': res and res[1] or False}) message += state_list[pick.state] - self.log(cr, uid, pick.id, message) + self.log(cr, uid, pick.id, message, context=context) return True stock_picking() @@ -1522,6 +1538,7 @@ class stock_move(osv.osv): # used for colors in tree views: 'scrapped': fields.related('location_dest_id','scrap_location',type='boolean',relation='stock.location',string='Scrapped', readonly=True), + 'returned_price': fields.float('Returned product price', digits_compute= dp.get_precision('Sale Price')), } _constraints = [ (_check_tracking, @@ -1752,7 +1769,8 @@ class stock_move(osv.osv): result.setdefault(m.picking_id, []) result[m.picking_id].append( (m, dest) ) return result - def _create_chained_picking(self, cr, uid, pick_name,picking,ptype,move, context=None): + + def _create_chained_picking(self, cr, uid, pick_name, picking, ptype, move, context=None): res_obj = self.pool.get('res.company') picking_obj = self.pool.get('stock.picking') pick_id= picking_obj.create(cr, uid, { @@ -1769,6 +1787,7 @@ class stock_move(osv.osv): 'date': picking.date, }) return pick_id + def action_confirm(self, cr, uid, ids, context=None): """ Confirms stock move. @return: List of ids. @@ -1784,11 +1803,18 @@ class stock_move(osv.osv): new_moves = [] if context is None: context = {} + seq_obj = self.pool.get('ir.sequence') for picking, todo in self._chain_compute(cr, uid, moves, context=context).items(): ptype = todo[0][1][5] and todo[0][1][5] or location_obj.picking_type_get(cr, uid, todo[0][0].location_dest_id, todo[0][1][0]) - pick_name = picking.name or '' if picking: - pickid = self._create_chained_picking(cr, uid, pick_name,picking,ptype,todo,context) + # name of new picking according to its type + new_pick_name = seq_obj.get(cr, uid, 'stock.picking.' + ptype) + pickid = self._create_chained_picking(cr, uid, new_pick_name, picking, ptype, todo, context=context) + # Need to check name of old picking because it always considers picking as "OUT" when created from Sale Order + old_ptype = location_obj.picking_type_get(cr, uid, picking.move_lines[0].location_id, picking.move_lines[0].location_dest_id) + if old_ptype != picking.type: + old_pick_name = seq_obj.get(cr, uid, 'stock.picking.' + old_ptype) + self.pool.get('stock.picking').write(cr, uid, picking.id, {'name': old_pick_name}, context=context) else: pickid = False for move, (loc, dummy, delay, dummy, company_id, ptype) in todo: @@ -1811,9 +1837,10 @@ class stock_move(osv.osv): if pickid: wf_service.trg_validate(uid, 'stock.picking', pickid, 'button_confirm', cr) if new_moves: - create_chained_picking(self, cr, uid, new_moves, context) - create_chained_picking(self, cr, uid, moves, context) - return [] + new_moves += create_chained_picking(self, cr, uid, new_moves, context) + return new_moves + all_moves = create_chained_picking(self, cr, uid, moves, context) + return all_moves def action_assign(self, cr, uid, ids, *args): """ Changes state to confirmed or waiting. @@ -2066,10 +2093,9 @@ class stock_move(osv.osv): if move.picking_id: picking_ids.append(move.picking_id.id) if move.move_dest_id.id and (move.state != 'done'): - self.write(cr, uid, [move.id], {'move_history_ids': [(4, move.move_dest_id.id)]}) - #cr.execute('insert into stock_move_history_ids (parent_id,child_id) values (%s,%s)', (move.id, move.move_dest_id.id)) + self.write(cr, uid, [move.id], {'stock_move_history_ids': [(4, move.move_dest_id.id)]}, context=context) if move.move_dest_id.state in ('waiting', 'confirmed'): - self.write(cr, uid, [move.move_dest_id.id], {'state': 'assigned'}) + self.action_assign(cr, uid, [move.move_dest_id.id]) if move.move_dest_id.picking_id: wf_service.trg_write(uid, 'stock.picking', move.move_dest_id.picking_id.id, cr) if move.move_dest_id.auto_validate: @@ -2255,7 +2281,18 @@ class stock_move(osv.osv): self.write(cr, uid, [current_move], update_val) return res - def action_consume(self, cr, uid, ids, quantity, location_id=False, context=None): + def trigger_move_state(self, cr, uid, move, state, context=None): + if isinstance(move, (int, long)): + move = [move] + res = [] + if state == 'confirm': + res = self.action_confirm(cr, uid, move, context=context) + if state == 'assigned': + self.check_assign(cr, uid, move, context=context) + self.force_assign(cr, uid, move, context=context) + return res + + def action_consume(self, cr, uid, ids, quantity, location_id=False, context=None): """ Consumed product with specific quatity from specific source location @param cr: the database cursor @param uid: the user id @@ -2269,14 +2306,12 @@ class stock_move(osv.osv): context = {} if quantity <= 0: raise osv.except_osv(_('Warning!'), _('Please provide Proper Quantity !')) - res = [] for move in self.browse(cr, uid, ids, context=context): move_qty = move.product_qty if move_qty <= 0: raise osv.except_osv(_('Error!'), _('Can not consume a move with negative or zero quantity !')) quantity_rest = move.product_qty - quantity_rest -= quantity uos_qty_rest = quantity_rest / move_qty * move.product_uos_qty if quantity_rest <= 0: @@ -2285,15 +2320,15 @@ class stock_move(osv.osv): quantity = move.product_qty uos_qty = quantity / move_qty * move.product_uos_qty + state = (move.state in ('confirm', 'assign') and move.state) or 'confirm' if quantity_rest > 0: default_val = { 'product_qty': quantity, 'product_uos_qty': uos_qty, - 'state': move.state, 'location_id': location_id or move.location_id.id, } - if move.product_id.track_production and location_id: + if (not move.prodlot_id.id) and (move.product_id.track_production and location_id): # IF product has checked track for production lot, move lines will be split by 1 res += self.action_split(cr, uid, [move.id], quantity, split_by_qty=1, context=context) else: @@ -2307,7 +2342,7 @@ class stock_move(osv.osv): else: quantity_rest = quantity uos_qty_rest = uos_qty - if move.product_id.track_production and location_id: + if (not move.prodlot_id.id) and (move.product_id.track_production and location_id): res += self.action_split(cr, uid, [move.id], quantity_rest, split_by_qty=1, context=context) else: res += [move.id] @@ -2323,6 +2358,8 @@ class stock_move(osv.osv): for (id, name) in product_obj.name_get(cr, uid, [new_move.product_id.id]): message = _('Product ') + " '" + name + "' "+ _("is consumed with") + " '" + str(new_move.product_qty) + "' "+ _("quantity.") self.log(cr, uid, new_move.id, message) + + self.trigger_move_state(cr, uid, res, state, context=context) self.action_done(cr, uid, res) return res @@ -2454,7 +2491,8 @@ class stock_inventory(osv.osv): 'inventory_line_id': fields.one2many('stock.inventory.line', 'inventory_id', 'Inventories', states={'done': [('readonly', True)]}), 'move_ids': fields.many2many('stock.move', 'stock_inventory_move_rel', 'inventory_id', 'move_id', 'Created Moves'), 'state': fields.selection( (('draft', 'Draft'), ('done', 'Done'), ('confirm','Confirmed'),('cancel','Cancelled')), 'State', readonly=True, select=True), - 'company_id': fields.many2one('res.company','Company',required=True,select=True), + 'company_id': fields.many2one('res.company', 'Company', required=True, select=True, readonly=True, states={'draft':[('readonly',False)]}), + } _defaults = { 'date': time.strftime('%Y-%m-%d %H:%M:%S'), @@ -2474,7 +2512,6 @@ class stock_inventory(osv.osv): """ Finish the inventory @return: True """ - if context is None: context = {} move_obj = self.pool.get('stock.move') @@ -2498,8 +2535,9 @@ class stock_inventory(osv.osv): move_ids = [] for line in inv.inventory_line_id: pid = line.product_id.id - product_context.update(uom=line.product_uom.id) + product_context.update(uom=line.product_uom.id,date=inv.date) amount = location_obj._product_get(cr, uid, line.location_id.id, [pid], product_context)[pid] + change = line.product_qty - amount lot_id = line.prod_lot_id.id if change: @@ -2510,7 +2548,6 @@ class stock_inventory(osv.osv): 'product_uom': line.product_uom.id, 'prodlot_id': lot_id, 'date': inv.date, - 'date': inv.date, } if change > 0: value.update( { @@ -2569,7 +2606,7 @@ class stock_inventory_line(osv.osv): 'state': fields.related('inventory_id','state',type='char',string='State',readonly=True), } - def on_change_product_id(self, cr, uid, ids, location_id, product, uom=False): + def on_change_product_id(self, cr, uid, ids, location_id, product, uom=False, to_date=False): """ Changes UoM and name if product_id changes. @param location_id: Location id @param product: Changed product_id @@ -2581,7 +2618,7 @@ class stock_inventory_line(osv.osv): if not uom: prod = self.pool.get('product.product').browse(cr, uid, [product], {'uom': uom})[0] uom = prod.uom_id.id - amount = self.pool.get('stock.location')._product_get(cr, uid, location_id, [product], {'uom': uom})[product] + amount = self.pool.get('stock.location')._product_get(cr, uid, location_id, [product], {'uom': uom, 'to_date': to_date})[product] result = {'product_qty': amount, 'product_uom': uom} return {'value': result} diff --git a/addons/stock/stock_data.xml b/addons/stock/stock_data.xml index 15cc866a3c7..bcde818c78a 100644 --- a/addons/stock/stock_data.xml +++ b/addons/stock/stock_data.xml @@ -18,7 +18,7 @@ <field name="name">Production Lot</field> <field name="object">stock.production.lot</field> </record> - + <!-- Resource: stock.location --> @@ -102,7 +102,7 @@ <field name="name">Stock</field> <field name="location_id" ref="stock_location_company"/> </record> - + <!-- Properties --> @@ -116,7 +116,11 @@ <field name="fields_id" search="[('model','=','res.partner'),('name','=','property_stock_customer')]"/> <field eval="'stock.location,'+str(stock_location_customers)" name="value"/> </record> - + + <record id="base.main_partner" model="res.partner"> + <field name="property_stock_customer" eval="ref('stock_location_stock')"/> + </record> + <record forcecreate="True" id="property_stock_procurement" model="ir.property"> <field name="name">property_stock_procurement</field> <field name="fields_id" search="[('model','=','product.template'),('name','=','property_stock_procurement')]"/> diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml index fc5b93da619..845b9c2d4fa 100644 --- a/addons/stock/stock_view.xml +++ b/addons/stock/stock_view.xml @@ -9,10 +9,30 @@ <menuitem id="menu_stock_warehouse_mgmt" name="Warehouse Management" parent="menu_stock_root" sequence="1" groups="base.group_extended"/> <menuitem id="menu_stock_products_moves" name="Products Moves" parent="menu_stock_root" sequence="2"/> <menuitem id="menu_stock_product" name="Product" parent="menu_stock_root" sequence="6"/> + <menuitem name="Products by Category" id="menu_product_by_category_stock_form" action="product.product_category_action" + parent="stock.menu_stock_product" sequence="0"/> <menuitem action="product.product_normal_action" id="menu_stock_products_menu" parent="menu_stock_product" sequence="1"/> <menuitem id="menu_stock_configuration" name="Configuration" parent="menu_stock_root" sequence="15" groups="group_stock_manager"/> <menuitem id="menu_warehouse_config" name="Warehouse Management" parent="menu_stock_configuration" sequence="1"/> <menuitem id="menu_stock_inventory_control" name="Inventory Control" parent="menu_stock_root" sequence="4"/> + <menuitem + id="menu_product_in_config_stock" name="Product" + parent="stock.menu_stock_configuration" sequence="2"/> + <menuitem + action="product.product_category_action_form" id="menu_product_category_config_stock" + parent="stock.menu_product_in_config_stock" sequence="0"/> + <menuitem + action="product.product_ul_form_action" groups="base.group_extended" + id="menu_product_packaging_stock_action" parent="stock.menu_product_in_config_stock" sequence="1"/> + <menuitem + id="menu_stock_unit_measure_stock" name="Units of Measure" + parent="stock.menu_product_in_config_stock" sequence="2"/> + <menuitem + action="product.product_uom_categ_form_action" id="menu_stock_uom_categ_form_action" + parent="stock.menu_stock_unit_measure_stock" sequence="0"/> + <menuitem + action="product.product_uom_form_action" id="menu_stock_uom_form_action" + parent="stock.menu_stock_unit_measure_stock" sequence="1"/> <record id="stock_inventory_line_tree" model="ir.ui.view"> <field name="name">stock.inventory.line.tree</field> @@ -37,7 +57,7 @@ <field name="type">form</field> <field name="arch" type="xml"> <form string="Stock Inventory Lines"> - <field context="location=location_id,uom=product_uom" name="product_id" on_change="on_change_product_id(location_id,product_id,product_uom)" select="1" domain="[('type','<>','service')]"/> + <field context="location=location_id,uom=product_uom,to_date=parent.date" name="product_id" on_change="on_change_product_id(location_id,product_id,product_uom,parent.date)" select="1" domain="[('type','<>','service')]"/> <field name="product_qty"/> <field name="product_uom"/> <field name="prod_lot_id" groups="base.group_extended"/> @@ -97,7 +117,7 @@ <field colspan="4" name="inventory_line_id" nolabel="1" widget="one2many_list"> <tree string="Products" editable="bottom"> <field colspan="4" domain="[('usage','=','internal')]" name="location_id"/> - <field context="location=location_id,uom=product_uom" name="product_id" on_change="on_change_product_id(location_id,product_id,product_uom)" domain="[('type','<>','service')]"/> + <field context="location=location_id,uom=product_uom,to_date=parent.date" name="product_id" on_change="on_change_product_id(location_id,product_id,product_uom,parent.date)" domain="[('type','<>','service')]"/> <field name="product_qty"/> <field name="product_uom"/> <field name="prod_lot_id" groups="base.group_extended"/> @@ -109,7 +129,7 @@ <form string="Products "> <field domain="[('usage','=','internal')]" name="location_id"/> <newline/> - <field colspan="4" context="location=location_id,uom=product_uom" name="product_id" on_change="on_change_product_id(location_id,product_id,product_uom)" domain="[('type','<>','service')]"/> + <field context="location=location_id,uom=product_uom,to_date=parent.date" name="product_id" on_change="on_change_product_id(location_id,product_id,product_uom,parent.date)" domain="[('type','<>','service')]"/> <field name="product_qty"/> <field name="product_uom"/> <group colspan="2" col="4"> @@ -232,6 +252,7 @@ <menuitem id="menu_traceability" name="Traceability" parent="menu_stock_root" sequence="3"/> <menuitem action="action_tracking_form" id="menu_action_tracking_form" groups="base.group_extended" + sequence="6" parent="menu_traceability"/> <record id="lot_line_tree" model="ir.ui.view"> @@ -387,9 +408,11 @@ <field name="view_id" ref="view_production_lot_tree"/> <field name="search_view_id" ref="search_product_lot_filter" /> <field name="context">{'full':'1',"search_default_available":1}</field> - <field name="help">This is the list of all the production lots (serial numbers) you recorded. When you select a lot, you can get the upstream or downstream traceability of the products contained in lot.</field> + <field name="help">This is the list of all the production lots (serial numbers) you recorded. When you select a lot, you can get the upstream or downstream traceability of the products contained in lot. By default, the list is filtred on the serial numbers that are available in your warehouse but you can uncheck the 'Available' button to get all the lots you produced, received or delivered to customers.</field> </record> - <menuitem action="action_production_lot_form" id="menu_action_production_lot_form" parent="menu_traceability" groups="base.group_extended"/> + <menuitem action="action_production_lot_form" id="menu_action_production_lot_form" + parent="menu_traceability" groups="base.group_extended" + sequence="1"/> # # Lot composition (history) @@ -812,7 +835,7 @@ <field name="model">stock.picking</field> <field name="type">tree</field> <field name="arch" type="xml"> - <tree colors="blue:state in ('draft');grey:state in ('cancel');red:state not in ('cancel', 'done') and date < current_date" string="Outgoing Deliveries"> + <tree colors="blue:state in ('draft');grey:state in ('cancel');red:state not in ('cancel', 'done') and date < current_date" string="Delivery Orders"> <field name="name"/> <field name="partner_id"/> <field name="origin"/> @@ -831,7 +854,7 @@ <field name="model">stock.picking</field> <field name="type">form</field> <field name="arch" type="xml"> - <form string="Outgoing Deliveries"> + <form string="Delivery Orders"> <group col="6" colspan="4"> <group colspan="4" col="4"> <field name="name" readonly="1"/> @@ -969,13 +992,13 @@ <field name="arch" type="xml"> <search string="Picking list"> <group col="8" colspan="4"> - <filter icon="terp-check" name="available" string="Available" domain="[('state','=','assigned')]" help="Assigned Outgoing Deliveries"/> - <filter icon="terp-camera_test" name="confirmed" string="Confirmed" domain="[('state','=','confirmed')]" help="Confirmed Outgoing Deliveries"/> - <filter icon="terp-dialog-close" name="done" string="Done" domain="[('state','=','done')]" help="Outgoing Deliveries already processed"/> + <filter icon="terp-check" name="available" string="Available" domain="[('state','=','assigned')]" help="Assigned Delivery Orders"/> + <filter icon="terp-camera_test" name="confirmed" string="Confirmed" domain="[('state','=','confirmed')]" help="Confirmed Delivery Orders"/> + <filter icon="terp-dialog-close" name="done" string="Done" domain="[('state','=','done')]" help="Delivery orders already processed"/> <separator orientation="vertical"/> <filter icon="terp-accessories-archiver-minus" string="Back Orders" domain="[('backorder_id', '!=', False)]" help="Is a Back Order" groups="base.group_extended"/> <separator orientation="vertical"/> - <filter icon="terp-dolar" name="to_invoice" string="To Invoice" domain="[('invoice_state','=','2binvoiced')]" help="Outgoing Deliveries to invoice"/> + <filter icon="terp-dolar" name="to_invoice" string="To Invoice" domain="[('invoice_state','=','2binvoiced')]" help="Delivery orders to invoice"/> <separator orientation="vertical"/> <field name="name"/> <field name="partner_id" /> @@ -999,7 +1022,7 @@ </record> <record id="action_picking_tree" model="ir.actions.act_window"> - <field name="name">Outgoing Deliveries</field> + <field name="name">Delivery Orders</field> <field name="res_model">stock.picking</field> <field name="type">ir.actions.act_window</field> <field name="view_type">form</field> @@ -1482,7 +1505,7 @@ <field name="context">{'search_default_Available':1}</field> <field name="help">This menu gives you the full traceability of inventory operations on a specific product. You can filter on the product to see all the past or future movements for the product.</field> </record> - <menuitem action="action_move_form2" id="menu_action_move_form2" parent="menu_traceability" sequence="1"/> + <menuitem action="action_move_form2" id="menu_action_move_form2" parent="menu_traceability" sequence="3"/> ==================================== Reception Picking (By Stock Move) @@ -1642,7 +1665,8 @@ </group> <newline/> <group expand="0" string="Extended Filters..." groups="base.group_extended"> - <field name="tracking_id" context="{'tracking': self}" filter_domain="[]" /> + <field name="tracking_id" context="{'tracking': self}"/> + <field name="prodlot_id"/> </group> <newline/> <group expand="0" string="Group By..." colspan="4" col="8" groups="base.group_extended"> @@ -1678,7 +1702,8 @@ </group> <newline/> <group expand="0" string="Extended Filters..." groups="base.group_extended"> - <field name="tracking_id" context="{'tracking': self}" filter_domain="[]" /> + <field name="tracking_id" context="{'tracking_id': self}"/> + <field name="prodlot_id"/> </group> <newline/> <group expand="0" string="Group By..." colspan="4" col="8" groups="base.group_extended"> @@ -1839,7 +1864,7 @@ <field name="view_id" ref="view_move_tree_reception_picking"/> <field name="context" eval="'{\'search_default_receive\':1, \'default_location_id\':%d, \'default_location_dest_id\':%d}' % (ref('stock_location_stock'),ref('stock_location_customers'))"/> <field name="search_view_id" ref="view_move_search_reception_outcoming_picking"/> - <field name="help">The Deliver Products menu lists all individual products you have to deliver to your customers. You can process the deliveries directly from this list, line by or line or through the Delivery Orders menu.</field> + <field name="help">You will find in this list all products you have to deliver to your customers. You can process the deliveries directly from this list using the buttons on the right of each line. You can filter the products to deliver by customer, products or sale order (using the Origin field).</field> </record> <record model="ir.actions.act_window.view" id="action_move_out_picking_tree"> diff --git a/addons/stock/wizard/stock_change_product_qty.py b/addons/stock/wizard/stock_change_product_qty.py index 4e437eef815..56a62520bbf 100644 --- a/addons/stock/wizard/stock_change_product_qty.py +++ b/addons/stock/wizard/stock_change_product_qty.py @@ -27,8 +27,10 @@ class stock_change_product_qty(osv.osv_memory): _name = "stock.change.product.qty" _description = "Change Product Quantity" _columns = { - 'new_quantity': fields.float('Quantity', required=True, help='This quantity is expressed in the Default UoM of the product.'), - 'location_id': fields.many2one('stock.location', 'Location', required=True, ondelete="cascade", domain="[('usage', '=', 'internal')]"), + 'product_id' : fields.many2one('product.product', 'Product'), + 'new_quantity': fields.float('Quantity', required=True, help='This quantity is expressed in the Default UoM of the product.'), + 'prodlot_id': fields.many2one('stock.production.lot', 'Production Lot', domain="[('product_id','=',product_id)]"), + 'location_id': fields.many2one('stock.location', 'Location', required=True, domain="[('usage', '=', 'internal')]"), } def default_get(self, cr, uid, fields, context): @@ -40,10 +42,14 @@ class stock_change_product_qty(osv.osv_memory): @param context: A standard dictionary @return: A dictionary which of fields with values. """ + product_id = context and context.get('active_id', False) or False + prod_obj =self.pool.get('product.product') res = super(stock_change_product_qty, self).default_get(cr, uid, fields, context=context) if 'new_quantity' in fields: res.update({'new_quantity': 1}) + if 'product_id' in fields: + res.update({'product_id': product_id}) return res def change_product_qty(self, cr, uid, ids, context=None): @@ -70,18 +76,27 @@ class stock_change_product_qty(osv.osv_memory): for data in self.browse(cr, uid, ids, context=context): inventory_id = inventry_obj.create(cr , uid, {'name': _('INV: ') + str(res_original.name)}, context=context) line_data ={ - 'inventory_id' : inventory_id, - 'product_qty' : data.new_quantity, - 'location_id' : data.location_id.id, - 'product_id' : rec_id, - 'product_uom' : res_original.uom_id.id, + 'inventory_id' : inventory_id, + 'product_qty' : data.new_quantity, + 'location_id' : data.location_id.id, + 'product_id' : rec_id, + 'product_uom' : res_original.uom_id.id, + 'prod_lot_id' : data.prodlot_id.id } line_id = inventry_line_obj.create(cr , uid, line_data, context=context) - + inventry_obj.action_confirm(cr, uid, [inventory_id], context=context) inventry_obj.action_done(cr, uid, [inventory_id], context=context) - - return {} + + return { + 'domain': "[('id','=', %s)]" % (inventory_id), + 'name' : _('Physical Inventories'), + 'view_type': 'form', + 'view_mode': 'tree,form', + 'res_model': 'stock.inventory', + 'context': context, + 'type': 'ir.actions.act_window', + } stock_change_product_qty() diff --git a/addons/stock/wizard/stock_change_product_qty_view.xml b/addons/stock/wizard/stock_change_product_qty_view.xml index 927f3e91f80..6bedd7605e6 100644 --- a/addons/stock/wizard/stock_change_product_qty_view.xml +++ b/addons/stock/wizard/stock_change_product_qty_view.xml @@ -10,7 +10,10 @@ <separator string="Select Quantity" colspan="4"/> <newline/> <field name="new_quantity" /> + <newline/> + <field name="product_id" invisible="1"/> <field name="location_id" /> + <field name="prodlot_id" /> <separator string="" colspan="4" /> <label string="" colspan="2"/> <group col="2" colspan="2"> diff --git a/addons/stock/wizard/stock_return_picking.py b/addons/stock/wizard/stock_return_picking.py index 918c519a1e4..d71e6361b32 100644 --- a/addons/stock/wizard/stock_return_picking.py +++ b/addons/stock/wizard/stock_return_picking.py @@ -53,8 +53,10 @@ class stock_return_picking(osv.osv_memory): res['invoice_state'] = 'none' for line in pick.move_lines: return_id = 'return%s'%(line.id) + return_price = 'return_price%s'%(line.id) if return_id in fields: res[return_id] = line.product_qty + res[return_price]=line.price_unit return res def view_init(self, cr, uid, fields_list, context=None): @@ -86,8 +88,11 @@ class stock_return_picking(osv.osv_memory): valid_lines += 1 if 'return%s'%(m.id) not in self._columns: self._columns['return%s'%(m.id)] = fields.float(string=m.name, required=True) + if 'return_price%s'%(m.id) not in self._columns: + self._columns['return_price%s'%(m.id)] = fields.float(string=m.name, required=True) if 'invoice_state' not in self._columns: self._columns['invoice_state'] = fields.selection([('2binvoiced', 'To be refunded/invoiced'), ('none', 'No invoicing')], string='Invoicing', required=True) + if not valid_lines: raise osv.except_osv(_('Warning !'), _("There are no products to return (only lines in Done state and not fully returned yet can be returned)!")) return res @@ -121,6 +126,10 @@ class stock_return_picking(osv.osv_memory): if m.state=='done' and quantity > return_history[m.id]: arch_lst.append('<field name="return%s"/>\n<newline/>' % (m.id,)) res['fields']['return%s' % m.id]={'string':m.name, 'type':'float', 'required':True} + + if m.product_id.cost_method == 'average' and pick.type == 'in': + arch_lst.append('<field name="return_price%s"/>\n<newline/>' % (m.id,)) + res['fields']['return_price%s' % m.id]={'string':'Price', 'type':'float', 'required':True} res.setdefault('returns', []).append(m.id) arch_lst.append('<field name="invoice_state"/>\n<newline/>') res['fields']['invoice_state']={'string':_('Invoicing'), 'type':'selection','required':True, 'selection':[('2binvoiced', _('To be refunded/invoiced')), ('none', _('No invoicing'))]} @@ -133,7 +142,7 @@ class stock_return_picking(osv.osv_memory): return res def create_returns(self, cr, uid, ids, context=None): - """ + """ Creates return picking. @param self: The object pointer. @param cr: A database cursor @@ -143,13 +152,13 @@ class stock_return_picking(osv.osv_memory): @return: A dictionary which of fields with values. """ if context is None: - context = {} + context = {} record_id = context and context.get('active_id', False) or False move_obj = self.pool.get('stock.move') pick_obj = self.pool.get('stock.picking') uom_obj = self.pool.get('product.uom') wf_service = netsvc.LocalService("workflow") - + pick = pick_obj.browse(cr, uid, record_id, context=context) data = self.read(cr, uid, ids[0]) new_picking = None @@ -171,6 +180,7 @@ class stock_return_picking(osv.osv_memory): new_location=move.location_dest_id.id if move.state=='done': new_qty = data['return%s' % move.id] + price_unit = data['return_price%s' % move.id] returned_qty = move.product_qty for rec in move.move_history_ids2: @@ -178,7 +188,6 @@ class stock_return_picking(osv.osv_memory): if returned_qty != new_qty: set_invoice_state_to_none = False - if new_qty: returned_lines += 1 new_move=move_obj.copy(cr, uid, move.id, { @@ -187,7 +196,8 @@ class stock_return_picking(osv.osv_memory): new_qty, move.product_uos.id), 'picking_id':new_picking, 'state':'draft', 'location_id':new_location, 'location_dest_id':move.location_id.id, - 'date':date_cur,}) + 'date':date_cur, + 'price_unit':price_unit}) move_obj.write(cr, uid, [move.id], {'move_history_ids2':[(4,new_move)]}) if not returned_lines: diff --git a/addons/stock_planning/stock_planning_view.xml b/addons/stock_planning/stock_planning_view.xml index aaf7e77c0b2..9995752cb03 100644 --- a/addons/stock_planning/stock_planning_view.xml +++ b/addons/stock_planning/stock_planning_view.xml @@ -40,7 +40,7 @@ </tree> </field> </record> - + <record id="view_stock_period_search" model="ir.ui.view"> <field name="name">stock.period.search</field> <field name="model">stock.period</field> @@ -178,10 +178,10 @@ </graph> </field> </record> - + <!-- Forecast section --> - - <menuitem id="menu_stock_sale_forecast" name="Sales Forecasts" + + <menuitem id="menu_stock_sale_forecast" name="Sales Forecasts" parent="base.menu_base_partner" sequence="6" groups="base.group_extended"/> <record id="view_stock_sale_forecast_filter" model="ir.ui.view"> @@ -224,7 +224,7 @@ action="action_view_stock_sale_forecast_form"/> <!-- Planning section --> - + <menuitem id="menu_stock_planning_main" name="Stock Planning" parent="stock.menu_stock_root" sequence="2"/> <record id="view_stock_planning_form" model="ir.ui.view"> @@ -319,6 +319,7 @@ <field name="arch" type="xml"> <tree string="Master Procurement Schedule" colors ="blue:line_time=='Past';black:line_time=='Future'"> <field name="period_id"/> + <field name="company_id" invisible="1"/> <field name="product_id" on_change="product_id_change(product_id)" /> <field name="product_uom"/> <field name="warehouse_forecast" string="Forecast"/> diff --git a/addons/stock_planning/wizard/stock_planning_create_periods.py b/addons/stock_planning/wizard/stock_planning_create_periods.py index 13a822ed3fe..47e19d1dda0 100644 --- a/addons/stock_planning/wizard/stock_planning_create_periods.py +++ b/addons/stock_planning/wizard/stock_planning_create_periods.py @@ -21,7 +21,7 @@ import time from datetime import datetime -from dateutil.relativedelta import relativedelta +from dateutil.relativedelta import relativedelta from osv import osv, fields @@ -35,7 +35,7 @@ class stock_period_createlines(osv.osv_memory): result = cr.fetchone() last_date = result and result[0] or False if last_date: - period_start = datetime(last_date,"%Y-%m-%d %H:%M:%S")+ relativedelta(days=1) + period_start = datetime.strptime(last_date,"%Y-%m-%d %H:%M:%S")+ relativedelta(days=1) period_start = period_start - relativedelta(hours=period_start.hour, minutes=period_start.minute, seconds=period_start.second) else: period_start = datetime.today() @@ -51,7 +51,7 @@ class stock_period_createlines(osv.osv_memory): _defaults={ 'date_start': _get_new_period_start, } - + def create_stock_periods(self, cr, uid, ids, context=None): if context is None: context = {} @@ -60,37 +60,50 @@ class stock_period_createlines(osv.osv_memory): period_obj = self.pool.get('stock.period') lines = [] for p in self.browse(cr, uid, ids, context=context): - dt = p.date_start + dt_stp = datetime.strptime(p.date_stop, '%Y-%m-%d') ds = datetime.strptime(p.date_start, '%Y-%m-%d') - while ds.strftime('%Y-%m-%d') < p.date_stop: + + while ds <= dt_stp: if name =='Daily': - de = ds + relativedelta(days=interval, minutes =-1) - new_name = de.strftime('%Y-%m-%d') + de = ds + relativedelta(days=(interval + 1), seconds =-1) new_id = period_obj.create(cr, uid, { - 'name': new_name, - 'date_start': ds.strftime('%Y-%m-%d'), + 'name': de.strftime('%Y-%m-%d'), + 'date_start': ds.strftime('%Y-%m-%d %H:%M:%S'), 'date_stop': de.strftime('%Y-%m-%d %H:%M:%S'), }) - ds = ds + relativedelta(days=interval) + 1 + ds = ds + relativedelta(days=(interval + 1)) if name =="Weekly": - de = ds + relativedelta(days=interval, minutes =-1) - new_name = de.strftime('%Y, week %W') + de = ds + relativedelta(days=(interval + 1), seconds =-1) + if dt_stp < de: + de = dt_stp + relativedelta(days=1, seconds =-1) + else: + de = ds + relativedelta(days=(interval + 1), seconds =-1) + new_name = ds.strftime('Week %W-%Y') + if ds.strftime('%Y') != de.strftime('%Y'): + new_name = ds.strftime('Week %W-%Y') + ', ' + de.strftime('Week %W-%Y') new_id = period_obj.create(cr, uid, { 'name': new_name, - 'date_start': ds.strftime('%Y-%m-%d'), + 'date_start': ds.strftime('%Y-%m-%d %H:%M:%S'), 'date_stop': de.strftime('%Y-%m-%d %H:%M:%S'), }) - ds = ds + relativedelta(days=interval) + 1 + ds = ds + relativedelta(days=(interval + 1)) if name == "Monthly": - de = ds + relativedelta(months=interval, minutes=-1) + de = ds + relativedelta(months=interval, seconds=-1) + if dt_stp < de: + de = dt_stp + relativedelta(days=1, seconds =-1) + else: + de = ds + relativedelta(months=interval, seconds=-1) new_name = ds.strftime('%Y/%m') + if ds.strftime('%m') != de.strftime('%m'): + new_name = ds.strftime('%Y/%m') + '-' + de.strftime('%Y/%m') new_id =period_obj.create(cr, uid, { - 'name': new_name, - 'date_start': ds.strftime('%Y-%m-%d'), + 'name': new_name, + 'date_start': ds.strftime('%Y-%m-%d %H:%M:%S'), 'date_stop': de.strftime('%Y-%m-%d %H:%M:%S'), }) ds = ds + relativedelta(months=interval) lines.append(new_id) + return { 'domain': "[('id','in', ["+','.join(map(str, lines))+"])]", 'view_type': 'form', diff --git a/addons/survey/survey_view.xml b/addons/survey/survey_view.xml index 646f1d30f98..ab8d50323d9 100644 --- a/addons/survey/survey_view.xml +++ b/addons/survey/survey_view.xml @@ -271,10 +271,10 @@ </group> <newline/> <group expand="0" string="Group By..." colspan="4" col="20"> - <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'responsible_id'}"/> + <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'responsible_id'}"/> <separator orientation="vertical"/> - <filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/> - <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> + <filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/> + <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> </group> </search> </field> @@ -287,6 +287,7 @@ <field name="view_mode">tree,form</field> <field name="view_id" ref="survey_tree"></field> <field name="search_view_id" ref="survey_search"/> + <field name="help">You can create survey for different purposes: recruitment interviews, employee's periodical evaluations, marketing campaigns, etc. A survey is made of pages containing questions of several types: text, multiple choices, etc. You can edit survey manually or click on the 'Edit Survey' for a WYSIWYG interface.</field> </record> @@ -1104,11 +1105,11 @@ </group> <newline/> <group expand="0" string="Group By..." colspan="4" col="20"> - <filter string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> + <filter string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> <separator orientation="vertical"/> - <filter string="Survey" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'survey_id'}"/> + <filter string="Survey" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'survey_id'}"/> <separator orientation="vertical"/> - <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> + <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> </group> </search> </field> diff --git a/addons/survey/wizard/survey_answer.py b/addons/survey/wizard/survey_answer.py index 90d702f13ed..23315d51c65 100644 --- a/addons/survey/wizard/survey_answer.py +++ b/addons/survey/wizard/survey_answer.py @@ -65,7 +65,10 @@ class survey_question_wiz(osv.osv_memory): context = {} if view_type in ['form']: wiz_id = 0 - if not context.has_key('sur_name_id'): + sur_name_rec = None + if 'sur_name_id' in context: + sur_name_rec = surv_name_wiz.browse(cr, uid, context['sur_name_id'], context=context) + elif 'survey_id' in context: res_data = { 'survey_id': context.get('survey_id', False), 'page_no': -1, @@ -76,16 +79,14 @@ class survey_question_wiz(osv.osv_memory): wiz_id = surv_name_wiz.create(cr, uid, res_data) sur_name_rec = surv_name_wiz.browse(cr, uid, wiz_id, context=context) context.update({'sur_name_id' :wiz_id}) - else: - sur_name_rec = surv_name_wiz.browse(cr, uid, context['sur_name_id'], context=context) - + if context.has_key('active_id'): context.pop('active_id') survey_id = context.get('survey_id', False) if not survey_id: # Try one more time to find it - if sur_name_rec.survey_id: + if sur_name_rec and sur_name_rec.survey_id: survey_id = sur_name_rec.survey_id[0] else: # raise osv.except_osv(_('Error!'), _("Cannot locate survey for the question wizard!")) diff --git a/addons/wiki_faq/wiki_faq.xml b/addons/wiki_faq/wiki_faq.xml index 046451eec93..ecefecec712 100644 --- a/addons/wiki_faq/wiki_faq.xml +++ b/addons/wiki_faq/wiki_faq.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <openerp> - <data> + <data noupdate="1"> <record id="wiki_groups_faq" model="wiki.groups"> <field name="name">Internal FAQ</field> <field name="method">list</field> diff --git a/addons/wiki_quality_manual/wiki_quality_manual.xml b/addons/wiki_quality_manual/wiki_quality_manual.xml index 9ef451f8a77..e8601867e4a 100644 --- a/addons/wiki_quality_manual/wiki_quality_manual.xml +++ b/addons/wiki_quality_manual/wiki_quality_manual.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <openerp> - <data> + <data noupdate="1"> <record id="wiki_quality_manual" model="wiki.wiki"> <field name="name">Quality Manual</field> <field name="tags">quality, faq, manual</field> |
