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 6a2bf7ff0ea..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': @@ -472,6 +472,7 @@ class account_bank_statement_line(osv.osv): required=True), 'statement_id': fields.many2one('account.bank.statement', 'Statement', select=True, required=True, ondelete='cascade'), + 'journal_id': fields.related('statement_id', 'journal_id', type='many2one', relation='account.journal', string='Journal', store=True, readonly=True), 'analytic_account_id': fields.many2one('account.analytic.account', 'Analytic Account'), 'move_ids': fields.many2many('account.move', 'account_bank_statement_line_move_rel', 'statement_line_id','move_id', diff --git a/addons/account/account_cash_statement.py b/addons/account/account_cash_statement.py index 226e78ccef6..f19c1e1c639 100644 --- a/addons/account/account_cash_statement.py +++ b/addons/account/account_cash_statement.py @@ -212,25 +212,12 @@ class account_cash_statement(osv.osv): def create(self, cr, uid, vals, context=None): if self.pool.get('account.journal').browse(cr, uid, vals['journal_id'], context=context).type == 'cash': - open_close = self._get_cash_open_close_box_lines(cr, uid, context) - if vals.get('starting_details_ids', False): - for start in vals.get('starting_details_ids'): - dict_val = start[2] - for end in open_close['end']: - if end[2]['pieces'] == dict_val['pieces']: - end[2]['number'] += dict_val['number'] - vals.update({ -# 'ending_details_ids': open_close['start'], - 'starting_details_ids': open_close['end'] - }) - else: - vals.update({ - 'ending_details_ids': False, - 'starting_details_ids': False - }) - res_id = super(account_cash_statement, self).create(cr, uid, vals, context=context) - self.write(cr, uid, [res_id], {}) - return res_id + amount_total = 0.0 + for line in vals.get('starting_details_ids',[]): + if line and len(line)==3 and line[2]: + amount_total+= line[2]['pieces'] * line[2]['number'] + vals.update(balance_start= amount_total) + return super(account_cash_statement, self).create(cr, uid, vals, context=context) def write(self, cr, uid, ids, vals, context=None): """ @@ -292,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_followup/account_followup.py b/addons/account_followup/account_followup.py index a81535ad70c..8a3e4d51c67 100644 --- a/addons/account_followup/account_followup.py +++ b/addons/account_followup/account_followup.py @@ -34,20 +34,6 @@ class followup(osv.osv): 'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'account_followup.followup', context=c), } - def check_company_uniq(self, cr, uid, ids, context=None): - sr_id = self.search(cr,uid,[],context=context) - lines = self.browse(cr, uid, sr_id, context=context) - company = [] - for l in lines: - if l.company_id.id in company: - return False - if l.company_id.id not in company: - company.append(l.company_id.id) - return True - _constraints = [ - (check_company_uniq, 'Only One Followup by Company.',['company_id'] ) - ] - followup() class followup_line(osv.osv): diff --git a/addons/account_followup/i18n/pt_BR.po b/addons/account_followup/i18n/pt_BR.po index a2605b6b9f9..edb2d38bd0f 100644 --- a/addons/account_followup/i18n/pt_BR.po +++ b/addons/account_followup/i18n/pt_BR.po @@ -13,7 +13,7 @@ msgstr "" "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-Launchpad-Export-Date: 2012-02-22 04:57+0000\n" "X-Generator: Launchpad (build 14838)\n" #. module: account_followup 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/__openerp__.py b/addons/account_payment/__openerp__.py index 32ab6fb4eaa..83c179801ab 100644 --- a/addons/account_payment/__openerp__.py +++ b/addons/account_payment/__openerp__.py @@ -26,13 +26,16 @@ "category": "Accounting & Finance", 'complexity': "easy", "description": """ -Module to manage invoice payment. -================================= +Module to manage the payment of your supplier invoices. +======================================================= -This module provides : ----------------------- -* a more efficient way to manage invoice payment. -* a basic mechanism to easily plug various automated payment. +This module allows you to create and manage your payment orders, with purposes to +* serve as base for an easy plug-in of various automated payment mechanisms. +* provide a more efficient way to manage invoice payment. + +Warning: +-------- +The confirmation of a payment order does _not_ create accounting entries, it just records the fact that you gave your payment order to your bank. The booking of your order must be encoded as usual through a bank statement. Indeed, it's only when you get the confirmation from your bank that your order has been accepted that you can book it in your accounting. To help you with that operation, you have a new option to import payment orders as bank statement lines. """, 'images': ['images/payment_mode.jpeg','images/payment_order.jpeg'], 'depends': ['account','account_voucher'], 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_payment/i18n/lv.po b/addons/account_payment/i18n/lv.po new file mode 100644 index 00000000000..91045eb6acd --- /dev/null +++ b/addons/account_payment/i18n/lv.po @@ -0,0 +1,729 @@ +# Latvian 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-02 13:58+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Latvian \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-03 05:14+0000\n" +"X-Generator: Launchpad (build 14886)\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 "Uzņēmums" + +#. 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 "Apmaksas termiņš" + +#. module: account_payment +#: view:account.move.line:0 +msgid "Account Entry Line" +msgstr "Konta Ieraksta Rinda" + +#. 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 "" + +#~ msgid "You can not create move line on closed account." +#~ msgstr "Nav iespējams veikt grāmatojumus slēgtā kontā." diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py index 8cb22ade87c..54226166508 100644 --- a/addons/account_voucher/account_voucher.py +++ b/addons/account_voucher/account_voucher.py @@ -547,6 +547,21 @@ class account_voucher(osv.osv): @return: Returns a dict which contains new values, and context """ + def _remove_noise_in_o2m(): + """if the line is partially reconciled, then we must pay attention to display it only once and + in the good o2m. + This function returns True if the line is considered as noise and should not be displayed + """ + if line.reconcile_partial_id: + sign = 1 if ttype == 'receipt' else -1 + if currency_id == line.currency_id.id: + if line.amount_residual_currency * sign <= 0: + return True + else: + if line.amount_residual * sign <= 0: + return True + return False + if context is None: context = {} context_multi_currency = context.copy() @@ -610,11 +625,11 @@ class account_voucher(osv.osv): ids.reverse() account_move_lines = move_line_pool.browse(cr, uid, ids, context=context) + #compute the total debit/credit and look for a matching open amount or invoice for line in account_move_lines: - if line.credit and line.reconcile_partial_id and ttype == 'receipt': - continue - if line.debit and line.reconcile_partial_id and ttype == 'payment': + if _remove_noise_in_o2m(): continue + if invoice_id: if line.invoice.id == invoice_id: #if the invoice linked to the voucher line is equal to the invoice_id in context @@ -640,10 +655,9 @@ class account_voucher(osv.osv): #voucher line creation for line in account_move_lines: - if line.credit and line.reconcile_partial_id and ttype == 'receipt': - continue - if line.debit and line.reconcile_partial_id and ttype == 'payment': + if _remove_noise_in_o2m(): continue + if line.currency_id and currency_id==line.currency_id.id: amount_original = abs(line.amount_currency) amount_unreconciled = abs(line.amount_residual_currency) @@ -889,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 !')) @@ -1069,7 +1083,7 @@ class account_voucher(osv.osv): voucher_currency = voucher_brw.currency_id and voucher_brw.currency_id.id or voucher_brw.journal_id.company_id.currency_id.id # We want to set it on the account move line as soon as the original line had a foreign currency if line.move_line_id.currency_id and line.move_line_id.currency_id.id != company_currency: - # we compute the amount in that foreign currency. + # we compute the amount in that foreign currency. if line.move_line_id.currency_id.id == current_currency: # if the voucher and the voucher line share the same currency, there is no computation to do sign = (move_line['debit'] - move_line['credit']) < 0 and -1 or 1 @@ -1288,7 +1302,7 @@ class account_voucher_line(osv.osv): def _currency_id(self, cr, uid, ids, name, args, context=None): ''' - This function returns the currency id of a voucher line. It's either the currency of the + This function returns the currency id of a voucher line. It's either the currency of the associated move line (if any) or the currency of the voucher or the company currency. ''' res = {} diff --git a/addons/account_voucher/i18n/gu.po b/addons/account_voucher/i18n/gu.po new file mode 100644 index 00000000000..3ff2de507a6 --- /dev/null +++ b/addons/account_voucher/i18n/gu.po @@ -0,0 +1,1114 @@ +# Gujarati 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 01:37+0100\n" +"PO-Revision-Date: 2012-03-06 18:11+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Gujarati \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-07 05:13+0000\n" +"X-Generator: Launchpad (build 14907)\n" + +#. module: account_voucher +#: view:sale.receipt.report:0 +msgid "last month" +msgstr "પૂર્વ માસ" + +#. module: account_voucher +#: view:account.voucher.unreconcile:0 +msgid "Unreconciliation transactions" +msgstr "" + +#. module: account_voucher +#: code:addons/account_voucher/account_voucher.py:324 +#, python-format +msgid "Write-Off" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Payment Ref" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Total Amount" +msgstr "કુલ રકમ" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Open Customer Journal Entries" +msgstr "" + +#. module: account_voucher +#: code:addons/account_voucher/account_voucher.py:1063 +#, python-format +msgid "" +"You have to configure account base code and account tax code on the '%s' tax!" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 view:sale.receipt.report:0 +msgid "Group By..." +msgstr "ગ્રુપ દ્વારા..." + +#. module: account_voucher +#: code:addons/account_voucher/account_voucher.py:797 +#, python-format +msgid "Cannot delete Voucher(s) which are already opened or paid !" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Supplier" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +#: model:ir.actions.act_window,name:account_voucher.act_pay_bills +msgid "Bill Payment" +msgstr "" + +#. module: account_voucher +#: view:account.statement.from.invoice.lines:0 +#: code:addons/account_voucher/wizard/account_statement_from_invoice.py:181 +#: model:ir.actions.act_window,name:account_voucher.action_view_account_statement_from_invoice_lines +#, python-format +msgid "Import Entries" +msgstr "" + +#. module: account_voucher +#: model:ir.model,name:account_voucher.model_account_voucher_unreconcile +msgid "Account voucher unreconcile" +msgstr "" + +#. module: account_voucher +#: selection:sale.receipt.report,month:0 +msgid "March" +msgstr "માર્ચ" + +#. module: account_voucher +#: model:ir.actions.act_window,help:account_voucher.action_sale_receipt +msgid "" +"When you sell products to a customer, you can give him a sales receipt or an " +"invoice. When the sales receipt is confirmed, it creates journal items " +"automatically and you can record the customer payment related to this sales " +"receipt." +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Pay Bill" +msgstr "" + +#. module: account_voucher +#: field:account.voucher,company_id:0 field:account.voucher.line,company_id:0 +#: view:sale.receipt.report:0 field:sale.receipt.report,company_id:0 +msgid "Company" +msgstr "કંપની" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Set to Draft" +msgstr "" + +#. module: account_voucher +#: help:account.voucher,reference:0 +msgid "Transaction reference number." +msgstr "" + +#. module: account_voucher +#: view:sale.receipt.report:0 +msgid "Group by year of Invoice Date" +msgstr "" + +#. module: account_voucher +#: model:ir.actions.act_window,name:account_voucher.action_view_account_voucher_unreconcile +msgid "Unreconcile entries" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Voucher Statistics" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Validate" +msgstr "" + +#. module: account_voucher +#: view:sale.receipt.report:0 field:sale.receipt.report,day:0 +msgid "Day" +msgstr "દિવસ" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Search Vouchers" +msgstr "" + +#. module: account_voucher +#: field:account.voucher,writeoff_acc_id:0 +msgid "Counterpart Account" +msgstr "" + +#. module: account_voucher +#: field:account.voucher,account_id:0 field:account.voucher.line,account_id:0 +#: field:sale.receipt.report,account_id:0 +msgid "Account" +msgstr "ખાતું" + +#. module: account_voucher +#: field:account.voucher,line_dr_ids:0 +msgid "Debits" +msgstr "" + +#. module: account_voucher +#: view:account.statement.from.invoice.lines:0 +msgid "Ok" +msgstr "બરાબર" + +#. module: account_voucher +#: field:account.voucher.line,reconcile:0 +msgid "Full Reconcile" +msgstr "" + +#. module: account_voucher +#: field:account.voucher,date_due:0 field:account.voucher.line,date_due:0 +#: view:sale.receipt.report:0 field:sale.receipt.report,date_due:0 +msgid "Due Date" +msgstr "" + +#. module: account_voucher +#: field:account.voucher,narration:0 +msgid "Notes" +msgstr "નોંધ" + +#. module: account_voucher +#: model:ir.actions.act_window,help:account_voucher.action_vendor_receipt +msgid "" +"Sales payment allows you to register the payments you receive from your " +"customers. In order to record a payment, you must enter the customer, the " +"payment method (=the journal) and the payment amount. OpenERP will propose " +"to you automatically the reconciliation of this payment with the open " +"invoices or sales receipts." +msgstr "" + +#. module: account_voucher +#: selection:account.voucher,type:0 selection:sale.receipt.report,type:0 +msgid "Sale" +msgstr "" + +#. module: account_voucher +#: field:account.voucher.line,move_line_id:0 +msgid "Journal Item" +msgstr "" + +#. module: account_voucher +#: field:account.voucher,is_multi_currency:0 +msgid "Multi Currency Voucher" +msgstr "" + +#. module: account_voucher +#: field:account.voucher.line,amount:0 +msgid "Amount" +msgstr "કિંમત" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Payment Options" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Other Information" +msgstr "" + +#. module: account_voucher +#: selection:account.voucher,state:0 selection:sale.receipt.report,state:0 +msgid "Cancelled" +msgstr "રદ થયેલ" + +#. module: account_voucher +#: field:account.statement.from.invoice,date:0 +msgid "Date payment" +msgstr "" + +#. module: account_voucher +#: model:ir.model,name:account_voucher.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 view:account.voucher.unreconcile:0 +msgid "Unreconcile" +msgstr "" + +#. module: account_voucher +#: constraint:account.invoice:0 +msgid "Invalid BBA Structured Communication !" +msgstr "" + +#. module: account_voucher +#: field:account.voucher,tax_id:0 +msgid "Tax" +msgstr "" + +#. module: account_voucher +#: constraint:account.bank.statement:0 +msgid "The journal and period chosen have to belong to the same company." +msgstr "" + +#. module: account_voucher +#: field:account.voucher,comment:0 +msgid "Counterpart Comment" +msgstr "" + +#. module: account_voucher +#: field:account.voucher.line,account_analytic_id:0 +msgid "Analytic Account" +msgstr "વિશ્લેષણાત્મક ખાતું" + +#. module: account_voucher +#: code:addons/account_voucher/account_voucher.py:927 +#: code:addons/account_voucher/account_voucher.py:931 +#, python-format +msgid "Warning" +msgstr "ચેતવણી" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Payment Information" +msgstr "" + +#. module: account_voucher +#: view:account.statement.from.invoice:0 +msgid "Go" +msgstr "જાઓ" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Paid Amount" +msgstr "" + +#. module: account_voucher +#: view:account.bank.statement:0 +msgid "Import Invoices" +msgstr "" + +#. module: account_voucher +#: selection:account.voucher,pay_now:0 selection:sale.receipt.report,pay_now:0 +msgid "Pay Later or Group Funds" +msgstr "" + +#. module: account_voucher +#: help:account.voucher,writeoff_amount:0 +msgid "" +"Computed as the difference between the amount stated in the voucher and the " +"sum of allocation on the voucher lines." +msgstr "" + +#. module: account_voucher +#: selection:account.voucher,type:0 selection:sale.receipt.report,type:0 +msgid "Receipt" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Sales Lines" +msgstr "" + +#. module: account_voucher +#: constraint:res.company:0 +msgid "Error! You can not create recursive companies." +msgstr "" + +#. module: account_voucher +#: view:sale.receipt.report:0 +msgid "current month" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 field:account.voucher,period_id:0 +msgid "Period" +msgstr "અવધિ" + +#. module: account_voucher +#: view:account.voucher:0 field:account.voucher,state:0 +#: view:sale.receipt.report:0 +msgid "State" +msgstr "સ્થિતિ" + +#. module: account_voucher +#: selection:account.voucher.line,type:0 +msgid "Debit" +msgstr "ઉધાર" + +#. module: account_voucher +#: sql_constraint:res.company:0 +msgid "The company name must be unique !" +msgstr "" + +#. module: account_voucher +#: view:sale.receipt.report:0 field:sale.receipt.report,nbr:0 +msgid "# of Voucher Lines" +msgstr "" + +#. module: account_voucher +#: view:sale.receipt.report:0 field:sale.receipt.report,type:0 +msgid "Type" +msgstr "પ્રકાર" + +#. module: account_voucher +#: field:account.voucher.unreconcile,remove:0 +msgid "Want to remove accounting entries too ?" +msgstr "" + +#. module: account_voucher +#: view:sale.receipt.report:0 +msgid "Pro-forma Vouchers" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +#: model:ir.actions.act_window,name:account_voucher.act_journal_voucher_open +msgid "Voucher Entries" +msgstr "" + +#. module: account_voucher +#: code:addons/account_voucher/account_voucher.py:462 +#: code:addons/account_voucher/account_voucher.py:894 +#, python-format +msgid "Error !" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Supplier Voucher" +msgstr "" + +#. module: account_voucher +#: model:ir.actions.act_window,name:account_voucher.action_review_voucher_list +msgid "Vouchers Entries" +msgstr "" + +#. module: account_voucher +#: field:account.voucher,name:0 +msgid "Memo" +msgstr "મેમો" + +#. module: account_voucher +#: view:account.invoice:0 code:addons/account_voucher/invoice.py:32 +#, python-format +msgid "Pay Invoice" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Are you sure to unreconcile and cancel this record ?" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +#: model:ir.actions.act_window,name:account_voucher.action_sale_receipt +#: model:ir.ui.menu,name:account_voucher.menu_action_sale_receipt +msgid "Sales Receipt" +msgstr "" + +#. module: account_voucher +#: code:addons/account_voucher/account_voucher.py:797 +#, python-format +msgid "Invalid action !" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Bill Information" +msgstr "" + +#. module: account_voucher +#: selection:sale.receipt.report,month:0 +msgid "July" +msgstr "જુલાઈ" + +#. module: account_voucher +#: view:account.voucher.unreconcile:0 +msgid "Unreconciliation" +msgstr "" + +#. module: account_voucher +#: field:account.voucher,writeoff_amount:0 +msgid "Difference Amount" +msgstr "" + +#. module: account_voucher +#: view:sale.receipt.report:0 field:sale.receipt.report,due_delay:0 +msgid "Avg. Due Delay" +msgstr "" + +#. module: account_voucher +#: field:res.company,income_currency_exchange_account_id:0 +msgid "Income Currency Rate" +msgstr "" + +#. module: account_voucher +#: code:addons/account_voucher/account_voucher.py:1063 +#, python-format +msgid "No Account Base Code and Account Tax Code!" +msgstr "" + +#. module: account_voucher +#: field:account.voucher,tax_amount:0 +msgid "Tax Amount" +msgstr "જકાતી રકમ" + +#. module: account_voucher +#: view:sale.receipt.report:0 +msgid "Validated Vouchers" +msgstr "" + +#. module: account_voucher +#: field:account.voucher,line_ids:0 view:account.voucher.line:0 +#: model:ir.model,name:account_voucher.model_account_voucher_line +msgid "Voucher Lines" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Voucher Entry" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 field:account.voucher,partner_id:0 +#: field:account.voucher.line,partner_id:0 view:sale.receipt.report:0 +#: field:sale.receipt.report,partner_id:0 +msgid "Partner" +msgstr "" + +#. module: account_voucher +#: field:account.voucher,payment_option:0 +msgid "Payment Difference" +msgstr "" + +#. module: account_voucher +#: constraint:account.bank.statement.line:0 +msgid "" +"The amount of the voucher must be the same amount as the one on the " +"statement line" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 field:account.voucher,audit:0 +msgid "To Review" +msgstr "" + +#. module: account_voucher +#: code:addons/account_voucher/account_voucher.py:938 +#: code:addons/account_voucher/account_voucher.py:952 +#: code:addons/account_voucher/account_voucher.py:1103 +#, python-format +msgid "change" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Expense Lines" +msgstr "" + +#. module: account_voucher +#: help:account.voucher,is_multi_currency:0 +msgid "" +"Fields with internal purpose only that depicts if the voucher is a multi " +"currency one or not" +msgstr "" + +#. module: account_voucher +#: field:account.statement.from.invoice,line_ids:0 +#: field:account.statement.from.invoice.lines,line_ids:0 +msgid "Invoices" +msgstr "" + +#. module: account_voucher +#: selection:sale.receipt.report,month:0 +msgid "December" +msgstr "ડિસેમ્બર" + +#. module: account_voucher +#: view:sale.receipt.report:0 +msgid "Group by month of Invoice Date" +msgstr "" + +#. module: account_voucher +#: view:sale.receipt.report:0 field:sale.receipt.report,month:0 +msgid "Month" +msgstr "મહિનો" + +#. module: account_voucher +#: field:account.voucher,currency_id:0 +#: field:account.voucher.line,currency_id:0 +#: field:sale.receipt.report,currency_id:0 +msgid "Currency" +msgstr "ચલણ" + +#. module: account_voucher +#: view:account.statement.from.invoice.lines:0 +msgid "Payable and Receivables" +msgstr "" + +#. module: account_voucher +#: model:ir.actions.act_window,help:account_voucher.action_vendor_payment +msgid "" +"The supplier payment form allows you to track the payment you do to your " +"suppliers. When you select a supplier, the payment method and an amount for " +"the payment, OpenERP will propose to reconcile your payment with the open " +"supplier invoices or bills." +msgstr "" + +#. module: account_voucher +#: view:sale.receipt.report:0 field:sale.receipt.report,user_id:0 +msgid "Salesman" +msgstr "" + +#. module: account_voucher +#: view:sale.receipt.report:0 field:sale.receipt.report,delay_to_pay:0 +msgid "Avg. Delay To Pay" +msgstr "" + +#. module: account_voucher +#: help:account.voucher,paid:0 +msgid "The Voucher has been totally paid." +msgstr "" + +#. module: account_voucher +#: selection:account.voucher,payment_option:0 +msgid "Reconcile Payment Balance" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 selection:account.voucher,state:0 +#: view:sale.receipt.report:0 selection:sale.receipt.report,state:0 +msgid "Draft" +msgstr "ડ્રાફ્ટ" + +#. module: account_voucher +#: code:addons/account_voucher/account_voucher.py:927 +#, python-format +msgid "" +"Unable to create accounting entry for currency rate difference. You have to " +"configure the field 'Income Currency Rate' on the company! " +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 view:sale.receipt.report:0 +msgid "Draft Vouchers" +msgstr "" + +#. module: account_voucher +#: view:sale.receipt.report:0 field:sale.receipt.report,price_total_tax:0 +msgid "Total With Tax" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Allocation" +msgstr "ફાળવણી" + +#. module: account_voucher +#: selection:sale.receipt.report,month:0 +msgid "August" +msgstr "ઑગસ્ટ" + +#. module: account_voucher +#: help:account.voucher,audit:0 +msgid "" +"Check this box if you are unsure of that journal entry and if you want to " +"note it as 'to be reviewed' by an accounting expert." +msgstr "" + +#. module: account_voucher +#: selection:sale.receipt.report,month:0 +msgid "October" +msgstr "ઑક્ટોબર" + +#. module: account_voucher +#: selection:sale.receipt.report,month:0 +msgid "June" +msgstr "જૂન" + +#. module: account_voucher +#: field:account.voucher,payment_rate_currency_id:0 +msgid "Payment Rate Currency" +msgstr "" + +#. module: account_voucher +#: field:account.voucher,paid:0 +msgid "Paid" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Payment Terms" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Are you sure to unreconcile this record ?" +msgstr "" + +#. module: account_voucher +#: field:account.voucher,date:0 field:account.voucher.line,date_original:0 +#: field:sale.receipt.report,date:0 +msgid "Date" +msgstr "તારીખ" + +#. module: account_voucher +#: selection:sale.receipt.report,month:0 +msgid "November" +msgstr "નવેમ્બર" + +#. module: account_voucher +#: view:sale.receipt.report:0 +msgid "Extended Filters..." +msgstr "" + +#. module: account_voucher +#: field:account.voucher,paid_amount_in_company_currency:0 +msgid "Paid Amount in Company Currency" +msgstr "" + +#. module: account_voucher +#: field:account.bank.statement.line,amount_reconciled:0 +msgid "Amount reconciled" +msgstr "" + +#. module: account_voucher +#: field:account.voucher,analytic_id:0 +msgid "Write-Off Analytic Account" +msgstr "" + +#. module: account_voucher +#: selection:account.voucher,pay_now:0 selection:sale.receipt.report,pay_now:0 +msgid "Pay Directly" +msgstr "" + +#. module: account_voucher +#: field:account.voucher.line,type:0 +msgid "Dr/Cr" +msgstr "" + +#. module: account_voucher +#: field:account.voucher,pre_line:0 +msgid "Previous Payments ?" +msgstr "" + +#. module: account_voucher +#: selection:sale.receipt.report,month:0 +msgid "January" +msgstr "જાન્યુઆરી" + +#. module: account_voucher +#: model:ir.actions.act_window,name:account_voucher.action_voucher_list +#: model:ir.ui.menu,name:account_voucher.menu_encode_entries_by_voucher +msgid "Journal Vouchers" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Compute Tax" +msgstr "" + +#. module: account_voucher +#: model:ir.model,name:account_voucher.model_res_company +msgid "Companies" +msgstr "" + +#. module: account_voucher +#: code:addons/account_voucher/account_voucher.py:462 +#, python-format +msgid "Please define default credit/debit accounts on the journal \"%s\" !" +msgstr "" + +#. module: account_voucher +#: selection:account.voucher.line,type:0 +msgid "Credit" +msgstr "જમા" + +#. module: account_voucher +#: code:addons/account_voucher/account_voucher.py:895 +#, python-format +msgid "Please define a sequence on the journal !" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Open Supplier Journal Entries" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Total Allocation" +msgstr "" + +#. module: account_voucher +#: view:sale.receipt.report:0 +msgid "Group by Invoice Date" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Post" +msgstr "લેખ" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Invoices and outstanding transactions" +msgstr "" + +#. module: account_voucher +#: field:res.company,expense_currency_exchange_account_id:0 +msgid "Expense Currency Rate" +msgstr "" + +#. module: account_voucher +#: sql_constraint:account.invoice:0 +msgid "Invoice Number must be unique per Company!" +msgstr "" + +#. module: account_voucher +#: view:sale.receipt.report:0 field:sale.receipt.report,price_total:0 +msgid "Total Without Tax" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Bill Date" +msgstr "" + +#. module: account_voucher +#: help:account.voucher,state:0 +msgid "" +" * The 'Draft' state is used when a user is encoding a new and unconfirmed " +"Voucher. \n" +"* The 'Pro-forma' when voucher is in Pro-forma state,voucher does not have " +"an voucher number. \n" +"* The 'Posted' state is used when user create voucher,a voucher number is " +"generated and voucher entries are created in account " +"\n" +"* The 'Cancelled' state is used when user cancel voucher." +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +#: model:ir.model,name:account_voucher.model_account_voucher +msgid "Accounting Voucher" +msgstr "" + +#. module: account_voucher +#: field:account.voucher,number:0 +msgid "Number" +msgstr "ક્રમ" + +#. module: account_voucher +#: model:ir.model,name:account_voucher.model_account_bank_statement +msgid "Bank Statement" +msgstr "" + +#. module: account_voucher +#: selection:sale.receipt.report,month:0 +msgid "September" +msgstr "સપ્ટેમ્બર" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Sales Information" +msgstr "" + +#. module: account_voucher +#: model:ir.actions.act_window,name:account_voucher.action_sale_receipt_report_all +#: model:ir.ui.menu,name:account_voucher.menu_action_sale_receipt_report_all +#: view:sale.receipt.report:0 +msgid "Sales Receipt Analysis" +msgstr "" + +#. module: account_voucher +#: field:account.voucher.line,voucher_id:0 +#: model:res.request.link,name:account_voucher.req_link_voucher +msgid "Voucher" +msgstr "" + +#. module: account_voucher +#: model:ir.model,name:account_voucher.model_account_invoice +msgid "Invoice" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Voucher Items" +msgstr "" + +#. module: account_voucher +#: view:account.statement.from.invoice:0 +#: view:account.statement.from.invoice.lines:0 view:account.voucher:0 +#: view:account.voucher.unreconcile:0 +msgid "Cancel" +msgstr "રદ કરો" + +#. module: account_voucher +#: selection:account.voucher,state:0 view:sale.receipt.report:0 +#: selection:sale.receipt.report,state:0 +msgid "Pro-forma" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 field:account.voucher,move_ids:0 +msgid "Journal Items" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +#: model:ir.actions.act_window,name:account_voucher.act_pay_voucher +#: model:ir.actions.act_window,name:account_voucher.action_vendor_receipt +#: model:ir.ui.menu,name:account_voucher.menu_action_vendor_receipt +msgid "Customer Payment" +msgstr "" + +#. module: account_voucher +#: view:account.statement.from.invoice:0 +#: model:ir.actions.act_window,name:account_voucher.action_view_account_statement_from_invoice +msgid "Import Invoices in Statement" +msgstr "" + +#. module: account_voucher +#: selection:account.voucher,type:0 selection:sale.receipt.report,type:0 +msgid "Purchase" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Pay" +msgstr "" + +#. module: account_voucher +#: view:sale.receipt.report:0 +msgid "year" +msgstr "વર્ષ" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Currency Options" +msgstr "" + +#. module: account_voucher +#: help:account.voucher,payment_option:0 +msgid "" +"This field helps you to choose what you want to do with the eventual " +"difference between the paid amount and the sum of allocated amounts. You can " +"either choose to keep open this difference on the partner's account, or " +"reconcile it with the payment(s)" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Are you sure to confirm this record ?" +msgstr "" + +#. module: account_voucher +#: model:ir.actions.act_window,help:account_voucher.action_sale_receipt_report_all +msgid "" +"From this report, you can have an overview of the amount invoiced to your " +"customer as well as payment delays. The tool search can also be used to " +"personalise your Invoices reports and so, match this analysis to your needs." +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Posted Vouchers" +msgstr "" + +#. module: account_voucher +#: field:account.voucher,payment_rate:0 +msgid "Exchange Rate" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Payment Method" +msgstr "" + +#. module: account_voucher +#: field:account.voucher.line,name:0 +msgid "Description" +msgstr "વર્ણન" + +#. module: account_voucher +#: selection:sale.receipt.report,month:0 +msgid "May" +msgstr "મે" + +#. module: account_voucher +#: field:account.statement.from.invoice,journal_ids:0 view:account.voucher:0 +#: field:account.voucher,journal_id:0 view:sale.receipt.report:0 +#: field:sale.receipt.report,journal_id:0 +msgid "Journal" +msgstr "રોજનામું" + +#. module: account_voucher +#: model:ir.actions.act_window,name:account_voucher.action_vendor_payment +#: model:ir.ui.menu,name:account_voucher.menu_action_vendor_payment +msgid "Supplier Payment" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Internal Notes" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 field:account.voucher,line_cr_ids:0 +msgid "Credits" +msgstr "" + +#. module: account_voucher +#: field:account.voucher.line,amount_original:0 +msgid "Original Amount" +msgstr "" + +#. module: account_voucher +#: model:ir.actions.act_window,name:account_voucher.action_purchase_receipt +#: model:ir.ui.menu,name:account_voucher.menu_action_purchase_receipt +msgid "Purchase Receipt" +msgstr "" + +#. module: account_voucher +#: help:account.voucher,payment_rate:0 +msgid "" +"The specific rate that will be used, in this voucher, between the selected " +"currency (in 'Payment Rate Currency' field) and the voucher currency." +msgstr "" + +#. module: account_voucher +#: field:account.bank.statement.line,voucher_id:0 view:account.invoice:0 +#: field:account.voucher,pay_now:0 selection:account.voucher,type:0 +#: field:sale.receipt.report,pay_now:0 selection:sale.receipt.report,type:0 +msgid "Payment" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 selection:account.voucher,state:0 +#: view:sale.receipt.report:0 selection:sale.receipt.report,state:0 +msgid "Posted" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Customer" +msgstr "" + +#. module: account_voucher +#: selection:sale.receipt.report,month:0 +msgid "February" +msgstr "ફેબ્રુઆરી" + +#. module: account_voucher +#: view:account.voucher:0 +msgid "Supplier Invoices and Outstanding transactions" +msgstr "" + +#. module: account_voucher +#: view:sale.receipt.report:0 +msgid "Month-1" +msgstr "" + +#. module: account_voucher +#: selection:sale.receipt.report,month:0 +msgid "April" +msgstr "એપ્રિલ" + +#. module: account_voucher +#: help:account.voucher,tax_id:0 +msgid "Only for tax excluded from price" +msgstr "" + +#. module: account_voucher +#: code:addons/account_voucher/account_voucher.py:931 +#, python-format +msgid "" +"Unable to create accounting entry for currency rate difference. You have to " +"configure the field 'Expense Currency Rate' on the company! " +msgstr "" + +#. module: account_voucher +#: field:account.voucher,type:0 +msgid "Default Type" +msgstr "" + +#. module: account_voucher +#: model:ir.model,name:account_voucher.model_account_statement_from_invoice +#: model:ir.model,name:account_voucher.model_account_statement_from_invoice_lines +msgid "Entries by Statement from Invoices" +msgstr "" + +#. module: account_voucher +#: field:account.voucher,move_id:0 +msgid "Account Entry" +msgstr "" + +#. module: account_voucher +#: field:account.voucher,reference:0 +msgid "Ref #" +msgstr "" + +#. module: account_voucher +#: field:sale.receipt.report,state:0 +msgid "Voucher State" +msgstr "" + +#. module: account_voucher +#: help:account.voucher,date:0 +msgid "Effective date for accounting entries" +msgstr "" + +#. module: account_voucher +#: selection:account.voucher,payment_option:0 +msgid "Keep Open" +msgstr "" + +#. module: account_voucher +#: view:account.voucher.unreconcile:0 +msgid "" +"If you unreconciliate transactions, you must also verify all the actions " +"that are linked to those transactions because they will not be disable" +msgstr "" + +#. module: account_voucher +#: field:account.voucher.line,untax_amount:0 +msgid "Untax Amount" +msgstr "" + +#. module: account_voucher +#: model:ir.model,name:account_voucher.model_sale_receipt_report +msgid "Sales Receipt Statistics" +msgstr "" + +#. module: account_voucher +#: view:sale.receipt.report:0 field:sale.receipt.report,year:0 +msgid "Year" +msgstr "વર્ષ" + +#. module: account_voucher +#: field:account.voucher.line,amount_unreconciled:0 +msgid "Open Balance" +msgstr "" + +#. module: account_voucher +#: view:account.voucher:0 field:account.voucher,amount:0 +msgid "Total" +msgstr "કુલ" diff --git a/addons/account_voucher/voucher_payment_receipt_view.xml b/addons/account_voucher/voucher_payment_receipt_view.xml index 1a8d3680f5f..241bd23d5bb 100644 --- a/addons/account_voucher/voucher_payment_receipt_view.xml +++ b/addons/account_voucher/voucher_payment_receipt_view.xml @@ -294,7 +294,7 @@
- + - + diff --git a/addons/analytic_journal_billing_rate/i18n/gu.po b/addons/analytic_journal_billing_rate/i18n/gu.po new file mode 100644 index 00000000000..c8034ae4d0c --- /dev/null +++ b/addons/analytic_journal_billing_rate/i18n/gu.po @@ -0,0 +1,79 @@ +# Gujarati 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-06 18:22+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Gujarati \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-07 05:13+0000\n" +"X-Generator: Launchpad (build 14907)\n" + +#. module: analytic_journal_billing_rate +#: sql_constraint:account.invoice:0 +msgid "Invoice Number must be unique per Company!" +msgstr "" + +#. module: analytic_journal_billing_rate +#: field:analytic_journal_rate_grid,journal_id:0 +msgid "Analytic Journal" +msgstr "" + +#. module: analytic_journal_billing_rate +#: constraint:account.invoice:0 +msgid "Invalid BBA Structured Communication !" +msgstr "" + +#. module: analytic_journal_billing_rate +#: view:analytic_journal_rate_grid:0 +msgid "Billing Rate per Journal for this Analytic Account" +msgstr "" + +#. module: analytic_journal_billing_rate +#: field:analytic_journal_rate_grid,account_id:0 +#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account +msgid "Analytic Account" +msgstr "વિશ્લેષણાત્મક ખાતું" + +#. module: analytic_journal_billing_rate +#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid +msgid "Relation table between journals and billing rates" +msgstr "" + +#. module: analytic_journal_billing_rate +#: field:account.analytic.account,journal_rate_ids:0 +msgid "Invoicing Rate per Journal" +msgstr "" + +#. module: analytic_journal_billing_rate +#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice +msgid "Invoice" +msgstr "" + +#. module: analytic_journal_billing_rate +#: constraint:hr.analytic.timesheet:0 +msgid "You cannot modify an entry in a Confirmed/Done timesheet !." +msgstr "" + +#. module: analytic_journal_billing_rate +#: field:analytic_journal_rate_grid,rate_id:0 +msgid "Invoicing Rate" +msgstr "" + +#. module: analytic_journal_billing_rate +#: constraint:account.analytic.account:0 +msgid "Error! You can not create recursive analytic accounts." +msgstr "ત્રુટિ! તમે અંદરોઅંદર વિશ્લેષણાત્મક ખાતાઓ ન બનાવી શકો." + +#. module: analytic_journal_billing_rate +#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet +msgid "Timesheet Line" +msgstr "" 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 @@ - + - + , 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-06 18:11+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Gujarati \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-07 05:13+0000\n" +"X-Generator: Launchpad (build 14907)\n" + +#. module: audittrail +#: code:addons/audittrail/audittrail.py:75 +#, python-format +msgid "WARNING: audittrail is not part of the pool" +msgstr "" + +#. module: audittrail +#: field:audittrail.log.line,log_id:0 +msgid "Log" +msgstr "લોગ" + +#. module: audittrail +#: view:audittrail.rule:0 +#: selection:audittrail.rule,state:0 +msgid "Subscribed" +msgstr "ઉમેદવારી" + +#. module: audittrail +#: sql_constraint:audittrail.rule:0 +msgid "" +"There is already a rule defined on this object\n" +" You cannot define another: please edit the existing one." +msgstr "" + +#. module: audittrail +#: view:audittrail.rule:0 +msgid "Subscribed Rule" +msgstr "" + +#. module: audittrail +#: model:ir.model,name:audittrail.model_audittrail_rule +msgid "Audittrail Rule" +msgstr "" + +#. module: audittrail +#: view:audittrail.view.log:0 +#: model:ir.actions.act_window,name:audittrail.action_audittrail_log_tree +#: model:ir.ui.menu,name:audittrail.menu_action_audittrail_log_tree +msgid "Audit Logs" +msgstr "" + +#. module: audittrail +#: view:audittrail.log:0 +#: view:audittrail.rule:0 +msgid "Group By..." +msgstr "ગ્રુપ દ્વારા..." + +#. module: audittrail +#: view:audittrail.rule:0 +#: field:audittrail.rule,state:0 +msgid "State" +msgstr "સ્થિતિ" + +#. module: audittrail +#: view:audittrail.rule:0 +msgid "_Subscribe" +msgstr "ઉમેદવારી કરો (_S)" + +#. module: audittrail +#: view:audittrail.rule:0 +#: selection:audittrail.rule,state:0 +msgid "Draft" +msgstr "ડ્રાફ્ટ" + +#. module: audittrail +#: field:audittrail.log.line,old_value:0 +msgid "Old Value" +msgstr "" + +#. module: audittrail +#: model:ir.actions.act_window,name:audittrail.action_audittrail_view_log +msgid "View log" +msgstr "" + +#. module: audittrail +#: help:audittrail.rule,log_read:0 +msgid "" +"Select this if you want to keep track of read/open on any record of the " +"object of this rule" +msgstr "" + +#. module: audittrail +#: field:audittrail.log,method:0 +msgid "Method" +msgstr "પદ્દત્તિ" + +#. module: audittrail +#: field:audittrail.view.log,from:0 +msgid "Log From" +msgstr "" + +#. module: audittrail +#: field:audittrail.log.line,log:0 +msgid "Log ID" +msgstr "" + +#. module: audittrail +#: field:audittrail.log,res_id:0 +msgid "Resource Id" +msgstr "" + +#. module: audittrail +#: help:audittrail.rule,user_id:0 +msgid "if User is not added then it will applicable for all users" +msgstr "" + +#. module: audittrail +#: help:audittrail.rule,log_workflow:0 +msgid "" +"Select this if you want to keep track of workflow on any record of the " +"object of this rule" +msgstr "" + +#. module: audittrail +#: field:audittrail.rule,user_id:0 +msgid "Users" +msgstr "વપરાશકર્તાઓ" + +#. module: audittrail +#: view:audittrail.log:0 +msgid "Log Lines" +msgstr "" + +#. module: audittrail +#: view:audittrail.log:0 +#: field:audittrail.log,object_id:0 +#: field:audittrail.rule,object_id:0 +msgid "Object" +msgstr "વસ્તુ" + +#. module: audittrail +#: view:audittrail.rule:0 +msgid "AuditTrail Rule" +msgstr "" + +#. module: audittrail +#: field:audittrail.view.log,to:0 +msgid "Log To" +msgstr "" + +#. module: audittrail +#: view:audittrail.log:0 +msgid "New Value Text: " +msgstr "" + +#. module: audittrail +#: view:audittrail.rule:0 +msgid "Search Audittrail Rule" +msgstr "" + +#. module: audittrail +#: model:ir.actions.act_window,name:audittrail.action_audittrail_rule_tree +#: model:ir.ui.menu,name:audittrail.menu_action_audittrail_rule_tree +msgid "Audit Rules" +msgstr "" + +#. module: audittrail +#: view:audittrail.log:0 +msgid "Old Value : " +msgstr "" + +#. module: audittrail +#: field:audittrail.log,name:0 +msgid "Resource Name" +msgstr "" + +#. module: audittrail +#: view:audittrail.log:0 +#: field:audittrail.log,timestamp:0 +msgid "Date" +msgstr "તારીખ" + +#. module: audittrail +#: help:audittrail.rule,log_write:0 +msgid "" +"Select this if you want to keep track of modification on any record of the " +"object of this rule" +msgstr "" + +#. module: audittrail +#: field:audittrail.rule,log_create:0 +msgid "Log Creates" +msgstr "" + +#. module: audittrail +#: help:audittrail.rule,object_id:0 +msgid "Select object for which you want to generate log." +msgstr "" + +#. module: audittrail +#: view:audittrail.log:0 +msgid "Old Value Text : " +msgstr "" + +#. module: audittrail +#: field:audittrail.rule,log_workflow:0 +msgid "Log Workflow" +msgstr "" + +#. module: audittrail +#: field:audittrail.rule,log_read:0 +msgid "Log Reads" +msgstr "" + +#. module: audittrail +#: code:addons/audittrail/audittrail.py:76 +#, python-format +msgid "Change audittrail depends -- Setting rule as DRAFT" +msgstr "" + +#. module: audittrail +#: field:audittrail.log,line_ids:0 +msgid "Log lines" +msgstr "" + +#. module: audittrail +#: field:audittrail.log.line,field_id:0 +msgid "Fields" +msgstr "" + +#. module: audittrail +#: view:audittrail.rule:0 +msgid "AuditTrail Rules" +msgstr "" + +#. module: audittrail +#: help:audittrail.rule,log_unlink:0 +msgid "" +"Select this if you want to keep track of deletion on any record of the " +"object of this rule" +msgstr "" + +#. module: audittrail +#: view:audittrail.log:0 +#: field:audittrail.log,user_id:0 +msgid "User" +msgstr "વપરાશકર્તા" + +#. module: audittrail +#: field:audittrail.rule,action_id:0 +msgid "Action ID" +msgstr "" + +#. module: audittrail +#: view:audittrail.rule:0 +msgid "Users (if User is not added then it will applicable for all users)" +msgstr "" + +#. module: audittrail +#: view:audittrail.rule:0 +msgid "UnSubscribe" +msgstr "" + +#. module: audittrail +#: field:audittrail.rule,log_unlink:0 +msgid "Log Deletes" +msgstr "" + +#. module: audittrail +#: field:audittrail.log.line,field_description:0 +msgid "Field Description" +msgstr "" + +#. module: audittrail +#: view:audittrail.log:0 +msgid "Search Audittrail Log" +msgstr "" + +#. module: audittrail +#: field:audittrail.rule,log_write:0 +msgid "Log Writes" +msgstr "" + +#. module: audittrail +#: view:audittrail.view.log:0 +msgid "Open Logs" +msgstr "" + +#. module: audittrail +#: field:audittrail.log.line,new_value_text:0 +msgid "New value Text" +msgstr "" + +#. module: audittrail +#: field:audittrail.rule,name:0 +msgid "Rule Name" +msgstr "" + +#. module: audittrail +#: field:audittrail.log.line,new_value:0 +msgid "New Value" +msgstr "" + +#. module: audittrail +#: view:audittrail.log:0 +msgid "AuditTrail Logs" +msgstr "" + +#. module: audittrail +#: view:audittrail.rule:0 +msgid "Draft Rule" +msgstr "" + +#. module: audittrail +#: model:ir.model,name:audittrail.model_audittrail_log +msgid "Audittrail Log" +msgstr "" + +#. module: audittrail +#: help:audittrail.rule,log_action:0 +msgid "" +"Select this if you want to keep track of actions on the object of this rule" +msgstr "" + +#. module: audittrail +#: view:audittrail.log:0 +msgid "New Value : " +msgstr "" + +#. module: audittrail +#: field:audittrail.log.line,old_value_text:0 +msgid "Old value Text" +msgstr "" + +#. module: audittrail +#: view:audittrail.view.log:0 +msgid "Cancel" +msgstr "રદ કરો" + +#. module: audittrail +#: model:ir.model,name:audittrail.model_audittrail_view_log +msgid "View Log" +msgstr "લોગ જુઓ" + +#. module: audittrail +#: model:ir.model,name:audittrail.model_audittrail_log_line +msgid "Log Line" +msgstr "" + +#. module: audittrail +#: field:audittrail.rule,log_action:0 +msgid "Log Action" +msgstr "" + +#. module: audittrail +#: help:audittrail.rule,log_create:0 +msgid "" +"Select this if you want to keep track of creation on any record of the " +"object of this rule" +msgstr "" diff --git a/addons/auth_openid/i18n/fr.po b/addons/auth_openid/i18n/fr.po new file mode 100644 index 00000000000..ca4f6039db4 --- /dev/null +++ b/addons/auth_openid/i18n/fr.po @@ -0,0 +1,112 @@ +# French 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 01:37+0100\n" +"PO-Revision-Date: 2012-02-22 10:02+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: French \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-23 04:39+0000\n" +"X-Generator: Launchpad (build 14855)\n" + +#. #-#-#-#-# auth_openid.pot (OpenERP Server 6.1rc1) #-#-#-#-# +#. module: auth_openid +#. #-#-#-#-# auth_openid.pot.web (PROJECT VERSION) #-#-#-#-# +#. openerp-web +#: view:res.users:0 +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:12 +msgid "OpenID" +msgstr "" + +#. #-#-#-#-# auth_openid.pot (OpenERP Server 6.1rc1) #-#-#-#-# +#. module: auth_openid +#. #-#-#-#-# auth_openid.pot.web (PROJECT VERSION) #-#-#-#-# +#. openerp-web +#: field:res.users,openid_url:0 +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:47 +msgid "OpenID URL" +msgstr "" + +#. module: auth_openid +#: help:res.users,openid_email:0 +msgid "Used for disambiguation in case of a shared OpenID URL" +msgstr "" + +#. module: auth_openid +#: sql_constraint:res.users:0 +msgid "You can not have two users with the same login !" +msgstr "" + +#. module: auth_openid +#: field:res.users,openid_email:0 +msgid "OpenID Email" +msgstr "" + +#. module: auth_openid +#: constraint:res.users:0 +msgid "The chosen company is not in the allowed companies for this user" +msgstr "" + +#. module: auth_openid +#: field:res.users,openid_key:0 +msgid "OpenID Key" +msgstr "" + +#. module: auth_openid +#: model:ir.model,name:auth_openid.model_res_users +msgid "res.users" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:8 +msgid "Password" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:9 +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:10 +msgid "Google" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:10 +msgid "Google Apps" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:11 +msgid "Launchpad" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:20 +msgid "Google Apps Domain:" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:24 +msgid "Username:" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:28 +msgid "OpenID URL:" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:35 +msgid "Google Apps Domain" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:41 +msgid "Username" +msgstr "" diff --git a/addons/base_action_rule/base_action_rule.py b/addons/base_action_rule/base_action_rule.py index 249fea89e0e..50ebd96a3c2 100644 --- a/addons/base_action_rule/base_action_rule.py +++ b/addons/base_action_rule/base_action_rule.py @@ -24,6 +24,7 @@ from tools.translate import _ from datetime import datetime from datetime import timedelta from tools.safe_eval import safe_eval +from tools import ustr import pooler import re import time @@ -369,8 +370,8 @@ the rule to mark CC(mail to any other person defined in actions)."), reg_name = action.regex_name result_name = True if reg_name: - ptrn = re.compile(str(reg_name)) - _result = ptrn.search(str(obj.name)) + ptrn = re.compile(ustr(reg_name)) + _result = ptrn.search(ustr(obj.name)) if not _result: result_name = False regex_n = not reg_name or result_name diff --git a/addons/base_action_rule/base_action_rule_view.xml b/addons/base_action_rule/base_action_rule_view.xml index 584bc46ab34..65b37fb4c1d 100644 --- a/addons/base_action_rule/base_action_rule_view.xml +++ b/addons/base_action_rule/base_action_rule_view.xml @@ -1,9 +1,9 @@ - + parent="base.menu_base_config" sequence="20" />--> diff --git a/addons/base_action_rule/i18n/gu.po b/addons/base_action_rule/i18n/gu.po new file mode 100644 index 00000000000..eb5594f2167 --- /dev/null +++ b/addons/base_action_rule/i18n/gu.po @@ -0,0 +1,496 @@ +# Gujarati 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-06 18:15+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Gujarati \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-07 05:13+0000\n" +"X-Generator: Launchpad (build 14907)\n" + +#. module: base_action_rule +#: help:base.action.rule,act_mail_to_user:0 +msgid "" +"Check this if you want the rule to send an email to the responsible person." +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,act_remind_partner:0 +msgid "Remind Partner" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,trg_partner_categ_id:0 +msgid "Partner Category" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,act_mail_to_watchers:0 +msgid "Mail to Watchers (CC)" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,trg_state_to:0 +msgid "Button Pressed" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,model_id:0 +msgid "Object" +msgstr "વસ્તુ" + +#. module: base_action_rule +#: field:base.action.rule,act_mail_to_email:0 +msgid "Mail to these Emails" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,act_state:0 +msgid "Set State to" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,act_email_from:0 +msgid "Email From" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Email Body" +msgstr "" + +#. module: base_action_rule +#: selection:base.action.rule,trg_date_range_type:0 +msgid "Days" +msgstr "દિવસો" + +#. module: base_action_rule +#: field:base.action.rule,last_run:0 +msgid "Last Run" +msgstr "" + +#. module: base_action_rule +#: code:addons/base_action_rule/base_action_rule.py:328 +#, python-format +msgid "Error!" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,act_reply_to:0 +msgid "Reply-To" +msgstr "ને જવાબ આપો" + +#. module: base_action_rule +#: help:base.action.rule,act_email_cc:0 +msgid "" +"These people will receive a copy of the future communication between partner " +"and users by email" +msgstr "" + +#. module: base_action_rule +#: selection:base.action.rule,trg_date_range_type:0 +msgid "Minutes" +msgstr "મિનીટો" + +#. module: base_action_rule +#: field:base.action.rule,name:0 +msgid "Rule Name" +msgstr "" + +#. module: base_action_rule +#: help:base.action.rule,act_remind_partner:0 +msgid "" +"Check this if you want the rule to send a reminder by email to the partner." +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Conditions on Model Partner" +msgstr "" + +#. module: base_action_rule +#: selection:base.action.rule,trg_date_type:0 +msgid "Deadline" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,trg_partner_id:0 +msgid "Partner" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "%(object_subject)s = Object subject" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Email Reminders" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Special Keywords to Be Used in The Body" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,trg_state_from:0 +msgid "State" +msgstr "સ્થિતિ" + +#. module: base_action_rule +#: model:ir.actions.act_window,help:base_action_rule.base_action_rule_act +msgid "" +"Use automated actions to automatically trigger actions for various screens. " +"Example: a lead created by a specific user may be automatically set to a " +"specific sales team, or an opportunity which still has status pending after " +"14 days might trigger an automatic reminder email." +msgstr "" + +#. module: base_action_rule +#: help:base.action.rule,act_mail_to_email:0 +msgid "Email-id of the persons whom mail is to be sent" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Action Rule" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Fields to Change" +msgstr "" + +#. module: base_action_rule +#: selection:base.action.rule,trg_date_type:0 +msgid "Creation Date" +msgstr "" + +#. module: base_action_rule +#: selection:base.action.rule,trg_date_type:0 +msgid "Last Action Date" +msgstr "" + +#. module: base_action_rule +#: selection:base.action.rule,trg_date_range_type:0 +msgid "Hours" +msgstr "કલાક" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "%(object_id)s = Object ID" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Delay After Trigger Date" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,act_remind_attach:0 +msgid "Remind with Attachment" +msgstr "" + +#. module: base_action_rule +#: constraint:ir.cron:0 +msgid "Invalid arguments" +msgstr "અયોગ્ય દલીલો" + +#. module: base_action_rule +#: field:base.action.rule,act_user_id:0 +msgid "Set Responsible to" +msgstr "" + +#. module: base_action_rule +#: selection:base.action.rule,trg_date_type:0 +msgid "None" +msgstr "કંઇ નહિં" + +#. module: base_action_rule +#: help:base.action.rule,act_email_to:0 +msgid "" +"Use a python expression to specify the right field on which one than we will " +"use for the 'To' field of the header" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "%(object_user_phone)s = Responsible phone" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "" +"The rule uses the AND operator. The model must match all non-empty fields so " +"that the rule executes the action described in the 'Actions' tab." +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,trg_date_range_type:0 +msgid "Delay type" +msgstr "" + +#. module: base_action_rule +#: help:base.action.rule,regex_name:0 +msgid "" +"Regular expression for matching name of the resource\n" +"e.g.: 'urgent.*' will search for records having name starting with the " +"string 'urgent'\n" +"Note: This is case sensitive search." +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,act_method:0 +msgid "Call Object Method" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,act_email_to:0 +msgid "Email To" +msgstr "" + +#. module: base_action_rule +#: help:base.action.rule,act_mail_to_watchers:0 +msgid "" +"Check this if you want the rule to mark CC(mail to any other person defined " +"in actions)." +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "%(partner)s = Partner name" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Note" +msgstr "નોંધ" + +#. module: base_action_rule +#: help:base.action.rule,act_email_from:0 +msgid "" +"Use a python expression to specify the right field on which one than we will " +"use for the 'From' field of the header" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,trg_date_range:0 +msgid "Delay after trigger date" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Conditions" +msgstr "શરતો" + +#. module: base_action_rule +#: help:base.action.rule,trg_date_range:0 +msgid "" +"Delay After Trigger Date,specifies you can put a negative number. If you " +"need a delay before the trigger date, like sending a reminder 15 minutes " +"before a meeting." +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,active:0 +msgid "Active" +msgstr "કાર્યશીલ" + +#. module: base_action_rule +#: code:addons/base_action_rule/base_action_rule.py:329 +#, python-format +msgid "No E-Mail ID Found for your Company address!" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,act_remind_user:0 +msgid "Remind Responsible" +msgstr "" + +#. module: base_action_rule +#: help:base.action.rule,sequence:0 +msgid "Gives the sequence order when displaying a list of rules." +msgstr "" + +#. module: base_action_rule +#: selection:base.action.rule,trg_date_range_type:0 +msgid "Months" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,filter_id:0 +msgid "Filter" +msgstr "ફિલ્ટર" + +#. module: base_action_rule +#: selection:base.action.rule,trg_date_type:0 +msgid "Date" +msgstr "તારીખ" + +#. module: base_action_rule +#: help:base.action.rule,server_action_id:0 +msgid "" +"Describes the action name.\n" +"eg:on which object which action to be taken on basis of which condition" +msgstr "" + +#. module: base_action_rule +#: model:ir.model,name:base_action_rule.model_ir_cron +msgid "ir.cron" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "%(object_description)s = Object description" +msgstr "" + +#. module: base_action_rule +#: constraint:base.action.rule:0 +msgid "Error: The mail is not well formated" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Email Actions" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Email Information" +msgstr "" + +#. module: base_action_rule +#: model:ir.model,name:base_action_rule.model_base_action_rule +msgid "Action Rules" +msgstr "" + +#. module: base_action_rule +#: help:base.action.rule,act_mail_body:0 +msgid "Content of mail" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,trg_user_id:0 +msgid "Responsible" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "%(partner_email)s = Partner Email" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "%(object_date)s = Creation date" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "%(object_user_email)s = Responsible Email" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,act_mail_body:0 +msgid "Mail body" +msgstr "" + +#. module: base_action_rule +#: help:base.action.rule,act_remind_user:0 +msgid "" +"Check this if you want the rule to send a reminder by email to the user." +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Server Action to be Triggered" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,act_mail_to_user:0 +msgid "Mail to Responsible" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,act_email_cc:0 +msgid "Add Watchers (Cc)" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Conditions on Model Fields" +msgstr "" + +#. module: base_action_rule +#: model:ir.actions.act_window,name:base_action_rule.base_action_rule_act +#: model:ir.ui.menu,name:base_action_rule.menu_base_action_rule_form +msgid "Automated Actions" +msgstr "સ્વયંચાલિતકાર્યો(એકશન્સ)" + +#. module: base_action_rule +#: field:base.action.rule,server_action_id:0 +msgid "Server Action" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,regex_name:0 +msgid "Regex on Resource Name" +msgstr "" + +#. module: base_action_rule +#: help:base.action.rule,act_remind_attach:0 +msgid "" +"Check this if you want that all documents attached to the object be attached " +"to the reminder email sent." +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Conditions on Timing" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,sequence:0 +msgid "Sequence" +msgstr "ક્રમ" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Actions" +msgstr "ક્રિયાઓ" + +#. module: base_action_rule +#: help:base.action.rule,active:0 +msgid "" +"If the active field is set to False, it will allow you to hide the rule " +"without removing it." +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "%(object_user)s = Responsible name" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,create_date:0 +msgid "Create Date" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Conditions on States" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,trg_date_type:0 +msgid "Trigger Date" +msgstr "" 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/ar.po b/addons/base_crypt/i18n/ar.po index 8726fce8f4b..b384256a698 100644 --- a/addons/base_crypt/i18n/ar.po +++ b/addons/base_crypt/i18n/ar.po @@ -8,19 +8,19 @@ 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: 2011-09-05 23:08+0000\n" -"Last-Translator: kifcaliph \n" +"PO-Revision-Date: 2012-02-25 20:54+0000\n" +"Last-Translator: amani ali \n" "Language-Team: Arabic \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-09 07:09+0000\n" -"X-Generator: Launchpad (build 14763)\n" +"X-Launchpad-Export-Date: 2012-02-26 04:55+0000\n" +"X-Generator: Launchpad (build 14860)\n" #. module: base_crypt #: model:ir.model,name:base_crypt.model_res_users msgid "res.users" -msgstr "" +msgstr "مستخدمي المراجع" #. module: base_crypt #: sql_constraint:res.users:0 @@ -42,7 +42,7 @@ msgstr "يرجى تحديد كلمة السر!" #: code:addons/base_crypt/crypt.py:140 #, python-format msgid "Error" -msgstr "" +msgstr "خطأ" #~ msgid "Base - Password Encryption" #~ msgstr "قاعدة - تشفير كلمة المرور" diff --git a/addons/base_iban/i18n/en_GB.po b/addons/base_iban/i18n/en_GB.po index 773995c29bc..eee69d572d0 100644 --- a/addons/base_iban/i18n/en_GB.po +++ b/addons/base_iban/i18n/en_GB.po @@ -8,14 +8,14 @@ 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-01-23 15:23+0000\n" -"Last-Translator: mrx5682 \n" +"PO-Revision-Date: 2012-02-24 13:19+0000\n" +"Last-Translator: John Bradshaw \n" "Language-Team: English (United Kingdom) \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-09 06:02+0000\n" -"X-Generator: Launchpad (build 14763)\n" +"X-Launchpad-Export-Date: 2012-02-25 05:13+0000\n" +"X-Generator: Launchpad (build 14860)\n" #. module: base_iban #: constraint:res.partner.bank:0 @@ -32,7 +32,7 @@ msgstr "" #: code:addons/base_iban/base_iban.py:139 #, python-format msgid "This IBAN does not pass the validation check, please verify it" -msgstr "" +msgstr "This IBAN fails the validation check, please verify it" #. module: base_iban #: model:res.partner.bank.type,format_layout:base_iban.bank_iban @@ -93,7 +93,7 @@ msgstr "IBAN Account" #. module: base_iban #: constraint:res.partner.bank:0 msgid "The RIB and/or IBAN is not valid" -msgstr "" +msgstr "The RIB and/or IBAN is not valid" #, python-format #~ msgid "The IBAN is invalid, It should begin with the country code" diff --git a/addons/base_iban/i18n/gu.po b/addons/base_iban/i18n/gu.po new file mode 100644 index 00000000000..e5cb9e63433 --- /dev/null +++ b/addons/base_iban/i18n/gu.po @@ -0,0 +1,94 @@ +# Gujarati 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-12 15:04+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Gujarati \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-13 05:08+0000\n" +"X-Generator: Launchpad (build 14933)\n" + +#. module: base_iban +#: constraint:res.partner.bank:0 +msgid "" +"\n" +"Please define BIC/Swift code on bank for bank type IBAN Account to make " +"valid payments" +msgstr "" + +#. module: base_iban +#: code:addons/base_iban/base_iban.py:139 +#, python-format +msgid "This IBAN does not pass the validation check, please verify it" +msgstr "" + +#. module: base_iban +#: model:res.partner.bank.type,format_layout:base_iban.bank_iban +msgid "%(bank_name)s: IBAN %(acc_number)s - BIC %(bank_bic)s" +msgstr "" + +#. module: base_iban +#: model:res.partner.bank.type.field,name:base_iban.bank_swift_field +msgid "bank_bic" +msgstr "" + +#. module: base_iban +#: model:res.partner.bank.type.field,name:base_iban.bank_zip_field +msgid "zip" +msgstr "" + +#. module: base_iban +#: help:res.partner.bank,iban:0 +msgid "International Bank Account Number" +msgstr "" + +#. module: base_iban +#: model:ir.model,name:base_iban.model_res_partner_bank +msgid "Bank Accounts" +msgstr "" + +#. module: base_iban +#: model:res.partner.bank.type.field,name:base_iban.bank_country_field +msgid "country_id" +msgstr "" + +#. module: base_iban +#: code:addons/base_iban/base_iban.py:136 +#, python-format +msgid "" +"The IBAN does not seem to be correct. You should have entered something like " +"this %s" +msgstr "" + +#. module: base_iban +#: field:res.partner.bank,iban:0 +msgid "IBAN" +msgstr "" + +#. module: base_iban +#: code:addons/base_iban/base_iban.py:140 +#, python-format +msgid "The IBAN is invalid, it should begin with the country code" +msgstr "" + +#. module: base_iban +#: model:res.partner.bank.type,name:base_iban.bank_iban +msgid "IBAN Account" +msgstr "" + +#. module: base_iban +#: constraint:res.partner.bank:0 +msgid "The RIB and/or IBAN is not valid" +msgstr "" + +#~ msgid "Invalid XML for View Architecture!" +#~ msgstr "દ્રશ્ય બંધારણ માટે અમાન્ય એક્સ.એમ.એલ!" 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_setup/i18n/fr.po b/addons/base_setup/i18n/fr.po index 0a78ba0d76d..7b51b7b456a 100644 --- a/addons/base_setup/i18n/fr.po +++ b/addons/base_setup/i18n/fr.po @@ -7,19 +7,19 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2011-11-07 12:49+0000\n" -"Last-Translator: OpenERP Administrators \n" +"PO-Revision-Date: 2012-02-21 14:02+0000\n" +"Last-Translator: GaCriv \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-09 06:16+0000\n" -"X-Generator: Launchpad (build 14763)\n" +"X-Launchpad-Export-Date: 2012-02-22 04:57+0000\n" +"X-Generator: Launchpad (build 14838)\n" #. module: base_setup #: field:user.preferences.config,menu_tips:0 msgid "Display Tips" -msgstr "" +msgstr "Afficher les astuces" #. module: base_setup #: selection:base.setup.terminology,partner:0 @@ -34,17 +34,17 @@ msgstr "" #. module: base_setup #: selection:product.installer,customers:0 msgid "Create" -msgstr "" +msgstr "Créer" #. module: base_setup #: selection:base.setup.terminology,partner:0 msgid "Member" -msgstr "" +msgstr "Membre" #. module: base_setup #: field:migrade.application.installer.modules,sync_google_contact:0 msgid "Sync Google Contact" -msgstr "" +msgstr "Synchroniser les contacts Google" #. module: base_setup #: help:user.preferences.config,context_tz:0 @@ -52,6 +52,9 @@ msgid "" "Set default for new user's timezone, used to perform timezone conversions " "between the server and the client." msgstr "" +"Définir le fuseau horaire par défaut pour un nouvel utilisateur, utilisé " +"pour effectuer des conversions de fuseau horaire entre le serveur et le " +"client." #. module: base_setup #: selection:product.installer,customers:0 @@ -61,7 +64,7 @@ msgstr "" #. module: base_setup #: selection:base.setup.terminology,partner:0 msgid "Donor" -msgstr "" +msgstr "Donateur" #. module: base_setup #: model:ir.actions.act_window,name:base_setup.action_base_setup_company @@ -75,21 +78,25 @@ msgid "" "printed on your reports. You can click on the button 'Preview Header' in " "order to check the header/footer of PDF documents." msgstr "" +"Complétez avec les informations de votre société (adresse, logo, comptes " +"bancaires) pour qu'elles figurent sur vos états. Vous pouvez cliquer sur le " +"bouton 'Prévisualiser l'entête' pour vérifier les entêtes et pieds de pages " +"de vos documents PDF." #. module: base_setup #: field:product.installer,customers:0 msgid "Customers" -msgstr "" +msgstr "Clients" #. module: base_setup #: selection:user.preferences.config,view:0 msgid "Extended" -msgstr "" +msgstr "Étendue" #. module: base_setup #: selection:base.setup.terminology,partner:0 msgid "Patient" -msgstr "" +msgstr "Patient" #. module: base_setup #: model:ir.actions.act_window,help:base_setup.action_import_create_installer @@ -98,6 +105,9 @@ msgid "" "you can import your existing partners by CSV spreadsheet from \"Import " "Data\" wizard" msgstr "" +"Créez ou importez manuellement les clients et leurs contacts à partir de ce " +"formulaire. Vous pouvez aussi les importer avec des fichiers au format CSV " +"avec le bouton \"Importer des données\"" #. module: base_setup #: view:user.preferences.config:0 @@ -112,12 +122,12 @@ msgstr "" #. module: base_setup #: help:migrade.application.installer.modules,import_saleforce:0 msgid "For Import Saleforce" -msgstr "" +msgstr "Pour importer à partir de Saleforce" #. module: base_setup #: help:migrade.application.installer.modules,quickbooks_ippids:0 msgid "For Quickbooks Ippids" -msgstr "" +msgstr "Pour Quickbooks Ippids" #. module: base_setup #: help:user.preferences.config,view:0 @@ -126,6 +136,10 @@ msgid "" "simplified interface, which has less features but is easier. You can always " "switch later from the user preferences." msgstr "" +"Si vous utilisez OpenERP pour la première fois, nous vous encourageons à " +"utiliser l'interface simplifiée, qui a moins de fonctionnalités mais qui est " +"plus facile. Vous pourrez basculer plus tard via les préférences de " +"l'utilisateur." #. module: base_setup #: view:base.setup.terminology:0 @@ -136,7 +150,7 @@ msgstr "res_config_contents" #. module: base_setup #: field:user.preferences.config,view:0 msgid "Interface" -msgstr "" +msgstr "Interface" #. module: base_setup #: model:ir.model,name:base_setup.model_migrade_application_installer_modules @@ -158,12 +172,12 @@ msgstr "" #. module: base_setup #: selection:base.setup.terminology,partner:0 msgid "Customer" -msgstr "" +msgstr "Client" #. module: base_setup #: field:user.preferences.config,context_lang:0 msgid "Language" -msgstr "" +msgstr "Langue" #. module: base_setup #: help:user.preferences.config,context_lang:0 @@ -172,6 +186,10 @@ msgid "" "available. If you want to Add new Language, you can add it from 'Load an " "Official Translation' wizard from 'Administration' menu." msgstr "" +"Paramétrez la langue par défaut de toute l'interface utilisateurs si les " +"traductions sont disponibles. Si vous souhaitez ajouter une nouvelle langue, " +"vous pouvez le faire à partir du menu configuration puis \"Charger une " +"traduction officielle\"." #. module: base_setup #: view:user.preferences.config:0 @@ -180,16 +198,19 @@ msgid "" "ones. Afterwards, users are free to change those values on their own user " "preference form." msgstr "" +"Cela va régler les préférences par défaut pour les nouveaux utilisateurs et " +"mettre à jour toutes celles déjà existantes. Ensuite, les utilisateurs " +"pourront changer ces valeurs à partir de leurs propres préférences." #. module: base_setup #: field:base.setup.terminology,partner:0 msgid "How do you call a Customer" -msgstr "" +msgstr "Comment appelez-vous un client" #. module: base_setup #: field:migrade.application.installer.modules,quickbooks_ippids:0 msgid "Quickbooks Ippids" -msgstr "" +msgstr "Quickbooks Ippids" #. module: base_setup #: selection:base.setup.terminology,partner:0 @@ -204,12 +225,12 @@ msgstr "" #. module: base_setup #: field:user.preferences.config,context_tz:0 msgid "Timezone" -msgstr "" +msgstr "Fuseau horaire" #. module: base_setup #: model:ir.actions.act_window,name:base_setup.action_partner_terminology_config_form msgid "Use another word to say \"Customer\"" -msgstr "" +msgstr "Utiliser un autre mot pour dire \"client\"" #. module: base_setup #: model:ir.model,name:base_setup.model_base_setup_terminology @@ -243,7 +264,7 @@ msgstr "" #. module: base_setup #: model:ir.actions.act_window,name:base_setup.action_import_create_installer msgid "Create or Import Customers" -msgstr "" +msgstr "Créer ou importer des clients" #. module: base_setup #: field:migrade.application.installer.modules,import_sugarcrm:0 @@ -253,12 +274,12 @@ msgstr "" #. module: base_setup #: help:product.installer,customers:0 msgid "Import or create customers" -msgstr "" +msgstr "Créer ou importer des clients" #. module: base_setup #: selection:user.preferences.config,view:0 msgid "Simplified" -msgstr "" +msgstr "Simplifiée" #. module: base_setup #: help:migrade.application.installer.modules,import_sugarcrm:0 @@ -268,7 +289,7 @@ msgstr "" #. module: base_setup #: selection:base.setup.terminology,partner:0 msgid "Partner" -msgstr "" +msgstr "Partenaire" #. module: base_setup #: view:base.setup.terminology:0 diff --git a/addons/base_setup/i18n/pt_BR.po b/addons/base_setup/i18n/pt_BR.po index e1d06ccd39e..3fa11b8621b 100644 --- a/addons/base_setup/i18n/pt_BR.po +++ b/addons/base_setup/i18n/pt_BR.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 00:36+0000\n" -"PO-Revision-Date: 2012-02-13 12:51+0000\n" -"Last-Translator: Rafael Sales - http://www.tompast.com.br \n" +"PO-Revision-Date: 2012-02-26 22:45+0000\n" +"Last-Translator: Emerson \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-14 05:43+0000\n" -"X-Generator: Launchpad (build 14781)\n" +"X-Launchpad-Export-Date: 2012-02-27 04:52+0000\n" +"X-Generator: Launchpad (build 14868)\n" #. module: base_setup #: field:user.preferences.config,menu_tips:0 @@ -66,7 +66,7 @@ msgstr "" #. module: base_setup #: model:ir.actions.act_window,name:base_setup.action_base_setup_company msgid "Set Company Header and Footer" -msgstr "" +msgstr "Defina o Cabeçalho e o Rodapé da Empresa" #. module: base_setup #: model:ir.actions.act_window,help:base_setup.action_base_setup_company diff --git a/addons/base_synchro/base_synchro_obj.py b/addons/base_synchro/base_synchro_obj.py index 85ac6f95434..78df80591bc 100644 --- a/addons/base_synchro/base_synchro_obj.py +++ b/addons/base_synchro/base_synchro_obj.py @@ -31,7 +31,7 @@ class base_synchro_server(osv.osv): 'server_port': fields.integer('Server Port', size=64,required=True), 'server_db': fields.char('Server Database', size=64,required=True), 'login': fields.char('User Name',size=50,required=True), - 'password': fields.char('Password',size=64,invisible=True,required=True), + 'password': fields.char('Password',size=64,required=True), 'obj_ids' : fields.one2many('base.synchro.obj','server_id','Models',ondelete='cascade') } _defaults = { 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/base_tools/i18n/nl_BE.po b/addons/base_tools/i18n/nl_BE.po new file mode 100644 index 00000000000..3f4b9288f59 --- /dev/null +++ b/addons/base_tools/i18n/nl_BE.po @@ -0,0 +1,32 @@ +# Dutch (Belgium) 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-01 17:18+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Dutch (Belgium) \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-02 04:36+0000\n" +"X-Generator: Launchpad (build 14886)\n" + +#. module: base_tools +#: model:ir.module.module,shortdesc:base_tools.module_meta_information +msgid "Common base for tools modules" +msgstr "Gemeenschappelijke basis voor hulpmiddelen" + +#. module: base_tools +#: model:ir.module.module,description:base_tools.module_meta_information +msgid "" +"\n" +" " +msgstr "" +"\n" +" " diff --git a/addons/base_vat/i18n/fr.po b/addons/base_vat/i18n/fr.po index ad193c1f9aa..75c13e4d9e2 100644 --- a/addons/base_vat/i18n/fr.po +++ b/addons/base_vat/i18n/fr.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 00:36+0000\n" -"PO-Revision-Date: 2011-01-12 12:29+0000\n" -"Last-Translator: Quentin THEURET \n" +"PO-Revision-Date: 2012-02-27 10:27+0000\n" +"Last-Translator: GaCriv \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-09 06:15+0000\n" -"X-Generator: Launchpad (build 14763)\n" +"X-Launchpad-Export-Date: 2012-02-28 05:47+0000\n" +"X-Generator: Launchpad (build 14874)\n" #. module: base_vat #: code:addons/base_vat/base_vat.py:141 @@ -23,6 +23,8 @@ msgid "" "This VAT number does not seem to be valid.\n" "Note: the expected format is %s" msgstr "" +"Ce code de TVA ne semble pas correct.\n" +"Note: le format attendu est %s" #. module: base_vat #: sql_constraint:res.company:0 @@ -37,7 +39,7 @@ msgstr "" #. module: base_vat #: field:res.company,vat_check_vies:0 msgid "VIES VAT Check" -msgstr "" +msgstr "Vérification n° TVA avec VIES" #. module: base_vat #: model:ir.model,name:base_vat.model_res_company @@ -69,6 +71,9 @@ msgid "" "If checked, Partners VAT numbers will be fully validated against EU's VIES " "service rather than via a simple format validation (checksum)." msgstr "" +"Si coché, les numéros de TVA des partenaires seront validés avec le système " +"d'échange d'informations sur la TVA automatisé de l'Union Européenne " +"(V.I.E.S.) plutôt que par une simple validation par calcul de clé." #. module: base_vat #: field:res.partner,vat_subjected:0 diff --git a/addons/base_vat/i18n/gu.po b/addons/base_vat/i18n/gu.po new file mode 100644 index 00000000000..5c79cde4c42 --- /dev/null +++ b/addons/base_vat/i18n/gu.po @@ -0,0 +1,75 @@ +# Gujarati 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-06 18:23+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Gujarati \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-07 05:13+0000\n" +"X-Generator: Launchpad (build 14907)\n" + +#. module: base_vat +#: code:addons/base_vat/base_vat.py:141 +#, python-format +msgid "" +"This VAT number does not seem to be valid.\n" +"Note: the expected format is %s" +msgstr "" + +#. module: base_vat +#: sql_constraint:res.company:0 +msgid "The company name must be unique !" +msgstr "" + +#. module: base_vat +#: constraint:res.partner:0 +msgid "Error ! You cannot create recursive associated members." +msgstr "" + +#. module: base_vat +#: field:res.company,vat_check_vies:0 +msgid "VIES VAT Check" +msgstr "" + +#. module: base_vat +#: model:ir.model,name:base_vat.model_res_company +msgid "Companies" +msgstr "" + +#. module: base_vat +#: constraint:res.company:0 +msgid "Error! You can not create recursive companies." +msgstr "" + +#. module: base_vat +#: help:res.partner,vat_subjected:0 +msgid "" +"Check this box if the partner is subjected to the VAT. It will be used for " +"the VAT legal statement." +msgstr "" + +#. module: base_vat +#: model:ir.model,name:base_vat.model_res_partner +msgid "Partner" +msgstr "" + +#. module: base_vat +#: help:res.company,vat_check_vies:0 +msgid "" +"If checked, Partners VAT numbers will be fully validated against EU's VIES " +"service rather than via a simple format validation (checksum)." +msgstr "" + +#. module: base_vat +#: field:res.partner,vat_subjected:0 +msgid "VAT Legal Statement" +msgstr "" 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/board/i18n/es_CL.po b/addons/board/i18n/es_CL.po index 6af5e2d2615..c849fcb10bd 100644 --- a/addons/board/i18n/es_CL.po +++ b/addons/board/i18n/es_CL.po @@ -8,14 +8,14 @@ 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: 2011-10-03 16:58+0000\n" +"PO-Revision-Date: 2012-02-21 07:20+0000\n" "Last-Translator: David Acevedo Toledo \n" "Language-Team: Spanish (Chile) \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-09 06:41+0000\n" -"X-Generator: Launchpad (build 14763)\n" +"X-Launchpad-Export-Date: 2012-02-22 04:57+0000\n" +"X-Generator: Launchpad (build 14838)\n" #. module: board #: view:res.log.report:0 @@ -192,7 +192,7 @@ msgstr "Octubre" #. module: board #: model:ir.model,name:board.model_board_board_line msgid "Board Line" -msgstr "Línea tablero" +msgstr "Línea del tablero" #. module: board #: field:board.menu.create,menu_parent_id:0 @@ -225,8 +225,8 @@ msgid "" "Gives the sequence order when displaying a list of " "board lines." msgstr "" -"Indica el orden de secuencia cuando se muestra una lista de líneas de " -"tablero." +"Indica el orden de la secuencia cuando se muestre una lista de líneas de " +"tableros." #. module: board #: selection:res.log.report,month:0 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 44d83f47634..cc8630aa30a 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"/> @@ -176,7 +176,7 @@ - + @@ -188,7 +188,7 @@ - + @@ -208,7 +208,7 @@ - + @@ -417,9 +417,9 @@ - + + domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/> @@ -570,7 +570,7 @@ icon="terp-mail-message-new" type="action"/> - + @@ -580,8 +580,8 @@ - - + + @@ -601,7 +601,7 @@ - + @@ -682,7 +682,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 527f5814be4..d02d51534ef 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 34ef2612623..8365399d9f3 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/fr.po b/addons/crm/i18n/fr.po index b75edb6dc2c..ebc3e6c829d 100644 --- a/addons/crm/i18n/fr.po +++ b/addons/crm/i18n/fr.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-09 09:34+0000\n" -"Last-Translator: Numérigraphe \n" +"PO-Revision-Date: 2012-02-27 10:26+0000\n" +"Last-Translator: Fabrice (OpenERP) \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-10 04:47+0000\n" -"X-Generator: Launchpad (build 14771)\n" +"X-Launchpad-Export-Date: 2012-02-28 05:47+0000\n" +"X-Generator: Launchpad (build 14874)\n" #. module: crm #: view:crm.lead.report:0 @@ -699,7 +699,7 @@ msgstr "" #. module: crm #: field:crm.lead2opportunity.partner.mass,user_ids:0 msgid "Salesmans" -msgstr "" +msgstr "Vendeurs" #. module: crm #: field:crm.lead.report,probable_revenue:0 @@ -842,7 +842,7 @@ msgstr "Ventes Achats" #. module: crm #: help:crm.case.section,resource_calendar_id:0 msgid "Used to compute open days" -msgstr "" +msgstr "Utlilisé pour calculer les jours ouvrables" #. module: crm #: view:crm.lead:0 @@ -937,7 +937,7 @@ msgstr "Avertissement !" #. module: crm #: view:crm.phonecall.report:0 msgid "Phone calls made in current year" -msgstr "" +msgstr "Appels téléphoniques passés cette année" #. module: crm #: field:crm.lead,day_open:0 @@ -1058,7 +1058,7 @@ msgstr "Précédent" #. module: crm #: view:crm.lead:0 msgid "New Leads" -msgstr "" +msgstr "Nouvelles pistes" #. module: crm #: view:crm.lead:0 @@ -1073,7 +1073,7 @@ msgstr "De" #. module: crm #: view:crm.lead2opportunity.partner.mass:0 msgid "Convert into Opportunities" -msgstr "" +msgstr "Convertir en opportunité" #. module: crm #: view:crm.lead:0 @@ -1136,7 +1136,7 @@ msgstr "Date de création" #. module: crm #: view:board.board:0 msgid "My Opportunities" -msgstr "" +msgstr "Mes opportunités" #. module: crm #: model:crm.case.categ,name:crm.categ_oppor5 @@ -1146,7 +1146,7 @@ msgstr "A besoin d'une conception de son site web" #. module: crm #: view:crm.phonecall.report:0 msgid "Year of call" -msgstr "" +msgstr "Année de l'appel" #. module: crm #: field:crm.meeting,recurrent_uid:0 @@ -1182,7 +1182,7 @@ msgstr "Envoyer un courriel au partenaire" #. module: crm #: view:crm.opportunity2phonecall:0 view:crm.phonecall2phonecall:0 msgid "Call Details" -msgstr "" +msgstr "Détails de l'appel" #. module: crm #: field:crm.meeting,class:0 @@ -1207,7 +1207,7 @@ msgstr "Champs de condition des cas" #. module: crm #: view:crm.phonecall.report:0 msgid "Phone calls which are in pending state" -msgstr "" +msgstr "Appels téléphoniques en attente" #. module: crm #: view:crm.case.section:0 field:crm.case.section,stage_ids:0 @@ -1350,7 +1350,7 @@ msgstr "" #. module: crm #: model:ir.actions.act_window,name:crm.crm_case_categ_phone_create_partner msgid "Schedule a Call" -msgstr "" +msgstr "Planifier un appel" #. module: crm #: view:crm.lead2partner:0 view:crm.phonecall:0 view:crm.phonecall2partner:0 @@ -1438,7 +1438,7 @@ msgstr "" #. module: crm #: view:crm.phonecall.report:0 msgid "Date of call" -msgstr "" +msgstr "Date de l'appel" #. module: crm #: help:crm.lead,section_id:0 @@ -1550,7 +1550,7 @@ msgstr "" #. module: crm #: field:crm.phonecall,opportunity_id:0 msgid "Lead/Opportunity" -msgstr "" +msgstr "Piste/opportunité" #. module: crm #: view:crm.lead:0 @@ -1694,7 +1694,7 @@ msgstr "Convertir un prospect en client" #. module: crm #: view:crm.meeting:0 msgid "Meeting / Partner" -msgstr "" +msgstr "Réunion/partenaire" #. module: crm #: view:crm.phonecall2opportunity:0 @@ -1806,7 +1806,7 @@ msgstr "Entrant" #. module: crm #: view:crm.phonecall.report:0 msgid "Month of call" -msgstr "" +msgstr "Mois de l'appel" #. module: crm #: view:crm.phonecall.report:0 @@ -1839,7 +1839,7 @@ msgstr "La plus haute" #. module: crm #: help:crm.lead.report,creation_year:0 msgid "Creation year" -msgstr "" +msgstr "Année de création" #. module: crm #: view:crm.case.section:0 view:crm.lead:0 field:crm.lead,description:0 @@ -1895,7 +1895,7 @@ msgstr "Options de récurrence" #. module: crm #: view:crm.lead:0 msgid "Lead / Customer" -msgstr "" +msgstr "Piste / client" #. module: crm #: model:process.transition,note:crm.process_transition_leadpartner0 @@ -2134,7 +2134,7 @@ msgstr "Probabilité" #. module: crm #: view:crm.lead:0 msgid "Pending Opportunities" -msgstr "" +msgstr "Opportunités en attente" #. module: crm #: code:addons/crm/crm_lead.py:491 @@ -2203,7 +2203,7 @@ msgstr "Date de début" #. module: crm #: view:crm.phonecall:0 msgid "Scheduled Phonecalls" -msgstr "" +msgstr "Appels téléphoniques planifiés" #. module: crm #: view:crm.meeting:0 @@ -2342,7 +2342,7 @@ msgstr ">" #. module: crm #: view:crm.opportunity2phonecall:0 view:crm.phonecall2phonecall:0 msgid "Schedule call" -msgstr "" +msgstr "Planifier un appel" #. module: crm #: view:crm.meeting:0 @@ -2458,7 +2458,7 @@ msgstr "Occupé" #. module: crm #: field:crm.lead.report,creation_day:0 msgid "Creation Day" -msgstr "" +msgstr "Jour de création" #. module: crm #: field:crm.meeting,interval:0 @@ -2473,7 +2473,7 @@ msgstr "Récurrent" #. module: crm #: view:crm.phonecall.report:0 msgid "Phone calls made in last month" -msgstr "" +msgstr "Appels téléphoniques passés le mois dernier" #. module: crm #: model:ir.actions.act_window,name:crm.act_my_oppor @@ -2601,7 +2601,7 @@ msgstr "Continuer le processus" #. module: crm #: view:crm.lead.report:0 msgid "Leads/Opportunities created in current year" -msgstr "" +msgstr "Pistes/opportunités créées cette année" #. module: crm #: model:ir.model,name:crm.model_crm_phonecall2partner @@ -2634,12 +2634,12 @@ msgstr "Durée" #. module: crm #: view:crm.lead:0 msgid "Show countries" -msgstr "" +msgstr "Afficher les pays" #. module: crm #: view:crm.lead2opportunity.partner.mass:0 msgid "Select Salesman" -msgstr "" +msgstr "Sélectionner le vendeur" #. module: crm #: view:board.board:0 @@ -2685,7 +2685,7 @@ msgstr "Fax" #. module: crm #: view:crm.lead.report:0 msgid "Leads/Opportunities created in current month" -msgstr "" +msgstr "Pistes/opportunités créées ce mois" #. module: crm #: view:crm.meeting:0 @@ -2722,7 +2722,7 @@ msgstr "" #. module: crm #: field:crm.lead,subjects:0 msgid "Subject of Email" -msgstr "" +msgstr "Sujet du courriel" #. module: crm #: model:ir.actions.act_window,name:crm.action_view_attendee_form @@ -2777,7 +2777,7 @@ msgstr "Messages" #. module: crm #: help:crm.lead,channel_id:0 msgid "Communication channel (mail, direct, phone, ...)" -msgstr "" +msgstr "Canal de communication (courriel, direct, téléphone, etc.)" #. module: crm #: code:addons/crm/crm_action_rule.py:61 @@ -2895,7 +2895,7 @@ msgstr "Résumé de l'appel" #. module: crm #: view:crm.lead:0 msgid "Todays' Leads" -msgstr "" +msgstr "Pistes du jour" #. module: crm #: model:ir.actions.act_window,help:crm.crm_case_categ_phone_outgoing0 @@ -3028,7 +3028,7 @@ msgstr "Créer des opportunités d'affaires à partir des pistes." #: model:ir.actions.act_window,name:crm.open_board_statistical_dash #: model:ir.ui.menu,name:crm.menu_board_statistics_dash msgid "CRM Dashboard" -msgstr "" +msgstr "Tableau de bord CRM" #. module: crm #: model:crm.case.categ,name:crm.categ_oppor4 @@ -3080,13 +3080,13 @@ msgstr "Qualification" #. module: crm #: field:crm.lead,partner_address_email:0 msgid "Partner Contact Email" -msgstr "" +msgstr "Courriel du contact du partenaire" #. module: crm #: code:addons/crm/wizard/crm_lead_to_partner.py:48 #, python-format msgid "A partner is already defined." -msgstr "" +msgstr "Un partenaire est déjà défini." #. module: crm #: selection:crm.meeting,byday:0 @@ -3173,7 +3173,7 @@ msgstr "Répéter" #. module: crm #: field:crm.lead.report,deadline_year:0 msgid "Ex. Closing Year" -msgstr "" +msgstr "Année de clôture attendue" #. module: crm #: view:crm.lead:0 @@ -3295,6 +3295,7 @@ msgstr "Normal" #, python-format msgid "Closed/Cancelled Leads can not be converted into Opportunity" msgstr "" +"Les pistes fermées ou annulées ne peuvent pas être converties en opportunités" #. module: crm #: model:ir.actions.act_window,name:crm.crm_meeting_categ_action @@ -3357,12 +3358,12 @@ msgstr "Publicités Twitter" #: code:addons/crm/crm_lead.py:336 #, python-format msgid "The opportunity '%s' has been been won." -msgstr "" +msgstr "L'opportunité '%s' a été gagnée" #. module: crm #: field:crm.case.stage,case_default:0 msgid "Common to All Teams" -msgstr "" +msgstr "Commun à toutes les équipes" #. module: crm #: code:addons/crm/crm_lead.py:831 code:addons/crm/wizard/crm_add_note.py:28 @@ -3417,7 +3418,7 @@ msgstr "Clôturer" #: selection:crm.opportunity2phonecall,action:0 #: selection:crm.phonecall2phonecall,action:0 msgid "Schedule a call" -msgstr "" +msgstr "Planifier un appel" #. module: crm #: view:crm.lead:0 view:crm.phonecall:0 @@ -3489,7 +3490,7 @@ msgstr "Description" #. module: crm #: view:crm.phonecall.report:0 msgid "Phone calls made in current month" -msgstr "" +msgstr "Appels passés ce mois" #. module: crm #: selection:crm.lead.report,creation_month:0 @@ -3506,7 +3507,7 @@ msgstr "Intérêt pour les accessoires" #. module: crm #: view:crm.lead:0 msgid "New Opportunities" -msgstr "" +msgstr "Nouvelles opportunités" #. module: crm #: code:addons/crm/crm_action_rule.py:61 diff --git a/addons/crm/i18n/pt_BR.po b/addons/crm/i18n/pt_BR.po index 355bf894795..637c821ae35 100644 --- a/addons/crm/i18n/pt_BR.po +++ b/addons/crm/i18n/pt_BR.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: renato.lima@akretion.com\n" "POT-Creation-Date: 2012-02-08 01:37+0100\n" -"PO-Revision-Date: 2012-02-21 01:17+0000\n" -"Last-Translator: Cintia Sayuri Sato - http://www.tompast.com.br \n" +"PO-Revision-Date: 2012-02-26 22:39+0000\n" +"Last-Translator: Emerson \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:54+0000\n" -"X-Generator: Launchpad (build 14838)\n" +"X-Launchpad-Export-Date: 2012-02-27 04:52+0000\n" +"X-Generator: Launchpad (build 14868)\n" #. module: crm #: view:crm.lead.report:0 @@ -687,6 +687,11 @@ msgid "" "using the caldav interface.\n" " " msgstr "" +"O calendário de compromissos é compartilhado entre as equipes de venda e é " +"totalmente integrado com outras aplicações como férias de funcionários ou " +"oportunidades de negócios. Voce pode também sincronizar os compromissos com " +"o seu celular usando a interface CALDAV.\n" +" " #. module: crm #: field:crm.lead2opportunity.partner.mass,user_ids:0 @@ -1747,6 +1752,8 @@ msgstr "Revendedor Potencial" msgid "" "When escalating to this team override the saleman with the team leader." msgstr "" +"Quando esta equipe é escalada para substituir o vendedor com o líder da " +"equipe." #. module: crm #: field:crm.lead.report,planned_revenue:0 @@ -2407,6 +2414,8 @@ msgid "" "You can not escalate, you are already at the top level regarding your sales-" "team category." msgstr "" +"Você não pode escalar, você já está no nível mais alto em relação a sua " +"categoria de equipe de vendas." #. module: crm #: model:crm.case.categ,name:crm.categ_oppor8 view:crm.meeting:0 @@ -3523,7 +3532,7 @@ msgstr "Oportunidades por Usuário e Equipe" #. module: crm #: view:crm.phonecall:0 msgid "Reset to Todo" -msgstr "" +msgstr "Voltar para Pendente" #. module: crm #: field:crm.case.section,working_hours:0 @@ -3605,6 +3614,10 @@ msgid "" "partner. From the phone call form, you can trigger a request for another " "call, a meeting or an opportunity." msgstr "" +"Esta ferramenta permite que você registre suas chamadas recebidas. Cada " +"chamada que você começa aparece no formulário parceiro para rastrear todos " +"os contatos que você tem com um parceiro. De forma telefonema, você pode " +"acionar um pedido de uma outra chamada, uma reunião ou uma oportunidade." #. module: crm #: selection:crm.lead.report,creation_month:0 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/nl_BE.po b/addons/crm_caldav/i18n/nl_BE.po new file mode 100644 index 00000000000..02c0dd637c6 --- /dev/null +++ b/addons/crm_caldav/i18n/nl_BE.po @@ -0,0 +1,48 @@ +# Dutch (Belgium) 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-01 17:20+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Dutch (Belgium) \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-02 04:36+0000\n" +"X-Generator: Launchpad (build 14886)\n" + +#. module: crm_caldav +#: model:ir.actions.act_window,name:crm_caldav.action_caldav_browse +msgid "Caldav Browse" +msgstr "Bladeren Caldav" + +#. module: crm_caldav +#: model:ir.ui.menu,name:crm_caldav.menu_caldav_browse +msgid "Synchronize This Calendar" +msgstr "" + +#. module: crm_caldav +#: model:ir.model,name:crm_caldav.model_crm_meeting +msgid "Meeting" +msgstr "Afspraak" + +#~ msgid "Extended Module to Add CalDav feature on Meeting" +#~ msgstr "Uitgebreide module om CalDav-functies toe te voegen aan afspraken" + +#~ msgid "" +#~ "\n" +#~ " New Features in Meeting:\n" +#~ " * Share meeting with other calendar clients like sunbird\n" +#~ msgstr "" +#~ "\n" +#~ " Nieuwe functies voorafspraken:\n" +#~ " * afspraken delen met andere kalendertoepassingen, zoals sunbird\n" + +#~ msgid "Synchronyze this calendar" +#~ msgstr "Deze agenda synchroniseren" 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 @@ - + \n" "POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2012-02-15 20:06+0000\n" +"PO-Revision-Date: 2012-03-12 08:00+0000\n" "Last-Translator: Carlos @ smile-iberia \n" "Language-Team: Spanish \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-16 05:06+0000\n" -"X-Generator: Launchpad (build 14781)\n" +"X-Launchpad-Export-Date: 2012-03-13 05:08+0000\n" +"X-Generator: Launchpad (build 14933)\n" #. module: crm_claim #: field:crm.claim.report,nbr:0 @@ -254,7 +254,7 @@ msgstr "Acción siguiente" #. module: crm_claim #: view:crm.claim.report:0 msgid "My Sales Team(s)" -msgstr "" +msgstr "Mi(s) equipo(s) de ventas" #. module: crm_claim #: model:crm.case.stage,name:crm_claim.stage_claim3 @@ -475,7 +475,7 @@ msgstr "Junio" #. module: crm_claim #: view:res.partner:0 msgid "Partners Claim" -msgstr "" +msgstr "Reclamaciones de empresas" #. module: crm_claim #: field:crm.claim,partner_phone:0 @@ -490,7 +490,7 @@ msgstr "Usuario" #. module: crm_claim #: field:crm.claim,active:0 msgid "Active" -msgstr "" +msgstr "Activo" #. module: crm_claim #: selection:crm.claim.report,month:0 @@ -786,7 +786,7 @@ msgstr "ID" #. module: crm_claim #: constraint:res.partner:0 msgid "Error ! You cannot create recursive associated members." -msgstr "" +msgstr "¡Error! No puede crear miembros asociados recursivamente." #. module: crm_claim #: view:crm.claim:0 diff --git a/addons/crm_claim/report/crm_claim_report_view.xml b/addons/crm_claim/report/crm_claim_report_view.xml index 4505c72237c..adf4b17c949 100644 --- a/addons/crm_claim/report/crm_claim_report_view.xml +++ b/addons/crm_claim/report/crm_claim_report_view.xml @@ -190,9 +190,13 @@ + + + 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/fr.po b/addons/crm_todo/i18n/fr.po new file mode 100644 index 00000000000..000c231c8ca --- /dev/null +++ b/addons/crm_todo/i18n/fr.po @@ -0,0 +1,95 @@ +# French 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-02-22 09:08+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: French \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-23 04:39+0000\n" +"X-Generator: Launchpad (build 14855)\n" + +#. module: crm_todo +#: model:ir.model,name:crm_todo.model_project_task +msgid "Task" +msgstr "" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Timebox" +msgstr "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. module: crm_todo +#: view:crm.lead:0 +#: field:crm.lead,task_ids:0 +msgid "Tasks" +msgstr "" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Done" +msgstr "" + +#. module: crm_todo +#: constraint:project.task:0 +msgid "Error ! You cannot create recursive tasks." +msgstr "" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Cancel" +msgstr "" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Extra Info" +msgstr "" + +#. 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 "" 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/crm_todo/i18n/pl.po b/addons/crm_todo/i18n/pl.po new file mode 100644 index 00000000000..feea746080f --- /dev/null +++ b/addons/crm_todo/i18n/pl.po @@ -0,0 +1,95 @@ +# 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-02-25 13:16+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-02-26 04:55+0000\n" +"X-Generator: Launchpad (build 14860)\n" + +#. module: crm_todo +#: model:ir.model,name:crm_todo.model_project_task +msgid "Task" +msgstr "Zadanie" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Timebox" +msgstr "Ramka" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "For cancelling the task" +msgstr "Do anulowania zadania" + +#. module: crm_todo +#: constraint:project.task:0 +msgid "Error ! Task end-date must be greater then task start-date" +msgstr "Błąd ! Data końcowa musi być późniejsza niż data początkowa" + +#. 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 "Następny" + +#. 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 "Moje zadania" + +#. module: crm_todo +#: view:crm.lead:0 +#: field:crm.lead,task_ids:0 +msgid "Tasks" +msgstr "Zadania" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Done" +msgstr "Wykonane" + +#. module: crm_todo +#: constraint:project.task:0 +msgid "Error ! You cannot create recursive tasks." +msgstr "Błąd ! Nie możesz tworzyć rekurencyjnych zadań." + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Cancel" +msgstr "Anuluj" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Extra Info" +msgstr "Dodatkowe informacje" + +#. module: crm_todo +#: field:project.task,lead_id:0 +msgid "Lead / Opportunity" +msgstr "Sygnał / Szansa" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "For changing to done state" +msgstr "Do zmiany w stan wykonane" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Previous" +msgstr "Poprzednie" diff --git a/addons/crm_todo/i18n/sr@latin.po b/addons/crm_todo/i18n/sr@latin.po new file mode 100644 index 00000000000..e806810526e --- /dev/null +++ b/addons/crm_todo/i18n/sr@latin.po @@ -0,0 +1,95 @@ +# Serbian Latin 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-16 10:40+0000\n" +"Last-Translator: Milan Milosevic \n" +"Language-Team: Serbian Latin \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-17 04:55+0000\n" +"X-Generator: Launchpad (build 14951)\n" + +#. module: crm_todo +#: model:ir.model,name:crm_todo.model_project_task +msgid "Task" +msgstr "Zadatak" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Timebox" +msgstr "Rok za izvršenje" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "For cancelling the task" +msgstr "Za poništavanje zadatka" + +#. module: crm_todo +#: constraint:project.task:0 +msgid "Error ! Task end-date must be greater then task start-date" +msgstr "Greška ! Datum završetka mora biti posle datuma početka zadatka" + +#. module: crm_todo +#: model:ir.model,name:crm_todo.model_crm_lead +msgid "crm.lead" +msgstr "crm.lead" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Next" +msgstr "Sledeće" + +#. 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 "Moji zadaci" + +#. module: crm_todo +#: view:crm.lead:0 +#: field:crm.lead,task_ids:0 +msgid "Tasks" +msgstr "Zadaci" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Done" +msgstr "Gotovo" + +#. module: crm_todo +#: constraint:project.task:0 +msgid "Error ! You cannot create recursive tasks." +msgstr "Greška ! Ne možete praviti rekurzivne zadatke." + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Cancel" +msgstr "Otkaži" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Extra Info" +msgstr "Dodatne informacije" + +#. module: crm_todo +#: field:project.task,lead_id:0 +msgid "Lead / Opportunity" +msgstr "Vodeće / Prilika" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "For changing to done state" +msgstr "Za promenu u stanje 'gotovo'" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Previous" +msgstr "Prethodno" diff --git a/addons/decimal_precision/i18n/lt.po b/addons/decimal_precision/i18n/lt.po new file mode 100644 index 00000000000..d9ea7610c48 --- /dev/null +++ b/addons/decimal_precision/i18n/lt.po @@ -0,0 +1,49 @@ +# Lithuanian 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-09 15:34+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Lithuanian \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-10 04:54+0000\n" +"X-Generator: Launchpad (build 14914)\n" + +#. module: decimal_precision +#: field:decimal.precision,digits:0 +msgid "Digits" +msgstr "Skaitmenys" + +#. module: decimal_precision +#: model:ir.actions.act_window,name:decimal_precision.action_decimal_precision_form +#: model:ir.ui.menu,name:decimal_precision.menu_decimal_precision_form +msgid "Decimal Accuracy" +msgstr "Dešimtainis tikslumas" + +#. module: decimal_precision +#: field:decimal.precision,name:0 +msgid "Usage" +msgstr "Naudojimas" + +#. module: decimal_precision +#: sql_constraint:decimal.precision:0 +msgid "Only one value can be defined for each given usage!" +msgstr "" + +#. module: decimal_precision +#: view:decimal.precision:0 +msgid "Decimal Precision" +msgstr "Dešimtainis tikslumas" + +#. module: decimal_precision +#: model:ir.model,name:decimal_precision.model_decimal_precision +msgid "decimal.precision" +msgstr "decimal.precision" diff --git a/addons/decimal_precision/i18n/nl_BE.po b/addons/decimal_precision/i18n/nl_BE.po new file mode 100644 index 00000000000..4bae9c50386 --- /dev/null +++ b/addons/decimal_precision/i18n/nl_BE.po @@ -0,0 +1,67 @@ +# Dutch (Belgium) 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-01 17:22+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Dutch (Belgium) \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-02 04:36+0000\n" +"X-Generator: Launchpad (build 14886)\n" + +#. module: decimal_precision +#: field:decimal.precision,digits:0 +msgid "Digits" +msgstr "Cijfers" + +#. module: decimal_precision +#: model:ir.actions.act_window,name:decimal_precision.action_decimal_precision_form +#: model:ir.ui.menu,name:decimal_precision.menu_decimal_precision_form +msgid "Decimal Accuracy" +msgstr "Decimale precisie" + +#. module: decimal_precision +#: field:decimal.precision,name:0 +msgid "Usage" +msgstr "Gebruik" + +#. module: decimal_precision +#: sql_constraint:decimal.precision:0 +msgid "Only one value can be defined for each given usage!" +msgstr "Er kan slechts een waarde worden ingesteld per type" + +#. module: decimal_precision +#: view:decimal.precision:0 +msgid "Decimal Precision" +msgstr "Decimale precisie" + +#. module: decimal_precision +#: model:ir.model,name:decimal_precision.model_decimal_precision +msgid "decimal.precision" +msgstr "decimal.precision" + +#~ msgid "" +#~ "\n" +#~ "This module allows to configure the price accuracy you need for different " +#~ "kind\n" +#~ "of usage: accounting, sales, purchases, ...\n" +#~ "\n" +#~ "The decimal precision is configured per company.\n" +#~ msgstr "" +#~ "\n" +#~ "Met deze module kunt u de prij nauwkeurigheid configureren die u nodig heeft " +#~ "voor verschillend gebruik:\n" +#~ "boekhouding, verkoop, aankoop, ...\n" +#~ "\n" +#~ "De decimale precisie wordt per bedrijf ingesteld.\n" + +#~ msgid "Decimal Precision Configuration" +#~ msgstr "Decimale precisie instellen" 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/document/i18n/gu.po b/addons/document/i18n/gu.po new file mode 100644 index 00000000000..832f4b13a18 --- /dev/null +++ b/addons/document/i18n/gu.po @@ -0,0 +1,1003 @@ +# Gujarati 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-06 18:23+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Gujarati \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-07 05:13+0000\n" +"X-Generator: Launchpad (build 14907)\n" + +#. module: document +#: field:document.directory,parent_id:0 +msgid "Parent Directory" +msgstr "" + +#. module: document +#: code:addons/document/document_directory.py:276 +#, python-format +msgid "Directory name contains special characters!" +msgstr "" + +#. module: document +#: field:document.directory,resource_field:0 +msgid "Name field" +msgstr "" + +#. module: document +#: view:board.board:0 +msgid "Document board" +msgstr "" + +#. module: document +#: model:ir.model,name:document.model_process_node +msgid "Process Node" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "Search Document Directory" +msgstr "" + +#. module: document +#: help:document.directory,resource_field:0 +msgid "" +"Field to be used as name on resource directories. If empty, the \"name\" " +"will be used." +msgstr "" + +#. module: document +#: view:document.directory:0 +#: view:document.storage:0 +msgid "Group By..." +msgstr "ગ્રુપ દ્વારા..." + +#. module: document +#: model:ir.model,name:document.model_document_directory_content_type +msgid "Directory Content Type" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "Resources" +msgstr "સ્રોતો" + +#. module: document +#: field:document.directory,file_ids:0 +#: view:report.document.user:0 +msgid "Files" +msgstr "ફાઇલો" + +#. module: document +#: view:report.files.partner:0 +msgid "Files per Month" +msgstr "" + +#. module: document +#: selection:report.document.user,month:0 +#: selection:report.files.partner,month:0 +msgid "March" +msgstr "માર્ચ" + +#. module: document +#: view:document.configuration:0 +msgid "title" +msgstr "શીર્ષક" + +#. module: document +#: field:document.directory.dctx,expr:0 +msgid "Expression" +msgstr "સમીકરણ" + +#. module: document +#: view:document.directory:0 +#: field:document.directory,company_id:0 +msgid "Company" +msgstr "કંપની" + +#. module: document +#: model:ir.model,name:document.model_document_directory_content +msgid "Directory Content" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "Dynamic context" +msgstr "" + +#. module: document +#: model:ir.ui.menu,name:document.menu_document_management_configuration +msgid "Document Management" +msgstr "" + +#. module: document +#: help:document.directory.dctx,expr:0 +msgid "" +"A python expression used to evaluate the field.\n" +"You can use 'dir_id' for current dir, 'res_id', 'res_model' as a reference " +"to the current record, in dynamic folders" +msgstr "" + +#. module: document +#: view:report.document.user:0 +msgid "This Year" +msgstr "આ વર્ષ" + +#. module: document +#: field:document.storage,path:0 +msgid "Path" +msgstr "પથ" + +#. module: document +#: code:addons/document/document_directory.py:266 +#: code:addons/document/document_directory.py:271 +#, python-format +msgid "Directory name must be unique!" +msgstr "" + +#. module: document +#: view:ir.attachment:0 +msgid "Filter on my documents" +msgstr "" + +#. module: document +#: field:ir.attachment,index_content:0 +msgid "Indexed Content" +msgstr "" + +#. module: document +#: help:document.directory,resource_find_all:0 +msgid "" +"If true, all attachments that match this resource will be located. If " +"false, only ones that have this as parent." +msgstr "" + +#. module: document +#: model:ir.actions.todo.category,name:document.category_knowledge_mgmt_config +msgid "Knowledge Management" +msgstr "" + +#. module: document +#: view:document.directory:0 +#: field:document.storage,dir_ids:0 +#: model:ir.ui.menu,name:document.menu_document_directories +msgid "Directories" +msgstr "ડિરેક્ટરીઓ" + +#. module: document +#: model:ir.model,name:document.model_report_document_user +msgid "Files details by Users" +msgstr "" + +#. module: document +#: code:addons/document/document_storage.py:573 +#: code:addons/document/document_storage.py:601 +#, python-format +msgid "Error!" +msgstr "" + +#. module: document +#: field:document.directory,resource_find_all:0 +msgid "Find all resources" +msgstr "" + +#. module: document +#: selection:document.directory,type:0 +msgid "Folders per resource" +msgstr "" + +#. module: document +#: field:document.directory.content,suffix:0 +msgid "Suffix" +msgstr "" + +#. module: document +#: field:report.document.user,change_date:0 +msgid "Modified Date" +msgstr "" + +#. module: document +#: view:document.configuration:0 +msgid "Knowledge Application Configuration" +msgstr "" + +#. module: document +#: view:ir.attachment:0 +#: field:ir.attachment,partner_id:0 +#: field:report.files.partner,partner:0 +msgid "Partner" +msgstr "" + +#. module: document +#: view:board.board:0 +msgid "Files by Users" +msgstr "" + +#. module: document +#: field:process.node,directory_id:0 +msgid "Document directory" +msgstr "" + +#. module: document +#: code:addons/document/document.py:220 +#: code:addons/document/document.py:299 +#: code:addons/document/document_directory.py:266 +#: code:addons/document/document_directory.py:271 +#: code:addons/document/document_directory.py:276 +#, python-format +msgid "ValidateError" +msgstr "" + +#. module: document +#: model:ir.model,name:document.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "" + +#. module: document +#: model:ir.actions.act_window,name:document.action_document_file_form +#: view:ir.attachment:0 +#: model:ir.ui.menu,name:document.menu_document_doc +#: model:ir.ui.menu,name:document.menu_document_files +msgid "Documents" +msgstr "દસ્તાવેજો" + +#. module: document +#: constraint:document.directory:0 +msgid "Error! You can not create recursive Directories." +msgstr "" + +#. module: document +#: view:document.directory:0 +#: field:document.directory,storage_id:0 +msgid "Storage" +msgstr "સંગ્રહસ્થાન" + +#. module: document +#: field:document.directory,ressource_type_id:0 +msgid "Resource model" +msgstr "" + +#. module: document +#: field:ir.attachment,file_size:0 +#: field:report.document.file,file_size:0 +#: field:report.document.user,file_size:0 +#: field:report.files.partner,file_size:0 +msgid "File Size" +msgstr "ફાઈલનું માપ" + +#. module: document +#: field:document.directory.content.type,name:0 +#: field:ir.attachment,file_type:0 +msgid "Content Type" +msgstr "" + +#. module: document +#: view:document.directory:0 +#: field:document.directory,type:0 +#: view:document.storage:0 +#: field:document.storage,type:0 +msgid "Type" +msgstr "પ્રકાર" + +#. module: document +#: help:document.directory,ressource_type_id:0 +msgid "" +"Select an object here and there will be one folder per record of that " +"resource." +msgstr "" + +#. module: document +#: help:document.directory,domain:0 +msgid "" +"Use a domain if you want to apply an automatic filter on visible resources." +msgstr "" + +#. module: document +#: model:ir.actions.act_window,name:document.action_view_files_by_partner +msgid "Files Per Partner" +msgstr "" + +#. module: document +#: field:document.directory,dctx_ids:0 +msgid "Context fields" +msgstr "" + +#. module: document +#: field:ir.attachment,store_fname:0 +msgid "Stored Filename" +msgstr "" + +#. module: document +#: view:document.directory:0 +#: field:report.document.user,type:0 +msgid "Directory Type" +msgstr "" + +#. module: document +#: field:document.directory.content,report_id:0 +msgid "Report" +msgstr "" + +#. module: document +#: selection:report.document.user,month:0 +#: selection:report.files.partner,month:0 +msgid "July" +msgstr "જુલાઈ" + +#. module: document +#: model:ir.actions.act_window,name:document.open_board_document_manager +#: model:ir.ui.menu,name:document.menu_reports_document_manager +msgid "Document Dashboard" +msgstr "" + +#. module: document +#: field:document.directory.content.type,code:0 +msgid "Extension" +msgstr "એક્સટેન્શન" + +#. module: document +#: view:ir.attachment:0 +msgid "Created" +msgstr "બનાવાયેલ" + +#. module: document +#: field:document.directory,content_ids:0 +msgid "Virtual Files" +msgstr "" + +#. module: document +#: view:ir.attachment:0 +msgid "Modified" +msgstr "સુધારેલ" + +#. module: document +#: code:addons/document/document_storage.py:639 +#, python-format +msgid "Error at doc write!" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "Generated Files" +msgstr "" + +#. module: document +#: view:document.configuration:0 +msgid "" +"When executing this wizard, it will configure your directories automatically " +"according to modules installed." +msgstr "" + +#. module: document +#: field:document.directory.content,directory_id:0 +#: field:document.directory.dctx,dir_id:0 +#: model:ir.actions.act_window,name:document.action_document_file_directory_form +#: view:ir.attachment:0 +#: field:ir.attachment,parent_id:0 +#: model:ir.model,name:document.model_document_directory +#: field:report.document.user,directory:0 +msgid "Directory" +msgstr "ડિરેક્ટરી" + +#. module: document +#: view:document.directory:0 +msgid "Security" +msgstr "સુરક્ષા" + +#. module: document +#: field:document.directory,write_uid:0 +#: field:document.storage,write_uid:0 +#: field:ir.attachment,write_uid:0 +msgid "Last Modification User" +msgstr "" + +#. module: document +#: model:ir.actions.act_window,name:document.act_res_partner_document +#: model:ir.actions.act_window,name:document.zoom_directory +msgid "Related Documents" +msgstr "" + +#. module: document +#: field:document.directory,domain:0 +msgid "Domain" +msgstr "શરતી અવકાશ" + +#. module: document +#: field:document.directory,write_date:0 +#: field:document.storage,write_date:0 +#: field:ir.attachment,write_date:0 +msgid "Date Modified" +msgstr "ફેરફાર કર્યાની તારીખ" + +#. module: document +#: model:ir.model,name:document.model_report_document_file +msgid "Files details by Directory" +msgstr "" + +#. module: document +#: view:report.document.user:0 +msgid "All users files" +msgstr "" + +#. module: document +#: view:board.board:0 +#: model:ir.actions.act_window,name:document.action_view_size_month +#: view:report.document.file:0 +msgid "File Size by Month" +msgstr "" + +#. module: document +#: selection:report.document.user,month:0 +#: selection:report.files.partner,month:0 +msgid "December" +msgstr "ડિસેમ્બર" + +#. module: document +#: field:document.configuration,config_logo:0 +msgid "Image" +msgstr "ચિત્ર" + +#. module: document +#: selection:document.directory,type:0 +msgid "Static Directory" +msgstr "" + +#. module: document +#: field:document.directory,child_ids:0 +msgid "Children" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "Define words in the context, for all child directories and files" +msgstr "" + +#. module: document +#: help:document.storage,online:0 +msgid "" +"If not checked, media is currently offline and its contents not available" +msgstr "" + +#. module: document +#: view:document.directory:0 +#: field:document.directory,user_id:0 +#: field:document.storage,user_id:0 +#: view:ir.attachment:0 +#: field:ir.attachment,user_id:0 +#: field:report.document.user,user_id:0 +#: field:report.document.wall,user_id:0 +msgid "Owner" +msgstr "માલિક" + +#. module: document +#: view:document.directory:0 +msgid "PDF Report" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "Contents" +msgstr "સમાવિષ્ટો" + +#. module: document +#: field:document.directory,create_date:0 +#: field:document.storage,create_date:0 +#: field:report.document.user,create_date:0 +msgid "Date Created" +msgstr "બનાવ્યાની તારીખ" + +#. module: document +#: help:document.directory.content,include_name:0 +msgid "" +"Check this field if you want that the name of the file to contain the record " +"name.\n" +"If set, the directory will have to be a resource one." +msgstr "" + +#. module: document +#: view:document.configuration:0 +#: model:ir.actions.act_window,name:document.action_config_auto_directory +msgid "Configure Directories" +msgstr "" + +#. module: document +#: field:document.directory.content,include_name:0 +msgid "Include Record Name" +msgstr "" + +#. module: document +#: view:ir.attachment:0 +msgid "Attachment" +msgstr "જોડાણ" + +#. module: document +#: field:ir.actions.report.xml,model_id:0 +msgid "Model Id" +msgstr "" + +#. module: document +#: field:document.storage,online:0 +msgid "Online" +msgstr "ઓનલાઇન" + +#. module: document +#: help:document.directory,ressource_tree:0 +msgid "" +"Check this if you want to use the same tree structure as the object selected " +"in the system." +msgstr "" + +#. module: document +#: help:document.directory,ressource_id:0 +msgid "" +"Along with Parent Model, this ID attaches this folder to a specific record " +"of Parent Model." +msgstr "" + +#. module: document +#: selection:report.document.user,month:0 +#: selection:report.files.partner,month:0 +msgid "August" +msgstr "ઑગસ્ટ" + +#. module: document +#: sql_constraint:document.directory:0 +msgid "Directory cannot be parent of itself!" +msgstr "" + +#. module: document +#: selection:report.document.user,month:0 +#: selection:report.files.partner,month:0 +msgid "June" +msgstr "જૂન" + +#. module: document +#: field:report.document.user,user:0 +#: field:report.document.wall,user:0 +msgid "User" +msgstr "વપરાશકર્તા" + +#. module: document +#: field:document.directory,group_ids:0 +#: field:document.storage,group_ids:0 +msgid "Groups" +msgstr "સમૂહો" + +#. module: document +#: field:document.directory.content.type,active:0 +msgid "Active" +msgstr "કાર્યશીલ" + +#. module: document +#: selection:report.document.user,month:0 +#: selection:report.files.partner,month:0 +msgid "November" +msgstr "નવેમ્બર" + +#. module: document +#: view:ir.attachment:0 +#: field:ir.attachment,db_datas:0 +msgid "Data" +msgstr "માહિતી" + +#. module: document +#: help:document.directory,ressource_parent_type_id:0 +msgid "" +"If you put an object here, this directory template will appear bellow all of " +"these objects. Such directories are \"attached\" to the specific model or " +"record, just like attachments. Don't put a parent directory if you select a " +"parent model." +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "Definition" +msgstr "વ્યાખ્યા" + +#. module: document +#: selection:report.document.user,month:0 +#: selection:report.files.partner,month:0 +msgid "October" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "Seq." +msgstr "" + +#. module: document +#: selection:document.storage,type:0 +msgid "Database" +msgstr "" + +#. module: document +#: selection:report.document.user,month:0 +#: selection:report.files.partner,month:0 +msgid "January" +msgstr "" + +#. module: document +#: view:ir.attachment:0 +msgid "Related to" +msgstr "" + +#. module: document +#: view:ir.attachment:0 +msgid "Attached To" +msgstr "" + +#. module: document +#: model:ir.ui.menu,name:document.menu_reports_document +msgid "Dashboard" +msgstr "" + +#. module: document +#: model:ir.actions.act_window,name:document.action_view_user_graph +msgid "Files By Users" +msgstr "" + +#. module: document +#: field:document.storage,readonly:0 +msgid "Read Only" +msgstr "" + +#. module: document +#: model:ir.actions.act_window,name:document.action_document_directory_form +msgid "Document Directory" +msgstr "" + +#. module: document +#: sql_constraint:document.directory:0 +msgid "The directory name must be unique !" +msgstr "" + +#. module: document +#: field:document.directory,create_uid:0 +#: field:document.storage,create_uid:0 +msgid "Creator" +msgstr "" + +#. module: document +#: field:document.directory.content,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: document +#: view:document.configuration:0 +msgid "" +"OpenERP's Document Management System supports mapping virtual folders with " +"documents. The virtual folder of a document can be used to manage the files " +"attached to the document, or to print and download any report. This tool " +"will create directories automatically according to modules installed." +msgstr "" + +#. module: document +#: view:board.board:0 +#: model:ir.actions.act_window,name:document.action_view_files_by_month_graph +#: view:report.document.user:0 +msgid "Files by Month" +msgstr "" + +#. module: document +#: selection:report.document.user,month:0 +#: selection:report.files.partner,month:0 +msgid "September" +msgstr "" + +#. module: document +#: field:document.directory.content,prefix:0 +msgid "Prefix" +msgstr "" + +#. module: document +#: field:report.document.wall,last:0 +msgid "Last Posted Time" +msgstr "" + +#. module: document +#: field:report.document.user,datas_fname:0 +msgid "File Name" +msgstr "" + +#. module: document +#: view:document.configuration:0 +msgid "res_config_contents" +msgstr "" + +#. module: document +#: field:document.directory,ressource_id:0 +msgid "Resource ID" +msgstr "" + +#. module: document +#: selection:document.storage,type:0 +msgid "External file storage" +msgstr "" + +#. module: document +#: view:board.board:0 +#: model:ir.actions.act_window,name:document.action_view_wall +#: view:report.document.wall:0 +msgid "Wall of Shame" +msgstr "" + +#. module: document +#: help:document.storage,path:0 +msgid "For file storage, the root path of the storage" +msgstr "" + +#. module: document +#: model:ir.model,name:document.model_report_files_partner +msgid "Files details by Partners" +msgstr "" + +#. module: document +#: field:document.directory.dctx,field:0 +msgid "Field" +msgstr "" + +#. module: document +#: model:ir.model,name:document.model_document_directory_dctx +msgid "Directory Dynamic Context" +msgstr "" + +#. module: document +#: field:document.directory,ressource_parent_type_id:0 +msgid "Parent Model" +msgstr "" + +#. module: document +#: view:report.document.user:0 +msgid "Files by users" +msgstr "" + +#. module: document +#: field:report.document.file,month:0 +#: field:report.document.user,month:0 +#: field:report.document.wall,month:0 +#: field:report.document.wall,name:0 +#: field:report.files.partner,month:0 +msgid "Month" +msgstr "" + +#. module: document +#: view:report.document.user:0 +msgid "This Months Files" +msgstr "" + +#. module: document +#: model:ir.ui.menu,name:document.menu_reporting +msgid "Reporting" +msgstr "" + +#. module: document +#: field:document.directory,ressource_tree:0 +msgid "Tree Structure" +msgstr "" + +#. module: document +#: selection:report.document.user,month:0 +#: selection:report.files.partner,month:0 +msgid "May" +msgstr "" + +#. module: document +#: model:ir.actions.act_window,name:document.action_view_all_document_tree1 +msgid "All Users files" +msgstr "" + +#. module: document +#: model:ir.model,name:document.model_report_document_wall +msgid "Users that did not inserted documents since one month" +msgstr "" + +#. module: document +#: model:ir.actions.act_window,help:document.action_document_file_form +msgid "" +"The Documents repository gives you access to all attachments, such as mails, " +"project documents, invoices etc." +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "For each entry here, virtual files will appear in this folder." +msgstr "" + +#. module: document +#: model:ir.model,name:document.model_ir_attachment +msgid "ir.attachment" +msgstr "" + +#. module: document +#: view:board.board:0 +msgid "New Files" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "Static" +msgstr "" + +#. module: document +#: view:report.files.partner:0 +msgid "Files By Partner" +msgstr "" + +#. module: document +#: view:ir.attachment:0 +msgid "Indexed Content - experimental" +msgstr "" + +#. module: document +#: view:report.document.user:0 +msgid "This Month" +msgstr "" + +#. module: document +#: view:ir.attachment:0 +msgid "Notes" +msgstr "" + +#. module: document +#: model:ir.model,name:document.model_document_configuration +msgid "Directory Configuration" +msgstr "" + +#. module: document +#: help:document.directory,type:0 +msgid "" +"Each directory can either have the type Static or be linked to another " +"resource. A static directory, as with Operating Systems, is the classic " +"directory that can contain a set of files. The directories linked to systems " +"resources automatically possess sub-directories for each of resource types " +"defined in the parent directory." +msgstr "" + +#. module: document +#: selection:report.document.user,month:0 +#: selection:report.files.partner,month:0 +msgid "February" +msgstr "" + +#. module: document +#: model:ir.actions.act_window,name:document.open_board_document_manager1 +#: model:ir.ui.menu,name:document.menu_reports_document_manager1 +msgid "Statistics by User" +msgstr "" + +#. module: document +#: help:document.directory.dctx,field:0 +msgid "" +"The name of the field. Note that the prefix \"dctx_\" will be prepended to " +"what is typed here." +msgstr "" + +#. module: document +#: field:document.directory,name:0 +#: field:document.storage,name:0 +msgid "Name" +msgstr "" + +#. module: document +#: sql_constraint:document.storage:0 +msgid "The storage path must be unique!" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "Fields" +msgstr "" + +#. module: document +#: help:document.storage,readonly:0 +msgid "If set, media is for reading only" +msgstr "" + +#. module: document +#: selection:report.document.user,month:0 +#: selection:report.files.partner,month:0 +msgid "April" +msgstr "" + +#. module: document +#: field:report.document.file,nbr:0 +#: field:report.document.user,nbr:0 +#: field:report.files.partner,nbr:0 +msgid "# of Files" +msgstr "" + +#. module: document +#: code:addons/document/document.py:209 +#, python-format +msgid "(copy)" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "" +"Only members of these groups will have access to this directory and its " +"files." +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "" +"These groups, however, do NOT apply to children directories, which must " +"define their own groups." +msgstr "" + +#. module: document +#: field:document.directory.content.type,mimetype:0 +msgid "Mime Type" +msgstr "" + +#. module: document +#: view:report.document.user:0 +msgid "All Months Files" +msgstr "" + +#. module: document +#: field:document.directory.content,name:0 +msgid "Content Name" +msgstr "" + +#. module: document +#: code:addons/document/document.py:220 +#: code:addons/document/document.py:299 +#, python-format +msgid "File name must be unique!" +msgstr "" + +#. module: document +#: selection:document.storage,type:0 +msgid "Internal File storage" +msgstr "" + +#. module: document +#: sql_constraint:document.directory:0 +msgid "Directory must have a parent or a storage" +msgstr "" + +#. module: document +#: model:ir.actions.act_window,name:document.action_document_directory_tree +#: model:ir.ui.menu,name:document.menu_document_directories_tree +msgid "Directories' Structure" +msgstr "" + +#. module: document +#: view:report.document.user:0 +msgid "Files by Resource Type" +msgstr "" + +#. module: document +#: field:report.document.user,name:0 +#: field:report.files.partner,name:0 +msgid "Year" +msgstr "" + +#. module: document +#: view:document.storage:0 +#: model:ir.actions.act_window,name:document.action_document_storage_form +#: model:ir.model,name:document.model_document_storage +#: model:ir.ui.menu,name:document.menu_document_storage_media +msgid "Storage Media" +msgstr "" + +#. module: document +#: view:document.storage:0 +msgid "Search Document storage" +msgstr "" + +#. module: document +#: field:document.directory.content,extension:0 +msgid "Document Type" +msgstr "" diff --git a/addons/document/i18n/pt_BR.po b/addons/document/i18n/pt_BR.po index 5db87b4445b..386fb82bc38 100644 --- a/addons/document/i18n/pt_BR.po +++ b/addons/document/i18n/pt_BR.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 00:36+0000\n" -"PO-Revision-Date: 2012-02-19 15:15+0000\n" -"Last-Translator: Rafael Sales - http://www.tompast.com.br \n" +"PO-Revision-Date: 2012-02-26 22:47+0000\n" +"Last-Translator: Emerson \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-20 05:41+0000\n" -"X-Generator: Launchpad (build 14833)\n" +"X-Launchpad-Export-Date: 2012-02-27 04:52+0000\n" +"X-Generator: Launchpad (build 14868)\n" #. module: document #: field:document.directory,parent_id:0 @@ -737,7 +737,7 @@ msgstr "ID do Recurso" #. module: document #: selection:document.storage,type:0 msgid "External file storage" -msgstr "" +msgstr "Armazenamento externo de arquivo" #. module: document #: view:board.board:0 @@ -788,7 +788,7 @@ msgstr "Mês" #. module: document #: view:report.document.user:0 msgid "This Months Files" -msgstr "" +msgstr "Arquivos Deste Mês" #. module: document #: model:ir.ui.menu,name:document.menu_reporting 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/js/edi.js b/addons/edi/static/src/js/edi.js
index 0f59768bc4e..a93086bdcaa 100644
--- a/addons/edi/static/src/js/edi.js
+++ b/addons/edi/static/src/js/edi.js
@@ -142,8 +142,8 @@ openerp.edi.EdiImport = openerp.web.OldWidget.extend({
     },
 
     destroy_content: function() {
-        _.each(_.clone(this.widget_children), function(el) {
-            el.stop();
+        _.each(_.clone(this.getChildren()), function(el) {
+            el.destroy();
         });
         this.$element.children().remove();
     },
diff --git a/addons/edi/static/src/xml/edi.xml b/addons/edi/static/src/xml/edi.xml
index 9378e12525c..b9b385e9a07 100644
--- a/addons/edi/static/src/xml/edi.xml
+++ b/addons/edi/static/src/xml/edi.xml
@@ -3,7 +3,7 @@
     
- + @@ -11,7 +11,7 @@ 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 @@ - - - + + +
+ 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')+')'"/>
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/i18n/fr.po b/addons/email_template/i18n/fr.po index d4599d879a7..9436b37ece2 100644 --- a/addons/email_template/i18n/fr.po +++ b/addons/email_template/i18n/fr.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 00:36+0000\n" -"PO-Revision-Date: 2012-02-18 23:35+0000\n" -"Last-Translator: GaCriv \n" +"PO-Revision-Date: 2012-03-05 14:46+0000\n" +"Last-Translator: Numérigraphe \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-19 05:43+0000\n" -"X-Generator: Launchpad (build 14814)\n" +"X-Launchpad-Export-Date: 2012-03-06 04:48+0000\n" +"X-Generator: Launchpad (build 14900)\n" #. module: email_template #: field:email.template,subtype:0 @@ -37,12 +37,14 @@ msgstr "SMTP Server" #: view:email.template:0 msgid "Remove the sidebar button currently displayed on related documents" msgstr "" +"Supprime le bouton de la barre latérale actuellement affiché sur les " +"documents associés" #. module: email_template #: field:email.template,ref_ir_act_window:0 #: field:email_template.preview,ref_ir_act_window:0 msgid "Sidebar action" -msgstr "" +msgstr "Action de la barre latérale" #. module: email_template #: view:mail.compose.message:0 @@ -72,7 +74,7 @@ msgstr "Reçu" #: field:email.template,ref_ir_value:0 #: field:email_template.preview,ref_ir_value:0 msgid "Sidebar button" -msgstr "" +msgstr "Bouton de la barre latérale" #. module: email_template #: help:email.template,report_name:0 @@ -85,7 +87,7 @@ msgstr "" #. module: email_template #: view:email.template:0 msgid "Attach existing files" -msgstr "" +msgstr "Joindre les fichiers existants" #. module: email_template #: view:email.template:0 @@ -185,7 +187,7 @@ msgstr "Assistant de composition de message" #. module: email_template #: view:email.template:0 msgid "Dynamic Values Builder" -msgstr "" +msgstr "Constructeur de valeurs dynamiques" #. module: email_template #: field:email.template,res_id:0 @@ -274,7 +276,7 @@ msgstr "Options" #: field:email.template,model_id:0 #: field:email_template.preview,model_id:0 msgid "Related document model" -msgstr "" +msgstr "Modèle de document associé" #. module: email_template #: help:email.template,email_from:0 @@ -343,12 +345,14 @@ msgid "" "If checked, the user's signature will be appended to the text version of the " "message" msgstr "" +"Si coché, la signature de l'utilisateur sera ajoutée à la version texte du " +"message" #. module: email_template #: view:email.template:0 #: view:email_template.preview:0 msgid "Body (Rich/HTML)" -msgstr "" +msgstr "Corps (riche/HTML)" #. module: email_template #: help:email.template,sub_object:0 @@ -383,7 +387,7 @@ msgstr "" #. module: email_template #: view:email.template:0 msgid "Add sidebar button" -msgstr "" +msgstr "Ajouter un bouton dans la barre latérale" #. module: email_template #: view:email.template:0 @@ -507,6 +511,8 @@ msgid "" "Sidebar action to make this template available on records of the related " "document model" msgstr "" +"Action de la barre latérale pour rendre ce modèle disponible sur les " +"enregistrements associés au modèle de document" #. module: email_template #: field:email.template,model_object_field:0 @@ -596,7 +602,7 @@ msgstr "" #: field:email.template,headers:0 #: field:email_template.preview,headers:0 msgid "Message headers" -msgstr "" +msgstr "En-têtes de message" #. module: email_template #: field:email.template,email_bcc:0 @@ -609,17 +615,18 @@ msgstr "Copie cachée à (BCC)" #: help:email_template.preview,reply_to:0 msgid "Preferred response address (placeholders may be used here)" msgstr "" +"Adresse de réponse préférée (des variables peuvent être utilisées ici)" #. module: email_template #: view:email.template:0 msgid "Remove sidebar button" -msgstr "" +msgstr "Supprimer le bouton de la barre latérale" #. module: email_template #: help:email.template,null_value:0 #: help:email_template.preview,null_value:0 msgid "Optional value to use if the target field is empty" -msgstr "" +msgstr "Valeur facultative à utiliser si le champ cible est vide" #. module: email_template #: view:email.template:0 @@ -631,12 +638,13 @@ msgstr "Modèle" #: help:email_template.preview,references:0 msgid "Message references, such as identifiers of previous messages" msgstr "" +"Références du message, tel que les identifiants des messages précédents" #. module: email_template #: help:email.template,ref_ir_value:0 #: help:email_template.preview,ref_ir_value:0 msgid "Sidebar button to open the sidebar action" -msgstr "" +msgstr "Bouton de la barre latérale pour ouvrir l'action" #. module: email_template #: constraint:res.partner:0 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/__openerp__.py b/addons/event/__openerp__.py index 4c809888f71..06252001c83 100644 --- a/addons/event/__openerp__.py +++ b/addons/event/__openerp__.py @@ -39,28 +39,23 @@ Note that: Association / Configuration / Types of Events """, 'author': 'OpenERP SA', - 'depends': ['crm', 'account', 'marketing', 'mail'], + 'depends': ['email_template'], 'init_xml': [], 'update_xml': [ + 'security/event_security.xml', 'security/ir.model.access.csv', - 'wizard/event_confirm_registration_view.xml', 'wizard/event_confirm_view.xml', 'event_view.xml', 'report/report_event_registration_view.xml', - 'wizard/event_make_invoice_view.xml', - 'wizard/partner_event_registration_view.xml', 'board_association_view.xml', 'res_partner_view.xml', + 'email_template.xml', ], 'demo_xml': ['event_demo.xml'], - 'test': ['test/process/event_confirm2done.yml', - 'test/process/event_draft2cancel.yml', - 'test/process/partner_register2invoice.yml', - 'test/ui/duplicate_event.yml', - 'test/ui/demo_data.yml'], + 'test': ['test/process/event_draft2done.yml'], 'installable': True, + 'application': True, 'auto_install': False, - 'certificate': '0083059161581', 'images': ['images/1_event_type_list.jpeg','images/2_events.jpeg','images/3_registrations.jpeg'], } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/event/board_association_view.xml b/addons/event/board_association_view.xml index 02d45f03dc1..96db3db6781 100644 --- a/addons/event/board_association_view.xml +++ b/addons/event/board_association_view.xml @@ -21,7 +21,7 @@ Events Filling Status report.event.registration form - [('state','not in',('cancel','done'))] + [('event_state','not in',('cancel','done'))] graph,tree @@ -45,9 +45,6 @@ - form + + + + + Confirmation of the Event + + ${object.user_id.user_email or object.company_id.email or 'noreply@' + object.company_id.name + '.com'} + ${object.email} + Your registration at ${object.event_id.name} + + hello ${object.name}, + + The event ${object.event_id.name} that you registered for is confirmed and will be held from ${object.event_id.date_begin} to ${object.event_id.date_end}. For any further information please contact our event department. + + we thank you for your participation + + best regards + + + + + + + + Confirmation of the Registration + + ${object.user_id.user_email or object.company_id.email or 'noreply@' + object.company_id.name + '.com'} + ${object.email} + Your registration at ${object.event_id.name} + + hello ${object.name}, + + We confirm you that your registration to the event ${object.event_id.name} has been recorded. You will automatically receive an email providing you more practical information (such as the schedule, the plan...) as soon as the event will be confirmed to be held. + + we thank you for your participation + + best regards + + + + + + default_email_event + default + + + event.type + + + default_email_registration + default + + + event.type + + + + diff --git a/addons/event/event.py b/addons/event/event.py index 99ccddc660d..133d29281f1 100644 --- a/addons/event/event.py +++ b/addons/event/event.py @@ -20,15 +20,9 @@ ############################################################################## import time - -from crm import crm from osv import fields, osv from tools.translate import _ import decimal_precision as dp -from crm import wizard - - -wizard.mail_compose_message.SUPPORTED_MODELS.append('event.registration') class event_type(osv.osv): """ Event Type """ @@ -36,7 +30,16 @@ class event_type(osv.osv): _description = __doc__ _columns = { 'name': fields.char('Event type', size=64, required=True), + 'default_reply_to': fields.char('Default Reply-To', size=64,help="The email address of the organizer which is put in the 'Reply-To' of all emails sent automatically at event or registrations confirmation. You can also put your email address of your mail gateway if you use one." ), + 'default_email_event': fields.many2one('email.template','Event Confirmation Email', help="It will select this default confirmation event mail value when you choose this event"), + 'default_email_registration': fields.many2one('email.template','Registration Confirmation Email', help="It will select this default confirmation registration mail value when you choose this event"), + 'default_registration_min': fields.integer('Default Minimum Registration', help="It will select this default minimum value when you choose this event"), + 'default_registration_max': fields.integer('Default Maximum Registration', help="It will select this default maximum value when you choose this event"), } + _defaults = { + 'default_registration_min': 0, + 'default_registration_max':0, + } event_type() @@ -46,10 +49,29 @@ class event_event(osv.osv): _description = __doc__ _order = 'date_begin' + def name_get(self, cr, uid, ids, context=None): + if not ids: + return [] + res = [] + for record in self.browse(cr, uid, ids, context=context): + date = record.date_begin.split(" ") + date = date[0] + registers='' + if record.register_max !=0: + register_max = str(record.register_max) + register_tot = record.register_current+record.register_prospect + register_tot = str(register_tot) + registers = register_tot+'/'+register_max + name = record.name+' ('+date+') '+registers + res.append((record['id'], name)) + return res + + def _name_get_fnc(self, cr, uid, ids,prop,unknow, context=None): + res = self.name_get(cr, uid, ids, context=context) + return dict(res) + def copy(self, cr, uid, id, default=None, context=None): - """ Copy record of Given id - @param id: Id of Event record. - @param context: A standard dictionary for contextual values + """ Reset the state and the registrations while copying an event """ if not default: default = {} @@ -59,81 +81,45 @@ class event_event(osv.osv): }) return super(event_event, self).copy(cr, uid, id, default=default, context=context) - def onchange_product(self, cr, uid, ids, product_id=False): - """This function returns value of product's unit price based on product id. - @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 ids: List of Event IDs - @param product_id: Product's id - """ - if not product_id: - return {'value': {'unit_price': False}} - else: - unit_price=self.pool.get('product.product').price_get(cr, uid, [product_id])[product_id] - return {'value': {'unit_price': unit_price}} - def button_draft(self, cr, uid, ids, context=None): return self.write(cr, uid, ids, {'state': 'draft'}, context=context) def button_cancel(self, cr, uid, ids, context=None): + registration = self.pool.get('event.registration') + reg_ids = registration.search(cr, uid, [('event_id','in',ids)], context=context) + for event_reg in registration.browse(cr,uid,reg_ids,context=context): + if event_reg.state == 'done': + raise osv.except_osv(_('Error!'),_("You have already set a registration for this event as 'Attended'. Please reset it to draft if you want to cancel this event.") ) + registration.write(cr, uid, reg_ids, {'state': 'cancel'}, context=context) return self.write(cr, uid, ids, {'state': 'cancel'}, context=context) def button_done(self, cr, uid, ids, context=None): - if type(ids) in (int, long,): - ids = [ids] return self.write(cr, uid, ids, {'state': 'done'}, context=context) - def do_confirm(self, cr, uid, ids, context=None): - """ Confirm Event and send confirmation email to all register peoples - """ + def check_registration_limits(self, cr, uid, ids, context=None): register_pool = self.pool.get('event.registration') - for event in self.browse(cr, uid, ids, context=context): - if event.mail_auto_confirm: - #send reminder that will confirm the event for all the people that were already confirmed - reg_ids = register_pool.search(cr, uid, [ - ('event_id', '=', event.id), - ('state', 'not in', ['draft', 'cancel'])], context=context) - register_pool.mail_user_confirm(cr, uid, reg_ids) + for self.event in self.browse(cr, uid, ids, context=context): + total_confirmed = self.event.register_current + if total_confirmed < self.event.register_min or total_confirmed > self.event.register_max and self.event.register_max!=0: + raise osv.except_osv(_('Error!'),_("The total of confirmed registration for the event '%s' does not meet the expected minimum/maximum. You should maybe reconsider those limits before going further") % (self.event.name)) + def confirm_event(self, cr, uid, ids, context=None): + register_pool = self.pool.get('event.registration') + if self.event.email_confirmation_id: + #send reminder that will confirm the event for all the people that were already confirmed + reg_ids = register_pool.search(cr, uid, [ + ('event_id', '=', self.event.id), + ('state', 'not in', ['draft', 'cancel'])], context=context) + register_pool.mail_user_confirm(cr, uid, reg_ids) return self.write(cr, uid, ids, {'state': 'confirm'}, context=context) def button_confirm(self, cr, uid, ids, context=None): - """This Function Confirm Event. - @param ids: List of Event IDs - @param context: A standard dictionary for contextual values - @return: True + """ Confirm Event and send confirmation email to all register peoples """ - if context is None: - context = {} - res = False - if type(ids) in (int, long,): + if isinstance(ids, (int, long)): ids = [ids] - data_pool = self.pool.get('ir.model.data') - unconfirmed_ids = [] - for event in self.browse(cr, uid, ids, context=context): - total_confirmed = event.register_current - if total_confirmed >= event.register_min or event.register_max == 0: - res = self.do_confirm(cr, uid, [event.id], context=context) - else: - unconfirmed_ids.append(event.id) - if unconfirmed_ids: - view_id = data_pool.get_object_reference(cr, uid, 'event', 'view_event_confirm') - view_id = view_id and view_id[1] or False - context['event_ids'] = unconfirmed_ids - return { - 'name': _('Confirm Event'), - 'context': context, - 'view_type': 'form', - 'view_mode': 'tree,form', - 'res_model': 'event.confirm', - 'views': [(view_id, 'form')], - 'type': 'ir.actions.act_window', - 'target': 'new', - 'context': context, - 'nodestroy': True - } - return res + self.check_registration_limits(cr, uid, ids, context=context) + return self.confirm_event(cr, uid, ids, context=context) def _get_register(self, cr, uid, ids, fields, args, context=None): """Get Confirm or uncofirm register value. @@ -146,77 +132,37 @@ class event_event(osv.osv): res = {} for event in self.browse(cr, uid, ids, context=context): res[event.id] = {} + reg_open = reg_done = reg_draft =0 + for registration in event.registration_ids: + if registration.state == 'open': + reg_open += registration.nb_register + elif registration.state == 'done': + reg_done += registration.nb_register + elif registration.state == 'draft': + reg_draft += registration.nb_register for field in fields: - res[event.id][field] = False - state = [] - if 'register_current' in fields: - state += ['open', 'done'] - if 'register_prospect' in fields: - state.append('draft') - - reg_ids = register_pool.search(cr, uid, [ - ('event_id', '=', event.id), - ('state', 'in', state)], context=context) - - number = 0.0 - if reg_ids: - cr.execute('SELECT SUM(nb_register) FROM event_registration WHERE id IN %s', (tuple(reg_ids),)) - number = cr.fetchone() - - if 'register_current' in fields: - res[event.id]['register_current'] = number and number[0] or 0.0 - if 'register_prospect' in fields: - res[event.id]['register_prospect'] = number and number[0] or 0.0 - return res - - def write(self, cr, uid, ids, vals, context=None): - """ - Writes values in one or several fields. - @param ids: List of Event registration type's IDs - @param vals: dictionary with values to update. - @return: True - """ - register_pool = self.pool.get('event.registration') - res = super(event_event, self).write(cr, uid, ids, vals, context=context) - if vals.get('date_begin', False) or vals.get('mail_auto_confirm', False) or vals.get('mail_confirm', False): - for event in self.browse(cr, uid, ids, context=context): - #change the deadlines of the registration linked to this event - register_values = {} - if vals.get('date_begin', False): - register_values['date_deadline'] = vals['date_begin'] - - #change the description of the registration linked to this event - if vals.get('mail_auto_confirm', False): - if vals['mail_auto_confirm']: - if 'mail_confirm' not in vals: - vals['mail_confirm'] = event.mail_confirm - else: - vals['mail_confirm'] = False - if 'mail_confirm' in vals: - register_values['description'] = vals['mail_confirm'] - - if register_values: - reg_ids = register_pool.search(cr, uid, [('event_id', '=', event.id)], context=context) - register_pool.write(cr, uid, reg_ids, register_values, context=context) + number = 0 + if field == 'register_current': + number = reg_open + elif field == 'register_attended': + number = reg_done + elif field == 'register_prospect': + number = reg_draft + res[event.id][field] = number return res _columns = { - 'name': fields.char('Summary', size=64, required=True, translate=True, readonly=False, states={'done': [('readonly', True)]}), + 'name': fields.char('Name', size=64, required=True, translate=True, readonly=False, states={'done': [('readonly', True)]}), 'user_id': fields.many2one('res.users', 'Responsible User', readonly=False, states={'done': [('readonly', True)]}), - 'parent_id': fields.many2one('event.event', 'Parent Event', readonly=False, states={'done': [('readonly', True)]}), - 'section_id': fields.many2one('crm.case.section', 'Sale Team', readonly=False, states={'done': [('readonly', True)]}), - 'child_ids': fields.one2many('event.event', 'parent_id', 'Child Events', readonly=False, states={'done': [('readonly', True)]}), - 'reply_to': fields.char('Reply-To', size=64, readonly=False, states={'done': [('readonly', True)]}, help="The email address put in the 'Reply-To' of all emails sent by OpenERP"), - 'type': fields.many2one('event.type', 'Type', help="Type of Event like Seminar, Exhibition, Conference, Training.", readonly=False, states={'done': [('readonly', True)]}), - 'register_max': fields.integer('Maximum Registrations', help="Provide Maximum Number of Registrations", readonly=True, states={'draft': [('readonly', False)]}), - 'register_min': fields.integer('Minimum Registrations', help="Provide Minimum Number of Registrations", readonly=True, states={'draft': [('readonly', False)]}), - 'register_current': fields.function(_get_register, string='Confirmed Registrations', multi='register_current', - help="Total of Open and Done Registrations"), - 'register_prospect': fields.function(_get_register, string='Unconfirmed Registrations', multi='register_prospect', - help="Total of Prospect Registrations"), + 'type': fields.many2one('event.type', 'Type of Event', readonly=False, states={'done': [('readonly', True)]}), + 'register_max': fields.integer('Maximum Registrations', help="You can for each event define a maximum registration level. If you have too much registrations you are not able to confirm your event. (put 0 to ignore this rule )", readonly=True, states={'draft': [('readonly', False)]}), + 'register_min': fields.integer('Minimum Registrations', help="You can for each event define a minimum registration level. If you do not enough registrations you are not able to confirm your event. (put 0 to ignore this rule )", readonly=True, states={'draft': [('readonly', False)]}), + 'register_current': fields.function(_get_register, string='Confirmed Registrations', multi='register_numbers'), + 'register_prospect': fields.function(_get_register, string='Unconfirmed Registrations', multi='register_numbers'), + 'register_attended': fields.function(_get_register, string='Attended Registrations', multi='register_numbers'), 'registration_ids': fields.one2many('event.registration', 'event_id', 'Registrations', readonly=False, states={'done': [('readonly', True)]}), - 'date_begin': fields.datetime('Beginning date', required=True, help="Beginning Date of Event", readonly=True, states={'draft': [('readonly', False)]}), - 'date_end': fields.datetime('Closing date', required=True, help="Closing Date of Event", readonly=True, states={'draft': [('readonly', False)]}), + 'date_begin': fields.datetime('Start Date', required=True, readonly=True, states={'draft': [('readonly', False)]}), + 'date_end': fields.datetime('End Date', required=True, readonly=True, states={'draft': [('readonly', False)]}), 'state': fields.selection([ ('draft', 'Draft'), ('confirm', 'Confirmed'), @@ -224,21 +170,16 @@ class event_event(osv.osv): ('cancel', 'Cancelled')], 'State', readonly=True, required=True, help='If event is created, the state is \'Draft\'.If event is confirmed for the particular dates the state is set to \'Confirmed\'. If the event is over, the state is set to \'Done\'.If event is cancelled the state is set to \'Cancelled\'.'), - 'mail_auto_registr': fields.boolean('Mail Auto Register', readonly=False, states={'done': [('readonly', True)]}, help='Check this box if you want to use automatic emailing for new registration.'), - 'mail_auto_confirm': fields.boolean('Mail Auto Confirm', readonly=False, states={'done': [('readonly', True)]}, help='Check this box if you want to use automatic confirmation emailing or reminder.'), - 'mail_registr': fields.text('Registration Email', readonly=False, states={'done': [('readonly', True)]}, help='This email will be sent when someone subscribes to the event.'), - 'mail_confirm': fields.text('Confirmation Email', readonly=False, states={'done': [('readonly', True)]}, help="This email will be sent when the event gets confirmed or when someone subscribes to a confirmed event. This is also the email sent to remind someone about the event."), - 'product_id': fields.many2one('product.product', 'Product', required=True, readonly=True, states={'draft': [('readonly', False)]}, help="The invoices of this event registration will be created with this Product. Thus it allows you to set the default label and the accounting info you want by default on these invoices."), - 'note': fields.text('Notes', help="Description or Summary of Event", readonly=False, states={'done': [('readonly', True)]}), - 'pricelist_id': fields.many2one('product.pricelist', 'Pricelist', readonly=True, states={'draft': [('readonly', False)]}, help="Pricelist version for current event."), - 'unit_price': fields.related('product_id', 'list_price', type='float', string='Registration Cost', readonly=True, states={'draft':[('readonly',False)]}, help="This will be the default price used as registration cost when invoicing this event. Note that you can specify a specific amount for each registration.", digits_compute=dp.get_precision('Sale Price')), + 'email_registration_id' : fields.many2one('email.template','Registration Confirmation Email', help='This field contains the template of the mail that will be automatically sent each time a registration for this event is confirmed.'), + 'email_confirmation_id' : fields.many2one('email.template','Event Confirmation Email', help="If you set an email template, each participant will receive this email announcing the confirmation of the event."), + 'full_name' : fields.function(_name_get_fnc, type="char", string='Name'), + 'reply_to': fields.char('Reply-To Email', size=64, readonly=False, states={'done': [('readonly', True)]}, help="The email address of the organizer is likely to be put here, with the effect to be in the 'Reply-To' of the mails sent automatically at event or registrations confirmation. You can also put the email address of your mail gateway if you use one."), 'main_speaker_id': fields.many2one('res.partner','Main Speaker', readonly=False, states={'done': [('readonly', True)]}, help="Speaker who will be giving speech at the event."), 'speaker_ids': fields.many2many('res.partner', 'event_speaker_rel', 'speaker_id', 'partner_id', 'Other Speakers', readonly=False, states={'done': [('readonly', True)]}), 'address_id': fields.many2one('res.partner.address','Location Address', readonly=False, states={'done': [('readonly', True)]}), 'speaker_confirmed': fields.boolean('Speaker Confirmed', readonly=False, states={'done': [('readonly', True)]}), 'country_id': fields.related('address_id', 'country_id', type='many2one', relation='res.country', string='Country', readonly=False, states={'done': [('readonly', True)]}), - 'language': fields.char('Language',size=64, readonly=False, states={'done': [('readonly', True)]}), 'note': fields.text('Description', readonly=False, states={'done': [('readonly', True)]}), 'company_id': fields.many2one('res.company', 'Company', required=False, change_default=True, readonly=False, states={'done': [('readonly', True)]}), } @@ -249,9 +190,6 @@ class event_event(osv.osv): 'user_id': lambda obj, cr, uid, context: uid, } - def _check_recursion(self, cr, uid, ids, context=None): - return super(event_event, self)._check_recursion(cr, uid, ids, context=context) - def _check_closing_date(self, cr, uid, ids, context=None): for event in self.browse(cr, uid, ids, context=context): if event.date_end < event.date_begin: @@ -259,456 +197,157 @@ class event_event(osv.osv): return True _constraints = [ - (_check_recursion, 'Error ! You cannot create recursive event.', ['parent_id']), (_check_closing_date, 'Error ! Closing Date cannot be set before Beginning Date.', ['date_end']), ] - def do_team_change(self, cr, uid, ids, team_id, context=None): - """ - On Change Callback: when team change, this is call. - on this function, take value of reply_to from selected team. - """ - if not team_id: - return {} - team_pool = self.pool.get('crm.case.section') - res = {} - team = team_pool.browse(cr, uid, team_id, context=context) - if team.reply_to: - res = {'value': {'reply_to': team.reply_to}} - return res - + def onchange_event_type(self, cr, uid, ids, type_event, context=None): + if type_event: + type_info = self.pool.get('event.type').browse(cr,uid,type_event,context) + dic ={ + 'reply_to': type_info.default_reply_to, + 'email_registration_id': type_info.default_email_registration.id, + 'email_confirmation_id': type_info.default_email_event.id, + 'register_min': type_info.default_registration_min, + 'register_max': type_info.default_registration_max, + } + return {'value': dic} event_event() class event_registration(osv.osv): """Event Registration""" _name= 'event.registration' _description = __doc__ - _inherit = 'mail.thread' - - def _amount_line(self, cr, uid, ids, field_name, arg, context=None): - cur_obj = self.pool.get('res.currency') - res = {} - for line in self.browse(cr, uid, ids, context=context): - price = line.unit_price * line.nb_register - pricelist = line.event_id.pricelist_id or line.partner_invoice_id.property_product_pricelist - cur = pricelist and pricelist.currency_id or False - res[line.id] = cur and cur_obj.round(cr, uid, cur, price) or price - return res - + _inherit = ['mail.thread','res.partner.address'] _columns = { 'id': fields.integer('ID'), - 'name': fields.char('Summary', size=124, readonly=True, states={'draft': [('readonly', False)]}), - 'email_cc': fields.text('CC', size=252, readonly=False, states={'done': [('readonly', True)]}, help="These email addresses will be added to the CC field of all inbound and outbound emails for this record before being sent. Separate multiple email addresses with a comma"), - 'nb_register': fields.integer('Quantity', required=True, readonly=True, states={'draft': [('readonly', False)]}, help="Number of Registrations or Tickets"), + 'origin': fields.char('Origin', size=124,readonly=True,help="Name of the sale order which create the registration"), + 'nb_register': fields.integer('Number of Participants', required=True, readonly=True, states={'draft': [('readonly', False)]}), 'event_id': fields.many2one('event.event', 'Event', required=True, readonly=True, states={'draft': [('readonly', False)]}), 'partner_id': fields.many2one('res.partner', 'Partner', states={'done': [('readonly', True)]}), - "partner_invoice_id": fields.many2one('res.partner', 'Partner Invoiced', readonly=True, states={'draft': [('readonly', False)]}), - "contact_id": fields.many2one('res.partner.address', 'Partner Contact', readonly=False, states={'done': [('readonly', True)]}), #TODO: filter only the contacts that have a function into the selected partner_id - "unit_price": fields.float('Unit Price', required=True, digits_compute=dp.get_precision('Sale Price'), readonly=True, states={'draft': [('readonly', False)]}), - 'price_subtotal': fields.function(_amount_line, string='Subtotal', digits_compute=dp.get_precision('Sale Price'), store=True), - "badge_ids": fields.one2many('event.registration.badge', 'registration_id', 'Badges', readonly=False, states={'done': [('readonly', True)]}), - "event_product": fields.char("Invoice Name", size=128, readonly=True, states={'draft': [('readonly', False)]}), - "tobe_invoiced": fields.boolean("To be Invoiced", readonly=True, states={'draft': [('readonly', False)]}), - "invoice_id": fields.many2one("account.invoice", "Invoice", readonly=True), - 'date_closed': fields.datetime('Closed', readonly=True), - 'ref': fields.reference('Reference', selection=crm._links_get, size=128), - 'ref2': fields.reference('Reference 2', selection=crm._links_get, size=128), - 'email_from': fields.char('Email', size=128, states={'done': [('readonly', True)]}, help="These people will receive email."), - 'create_date': fields.datetime('Creation Date', readonly=True), - 'write_date': fields.datetime('Write Date', readonly=True), - 'description': fields.text('Description', states={'done': [('readonly', True)]}), - 'message_ids': fields.one2many('mail.message', 'res_id', 'Messages', domain=[('model','=',_name)]), + 'partner_address_id': fields.many2one('res.partner.address', 'Partner', states={'done': [('readonly', True)]}), + "contact_id": fields.many2one('res.partner.address', 'Partner Contact', readonly=False, states={'done': [('readonly', True)]}), + 'create_date': fields.datetime('Creation Date' , readonly=True), + 'date_closed': fields.datetime('Attended Date', readonly=True), + 'date_open': fields.datetime('Registration Date', readonly=True), + 'reply_to': fields.related('event_id','reply_to',string='Reply-to Email', type='char', size=128, readonly=True,), 'log_ids': fields.one2many('mail.message', 'res_id', 'Logs', domain=[('email_from', '=', False),('model','=',_name)]), - 'date_deadline': fields.related('event_id','date_end', type='datetime', string="End Date", readonly=True), - 'date': fields.related('event_id', 'date_begin', type='datetime', string="Start Date", readonly=True), + 'event_end_date': fields.related('event_id','date_end', type='datetime', string="Event End Date", readonly=True), + 'event_begin_date': fields.related('event_id', 'date_begin', type='datetime', string="Event Start Date", readonly=True), 'user_id': fields.many2one('res.users', 'Responsible', states={'done': [('readonly', True)]}), - 'active': fields.boolean('Active'), - 'section_id': fields.related('event_id', 'section_id', type='many2one', relation='crm.case.section', string='Sale Team', store=True, readonly=True), 'company_id': fields.related('event_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True, states={'draft':[('readonly',False)]}), - 'state': fields.selection([('open', 'Confirmed'), - ('draft', 'Unconfirmed'), + 'state': fields.selection([('draft', 'Unconfirmed'), + ('open', 'Confirmed'), ('cancel', 'Cancelled'), - ('done', 'Done')], 'State', \ + ('done', 'Attended')], 'State', size=16, readonly=True) } + _defaults = { 'nb_register': 1, - 'tobe_invoiced': True, 'state': 'draft', - 'active': 1, 'user_id': lambda self, cr, uid, ctx: uid, } + _order = 'name, create_date desc' - def _make_invoice(self, cr, uid, reg, lines, context=None): - """ Create Invoice from Invoice lines - @param reg: Model of Event Registration - @param lines: Ids of Invoice lines - """ - if context is None: - context = {} - inv_pool = self.pool.get('account.invoice') - val_invoice = inv_pool.onchange_partner_id(cr, uid, [], 'out_invoice', reg.partner_invoice_id.id, False, False) - val_invoice['value'].update({'partner_id': reg.partner_invoice_id.id}) - val_invoice['value'].update({ - 'origin': reg.event_product, - 'reference': False, - 'invoice_line': [(6, 0, lines)], - 'comment': "", - 'date_invoice': context.get('date_inv', False) - }) - inv_id = inv_pool.create(cr, uid, val_invoice['value'], context=context) - inv_pool.button_compute(cr, uid, [inv_id]) - self.message_append(cr, uid, [reg], _('Invoiced')) - return inv_id - def copy(self, cr, uid, id, default=None, context=None): - """ Copy record of Given id - @param id: Id of Registration record. - @param context: A standard dictionary for contextual values - """ - if not default: - default = {} - default.update({ - 'invoice_id': False, - }) - return super(event_registration, self).copy(cr, uid, id, default=default, context=context) + def do_draft(self, cr, uid, ids, context=None): + return self.write(cr, uid, ids, {'state': 'draft'}, context=context) - def action_invoice_create(self, cr, uid, ids, grouped=False, date_inv = False, context=None): - """ Action of Create Invoice """ - res = False - invoices = {} - tax_ids=[] - new_invoice_ids = [] - inv_lines_pool = self.pool.get('account.invoice.line') - inv_pool = self.pool.get('account.invoice') - product_pool = self.pool.get('product.product') - contact_pool = self.pool.get('res.partner.address') - if context is None: - context = {} - # If date was specified, use it as date invoiced, usefull when invoices are generated this month and put the - # last day of the last month as invoice date - if date_inv: - context['date_inv'] = date_inv + def confirm_registration(self, cr, uid, ids, context=None): + self.message_append(cr, uid, ids,_('State set to open'),body_text= _('Open')) + return self.write(cr, uid, ids, {'state': 'open'}, context=context) - for reg in self.browse(cr, uid, ids, context=context): - val_invoice = inv_pool.onchange_partner_id(cr, uid, [], 'out_invoice', reg.partner_invoice_id.id, False, False) - val_invoice['value'].update({'partner_id': reg.partner_invoice_id.id}) - partner_address_id = val_invoice['value']['address_invoice_id'] - if not partner_address_id: - raise osv.except_osv(_('Error !'), - _("Registered partner doesn't have an address to make the invoice.")) - value = inv_lines_pool.product_id_change(cr, uid, [], reg.event_id.product_id.id, uom =False, partner_id=reg.partner_invoice_id.id, fposition_id=reg.partner_invoice_id.property_account_position.id) - product = product_pool.browse(cr, uid, reg.event_id.product_id.id, context=context) - for tax in product.taxes_id: - tax_ids.append(tax.id) - vals = value['value'] - c_name = reg.contact_id and ('-' + contact_pool.name_get(cr, uid, [reg.contact_id.id])[0][1]) or '' - vals.update({ - 'name': reg.event_product + '-' + c_name, - 'price_unit': reg.unit_price, - 'quantity': reg.nb_register, - 'product_id':reg.event_id.product_id.id, - 'invoice_line_tax_id': [(6, 0, tax_ids)], - }) - inv_line_ids = self._create_invoice_lines(cr, uid, [reg.id], vals) - invoices.setdefault(reg.partner_id.id, []).append((reg, inv_line_ids)) - for val in invoices.values(): - res = False - if grouped: - res = self._make_invoice(cr, uid, val[0][0], [v for k, v in val], context=context) - - for k, v in val: - self.do_close(cr, uid, [k.id], context={'invoice_id': res}) - - else: - for k, v in val: - res = self._make_invoice(cr, uid, k, [v], context=context) - self.do_close(cr, uid, [k.id], context={'invoice_id': res}) - if res: new_invoice_ids.append(res) - return new_invoice_ids - - def do_open(self, cr, uid, ids, context=None): + def registration_open(self, cr, uid, ids, context=None): """ Open Registration """ - res = self.write(cr, uid, ids, {'state': 'open'}, context=context) - self.mail_user(cr, uid, ids) - self.message_append(cr, uid, ids, _('Open')) + res = self.confirm_registration(cr, uid, ids, context=context) + self.mail_user(cr, uid, ids, context=context) return res - def do_close(self, cr, uid, ids, context=None): + def button_reg_close(self, cr, uid, ids, context=None): """ Close Registration """ if context is None: context = {} - invoice_id = context.get('invoice_id', False) - values = {'state': 'done', 'date_closed': time.strftime('%Y-%m-%d %H:%M:%S')} - msg = _('Done') - if invoice_id: - values['invoice_id'] = invoice_id - res = self.write(cr, uid, ids, values) - self.message_append(cr, uid, ids, msg) - return res - - # event uses add_note wizard from crm, which expects case_* methods - def case_open(self, cr, uid, ids, context=None): - self.do_open(cr, uid, ids, context) - - # event uses add_note wizard from crm, which expects case_* methods - def case_close(self, cr, uid, ids, context=None): - self.do_close(cr, uid, ids, context) - - # event uses add_note wizard from crm, which expects case_* methods - def case_cancel(self, cr, uid, ids, context=None): - """ Cancel Registration - """ - self.message_append(cr, uid, ids, _('Cancel')) - return self.write(cr, uid, ids, {'state': 'cancel'}) - - # event uses add_note wizard from crm, which expects case_* methods - def case_reset(self, cr, uid, ids, context=None): - pass - - # event uses add_note wizard from crm, which expects case_* methods - def case_pending(self, cr, uid, ids, context=None): - pass - - def check_confirm(self, cr, uid, ids, context=None): - """This Function Open Event Registration and send email to user. - @param ids: List of Event registration's IDs - @param context: A standard dictionary for contextual values - @return: True - """ - if type(ids) in (int, long,): - ids = [ids] - data_pool = self.pool.get('ir.model.data') - unconfirmed_ids = [] - if context is None: - context = {} + today = fields.datetime.now() for registration in self.browse(cr, uid, ids, context=context): - total_confirmed = registration.event_id.register_current + registration.nb_register - if total_confirmed <= registration.event_id.register_max or registration.event_id.register_max == 0: - self.do_open(cr, uid, [registration.id], context=context) + if today >= registration.event_id.date_begin: + values = {'state': 'done', 'date_closed': today} + self.write(cr, uid, ids, values) + self.message_append(cr, uid, ids, _('State set to Done'), body_text=_('Done')) else: - unconfirmed_ids.append(registration.id) - if unconfirmed_ids: - view_id = data_pool.get_object_reference(cr, uid, 'event', 'view_event_confirm_registration') - view_id = view_id and view_id[1] or False - context['registration_ids'] = unconfirmed_ids - return { - 'name': _('Confirm Registration'), - 'context': context, - 'view_type': 'form', - 'view_mode': 'tree,form', - 'res_model': 'event.confirm.registration', - 'views': [(view_id, 'form')], - 'type': 'ir.actions.act_window', - 'target': 'new', - 'context': context, - 'nodestroy': True - } - return True - - def button_reg_close(self, cr, uid, ids, context=None): - """This Function Close Event Registration. - """ - data_pool = self.pool.get('ir.model.data') - unclosed_ids = [] - for registration in self.browse(cr, uid, ids, context=context): - if registration.tobe_invoiced and not registration.invoice_id: - unclosed_ids.append(registration.id) - else: - self.do_close(cr, uid, [registration.id], context=context) - if unclosed_ids: - view_id = data_pool.get_object_reference(cr, uid, 'event', 'view_event_make_invoice') - view_id = view_id and view_id[1] or False - context['active_ids'] = unclosed_ids - return { - 'name': _('Close Registration'), - 'context': context, - 'view_type': 'form', - 'view_mode': 'tree,form', - 'res_model': 'event.make.invoice', - 'views': [(view_id, 'form')], - 'type': 'ir.actions.act_window', - 'target': 'new', - 'context': context, - 'nodestroy': True - } + raise osv.except_osv(_('Error!'),_("You must wait the event starting day to do this action.") ) return True def button_reg_cancel(self, cr, uid, ids, context=None, *args): - return self.case_cancel(cr, uid, ids) + self.message_append(cr, uid, ids,_('State set to Cancel'),body_text= _('Cancel')) + return self.write(cr, uid, ids, {'state': 'cancel'}) - def mail_user(self, cr, uid, ids, confirm=False, context=None): + def mail_user(self, cr, uid, ids, context=None): """ - Send email to user + Send email to user with email_template when registration is done """ - mail_message = self.pool.get('mail.message') for registration in self.browse(cr, uid, ids, context=context): - src = registration.event_id.reply_to or False - email_to = [] - email_cc = [] - if registration.email_from: - email_to = [registration.email_from] - if registration.email_cc: - email_cc += [registration.email_cc] - if not (email_to or email_cc): - continue - subject = "" - body = "" - if confirm: - subject = _('Auto Confirmation: [%s] %s') %(registration.id, registration.name) - body = registration.event_id.mail_confirm - elif registration.event_id.mail_auto_confirm or registration.event_id.mail_auto_registr: - if registration.event_id.state in ['draft', 'fixed', 'open', 'confirm', 'running'] and registration.event_id.mail_auto_registr: - subject = _('Auto Registration: [%s] %s') %(registration.id, registration.name) - body = registration.event_id.mail_registr - if (registration.event_id.state in ['confirm', 'running']) and registration.event_id.mail_auto_confirm: - subject = _('Auto Confirmation: [%s] %s') %(registration.id, registration.name) - body = registration.event_id.mail_confirm - if subject or body: - mail_message.schedule_with_attach(cr, uid, src, email_to, subject, body, model='event.registration', email_cc=email_cc, res_id=registration.id) - + if registration.event_id.state == 'confirm' and registration.event_id.email_confirmation_id.id: + self.mail_user_confirm(cr, uid, ids, context=context) + else: + template_id = registration.event_id.email_registration_id.id + if template_id: + mail_message = self.pool.get('email.template').send_mail(cr,uid,template_id,registration.id) return True def mail_user_confirm(self, cr, uid, ids, context=None): """ - Send email to user + Send email to user when the event is confirmed """ - return self.mail_user(cr, uid, ids, confirm=True, context=context) + for registration in self.browse(cr, uid, ids, context=context): + template_id = registration.event_id.email_confirmation_id.id + if template_id: + mail_message = self.pool.get('email.template').send_mail(cr,uid,template_id,registration.id) + return True - def _create_invoice_lines(self, cr, uid, ids, vals): - """ Create account Invoice line for Registration Id. - """ - return self.pool.get('account.invoice.line').create(cr, uid, vals) - - def onchange_contact_id(self, cr, uid, ids, contact, partner): - - """This function returns value of Badge Name, Badge Title based on Partner contact. - @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 ids: List of Registration IDs - @param contact: Patner Contact IDS - @param partner: Partner IDS - """ + def onchange_contact_id(self, cr, uid, ids, contact, partner, context=None): data ={} if not contact: return data addr_obj = self.pool.get('res.partner.address') - data['email_from'] = addr_obj.browse(cr, uid, contact).email + contact_id = addr_obj.browse(cr, uid, contact, context=context) + data = { + 'email':contact_id.email, + 'contact_id':contact_id.id, + 'name':contact_id.name, + 'phone':contact_id.phone, + } return {'value': data} - def onchange_event(self, cr, uid, ids, event_id, partner_invoice_id): + def onchange_event(self, cr, uid, ids, event_id, context=None): """This function returns value of Product Name, Unit Price based on Event. - @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 ids: List of Registration IDs - @param event_id: Event ID - @param partner_invoice_id: Partner Invoice ID """ - context = {} + if context is None: + context = {} if not event_id: - return {'value': {'unit_price': False, 'event_product': False}} - + return {} event_obj = self.pool.get('event.event') - prod_obj = self.pool.get('product.product') + data_event = event_obj.browse(cr, uid, event_id, context=context) + return {'value': + {'event_begin_date': data_event.date_begin, + 'event_end_date': data_event.date_end, + 'company_id': data_event.company_id and data_event.company_id.id or False, + } + } + + def onchange_partner_id(self, cr, uid, ids, part, context=None): res_obj = self.pool.get('res.partner') - - data_event = event_obj.browse(cr, uid, event_id) - res = {'value': {'unit_price': False, - 'event_product': False, - 'user_id': False, - 'date': data_event.date_begin, - 'date_deadline': data_event.date_end, - 'description': data_event.note, - 'name': data_event.name, - 'section_id': data_event.section_id and data_event.section_id.id or False, - }} - if data_event.user_id.id: - res['value'].update({'user_id': data_event.user_id.id}) - if data_event.product_id: - pricelist_id = data_event.pricelist_id and data_event.pricelist_id.id or False - if partner_invoice_id: - partner = res_obj.browse(cr, uid, partner_invoice_id, context=context) - pricelist_id = pricelist_id or partner.property_product_pricelist.id - unit_price = prod_obj._product_price(cr, uid, [data_event.product_id.id], False, False, {'pricelist': pricelist_id})[data_event.product_id.id] - if not unit_price: - unit_price = data_event.unit_price - res['value'].update({'unit_price': unit_price, 'event_product': data_event.product_id.name}) - return res - - def onchange_partner_id(self, cr, uid, ids, part, event_id, email=False): - """This function returns value of Patner Invoice id, Unit Price, badget title based on partner and Event. - @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 ids: List of Registration IDs - @param event_id: Event ID - @param partner_invoice_id: Partner Invoice ID - """ - res_obj = self.pool.get('res.partner') - data = {} - data['contact_id'], data['partner_invoice_id'], data['email_from'] = (False, False, False) if not part: return {'value': data} - data['partner_invoice_id'] = part - # this calls onchange_partner_invoice_id - d = self.onchange_partner_invoice_id(cr, uid, ids, event_id, part) - # this updates the dictionary - data.update(d['value']) addr = res_obj.address_get(cr, uid, [part]).get('default', False) if addr: - d = self.onchange_contact_id(cr, uid, ids, addr, part) + d = self.onchange_contact_id(cr, uid, ids, addr, part, context) data.update(d['value']) return {'value': data} - def onchange_partner_invoice_id(self, cr, uid, ids, event_id, partner_invoice_id): - """This function returns value of Product unit Price based on Invoiced partner. - @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 ids: List of Registration IDs - @param event_id: Event ID - @param partner_invoice_id: Partner Invoice ID - """ - data = {} - context = {} - event_obj = self.pool.get('event.event') - prod_obj = self.pool.get('product.product') - res_obj = self.pool.get('res.partner') - - data['unit_price']=False - if not event_id: - return {'value': data} - data_event = event_obj.browse(cr, uid, event_id, context=context) - if data_event.product_id: - data['event_product'] = data_event.product_id.name - pricelist_id = data_event.pricelist_id and data_event.pricelist_id.id or False - if partner_invoice_id: - partner = res_obj.browse(cr, uid, partner_invoice_id, context=context) - pricelist_id = pricelist_id or partner.property_product_pricelist.id - unit_price = prod_obj._product_price(cr, uid, [data_event.product_id.id], False, False, {'pricelist': pricelist_id})[data_event.product_id.id] - if not unit_price: - unit_price = data_event.unit_price - data['unit_price'] = unit_price - return {'value': data} - event_registration() -class event_registration_badge(osv.osv): - _name = 'event.registration.badge' - _description = __doc__ - _columns = { - "registration_id": fields.many2one('event.registration', 'Registration', required=True), - "title": fields.char('Title', size=128), - "name": fields.char('Name', size=128, required=True), - "address_id": fields.many2one('res.partner.address', 'Address'), - } - -event_registration_badge() - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/event/event_demo.xml b/addons/event/event_demo.xml index 4f86f620e6f..0dfbbf6de18 100644 --- a/addons/event/event_demo.xml +++ b/addons/event/event_demo.xml @@ -1,143 +1,86 @@ - + - + - - - 68.00 - 15.00 - - - Ticket for Concert - - - - - 24.00 - 15.00 - - - Ticket for Opera - - - - - 15.50 - 5.00 - - - Ticket for Conference - - - - Seminar - + + Seminar + - - Exhibition - + + Exhibition + - - Conference - + + Conference + - - Saloon - + + Show + - - Training - + + Training + - - Concert of Bon Jovi + + Concert of Bon Jovi - - 68.00 - True - True - - 500 - - + + 500 + + - - Opera of Verdi + + Opera of Verdi - - 24.00 - - - 50 - 350 - - - Conference on ERP Buisness + + + 50 + 350 + + + Conference on ERP Buisness - - 15.50 - - 200 - - True - True - Thanks for registration. We will keep you informed of the modalities. - Thanks for registration. The conference will begin at 2 PM and will be given by Mr. Pinckaers. - + + 200 + + - - - - - 5 - Ticket for Opera - 24.00 - + + + 5 + - - - - - 10 - Ticket for Opera - 24.00 - + + + 10 + - - - - - - 6 - Ticket for Concert - 15.50 - + + + 6 + + - - 5 - Ticket for Conference - 20 - - - - + + diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml index 31fb353c113..a0b956790af 100644 --- a/addons/event/event_view.xml +++ b/addons/event/event_view.xml @@ -2,11 +2,8 @@ - - - - - + + @@ -18,6 +15,11 @@ + + + + + @@ -38,11 +40,8 @@ event.type form - - - - - + + @@ -56,106 +55,75 @@ - - - + + + - - - - - - - - - - - - - - - - - - - + + + + + + + +