diff --git a/addons/account/account.py b/addons/account/account.py index c1a30967aea..c165a7f3b42 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -1079,7 +1079,7 @@ class account_period(osv.osv): def build_ctx_periods(self, cr, uid, period_from_id, period_to_id): if period_from_id == period_to_id: - return period_from_id + return [period_from_id] period_from = self.browse(cr, uid, period_from_id) period_date_start = period_from.date_start company1_id = period_from.company_id.id @@ -1652,7 +1652,7 @@ class account_move_reconcile(osv.osv): 'create_date': fields.date('Creation date', readonly=True), } _defaults = { - 'name': lambda self,cr,uid,ctx={}: self.pool.get('ir.sequence').get(cr, uid, 'account.reconcile') or '/', + 'name': lambda self,cr,uid,ctx=None: self.pool.get('ir.sequence').get(cr, uid, 'account.reconcile', context=ctx) or '/', } def reconcile_partial_check(self, cr, uid, ids, type='auto', context=None): diff --git a/addons/account/account_bank.py b/addons/account/account_bank.py index 5a84dee53de..cbc5a966f79 100644 --- a/addons/account/account_bank.py +++ b/addons/account/account_bank.py @@ -55,7 +55,7 @@ class bank(osv.osv): # Find the code and parent of the bank account to create dig = 6 current_num = 1 - ids = obj_acc.search(cr, uid, [('type','=','liquidity')], context=context) + ids = obj_acc.search(cr, uid, [('type','=','liquidity'), ('company_id', '=', bank.company_id.id)], context=context) # No liquidity account exists, no template available if not ids: continue diff --git a/addons/account/account_bank_statement.py b/addons/account/account_bank_statement.py index c1f787f5d80..5601179e0fc 100644 --- a/addons/account/account_bank_statement.py +++ b/addons/account/account_bank_statement.py @@ -341,11 +341,11 @@ class account_bank_statement(osv.osv): if not st.name == '/': st_number = st.name else: + c = {'fiscalyear_id': st.period_id.fiscalyear_id.id} if st.journal_id.sequence_id: - c = {'fiscalyear_id': st.period_id.fiscalyear_id.id} st_number = obj_seq.next_by_id(cr, uid, st.journal_id.sequence_id.id, context=c) else: - st_number = obj_seq.next_by_code(cr, uid, 'account.bank.statement') + st_number = obj_seq.next_by_code(cr, uid, 'account.bank.statement', context=c) for line in st.move_line_ids: if line.state <> 'valid': diff --git a/addons/account/account_cash_statement.py b/addons/account/account_cash_statement.py index 2768fd83019..f19c1e1c639 100644 --- a/addons/account/account_cash_statement.py +++ b/addons/account/account_cash_statement.py @@ -279,11 +279,11 @@ class account_cash_statement(osv.osv): raise osv.except_osv(_('Error !'), (_('User %s does not have rights to access %s journal !') % (statement.user_id.name, statement.journal_id.name))) if statement.name and statement.name == '/': + c = {'fiscalyear_id': statement.period_id.fiscalyear_id.id} if statement.journal_id.sequence_id: - c = {'fiscalyear_id': statement.period_id.fiscalyear_id.id} st_number = obj_seq.next_by_id(cr, uid, statement.journal_id.sequence_id.id, context=c) else: - st_number = obj_seq.next_by_code(cr, uid, 'account.cash.statement') + st_number = obj_seq.next_by_code(cr, uid, 'account.cash.statement', context=c) vals.update({ 'name': st_number }) diff --git a/addons/account/account_menuitem.xml b/addons/account/account_menuitem.xml index 6c651405c92..f06a456037f 100644 --- a/addons/account/account_menuitem.xml +++ b/addons/account/account_menuitem.xml @@ -10,27 +10,28 @@ - + - + - + + - - - + + + - - - - + + + + - + tree,form Define your company's financial year according to your needs. A financial year is a period at the end of which a company's accounts are made up (usually 12 months). The financial year is usually referred to by the date in which it ends. For example, if a company's financial year ends November 30, 2011, then everything between December 1, 2010 and November 30, 2011 would be referred to as FY 2011. You are not obliged to follow the actual calendar year. - + @@ -923,8 +923,8 @@ The tax code definition depends on the tax declaration of your country. OpenERP allows you to define the tax structure and manage it from this menu. You can define both numeric and alphanumeric tax codes. - - + + - + @@ -77,7 +77,7 @@ tree,form - + @@ -111,7 +111,7 @@ form tree,form - + @@ -148,7 +148,7 @@ form tree,form - + @@ -180,7 +180,7 @@ form tree,form - + @@ -212,7 +212,7 @@ form tree,form - + diff --git a/addons/account_invoice_layout/account_invoice_layout_view.xml b/addons/account_invoice_layout/account_invoice_layout_view.xml index 062349f7716..f51120aa9da 100644 --- a/addons/account_invoice_layout/account_invoice_layout_view.xml +++ b/addons/account_invoice_layout/account_invoice_layout_view.xml @@ -112,7 +112,7 @@ - + diff --git a/addons/account_payment/account_payment_view.xml b/addons/account_payment/account_payment_view.xml index 00c4b15b252..71856dcf703 100644 --- a/addons/account_payment/account_payment_view.xml +++ b/addons/account_payment/account_payment_view.xml @@ -93,7 +93,7 @@ - + payment.order.form diff --git a/addons/account_payment/i18n/am.po b/addons/account_payment/i18n/am.po new file mode 100644 index 00000000000..60ae0ae5e80 --- /dev/null +++ b/addons/account_payment/i18n/am.po @@ -0,0 +1,726 @@ +# Amharic translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-02-08 00:35+0000\n" +"PO-Revision-Date: 2012-03-21 15:50+0000\n" +"Last-Translator: Araya \n" +"Language-Team: Amharic \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-03-22 04:57+0000\n" +"X-Generator: Launchpad (build 14981)\n" + +#. module: account_payment +#: field:payment.order,date_scheduled:0 +msgid "Scheduled date if fixed" +msgstr "" + +#. module: account_payment +#: field:payment.line,currency:0 +msgid "Partner Currency" +msgstr "" + +#. module: account_payment +#: view:payment.order:0 +msgid "Set to draft" +msgstr "" + +#. module: account_payment +#: help:payment.order,mode:0 +msgid "Select the Payment Mode to be applied." +msgstr "የአከፋፈል መንገድ ምረጥ" + +#. module: account_payment +#: view:payment.mode:0 +#: view:payment.order:0 +msgid "Group By..." +msgstr "" + +#. module: account_payment +#: field:payment.order,line_ids:0 +msgid "Payment lines" +msgstr "" + +#. module: account_payment +#: view:payment.line:0 +#: field:payment.line,info_owner:0 +#: view:payment.order:0 +msgid "Owner Account" +msgstr "" + +#. module: account_payment +#: help:payment.order,state:0 +msgid "" +"When an order is placed the state is 'Draft'.\n" +" Once the bank is confirmed the state is set to 'Confirmed'.\n" +" Then the order is paid the state is 'Done'." +msgstr "" + +#. module: account_payment +#: help:account.invoice,amount_to_pay:0 +msgid "" +"The amount which should be paid at the current date\n" +"minus the amount which is already in payment order" +msgstr "" + +#. module: account_payment +#: field:payment.line,company_id:0 +#: field:payment.mode,company_id:0 +#: field:payment.order,company_id:0 +msgid "Company" +msgstr "" + +#. module: account_payment +#: field:payment.order,date_prefered:0 +msgid "Preferred date" +msgstr "" + +#. module: account_payment +#: model:res.groups,name:account_payment.group_account_payment +msgid "Accounting / Payments" +msgstr "" + +#. module: account_payment +#: selection:payment.line,state:0 +msgid "Free" +msgstr "" + +#. module: account_payment +#: view:payment.order.create:0 +#: field:payment.order.create,entries:0 +msgid "Entries" +msgstr "" + +#. module: account_payment +#: report:payment.order:0 +msgid "Used Account" +msgstr "" + +#. module: account_payment +#: field:payment.line,ml_maturity_date:0 +#: field:payment.order.create,duedate:0 +msgid "Due Date" +msgstr "" + +#. module: account_payment +#: view:account.move.line:0 +msgid "Account Entry Line" +msgstr "" + +#. module: account_payment +#: view:payment.order.create:0 +msgid "_Add to payment order" +msgstr "" + +#. module: account_payment +#: model:ir.actions.act_window,name:account_payment.action_account_payment_populate_statement +#: model:ir.actions.act_window,name:account_payment.action_account_populate_statement_confirm +msgid "Payment Populate statement" +msgstr "" + +#. module: account_payment +#: report:payment.order:0 +#: view:payment.order:0 +msgid "Amount" +msgstr "" + +#. module: account_payment +#: sql_constraint:account.move.line:0 +msgid "Wrong credit or debit value in accounting entry !" +msgstr "" + +#. module: account_payment +#: view:payment.order:0 +msgid "Total in Company Currency" +msgstr "" + +#. module: account_payment +#: selection:payment.order,state:0 +msgid "Cancelled" +msgstr "" + +#. module: account_payment +#: model:ir.actions.act_window,name:account_payment.action_payment_order_tree_new +msgid "New Payment Order" +msgstr "" + +#. module: account_payment +#: report:payment.order:0 +#: field:payment.order,reference:0 +msgid "Reference" +msgstr "" + +#. module: account_payment +#: sql_constraint:payment.line:0 +msgid "The payment line name must be unique!" +msgstr "" + +#. module: account_payment +#: constraint:account.invoice:0 +msgid "Invalid BBA Structured Communication !" +msgstr "" + +#. module: account_payment +#: model:ir.actions.act_window,name:account_payment.action_payment_order_tree +#: model:ir.ui.menu,name:account_payment.menu_action_payment_order_form +msgid "Payment Orders" +msgstr "" + +#. module: account_payment +#: constraint:account.move.line:0 +msgid "" +"The date of your Journal Entry is not in the defined period! You should " +"change the date or remove this constraint from the journal." +msgstr "" + +#. module: account_payment +#: selection:payment.order,date_prefered:0 +msgid "Directly" +msgstr "" + +#. module: account_payment +#: model:ir.actions.act_window,name:account_payment.action_payment_line_form +#: model:ir.model,name:account_payment.model_payment_line +#: view:payment.line:0 +#: view:payment.order:0 +msgid "Payment Line" +msgstr "" + +#. module: account_payment +#: view:payment.line:0 +msgid "Amount Total" +msgstr "" + +#. module: account_payment +#: view:payment.order:0 +#: selection:payment.order,state:0 +msgid "Confirmed" +msgstr "" + +#. module: account_payment +#: help:payment.line,ml_date_created:0 +msgid "Invoice Effective Date" +msgstr "" + +#. module: account_payment +#: report:payment.order:0 +msgid "Execution Type" +msgstr "" + +#. module: account_payment +#: selection:payment.line,state:0 +msgid "Structured" +msgstr "" + +#. module: account_payment +#: view:payment.order:0 +#: field:payment.order,state:0 +msgid "State" +msgstr "" + +#. module: account_payment +#: view:payment.line:0 +#: view:payment.order:0 +msgid "Transaction Information" +msgstr "" + +#. module: account_payment +#: model:ir.actions.act_window,name:account_payment.action_payment_mode_form +#: model:ir.model,name:account_payment.model_payment_mode +#: model:ir.ui.menu,name:account_payment.menu_action_payment_mode_form +#: view:payment.mode:0 +#: view:payment.order:0 +msgid "Payment Mode" +msgstr "" + +#. module: account_payment +#: field:payment.line,ml_date_created:0 +msgid "Effective Date" +msgstr "" + +#. module: account_payment +#: field:payment.line,ml_inv_ref:0 +msgid "Invoice Ref." +msgstr "" + +#. module: account_payment +#: help:payment.order,date_prefered:0 +msgid "" +"Choose an option for the Payment Order:'Fixed' stands for a date specified " +"by you.'Directly' stands for the direct execution.'Due date' stands for the " +"scheduled date of execution." +msgstr "" + +#. module: account_payment +#: code:addons/account_payment/account_move_line.py:110 +#, python-format +msgid "Error !" +msgstr "" + +#. module: account_payment +#: view:account.move.line:0 +msgid "Total debit" +msgstr "" + +#. module: account_payment +#: field:payment.order,date_done:0 +msgid "Execution date" +msgstr "" + +#. module: account_payment +#: help:payment.mode,journal:0 +msgid "Bank or Cash Journal for the Payment Mode" +msgstr "" + +#. module: account_payment +#: selection:payment.order,date_prefered:0 +msgid "Fixed date" +msgstr "" + +#. module: account_payment +#: field:payment.line,info_partner:0 +#: view:payment.order:0 +msgid "Destination Account" +msgstr "" + +#. module: account_payment +#: view:payment.line:0 +msgid "Desitination Account" +msgstr "" + +#. module: account_payment +#: view:payment.order:0 +msgid "Search Payment Orders" +msgstr "" + +#. module: account_payment +#: field:payment.line,create_date:0 +msgid "Created" +msgstr "" + +#. module: account_payment +#: view:payment.order:0 +msgid "Select Invoices to Pay" +msgstr "" + +#. module: account_payment +#: view:payment.line:0 +msgid "Currency Amount Total" +msgstr "" + +#. module: account_payment +#: view:payment.order:0 +msgid "Make Payments" +msgstr "" + +#. module: account_payment +#: field:payment.line,state:0 +msgid "Communication Type" +msgstr "" + +#. module: account_payment +#: field:payment.line,partner_id:0 +#: field:payment.mode,partner_id:0 +#: report:payment.order:0 +msgid "Partner" +msgstr "" + +#. module: account_payment +#: field:payment.line,bank_statement_line_id:0 +msgid "Bank statement line" +msgstr "" + +#. module: account_payment +#: selection:payment.order,date_prefered:0 +msgid "Due date" +msgstr "" + +#. module: account_payment +#: field:account.invoice,amount_to_pay:0 +msgid "Amount to be paid" +msgstr "" + +#. module: account_payment +#: constraint:account.move.line:0 +msgid "" +"The selected account of your Journal Entry forces to provide a secondary " +"currency. You should remove the secondary currency on the account or select " +"a multi-currency view on the journal." +msgstr "" + +#. module: account_payment +#: report:payment.order:0 +msgid "Currency" +msgstr "" + +#. module: account_payment +#: view:account.payment.make.payment:0 +msgid "Yes" +msgstr "" + +#. module: account_payment +#: help:payment.line,info_owner:0 +msgid "Address of the Main Partner" +msgstr "" + +#. module: account_payment +#: help:payment.line,date:0 +msgid "" +"If no payment date is specified, the bank will treat this payment line " +"directly" +msgstr "" + +#. module: account_payment +#: model:ir.model,name:account_payment.model_account_payment_populate_statement +msgid "Account Payment Populate Statement" +msgstr "" + +#. module: account_payment +#: help:payment.mode,name:0 +msgid "Mode of Payment" +msgstr "" + +#. module: account_payment +#: report:payment.order:0 +msgid "Value Date" +msgstr "" + +#. module: account_payment +#: report:payment.order:0 +msgid "Payment Type" +msgstr "" + +#. module: account_payment +#: help:payment.line,amount_currency:0 +msgid "Payment amount in the partner currency" +msgstr "" + +#. module: account_payment +#: view:payment.order:0 +#: selection:payment.order,state:0 +msgid "Draft" +msgstr "" + +#. module: account_payment +#: help:payment.line,communication2:0 +msgid "The successor message of Communication." +msgstr "" + +#. module: account_payment +#: code:addons/account_payment/account_move_line.py:110 +#, python-format +msgid "No partner defined on entry line" +msgstr "" + +#. module: account_payment +#: help:payment.line,info_partner:0 +msgid "Address of the Ordering Customer." +msgstr "" + +#. module: account_payment +#: view:account.payment.populate.statement:0 +msgid "Populate Statement:" +msgstr "" + +#. module: account_payment +#: view:account.move.line:0 +msgid "Total credit" +msgstr "" + +#. module: account_payment +#: help:payment.order,date_scheduled:0 +msgid "Select a date if you have chosen Preferred Date to be fixed." +msgstr "" + +#. module: account_payment +#: field:payment.order,user_id:0 +msgid "User" +msgstr "" + +#. module: account_payment +#: field:account.payment.populate.statement,lines:0 +msgid "Payment Lines" +msgstr "" + +#. module: account_payment +#: model:ir.model,name:account_payment.model_account_move_line +msgid "Journal Items" +msgstr "" + +#. module: account_payment +#: constraint:account.move.line:0 +msgid "You can not create journal items on an account of type view." +msgstr "" + +#. module: account_payment +#: help:payment.line,move_line_id:0 +msgid "" +"This Entry Line will be referred for the information of the ordering " +"customer." +msgstr "" + +#. module: account_payment +#: view:payment.order.create:0 +msgid "Search" +msgstr "" + +#. module: account_payment +#: model:ir.actions.report.xml,name:account_payment.payment_order1 +#: model:ir.model,name:account_payment.model_payment_order +msgid "Payment Order" +msgstr "" + +#. module: account_payment +#: field:payment.line,date:0 +msgid "Payment Date" +msgstr "" + +#. module: account_payment +#: report:payment.order:0 +msgid "Total:" +msgstr "" + +#. module: account_payment +#: field:payment.order,date_created:0 +msgid "Creation date" +msgstr "" + +#. module: account_payment +#: view:account.payment.populate.statement:0 +msgid "ADD" +msgstr "" + +#. module: account_payment +#: view:account.bank.statement:0 +msgid "Import payment lines" +msgstr "" + +#. module: account_payment +#: field:account.move.line,amount_to_pay:0 +msgid "Amount to pay" +msgstr "" + +#. module: account_payment +#: field:payment.line,amount:0 +msgid "Amount in Company Currency" +msgstr "" + +#. module: account_payment +#: help:payment.line,partner_id:0 +msgid "The Ordering Customer" +msgstr "" + +#. module: account_payment +#: model:ir.model,name:account_payment.model_account_payment_make_payment +msgid "Account make payment" +msgstr "" + +#. module: account_payment +#: report:payment.order:0 +msgid "Invoice Ref" +msgstr "" + +#. module: account_payment +#: sql_constraint:account.invoice:0 +msgid "Invoice Number must be unique per Company!" +msgstr "" + +#. module: account_payment +#: field:payment.line,name:0 +msgid "Your Reference" +msgstr "" + +#. module: account_payment +#: view:payment.order:0 +msgid "Payment order" +msgstr "" + +#. module: account_payment +#: view:payment.line:0 +#: view:payment.order:0 +msgid "General Information" +msgstr "" + +#. module: account_payment +#: view:payment.order:0 +#: selection:payment.order,state:0 +msgid "Done" +msgstr "" + +#. module: account_payment +#: model:ir.model,name:account_payment.model_account_invoice +msgid "Invoice" +msgstr "" + +#. module: account_payment +#: field:payment.line,communication:0 +msgid "Communication" +msgstr "" + +#. module: account_payment +#: view:account.payment.make.payment:0 +#: view:account.payment.populate.statement:0 +#: view:payment.order:0 +#: view:payment.order.create:0 +msgid "Cancel" +msgstr "" + +#. module: account_payment +#: field:payment.line,bank_id:0 +msgid "Destination Bank Account" +msgstr "" + +#. module: account_payment +#: view:payment.line:0 +#: view:payment.order:0 +msgid "Information" +msgstr "" + +#. module: account_payment +#: constraint:account.move.line:0 +msgid "Company must be the same for its related account and period." +msgstr "" + +#. module: account_payment +#: model:ir.actions.act_window,help:account_payment.action_payment_order_tree +msgid "" +"A payment order is a payment request from your company to pay a supplier " +"invoice or a customer credit note. Here you can register all payment orders " +"that should be done, keep track of all payment orders and mention the " +"invoice reference and the partner the payment should be done for." +msgstr "" + +#. module: account_payment +#: help:payment.line,amount:0 +msgid "Payment amount in the company currency" +msgstr "" + +#. module: account_payment +#: view:payment.order.create:0 +msgid "Search Payment lines" +msgstr "" + +#. module: account_payment +#: field:payment.line,amount_currency:0 +msgid "Amount in Partner Currency" +msgstr "" + +#. module: account_payment +#: field:payment.line,communication2:0 +msgid "Communication 2" +msgstr "" + +#. module: account_payment +#: view:account.payment.make.payment:0 +msgid "Are you sure you want to make payment?" +msgstr "" + +#. module: account_payment +#: view:payment.mode:0 +#: field:payment.mode,journal:0 +msgid "Journal" +msgstr "" + +#. module: account_payment +#: field:payment.mode,bank_id:0 +msgid "Bank account" +msgstr "" + +#. module: account_payment +#: view:payment.order:0 +msgid "Confirm Payments" +msgstr "" + +#. module: account_payment +#: field:payment.line,company_currency:0 +#: report:payment.order:0 +msgid "Company Currency" +msgstr "" + +#. module: account_payment +#: model:ir.ui.menu,name:account_payment.menu_main_payment +#: view:payment.line:0 +#: view:payment.order:0 +msgid "Payment" +msgstr "" + +#. module: account_payment +#: report:payment.order:0 +msgid "Payment Order / Payment" +msgstr "" + +#. module: account_payment +#: field:payment.line,move_line_id:0 +msgid "Entry line" +msgstr "" + +#. module: account_payment +#: help:payment.line,communication:0 +msgid "" +"Used as the message between ordering customer and current company. Depicts " +"'What do you want to say to the recipient about this order ?'" +msgstr "" + +#. module: account_payment +#: field:payment.mode,name:0 +msgid "Name" +msgstr "" + +#. module: account_payment +#: report:payment.order:0 +msgid "Bank Account" +msgstr "" + +#. module: account_payment +#: view:payment.line:0 +#: view:payment.order:0 +msgid "Entry Information" +msgstr "" + +#. module: account_payment +#: model:ir.model,name:account_payment.model_payment_order_create +msgid "payment.order.create" +msgstr "" + +#. module: account_payment +#: field:payment.line,order_id:0 +msgid "Order" +msgstr "" + +#. module: account_payment +#: constraint:account.move.line:0 +msgid "You can not create journal items on closed account." +msgstr "" + +#. module: account_payment +#: field:payment.order,total:0 +msgid "Total" +msgstr "" + +#. module: account_payment +#: view:account.payment.make.payment:0 +#: model:ir.actions.act_window,name:account_payment.action_account_payment_make_payment +msgid "Make Payment" +msgstr "" + +#. module: account_payment +#: field:payment.order,mode:0 +msgid "Payment mode" +msgstr "" + +#. module: account_payment +#: model:ir.actions.act_window,name:account_payment.action_create_payment_order +msgid "Populate Payment" +msgstr "" + +#. module: account_payment +#: help:payment.mode,bank_id:0 +msgid "Bank Account for the Payment Mode" +msgstr "" diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py index 3ed173cca85..54226166508 100644 --- a/addons/account_voucher/account_voucher.py +++ b/addons/account_voucher/account_voucher.py @@ -903,7 +903,7 @@ class account_voucher(osv.osv): if voucher_brw.number: name = voucher_brw.number elif voucher_brw.journal_id.sequence_id: - name = seq_obj.next_by_id(cr, uid, voucher_brw.journal_id.sequence_id.id) + name = seq_obj.next_by_id(cr, uid, voucher_brw.journal_id.sequence_id.id, context=context) else: raise osv.except_osv(_('Error !'), _('Please define a sequence on the journal !')) diff --git a/addons/association/profile_association.xml b/addons/association/profile_association.xml index 5f81769eb1a..9be0b6919c7 100644 --- a/addons/association/profile_association.xml +++ b/addons/association/profile_association.xml @@ -9,6 +9,6 @@ web_icon="images/association.png" web_icon_hover="images/association-hover.png"/> - + diff --git a/addons/auction/auction_view.xml b/addons/auction/auction_view.xml index 995ffa78959..0d2a4dd49f8 100644 --- a/addons/auction/auction_view.xml +++ b/addons/auction/auction_view.xml @@ -770,7 +770,7 @@ - + - + - + parent="base.menu_base_config" sequence="20" />--> diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py index 814b9587753..1545c6c920c 100644 --- a/addons/base_calendar/base_calendar.py +++ b/addons/base_calendar/base_calendar.py @@ -1618,20 +1618,13 @@ class ir_attachment(osv.osv): _inherit = 'ir.attachment' def search_count(self, cr, user, args, context=None): - """ - @param self: The object pointer - @param cr: the current row, from the database cursor, - @param user: the current user’s ID for security checks, - @param args: list of tuples of form [(‘name_of_the_field’, ‘operator’, value), ...]. - @param context: A standard dictionary for contextual values - """ - - args1 = [] - for arg in args: - args1.append(map(lambda x:str(x).split('-')[0], arg)) - return super(ir_attachment, self).search_count(cr, user, args1, context) - - + new_args = [] + for domain_item in args: + if isinstance(domain_item, (list, tuple)) and len(domain_item) == 3 and domain_item[0] == 'res_id': + new_args.append((domain_item[0], domain_item[1], base_calendar_id2real_id(domain_item[2]))) + else: + new_args.append(domain_item) + return super(ir_attachment, self).search_count(cr, user, new_args, context) def create(self, cr, uid, vals, context=None): if context: @@ -1641,21 +1634,12 @@ class ir_attachment(osv.osv): def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False): - """ - @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 args: list of tuples of form [(‘name_of_the_field’, ‘operator’, value), ...]. - @param offset: The Number of Results to pass, - @param limit: The Number of Results to Return, - @param context: A standard dictionary for contextual values - """ - - new_args = args - for i, arg in enumerate(new_args): - if arg[0] == 'res_id': - new_args[i] = (arg[0], arg[1], base_calendar_id2real_id(arg[2])) - + new_args = [] + for domain_item in args: + if isinstance(domain_item, (list, tuple)) and len(domain_item) == 3 and domain_item[0] == 'res_id': + new_args.append((domain_item[0], domain_item[1], base_calendar_id2real_id(domain_item[2]))) + else: + new_args.append(domain_item) return super(ir_attachment, self).search(cr, uid, new_args, offset=offset, limit=limit, order=order, context=context, count=False) ir_attachment() diff --git a/addons/base_calendar/base_calendar_view.xml b/addons/base_calendar/base_calendar_view.xml index 16064762f9b..8ef4310d478 100644 --- a/addons/base_calendar/base_calendar_view.xml +++ b/addons/base_calendar/base_calendar_view.xml @@ -159,7 +159,7 @@ + parent="base.menu_base_config" sequence="50" groups="base.group_sale_manager" /> @@ -215,9 +215,9 @@ + parent="base.menu_calendar_configuration" sequence="5"/> @@ -350,9 +350,9 @@ - - - + + + @@ -501,7 +501,7 @@ + sequence="15" action="action_view_event" /> diff --git a/addons/base_contact/base_contact_view.xml b/addons/base_contact/base_contact_view.xml index 16a9a966e25..13258a9bb0f 100644 --- a/addons/base_contact/base_contact_view.xml +++ b/addons/base_contact/base_contact_view.xml @@ -108,12 +108,8 @@ - - - Addresses - - + @@ -37,7 +37,7 @@ - + diff --git a/addons/base_crypt/i18n/pl.po b/addons/base_crypt/i18n/pl.po new file mode 100644 index 00000000000..4e4ff39a279 --- /dev/null +++ b/addons/base_crypt/i18n/pl.po @@ -0,0 +1,45 @@ +# Polish translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-03-28 14:21+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Polish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-03-29 04:35+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. module: base_crypt +#: model:ir.model,name:base_crypt.model_res_users +msgid "res.users" +msgstr "" + +#. module: base_crypt +#: sql_constraint:res.users:0 +msgid "You can not have two users with the same login !" +msgstr "Nie może być dwóch użytkowników o tym samym loginie !" + +#. module: base_crypt +#: constraint:res.users:0 +msgid "The chosen company is not in the allowed companies for this user" +msgstr "Wybrana firma jest niedozwolona dla tego użytkownika" + +#. module: base_crypt +#: code:addons/base_crypt/crypt.py:140 +#, python-format +msgid "Please specify the password !" +msgstr "Proszę podać hasło!" + +#. module: base_crypt +#: code:addons/base_crypt/crypt.py:140 +#, python-format +msgid "Error" +msgstr "Błąd" diff --git a/addons/base_report_designer/base_report_designer_installer.xml b/addons/base_report_designer/base_report_designer_installer.xml index 2774767af26..d85c9531733 100644 --- a/addons/base_report_designer/base_report_designer_installer.xml +++ b/addons/base_report_designer/base_report_designer_installer.xml @@ -66,10 +66,10 @@ form form new - {'menu':True} + {'menu':True} - + diff --git a/addons/base_tools/i18n/es_EC.po b/addons/base_tools/i18n/es_EC.po new file mode 100644 index 00000000000..3e9b289b0dc --- /dev/null +++ b/addons/base_tools/i18n/es_EC.po @@ -0,0 +1,32 @@ +# Spanish (Ecuador) translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2011-01-11 11:14+0000\n" +"PO-Revision-Date: 2012-03-24 04:09+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Spanish (Ecuador) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-03-25 05:05+0000\n" +"X-Generator: Launchpad (build 14981)\n" + +#. module: base_tools +#: model:ir.module.module,shortdesc:base_tools.module_meta_information +msgid "Common base for tools modules" +msgstr "Base común para módulos herramientas" + +#. module: base_tools +#: model:ir.module.module,description:base_tools.module_meta_information +msgid "" +"\n" +" " +msgstr "" +"\n" +" " diff --git a/addons/board/board_data_admin.xml b/addons/board/board_data_admin.xml index c5a51795425..8cefd04a3b7 100644 --- a/addons/board/board_data_admin.xml +++ b/addons/board/board_data_admin.xml @@ -160,8 +160,8 @@ - - + + diff --git a/addons/board/board_view.xml b/addons/board/board_view.xml index 36d75002476..9a3745df2e2 100644 --- a/addons/board/board_view.xml +++ b/addons/board/board_view.xml @@ -68,7 +68,7 @@ - + diff --git a/addons/crm/board_crm_statistical_view.xml b/addons/crm/board_crm_statistical_view.xml index 5ea3844e896..b1b9ec93784 100644 --- a/addons/crm/board_crm_statistical_view.xml +++ b/addons/crm/board_crm_statistical_view.xml @@ -107,10 +107,10 @@ - + ['|', ('type','=','lead'), ('type','=',False)] - {'search_default_new':1, 'default_type': 'lead', 'search_default_section_id': section_id, 'stage_type': 'lead'} + {'default_type': 'lead', 'search_default_section_id': section_id, 'stage_type': 'lead'} Leads allow you to manage and keep track of all initial contacts with a prospect or partner showing interest in your products or services. A lead is usually the first step in your sales cycle. Once qualified, a lead may be converted into a business opportunity, while creating the related partner for further detailed tracking of any linked activities. You can import a database of prospects, keep track of your business cards or integrate your website's contact form with the OpenERP Leads. Leads can be connected to the email gateway: new emails may create leads, each of them automatically gets the history of the conversation with the prospect. diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index 3d1d2fa5803..01a7ec23177 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -24,7 +24,7 @@ @@ -42,7 +42,7 @@ + parent="base.menu_crm_config_lead" sequence="1" groups="base.group_no_one"/> @@ -158,7 +158,7 @@ - + @@ -179,7 +179,7 @@ - + @@ -276,7 +276,7 @@ - @@ -391,9 +391,9 @@ - + + domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/> @@ -524,8 +524,8 @@ - - + + @@ -546,7 +546,7 @@ - + @@ -627,7 +627,7 @@ - + diff --git a/addons/crm/crm_meeting_menu.xml b/addons/crm/crm_meeting_menu.xml index af50149f693..7c0b2f6cfa4 100644 --- a/addons/crm/crm_meeting_menu.xml +++ b/addons/crm/crm_meeting_menu.xml @@ -87,12 +87,12 @@ - + + action="crm_case_categ_meet" parent="base.menu_sales" + sequence="7" /> Meeting Invitations @@ -106,10 +106,6 @@ With Meeting Invitations you can create and manage the meeting invitations sent/to be sent to your colleagues/partners. You can not only invite OpenERP users, but also external parties, such as a customer. - diff --git a/addons/crm/crm_meeting_view.xml b/addons/crm/crm_meeting_view.xml index 353a2ea7f94..ac1c6635a52 100644 --- a/addons/crm/crm_meeting_view.xml +++ b/addons/crm/crm_meeting_view.xml @@ -15,7 +15,7 @@ @@ -167,9 +167,9 @@ - - - + + + diff --git a/addons/crm/crm_phonecall_menu.xml b/addons/crm/crm_phonecall_menu.xml index d8d00710420..4b7174028ed 100644 --- a/addons/crm/crm_phonecall_menu.xml +++ b/addons/crm/crm_phonecall_menu.xml @@ -105,7 +105,7 @@ tree,calendar [('state','!=','done')] - + Scheduled calls list all the calls to be done by your sales team. A salesman can record the information about the call in the form view. This information will be stored in the partner form to trace every contact you have with a customer. You can also import a .CSV file with a list of calls to be done by your sales team. diff --git a/addons/crm/crm_phonecall_view.xml b/addons/crm/crm_phonecall_view.xml index d00c41bf73f..781c689a55e 100644 --- a/addons/crm/crm_phonecall_view.xml +++ b/addons/crm/crm_phonecall_view.xml @@ -15,7 +15,7 @@ + id="menu_crm_case_phonecall-act" parent="menu_crm_config_phonecall" groups="base.group_no_one"/> @@ -88,7 +88,7 @@ icon="terp-partner" name="%(action_crm_phonecall2partner)d" type="action" - attrs="{'invisible':[('partner_id','!=',False)]}" + attrs="{'invisible':[('partner_id','!=',False)]}" groups="base.group_partner_manager"/> search - + - + @@ -15,10 +15,12 @@ parent="base.menu_base_config" sequence="0" groups="base.group_sale_manager"/> + parent="base.menu_base_config" sequence="45" groups="base.group_extended"/> - + + + @@ -52,7 +54,7 @@ Track from where is coming your leads and opportunities by creating specific channels that will be maintained at the creation of a document in the system. Some examples of channels can be: Website, Phone Call, Reseller, etc. - + @@ -126,8 +128,8 @@ + id="menu_crm_case_section_act" sequence="15" + parent="base.menu_sales_configuration_misc" groups="base.group_no_one"/> @@ -246,7 +248,7 @@ @@ -371,8 +373,8 @@ + groups="base.group_extended" sequence="15" + parent="base.menu_base_config" /> view.users.form.crm.modif.inherited1 diff --git a/addons/crm/i18n/zh_CN.po b/addons/crm/i18n/zh_CN.po index 3410c074fe1..ca93cb53145 100644 --- a/addons/crm/i18n/zh_CN.po +++ b/addons/crm/i18n/zh_CN.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-02-08 01:37+0100\n" -"PO-Revision-Date: 2012-02-20 03:23+0000\n" -"Last-Translator: Jeff Wang \n" +"PO-Revision-Date: 2012-03-22 16:17+0000\n" +"Last-Translator: Wei \"oldrev\" Li \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: 2012-02-21 05:55+0000\n" -"X-Generator: Launchpad (build 14838)\n" +"X-Launchpad-Export-Date: 2012-03-23 04:41+0000\n" +"X-Generator: Launchpad (build 14996)\n" #. module: crm #: view:crm.lead.report:0 @@ -291,7 +291,7 @@ msgstr "状态" #: model:ir.ui.menu,name:crm.menu_crm_case_phonecall-act #: model:ir.ui.menu,name:crm.menu_crm_lead_categ msgid "Categories" -msgstr "类型" +msgstr "分类" #. module: crm #: view:crm.lead:0 @@ -419,7 +419,7 @@ msgstr "这默认百分比描述业务在这阶段的平均的成功概率" #: field:crm.phonecall.report,categ_id:0 #: field:crm.phonecall2phonecall,categ_id:0 msgid "Category" -msgstr "类型" +msgstr "分类" #. module: crm #: view:crm.lead:0 @@ -561,7 +561,7 @@ msgstr "满意度计算" #. module: crm #: view:crm.case.categ:0 msgid "Case Category" -msgstr "业务类型" +msgstr "业务分类" #. module: crm #: help:crm.segmentation,som_interval_default:0 @@ -605,7 +605,7 @@ msgstr "电话访问" msgid "" "The partner category that will be added to partners that match the " "segmentation criterions after computation." -msgstr "这业务伙伴类型将加到计算匹配业务伙伴的业务伙伴细分规则中" +msgstr "该业务伙伴分类将加到计算匹配业务伙伴的业务伙伴细分规则中" #. module: crm #: code:addons/crm/crm_meeting.py:93 @@ -870,7 +870,7 @@ msgstr "商机列表" #. module: crm #: field:crm.segmentation,categ_id:0 msgid "Partner Category" -msgstr "业务伙伴类型" +msgstr "业务伙伴分类" #. module: crm #: view:crm.add.note:0 @@ -1209,7 +1209,7 @@ msgstr "预期收益" msgid "" "Create specific phone call categories to better define the type of calls " "tracked in the system." -msgstr "在系统中创建指定的电话访问类型以方便定义电话访问跟踪类型" +msgstr "在系统中创建指定的电话访问分类以方便定义电话访问跟踪类型" #. module: crm #: selection:crm.lead.report,creation_month:0 @@ -1403,7 +1403,7 @@ msgstr "查找" #. module: crm #: view:board.board:0 msgid "Opportunities by Categories" -msgstr "商机类型" +msgstr "商机分类" #. module: crm #: model:crm.case.section,name:crm.section_sales_marketing_department @@ -1454,7 +1454,7 @@ msgid "" "Create specific partner categories which you can assign to your partners to " "better manage your interactions with them. The segmentation tool is able to " "assign categories to partners according to criteria you set." -msgstr "创建指定的业务伙伴类型,细分规则可以根据你设定的规则去指定业务伙伴的类型,以便你可以为更好管理他们和他们互动。" +msgstr "创建指定的业务伙伴类型,细分规则可以根据你设定的规则去指定业务伙伴的分类,以便你可以为更好管理他们和他们互动。" #. module: crm #: field:crm.case.section,code:0 @@ -1529,7 +1529,7 @@ msgstr "邮件" #. module: crm #: model:ir.actions.act_window,name:crm.crm_phonecall_categ_action msgid "Phonecall Categories" -msgstr "电话访问类型" +msgstr "电话访问分类" #. module: crm #: view:crm.lead.report:0 @@ -1810,12 +1810,12 @@ msgstr "值" #. module: crm #: help:crm.lead,type:0 help:crm.lead.report,type:0 msgid "Type is used to separate Leads and Opportunities" -msgstr "类型用于区分线索和商机" +msgstr "类型用于区分销售线索和商机" #. module: crm #: view:crm.lead:0 view:crm.lead.report:0 msgid "Opportunity by Categories" -msgstr "商机类型" +msgstr "商机按分类分组" #. module: crm #: view:crm.lead:0 field:crm.lead,partner_name:0 @@ -1973,7 +1973,7 @@ msgstr "错误!" msgid "" "Create different meeting categories to better organize and classify your " "meetings." -msgstr "创建不同类型的会议以便更好组织和把会议分类" +msgstr "创建不同的会议分类以便更好组织和把会议分类" #. module: crm #: model:ir.model,name:crm.model_crm_segmentation_line @@ -2954,7 +2954,7 @@ msgstr "探查商机" #. module: crm #: field:base.action.rule,act_categ_id:0 msgid "Set Category to" -msgstr "设类型为" +msgstr "设置分类为" #. module: crm #: view:crm.meeting:0 @@ -3111,7 +3111,7 @@ msgstr "联系人列表" #. module: crm #: model:crm.case.categ,name:crm.categ_oppor1 msgid "Interest in Computer" -msgstr "计算兴趣" +msgstr "对计算机有兴趣" #. module: crm #: view:crm.meeting:0 @@ -3171,7 +3171,7 @@ msgstr "会议" #. module: crm #: model:ir.model,name:crm.model_crm_case_categ msgid "Category of Case" -msgstr "业务类型" +msgstr "业务分类" #. module: crm #: view:crm.lead:0 view:crm.phonecall:0 @@ -3205,7 +3205,7 @@ msgstr "关闭或取消状态的线索不能转为商机" #: model:ir.actions.act_window,name:crm.crm_meeting_categ_action #: model:ir.ui.menu,name:crm.menu_crm_case_meeting-act msgid "Meeting Categories" -msgstr "会议类型" +msgstr "会议分类" #. module: crm #: view:crm.phonecall2partner:0 @@ -3565,7 +3565,7 @@ msgstr "选项" #. module: crm #: model:crm.case.stage,name:crm.stage_lead4 msgid "Negotiation" -msgstr "协商" +msgstr "谈判" #. module: crm #: view:crm.lead:0 diff --git a/addons/crm/report/crm_lead_report_view.xml b/addons/crm/report/crm_lead_report_view.xml index 32fbe65c337..b2cb3b1bfea 100644 --- a/addons/crm/report/crm_lead_report_view.xml +++ b/addons/crm/report/crm_lead_report_view.xml @@ -263,10 +263,10 @@ + parent="base.next_id_64" action="action_report_crm_lead" sequence="1"/> + parent="base.next_id_64" action="action_report_crm_opportunity" sequence="5"/> diff --git a/addons/crm/report/crm_phonecall_report_view.xml b/addons/crm/report/crm_phonecall_report_view.xml index e171388d08f..f745d93e3ef 100644 --- a/addons/crm/report/crm_phonecall_report_view.xml +++ b/addons/crm/report/crm_phonecall_report_view.xml @@ -157,7 +157,7 @@ + id="menu_report_crm_phonecalls_tree" parent="base.next_id_64" sequence="15"/> diff --git a/addons/crm/wizard/mail_compose_message.py b/addons/crm/wizard/mail_compose_message.py index 512d9ece77a..b82c3083f3a 100644 --- a/addons/crm/wizard/mail_compose_message.py +++ b/addons/crm/wizard/mail_compose_message.py @@ -50,7 +50,7 @@ class mail_compose_message(osv.osv_memory): 'subject' : data.name or False, 'email_to' : data.email_from or False, 'email_from' : user.user_email or tools.config.get('email_from', False), - 'body_text' : '\n' + tools.ustr(user.signature), + 'body_text' : '\n' + tools.ustr(user.signature or ''), 'email_cc' : tools.ustr(data.email_cc or ''), 'model': model, 'res_id': res_id, diff --git a/addons/crm_caldav/crm_caldav_view.xml b/addons/crm_caldav/crm_caldav_view.xml index a610095d6a6..287e301532e 100644 --- a/addons/crm_caldav/crm_caldav_view.xml +++ b/addons/crm_caldav/crm_caldav_view.xml @@ -11,14 +11,14 @@ form new - + - - + parent="base.menu_import_crm" sequence="10"/> + + - + diff --git a/addons/crm_caldav/i18n/pl.po b/addons/crm_caldav/i18n/pl.po new file mode 100644 index 00000000000..748beb9313f --- /dev/null +++ b/addons/crm_caldav/i18n/pl.po @@ -0,0 +1,33 @@ +# Polish translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-03-28 14:18+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Polish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-03-29 04:35+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. module: crm_caldav +#: model:ir.actions.act_window,name:crm_caldav.action_caldav_browse +msgid "Caldav Browse" +msgstr "" + +#. module: crm_caldav +#: model:ir.ui.menu,name:crm_caldav.menu_caldav_browse +msgid "Synchronize This Calendar" +msgstr "Synchronizuj ten kalendarz" + +#. module: crm_caldav +#: model:ir.model,name:crm_caldav.model_crm_meeting +msgid "Meeting" +msgstr "Zebranie" diff --git a/addons/crm_claim/crm_claim_menu.xml b/addons/crm_claim/crm_claim_menu.xml index f33b6f7ad31..c54f161dab3 100644 --- a/addons/crm_claim/crm_claim_menu.xml +++ b/addons/crm_claim/crm_claim_menu.xml @@ -1,10 +1,16 @@ + + parent="base.menu_main_pm" sequence="2" /> @@ -14,7 +20,7 @@ form tree,calendar,form - {'search_default_section_id': section_id, "search_default_current":1,"search_default_user_id":uid, "stage_type":'claim'} + {'search_default_section_id': section_id,"search_default_user_id":uid, "stage_type":'claim'} Record and track your customers' claims. Claims may be linked to a sales order or a lot. You can send emails with attachments and keep the full history for a claim (emails sent, intervention type and so on). Claims may automatically be linked to an email address using the mail gateway module. diff --git a/addons/crm_claim/crm_claim_view.xml b/addons/crm_claim/crm_claim_view.xml index 6bb7e089baa..ab39d5e7015 100644 --- a/addons/crm_claim/crm_claim_view.xml +++ b/addons/crm_claim/crm_claim_view.xml @@ -4,7 +4,7 @@ + parent="base.menu_base_config" sequence="55" /> @@ -19,7 +19,7 @@ + id="menu_crm_case_claim-act" parent="menu_config_claim" groups="base.group_no_one"/> @@ -130,7 +130,7 @@ - + @@ -245,7 +245,7 @@ context="{'group_by':'date_deadline'}" /> + context="{'group_by':'date_closed'}" groups="base.group_no_one"/> @@ -261,7 +261,7 @@ False - + res.partner.claim.info.form res.partner @@ -279,7 +279,7 @@ - + + + + action="action_report_crm_claim" parent="base.menu_project_report" sequence="15"/> diff --git a/addons/crm_fundraising/crm_fundraising_menu.xml b/addons/crm_fundraising/crm_fundraising_menu.xml index f693cd3a8dc..ba44c456028 100644 --- a/addons/crm_fundraising/crm_fundraising_menu.xml +++ b/addons/crm_fundraising/crm_fundraising_menu.xml @@ -13,7 +13,7 @@ crm.fundraising tree,form,graph - {"search_default_user_id":uid,"search_default_current":1, 'search_default_section_id': section_id} + {"search_default_user_id":uid, 'search_default_section_id': section_id} If you need to collect money for your organization or a campaign, Fund Raising allows you to track all your fund raising activities. In the search list, filter by funds description, email, history and probability of success. diff --git a/addons/crm_fundraising/crm_fundraising_view.xml b/addons/crm_fundraising/crm_fundraising_view.xml index cc58b793c17..174831b348f 100644 --- a/addons/crm_fundraising/crm_fundraising_view.xml +++ b/addons/crm_fundraising/crm_fundraising_view.xml @@ -4,7 +4,7 @@ + parent="base.menu_base_config" sequence="65" /> @@ -19,7 +19,7 @@ @@ -162,7 +162,7 @@ - + diff --git a/addons/crm_fundraising/report/crm_fundraising_report_view.xml b/addons/crm_fundraising/report/crm_fundraising_report_view.xml index 19334f2fe4c..46f989629d2 100644 --- a/addons/crm_fundraising/report/crm_fundraising_report_view.xml +++ b/addons/crm_fundraising/report/crm_fundraising_report_view.xml @@ -191,7 +191,7 @@ + id="menu_report_crm_fundraising_tree" parent="base.next_id_64" sequence="30"/> diff --git a/addons/crm_helpdesk/crm_helpdesk_menu.xml b/addons/crm_helpdesk/crm_helpdesk_menu.xml index 31ee27345b0..96d862f1603 100644 --- a/addons/crm_helpdesk/crm_helpdesk_menu.xml +++ b/addons/crm_helpdesk/crm_helpdesk_menu.xml @@ -1,8 +1,13 @@ - + + + @@ -12,7 +17,7 @@ tree,calendar,form - {"search_default_user_id":uid, "search_default_current":1, 'search_default_section_id': section_id} + {"search_default_user_id":uid, 'search_default_section_id': section_id} Helpdesk and Support allow you to track your interventions. Select a customer, add notes and categorize interventions with partners if necessary. You can also assign a priority level. Use the OpenERP Issues system to manage your support activities. Issues can be connected to the email gateway: new emails may create issues, each of them automatically gets the history of the conversation with the customer. diff --git a/addons/crm_helpdesk/crm_helpdesk_view.xml b/addons/crm_helpdesk/crm_helpdesk_view.xml index 3d48a3b88ac..96dbb74e866 100644 --- a/addons/crm_helpdesk/crm_helpdesk_view.xml +++ b/addons/crm_helpdesk/crm_helpdesk_view.xml @@ -4,7 +4,7 @@ + parent="base.menu_base_config" sequence="60" /> @@ -19,7 +19,7 @@ + id="menu_crm_case_helpdesk-act" parent="menu_config_helpdesk" groups="base.group_no_one"/> @@ -116,7 +116,7 @@ icon="terp-mail-message-new" type="action"/> - + @@ -206,7 +206,7 @@ search - @@ -226,7 +226,7 @@ help="Todays's Helpdesk Requests" /> @@ -239,7 +239,7 @@ domain="['|', ('section_id', '=', context.get('section_id')), '|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]" help="My Sales Team(s)" /> - + + + + id="menu_report_crm_helpdesks_tree" parent="base.menu_project_report" sequence="20"/> diff --git a/addons/crm_partner_assign/partner_geo_assign.py b/addons/crm_partner_assign/partner_geo_assign.py index f522cc63d7a..903a3f533c1 100644 --- a/addons/crm_partner_assign/partner_geo_assign.py +++ b/addons/crm_partner_assign/partner_geo_assign.py @@ -42,7 +42,16 @@ def geo_find(addr): if not result: return None return float(result.group(2)),float(result.group(1)) - + +def geo_query_address(street=None, zip=None, city=None, state=None, country=None): + if country and ',' in country and (country.endswith(' of') or country.endswith(' of the')): + # put country qualifier in front, otherwise GMap gives wrong results, + # e.g. 'Congo, Democratic Republic of the' => 'Democratic Republic of the Congo' + country = '{1} {0}'.format(*country.split(',',1)) + return tools.ustr(', '.join(filter(None, [street, + ("%s %s" % (zip or '', city or '')).strip(), + state, + country]))) class res_partner_grade(osv.osv): _order = 'sequence' @@ -88,16 +97,16 @@ class res_partner(osv.osv): 'partner_weight': lambda *args: 0 } def geo_localize(self, cr, uid, ids, context=None): - for partner in self.browse(cr, uid, ids, context=context): + # Don't pass context to browse()! We need country names in english below + for partner in self.browse(cr, uid, ids): if not partner.address: continue contact = partner.address[0] #TOFIX: should be get latitude and longitude for default contact? - addr = ', '.join(filter(None, [ - contact.street, - "%s %s" % (contact.zip , contact.city), - contact.state_id and contact.state_id.name, - contact.country_id and contact.country_id.name])) - result = geo_find(tools.ustr(addr)) + result = geo_find(geo_query_address(street=contact.street, + zip=contact.zip, + city=contact.city, + state=contact.state_id.name, + country=contact.country_id.name)) if result: self.write(cr, uid, [partner.id], { 'partner_latitude': result[0], @@ -154,18 +163,16 @@ class crm_lead(osv.osv): self.write(cr, uid, [lead.id], {'date_assign': fields.date.context_today(self,cr,uid,context=context), 'partner_assigned_id': partner_id}, context=context) return res - def assign_geo_localize(self, cr, uid, ids, latitude=False, longitude=False, context=None): - for lead in self.browse(cr, uid, ids, context=context): + # Don't pass context to browse()! We need country name in english below + for lead in self.browse(cr, uid, ids): if not lead.country_id: continue - addr = ', '.join(filter(None, [ - lead.street, - "%s %s" % (lead.zip, lead.city), - lead.state_id and lead.state_id.name or '', - lead.country_id and lead.country_id.name or '' - ])) - result = geo_find(tools.ustr(addr)) + result = geo_find(geo_query_address(street=lead.street, + zip=lead.zip, + city=lead.city, + state=lead.state_id.name, + country=lead.country_id.name)) if not latitude and result: latitude = result[0] if not longitude and result: @@ -175,7 +182,7 @@ class crm_lead(osv.osv): 'partner_longitude': longitude }, context=context) return True - + def search_geo_partner(self, cr, uid, ids, context=None): res_partner = self.pool.get('res.partner') res_partner_ids = {} @@ -204,6 +211,14 @@ class crm_lead(osv.osv): ('country', '=', lead.country_id.id), ], context=context) + # 3. third way: in the same country, extra large area + if not partner_ids: + partner_ids = res_partner.search(cr, uid, [ + ('partner_weight','>', 0), + ('partner_latitude','>', latitude - 8), ('partner_latitude','<', latitude + 8), + ('partner_longitude','>', longitude - 8), ('partner_longitude','<', longitude + 8), + ('country', '=', lead.country_id.id), + ], context=context) # 5. fifth way: anywhere in same country if not partner_ids: diff --git a/addons/crm_partner_assign/report/crm_lead_report_view.xml b/addons/crm_partner_assign/report/crm_lead_report_view.xml index a0bbd62c131..9f6546aee4a 100644 --- a/addons/crm_partner_assign/report/crm_lead_report_view.xml +++ b/addons/crm_partner_assign/report/crm_lead_report_view.xml @@ -12,7 +12,7 @@ - - + graph - + + parent="base.next_id_64" action="action_report_crm_opportunity_assign" sequence="20"/> diff --git a/addons/crm_partner_assign/report/crm_partner_report_view.xml b/addons/crm_partner_assign/report/crm_partner_report_view.xml index 528233fc183..e7581f5bab5 100644 --- a/addons/crm_partner_assign/report/crm_partner_report_view.xml +++ b/addons/crm_partner_assign/report/crm_partner_report_view.xml @@ -77,7 +77,7 @@ + parent="base.next_id_64" action="action_report_crm_partner_assign" sequence="25"/> diff --git a/addons/crm_partner_assign/res_partner_view.xml b/addons/crm_partner_assign/res_partner_view.xml index f9d9d946ead..4bd768179a3 100644 --- a/addons/crm_partner_assign/res_partner_view.xml +++ b/addons/crm_partner_assign/res_partner_view.xml @@ -33,7 +33,7 @@ tree,form - + @@ -69,7 +69,7 @@ form diff --git a/addons/crm_profiling/crm_profiling_view.xml b/addons/crm_profiling/crm_profiling_view.xml index a54d3d4b0a9..9330f20ee0c 100644 --- a/addons/crm_profiling/crm_profiling_view.xml +++ b/addons/crm_profiling/crm_profiling_view.xml @@ -10,8 +10,8 @@ You can create specific topic-related questionnaires to guide your team(s) in the sales cycle by helping them to ask the right questions. The segmentation tool allows you to automatically assign a partner to a category according to his answers to the different questionnaires. - + Questions @@ -20,8 +20,8 @@ tree,form - + diff --git a/addons/crm_todo/crm_todo_view.xml b/addons/crm_todo/crm_todo_view.xml index c098f908b8a..a587463fedb 100644 --- a/addons/crm_todo/crm_todo_view.xml +++ b/addons/crm_todo/crm_todo_view.xml @@ -57,7 +57,8 @@ + action="crm_todo_action" + sequence="5"/> diff --git a/addons/crm_todo/i18n/fi.po b/addons/crm_todo/i18n/fi.po new file mode 100644 index 00000000000..10a17f7f87f --- /dev/null +++ b/addons/crm_todo/i18n/fi.po @@ -0,0 +1,96 @@ +# Finnish translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-03-26 09:38+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Finnish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-03-27 04:51+0000\n" +"X-Generator: Launchpad (build 15011)\n" + +#. module: crm_todo +#: model:ir.model,name:crm_todo.model_project_task +msgid "Task" +msgstr "Tehtävä" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Timebox" +msgstr "Aikaikkuna" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "For cancelling the task" +msgstr "Peruuttaaksesi tehtävän" + +#. module: crm_todo +#: constraint:project.task:0 +msgid "Error ! Task end-date must be greater then task start-date" +msgstr "" +"Virhe! Tehtävän lopetuspäivän tulee olla myöhäisempi kuin aloituspäivä" + +#. module: crm_todo +#: model:ir.model,name:crm_todo.model_crm_lead +msgid "crm.lead" +msgstr "" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Next" +msgstr "seuraava" + +#. module: crm_todo +#: model:ir.actions.act_window,name:crm_todo.crm_todo_action +#: model:ir.ui.menu,name:crm_todo.menu_crm_todo +msgid "My Tasks" +msgstr "Omat tehtävät" + +#. module: crm_todo +#: view:crm.lead:0 +#: field:crm.lead,task_ids:0 +msgid "Tasks" +msgstr "Tehtävät" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Done" +msgstr "Valmis" + +#. module: crm_todo +#: constraint:project.task:0 +msgid "Error ! You cannot create recursive tasks." +msgstr "Virhe ! Et voi luoda rekursiivisiä tehtäviä." + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Cancel" +msgstr "Peruuta" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Extra Info" +msgstr "Lisätiedot" + +#. module: crm_todo +#: field:project.task,lead_id:0 +msgid "Lead / Opportunity" +msgstr "Liidi / mahdollisuus" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "For changing to done state" +msgstr "Vaihtaaksesi valmis tilaan" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Previous" +msgstr "edellinen" diff --git a/addons/crm_todo/i18n/it.po b/addons/crm_todo/i18n/it.po new file mode 100644 index 00000000000..00c702f72f6 --- /dev/null +++ b/addons/crm_todo/i18n/it.po @@ -0,0 +1,97 @@ +# Italian translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-03-23 08:30+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Italian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-03-24 04:54+0000\n" +"X-Generator: Launchpad (build 14981)\n" + +#. module: crm_todo +#: model:ir.model,name:crm_todo.model_project_task +msgid "Task" +msgstr "Attività" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Timebox" +msgstr "Periodo Inderogabile" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "For cancelling the task" +msgstr "" + +#. module: crm_todo +#: constraint:project.task:0 +msgid "Error ! Task end-date must be greater then task start-date" +msgstr "" +"Errore ! La data di termine del compito deve essere antecedente a quella di " +"inizio" + +#. module: crm_todo +#: model:ir.model,name:crm_todo.model_crm_lead +msgid "crm.lead" +msgstr "" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Next" +msgstr "Successivo" + +#. module: crm_todo +#: model:ir.actions.act_window,name:crm_todo.crm_todo_action +#: model:ir.ui.menu,name:crm_todo.menu_crm_todo +msgid "My Tasks" +msgstr "Le Mie Attività" + +#. module: crm_todo +#: view:crm.lead:0 +#: field:crm.lead,task_ids:0 +msgid "Tasks" +msgstr "Attività" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Done" +msgstr "Completato" + +#. module: crm_todo +#: constraint:project.task:0 +msgid "Error ! You cannot create recursive tasks." +msgstr "Errore ! Non è possibile creare attività ricorsive." + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Cancel" +msgstr "Cancella" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Extra Info" +msgstr "Altre Informazioni" + +#. module: crm_todo +#: field:project.task,lead_id:0 +msgid "Lead / Opportunity" +msgstr "" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "For changing to done state" +msgstr "" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Previous" +msgstr "Precedente" diff --git a/addons/delivery/delivery_view.xml b/addons/delivery/delivery_view.xml index 1e47d815084..2d97d89dfca 100644 --- a/addons/delivery/delivery_view.xml +++ b/addons/delivery/delivery_view.xml @@ -1,7 +1,7 @@ - + delivery.carrier.tree @@ -81,7 +81,7 @@ Define your delivery methods and their pricing. The delivery costs can be added on the sale order form or in the invoice, based on the delivery orders. - + @@ -131,7 +131,7 @@ tree,form The delivery price list allows you to compute the cost and sales price of the delivery according to the weight of the products and other criteria. You can define several price lists for one delivery method, per country or a zone in a specific country defined by a postal code range. - + delivery.grid.line.form diff --git a/addons/document/board_document_view.xml b/addons/document/board_document_view.xml index e3b1b4c9c64..4412423c97b 100644 --- a/addons/document/board_document_view.xml +++ b/addons/document/board_document_view.xml @@ -35,10 +35,10 @@ diff --git a/addons/document/document_view.xml b/addons/document/document_view.xml index a68f676a295..e426444f26d 100644 --- a/addons/document/document_view.xml +++ b/addons/document/document_view.xml @@ -264,12 +264,12 @@ - + - + @@ -335,8 +335,8 @@ - - + + diff --git a/addons/edi/static/src/css/edi.css b/addons/edi/static/src/css/edi.css index 478985ee585..1601151ae1f 100644 --- a/addons/edi/static/src/css/edi.css +++ b/addons/edi/static/src/css/edi.css @@ -146,6 +146,14 @@ table.oe_edi_data, .oe_edi_doc_title { font-style: italic; font-size: 95%; padding-left: 10px; + + /* prevent wide notes from disrupting layout due to
 styling */
+    white-space: pre-line;
+    width: 90%;
+}
+.oe_edi_data_row .oe_edi_inner_note {
+    /* prevent wide notes from disrupting layout due to 
 styling */
+    width: 25em;
 }
 .oe_edi_shade {
     background: #e8e8e8;
diff --git a/addons/edi/static/src/xml/edi.xml b/addons/edi/static/src/xml/edi.xml
index 1f27c49ccdd..b9b385e9a07 100644
--- a/addons/edi/static/src/xml/edi.xml
+++ b/addons/edi/static/src/xml/edi.xml
@@ -11,7 +11,7 @@
         
             
+ t-att-style="'background-size: 180px 46px; background: url('+ (doc.company_address ? '/edi/binary?db='+widget.db+'&token='+widget.token : '/web/static/src/img/logo.png')+')'"/>
diff --git a/addons/edi/static/src/xml/edi_account.xml b/addons/edi/static/src/xml/edi_account.xml index dc6fb7f9754..3ce1daebf93 100644 --- a/addons/edi/static/src/xml/edi_account.xml +++ b/addons/edi/static/src/xml/edi_account.xml @@ -39,9 +39,9 @@ Your Reference - - - + + +

diff --git a/addons/email_template/email_template.py b/addons/email_template/email_template.py index 6c1571c5630..86f136ca5b9 100644 --- a/addons/email_template/email_template.py +++ b/addons/email_template/email_template.py @@ -57,6 +57,8 @@ class email_template(osv.osv): :param int res_id: id of the document record this mail is related to. """ if not template: return u"" + if context is None: + context = {} try: template = tools.ustr(template) record = None @@ -145,7 +147,7 @@ class email_template(osv.osv): help="Optional preferred server for outgoing mails. If not set, the highest " "priority one will be used."), 'body_text': fields.text('Text contents', translate=True, help="Plaintext version of the message (placeholders may be used here)"), - 'body_html': fields.text('Rich-text contents', help="Rich-text/HTML version of the message (placeholders may be used here)"), + 'body_html': fields.text('Rich-text contents', translate=True, help="Rich-text/HTML version of the message (placeholders may be used here)"), 'message_id': fields.char('Message-Id', size=256, help="Message-ID SMTP header to use in outgoing messages based on this template. " "Please note that this overrides the 'Resource Tracking' option, " "so if you simply need to track replies to outgoing emails, enable " @@ -338,7 +340,7 @@ class email_template(osv.osv): attachments = {} # Add report as a Document if template.report_template: - report_name = template.report_name + report_name = self.render_template(cr, uid, template.report_name, template.model, res_id, context=context) report_service = 'report.' + report_xml_pool.browse(cr, uid, template.report_template.id, context).report_name # Ensure report is rendered using template's language ctx = context.copy() @@ -374,6 +376,7 @@ class email_template(osv.osv): was executed for this message only. :returns: id of the mail.message that was created """ + if context is None: context = {} mail_message = self.pool.get('mail.message') ir_attachment = self.pool.get('ir.attachment') values = self.generate_email(cr, uid, template_id, res_id, context=context) @@ -390,9 +393,10 @@ class email_template(osv.osv): 'res_model': mail_message._name, 'res_id': msg_id, } - if context.has_key('default_type'): - del context['default_type'] + context.pop('default_type', None) attachment_ids.append(ir_attachment.create(cr, uid, attachment_data, context=context)) + if attachment_ids: + mail_message.write(cr, uid, msg_id, {'attachment_ids': [(6, 0, attachment_ids)]}, context=context) if force_send: mail_message.send(cr, uid, [msg_id], context=context) return msg_id diff --git a/addons/email_template/wizard/mail_compose_message.py b/addons/email_template/wizard/mail_compose_message.py index ef4572429a1..a4fd749979c 100644 --- a/addons/email_template/wizard/mail_compose_message.py +++ b/addons/email_template/wizard/mail_compose_message.py @@ -95,7 +95,7 @@ class mail_compose_message(osv.osv_memory): for fname, fcontent in attachment.iteritems(): data_attach = { 'name': fname, - 'datas': base64.b64encode(fcontent), + 'datas': fcontent, 'datas_fname': fname, 'description': fname, 'res_model' : self._name, diff --git a/addons/event/board_association_view.xml b/addons/event/board_association_view.xml index 0a4755ab105..96db3db6781 100644 --- a/addons/event/board_association_view.xml +++ b/addons/event/board_association_view.xml @@ -62,8 +62,10 @@ form + - + @@ -41,7 +41,7 @@ form - + @@ -229,7 +229,8 @@ ir.actions.act_window event.event form - calendar,tree,form,graph + tree,form,calendar,graph + {"search_default_section_id": section_id} Event is the low level object used by meeting and others documents that should be synchronized with mobile devices or calendar applications through caldav. Most of the users should work in the Calendar menu, and not in the list of events. @@ -254,7 +255,8 @@ - + + event.registration.tree event.registration @@ -299,7 +301,7 @@ - + @@ -317,6 +319,7 @@ +