diff --git a/addons/account/account.py b/addons/account/account.py index 907e6207380..bfc16a4c419 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -30,6 +30,8 @@ from osv import fields, osv import decimal_precision as dp from tools.translate import _ from tools.float_utils import float_round +from openerp import SUPERUSER_ID + _logger = logging.getLogger(__name__) @@ -109,7 +111,7 @@ class account_payment_term_line(osv.osv): 'days': fields.integer('Number of Days', required=True, help="Number of days to add before computation of the day of month." \ "If Date=15/01, Number of Days=22, Day of Month=-1, then the due date is 28/02."), 'days2': fields.integer('Day of the Month', required=True, help="Day of the month, set -1 for the last day of the current month. If it's positive, it gives the day of the next month. Set 0 for net days (otherwise it's based on the beginning of the month)."), - 'payment_id': fields.many2one('account.payment.term', 'Payment Term', required=True, select=True), + 'payment_id': fields.many2one('account.payment.term', 'Payment Term', required=True, select=True, ondelete='cascade'), } _defaults = { 'value': 'balance', @@ -746,9 +748,11 @@ class account_journal(osv.osv): 'profit_account_id' : fields.many2one('account.account', 'Profit Account'), 'loss_account_id' : fields.many2one('account.account', 'Loss Account'), 'internal_account_id' : fields.many2one('account.account', 'Internal Transfers Account', select=1), + 'cash_control' : fields.boolean('Cash Control', help='If you want the journal should be control at opening/closing, check this option'), } _defaults = { + 'cash_control' : False, 'with_last_closing_balance' : False, 'user_id': lambda self, cr, uid, context: uid, 'company_id': lambda self, cr, uid, c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id, @@ -817,7 +821,7 @@ class account_journal(osv.osv): if not 'sequence_id' in vals or not vals['sequence_id']: # if we have the right to create a journal, we should be able to # create it's sequence. - vals.update({'sequence_id': self.create_sequence(cr, 1, vals, context)}) + vals.update({'sequence_id': self.create_sequence(cr, SUPERUSER_ID, vals, context)}) return super(account_journal, self).create(cr, uid, vals, context) def name_get(self, cr, user, ids, context=None): @@ -1371,7 +1375,7 @@ class account_move(osv.osv): balance = 0.0 for line in line_ids: if line[2]: - balance += (line[2]['debit'] or 0.00)- (line[2]['credit'] or 0.00) + balance += (line[2].get('debit',0.00)- (line[2].get('credit',0.00))) return {'value': {'balance': balance}} def write(self, cr, uid, ids, vals, context=None): @@ -1856,7 +1860,7 @@ class account_tax(osv.osv): def get_precision_tax(): def change_digit_tax(cr): - res = pooler.get_pool(cr.dbname).get('decimal.precision').precision_get(cr, 1, 'Account') + res = pooler.get_pool(cr.dbname).get('decimal.precision').precision_get(cr, SUPERUSER_ID, 'Account') return (16, res+2) return change_digit_tax @@ -3345,13 +3349,11 @@ class wizard_multi_charts_accounts(osv.osv_memory): # Install all the templates objects and generate the real objects acc_template_ref, taxes_ref, tax_code_ref = self._install_template(cr, uid, obj_wizard.chart_template_id.id, company_id, code_digits=obj_wizard.code_digits, obj_wizard=obj_wizard, context=context) - # write values of default taxes for product + # write values of default taxes for product as super user if obj_wizard.sale_tax and taxes_ref: - ir_values_obj.set(cr, uid, key='default', key2=False, name="taxes_id", company=company_id, - models =[('product.product',False)], value=[taxes_ref[obj_wizard.sale_tax.id]]) + ir_values_obj.set_default(cr, SUPERUSER_ID, 'product.product', "taxes_id", [taxes_ref[obj_wizard.sale_tax.id]], for_all_users=True, company_id=company_id) if obj_wizard.purchase_tax and taxes_ref: - ir_values_obj.set(cr, uid, key='default', key2=False, name="supplier_taxes_id", company=company_id, - models =[('product.product',False)], value=[taxes_ref[obj_wizard.purchase_tax.id]]) + ir_values_obj.set_default(cr, SUPERUSER_ID, 'product.product', "supplier_taxes_id", [taxes_ref[obj_wizard.purchase_tax.id]], for_all_users=True, company_id=company_id) # Create Bank journals self._create_bank_journals_from_o2m(cr, uid, obj_wizard, company_id, acc_template_ref, context=context) diff --git a/addons/account/account_bank_statement.py b/addons/account/account_bank_statement.py index 8df291a98d1..095d461ff3b 100644 --- a/addons/account/account_bank_statement.py +++ b/addons/account/account_bank_statement.py @@ -430,7 +430,7 @@ class account_bank_statement(osv.osv): 'name': st_number, 'balance_end_real': st.balance_end }, context=context) - self.message_append_note(cr, uid, [st.id], body=_('Statement %s is confirmed, journal items are created.') % (st_number,), context=context) + self.message_post(cr, uid, [st.id], body=_('Statement %s confirmed, journal items were created.') % (st_number,), context=context) return self.write(cr, uid, ids, {'state':'confirm'}, context=context) def button_cancel(self, cr, uid, ids, context=None): diff --git a/addons/account/account_cash_statement.py b/addons/account/account_cash_statement.py index 9af0dcf60f4..17fa05d5f24 100644 --- a/addons/account/account_cash_statement.py +++ b/addons/account/account_cash_statement.py @@ -194,12 +194,27 @@ class account_cash_statement(osv.osv): journal = self.pool.get('account.journal').browse(cr, uid, vals['journal_id'], context=context) if journal and (journal.type == 'cash') and not vals.get('details_ids'): vals['details_ids'] = [] + + last_pieces = None + + if journal.with_last_closing_balance == True: + domain = [('journal_id', '=', journal.id), + ('state', '=', 'confirm')] + last_bank_statement_ids = self.search(cr, uid, domain, limit=1, order='create_date desc', context=context) + if last_bank_statement_ids: + last_bank_statement = self.browse(cr, uid, last_bank_statement_ids[0], context=context) + + last_pieces = dict( + (line.pieces, line.number_closing) for line in last_bank_statement.details_ids + ) + for value in journal.cashbox_line_ids: nested_values = { 'number_closing' : 0, - 'number_opening' : 0, + 'number_opening' : last_pieces.get(value.pieces, 0) if isinstance(last_pieces, dict) else 0, 'pieces' : value.pieces } + vals['details_ids'].append([0, False, nested_values]) res_id = super(account_cash_statement, self).create(cr, uid, vals, context=context) diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py index 7bc9ceaaf61..15027b7a8f6 100644 --- a/addons/account/account_invoice.py +++ b/addons/account/account_invoice.py @@ -1045,7 +1045,7 @@ class account_invoice(osv.osv): if obj_inv.type in ('out_invoice', 'out_refund'): ctx = self.get_log_context(cr, uid, context=ctx) message = _("Invoice '%s' is validated.") % name - self.message_append_note(cr, uid, [inv_id], body=message, context=context) + self.message_post(cr, uid, [inv_id], body=message, context=context) return True def action_cancel(self, cr, uid, ids, *args): @@ -1275,7 +1275,7 @@ class account_invoice(osv.osv): # TODO: use currency's formatting function msg = _("Invoice '%s' is paid partially: %s%s of %s%s (%s%s remaining).") % \ (name, pay_amount, code, invoice.amount_total, code, total, code) - self.message_append_note(cr, uid, [inv_id], body=msg, context=context) + self.message_post(cr, uid, [inv_id], body=msg, context=context) self.pool.get('account.move.line').reconcile_partial(cr, uid, line_ids, 'manual', context) # Update the stored value (fields.function), so we write to trigger recompute @@ -1288,24 +1288,25 @@ class account_invoice(osv.osv): def _get_document_type(self, type): type_dict = { - 'out_invoice': 'Customer invoice', - 'in_invoice': 'Supplier invoice', - 'out_refund': 'Customer Refund', - 'in_refund': 'Supplier Refund', + # Translation markers will have no effect at runtime, only used to properly flag export + 'out_invoice': _('Customer invoice'), + 'in_invoice': _('Supplier invoice'), + 'out_refund': _('Customer Refund'), + 'in_refund': _('Supplier Refund'), } return type_dict.get(type, 'Invoice') def create_send_note(self, cr, uid, ids, context=None): for obj in self.browse(cr, uid, ids, context=context): - self.message_append_note(cr, uid, [obj.id],body=_("%s created.") % (self._get_document_type(obj.type)), context=context) + self.message_post(cr, uid, [obj.id], body=_("%s created.") % (_(self._get_document_type(obj.type))), context=context) def confirm_paid_send_note(self, cr, uid, ids, context=None): - for obj in self.browse(cr, uid, ids, context=context): - self.message_append_note(cr, uid, [obj.id], body=_("%s paid.") % (self._get_document_type(obj.type)), context=context) + for obj in self.browse(cr, uid, ids, context=context): + self.message_post(cr, uid, [obj.id], body=_("%s paid.") % (_(self._get_document_type(obj.type))), context=context) def invoice_cancel_send_note(self, cr, uid, ids, context=None): for obj in self.browse(cr, uid, ids, context=context): - self.message_append_note(cr, uid, [obj.id], body=_("%s cancelled.") % (self._get_document_type(obj.type)), context=context) + self.message_post(cr, uid, [obj.id], body=_("%s cancelled.") % (_(self._get_document_type(obj.type))), context=context) account_invoice() @@ -1361,10 +1362,16 @@ class account_invoice_line(osv.osv): 'company_id': fields.related('invoice_id','company_id',type='many2one',relation='res.company',string='Company', store=True, readonly=True), 'partner_id': fields.related('invoice_id','partner_id',type='many2one',relation='res.partner',string='Partner',store=True) } + + def _default_account_id(self, cr, uid, ids, context=None): + prop = self.pool.get('ir.property').get(cr, uid, 'property_account_income_categ', 'product.category', context=context) + return prop and prop.id or False + _defaults = { 'quantity': 1, 'discount': 0.0, 'price_unit': _price_unit_default, + 'account_id': _default_account_id, } def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): @@ -1473,10 +1480,11 @@ class account_invoice_line(osv.osv): prod = self.pool.get('product.product').browse(cr, uid, product, context=context) prod_uom = self.pool.get('product.uom').browse(cr, uid, uom, context=context) if prod.uom_id.category_id.id != prod_uom.category_id.id: - warning = { + warning = { 'title': _('Warning!'), 'message': _('The selected unit of measure is not compatible with the unit of measure of the product.') - } + } + res['value'].update({'uos_id': prod.uom_id.id}) return {'value': res['value'], 'warning': warning} return res diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml index 143c5514141..610485ec3a0 100644 --- a/addons/account/account_invoice_view.xml +++ b/addons/account/account_invoice_view.xml @@ -191,17 +191,23 @@ - - - - + + + + + + + + - - - - @@ -342,17 +348,22 @@ - - + + + + diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index 5bf45aab487..81e683e1cfd 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -515,7 +515,7 @@ - + @@ -524,10 +524,11 @@ + - - + + diff --git a/addons/account/board_account_view.xml b/addons/account/board_account_view.xml index 630c551c5ca..563c3f5fc6c 100644 --- a/addons/account/board_account_view.xml +++ b/addons/account/board_account_view.xml @@ -29,7 +29,6 @@
- diff --git a/addons/account/demo/account_minimal.xml b/addons/account/demo/account_minimal.xml index baa94450f02..94b3d2d4085 100644 --- a/addons/account/demo/account_minimal.xml +++ b/addons/account/demo/account_minimal.xml @@ -381,6 +381,11 @@ Cash Journal - (test) TCSH cash + + + + + diff --git a/addons/account/edi/invoice_action_data.xml b/addons/account/edi/invoice_action_data.xml index 0eec6d27785..53fa03a6902 100644 --- a/addons/account/edi/invoice_action_data.xml +++ b/addons/account/edi/invoice_action_data.xml @@ -123,64 +123,6 @@ ]]> - '%(object.user_id.email) or ''} - -You can view the invoice document, download it and pay online using the following link: - ${ctx.get('edi_web_url_view') or 'n/a'} - -% if object.company_id.paypal_account and object.type in ('out_invoice', 'in_refund'): -<% -comp_name = quote(object.company_id.name) -inv_number = quote(object.number) -paypal_account = quote(object.company_id.paypal_account) -inv_amount = quote(str(object.amount_total)) -cur_name = quote(object.currency_id.name) -paypal_url = "https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=%s&item_name=%s%%20Invoice%%20%s"\ - "&invoice=%s&amount=%s¤cy_code=%s&button_subtype=services&no_note=1&bn=OpenERP_Invoice_PayNow_%s" % \ - (paypal_account,comp_name,inv_number,inv_number,inv_amount,cur_name,cur_name) -%> -It is also possible to directly pay with Paypal: - ${paypal_url} -% endif - -If you have any question, do not hesitate to contact us. - - -Thank you for choosing ${object.company_id.name}! - - --- -${object.user_id.name} ${object.user_id.email and '<%s>'%(object.user_id.email) or ''} -${object.company_id.name} -% if object.company_id.street: -${object.company_id.street or ''} -% endif -% if object.company_id.street2: -${object.company_id.street2} -% endif -% if object.company_id.city or object.company_id.zip: -${object.company_id.zip or ''} ${object.company_id.city or ''} -% endif -% if object.company_id.country_id: -${object.company_id.state_id and ('%s, ' % object.company_id.state_id.name) or ''} ${object.company_id.country_id.name or ''} -% endif -% if object.company_id.phone: -Phone: ${object.company_id.phone} -% endif -% if object.company_id.website: -${object.company_id.website or ''} -% endif - ]]> diff --git a/addons/account/i18n/account.pot b/addons/account/i18n/account.pot index 174002a8d8d..0d5439719e2 100644 --- a/addons/account/i18n/account.pot +++ b/addons/account/i18n/account.pot @@ -9538,7 +9538,7 @@ msgid "Refund" msgstr "" #. module: account -#: model:email.template,body_text:account.email_template_edi_invoice +#: model:email.template,body:account.email_template_edi_invoice msgid "\n" "Hello${object.address_invoice_id.name and ' ' or ''}${object.address_invoice_id.name or ''},\n" "\n" diff --git a/addons/account/product_view.xml b/addons/account/product_view.xml index 659a4f6ac36..5f417825032 100644 --- a/addons/account/product_view.xml +++ b/addons/account/product_view.xml @@ -7,7 +7,7 @@ - + diff --git a/addons/account/project/project_view.xml b/addons/account/project/project_view.xml index e3b902a000f..77e987f24d4 100644 --- a/addons/account/project/project_view.xml +++ b/addons/account/project/project_view.xml @@ -186,19 +186,23 @@ - - - + + + - + - - - - - + + + + + + + + + @@ -357,16 +361,6 @@ action="action_account_analytic_journal_tree" id="account_analytic_journal_print" parent="account.next_id_40"/> - - - account.journal.form.1 account.journal diff --git a/addons/account/wizard/account_report_common.py b/addons/account/wizard/account_report_common.py index 02da9a6ab1f..9acc09e9026 100644 --- a/addons/account/wizard/account_report_common.py +++ b/addons/account/wizard/account_report_common.py @@ -30,9 +30,11 @@ class account_common_report(osv.osv_memory): _description = "Account Common Report" def onchange_chart_id(self, cr, uid, ids, chart_account_id=False, context=None): + res = {} if chart_account_id: company_id = self.pool.get('account.account').browse(cr, uid, chart_account_id, context=context).company_id.id - return {'value': {'company_id': company_id}} + res['value'] = {'company_id': company_id} + return res _columns = { 'chart_account_id': fields.many2one('account.account', 'Chart of Account', help='Select Charts of Accounts', required=True, domain = [('parent_id','=',False)]), diff --git a/addons/account/wizard/pos_box.py b/addons/account/wizard/pos_box.py index b4254b5ba84..b5d1cc37776 100644 --- a/addons/account/wizard/pos_box.py +++ b/addons/account/wizard/pos_box.py @@ -40,6 +40,10 @@ class CashBox(osv.osv_memory): return {} + def _create_bank_statement_line(self, cr, uid, box, record, context=None): + values = self._compute_values_for_statement_line(cr, uid, box, record, context=context) + return self.pool.get('account.bank.statement.line').create(cr, uid, values, context=context) + class CashBoxIn(CashBox): _name = 'cash.box.in' @@ -49,30 +53,24 @@ class CashBoxIn(CashBox): 'ref' : fields.char('Reference', size=32), }) - def _create_bank_statement_line(self, cr, uid, box, record, context=None): - absl_proxy = self.pool.get('account.bank.statement.line') - - values = { + def _compute_values_for_statement_line(self, cr, uid, box, record, context=None): + return { 'statement_id' : record.id, 'journal_id' : record.journal_id.id, 'account_id' : record.journal_id.internal_account_id.id, 'amount' : box.amount or 0.0, - 'ref' : "%s" % (box.ref or ''), + 'ref' : '%s' % (box.ref or ''), 'name' : box.name, } - return absl_proxy.create(cr, uid, values, context=context) - CashBoxIn() class CashBoxOut(CashBox): _name = 'cash.box.out' - def _create_bank_statement_line(self, cr, uid, box, record, context=None): - absl_proxy = self.pool.get('account.bank.statement.line') - + def _compute_values_for_statement_line(self, cr, uid, box, record, context=None): amount = box.amount or 0.0 - values = { + return { 'statement_id' : record.id, 'journal_id' : record.journal_id.id, 'account_id' : record.journal_id.internal_account_id.id, @@ -80,6 +78,4 @@ class CashBoxOut(CashBox): 'name' : box.name, } - return absl_proxy.create(cr, uid, values, context=context) - CashBoxOut() diff --git a/addons/account_accountant/account_accountant_data.xml b/addons/account_accountant/account_accountant_data.xml index 383b53cf49e..5b563017c62 100644 --- a/addons/account_accountant/account_accountant_data.xml +++ b/addons/account_accountant/account_accountant_data.xml @@ -21,13 +21,14 @@ - - - - Module Accounting and Finance has been installed. - With OpenERP's accounting, you can get an instant access to all your financial data, setup your analytic accounting, forecast your taxes, control your budgets, easily create and send invoices, record bank statements, etc. + + mail.group + + notification + Accounting and Finance application installed! + With OpenERP's accounting, you get instant access to your financial data, and can setup analytic accounting, forecast taxes, control budgets, easily create and send invoices, record bank statements, etc. -The accounting features are fully integrated with others OpenERP applications to automate all your processes: creation of customer invoices, control of supplier invoices, point-of-sale integration, automated follow-ups, etc. - +The accounting features are fully integrated with other OpenERP applications to automate all your processes: creation of customer invoices, control of supplier invoices, point-of-sale integration, automated follow-ups, etc. + diff --git a/addons/account_analytic_analysis/__openerp__.py b/addons/account_analytic_analysis/__openerp__.py index 7a4e5d519bb..40b67289fb1 100644 --- a/addons/account_analytic_analysis/__openerp__.py +++ b/addons/account_analytic_analysis/__openerp__.py @@ -40,6 +40,9 @@ Adds menu to show relevant information to each manager.You can also view the rep 'account_analytic_analysis_menu.xml', 'account_analytic_analysis_cron.xml', ], + 'css': [ + 'static/src/css/analytic.css' + ], 'demo': [], 'installable': True, 'auto_install': False, diff --git a/addons/account_analytic_analysis/account_analytic_analysis.py b/addons/account_analytic_analysis/account_analytic_analysis.py index c84b311f307..1b4da45c30f 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis.py +++ b/addons/account_analytic_analysis/account_analytic_analysis.py @@ -451,8 +451,8 @@ class account_analytic_account(osv.osv): 'real_margin_rate': fields.function(_real_margin_rate_calc, type='float', string='Real Margin Rate (%)', help="Computes using the formula: (Real Margin / Total Costs) * 100.", digits_compute=dp.get_precision('Account')), - 'fix_price_invoices' : fields.boolean('Fix Price Invoices'), - 'invoice_on_timesheets' : fields.boolean("Invoice On Timesheets"), + 'fix_price_invoices' : fields.boolean('Fixed Price'), + 'invoice_on_timesheets' : fields.boolean("On Timesheets"), 'month_ids': fields.function(_analysis_all, multi='analytic_analysis', type='many2many', relation='account_analytic_analysis.summary.month', string='Month'), 'user_ids': fields.function(_analysis_all, multi='analytic_analysis', type="many2many", relation='account_analytic_analysis.summary.user', string='User'), 'hours_qtt_est': fields.float('Estimation of Hours to Invoice'), diff --git a/addons/account_analytic_analysis/account_analytic_analysis_view.xml b/addons/account_analytic_analysis/account_analytic_analysis_view.xml index cd043749309..12d8fad1b95 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis_view.xml +++ b/addons/account_analytic_analysis/account_analytic_analysis_view.xml @@ -6,12 +6,11 @@ Analytic Account form --> - + + Sales Orders + sale.order + account.analytic.account + account.analytic.account.invoice.form.inherit @@ -22,30 +21,27 @@ - - - - - + - +
- - - - - - + + + + + + + - - - + + - + + + +
diff --git a/addons/account_analytic_analysis/static/src/css/Makefile b/addons/account_analytic_analysis/static/src/css/Makefile new file mode 100644 index 00000000000..21462c06dcc --- /dev/null +++ b/addons/account_analytic_analysis/static/src/css/Makefile @@ -0,0 +1,3 @@ +analytic.css: analytic.sass + sass -t expanded analytic.sass analytic.css + diff --git a/addons/account_analytic_analysis/static/src/css/analytic.css b/addons/account_analytic_analysis/static/src/css/analytic.css new file mode 100644 index 00000000000..c6513cc6321 --- /dev/null +++ b/addons/account_analytic_analysis/static/src/css/analytic.css @@ -0,0 +1,15 @@ +@charset "utf-8"; +.openerp .oe_form table.oe_form_analytic_account tr { + height: 28px; +} +.openerp .oe_form table.oe_form_analytic_account tr td, .openerp .oe_form table.oe_form_analytic_account tr th { + vertical-align: middle; +} +.openerp .oe_form table.oe_form_analytic_account tr td .oe_form_field_float, .openerp .oe_form table.oe_form_analytic_account tr th .oe_form_field_float { + float: right; + width: auto !important; +} +.openerp .oe_form table.oe_form_analytic_account .oe_grey { + background-color: #eeeeee; + color: #404040; +} diff --git a/addons/account_analytic_analysis/static/src/css/analytic.sass b/addons/account_analytic_analysis/static/src/css/analytic.sass new file mode 100644 index 00000000000..1db81fb61b9 --- /dev/null +++ b/addons/account_analytic_analysis/static/src/css/analytic.sass @@ -0,0 +1,15 @@ +@charset "utf-8" + +.openerp .oe_form + table.oe_form_analytic_account + tr + height: 28px + td,th + vertical-align: middle + .oe_form_field_float + float: right + width: auto !important + .oe_grey + background-color: #eeeeee + color: #404040 + diff --git a/addons/account_analytic_plans/i18n/nb.po b/addons/account_analytic_plans/i18n/nb.po new file mode 100644 index 00000000000..27a6c0d9e24 --- /dev/null +++ b/addons/account_analytic_plans/i18n/nb.po @@ -0,0 +1,546 @@ +# Norwegian Bokmal 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-09-02 09:46+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Norwegian Bokmal \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-09-03 05:21+0000\n" +"X-Generator: Launchpad (build 15890)\n" + +#. module: account_analytic_plans +#: view:analytic.plan.create.model:0 +msgid "" +"This distribution model has been saved.You will be able to reuse it later." +msgstr "" +"Denne fordeling modellen har vært lagret. Du vil kunne bruke den senere." + +#. module: account_analytic_plans +#: field:account.analytic.plan.instance.line,plan_id:0 +msgid "Plan Id" +msgstr "Plan ID" + +#. module: account_analytic_plans +#: report:account.analytic.account.crossovered.analytic:0 +msgid "From Date" +msgstr "Fra dato" + +#. module: account_analytic_plans +#: report:account.analytic.account.crossovered.analytic:0 +#: view:account.crossovered.analytic:0 +#: model:ir.actions.act_window,name:account_analytic_plans.action_account_crossovered_analytic +#: model:ir.actions.report.xml,name:account_analytic_plans.account_analytic_account_crossovered_analytic +msgid "Crossovered Analytic" +msgstr "Krysset Analyse" + +#. module: account_analytic_plans +#: view:account.analytic.plan:0 +#: field:account.analytic.plan,name:0 +#: field:account.analytic.plan.line,plan_id:0 +#: model:ir.actions.act_window,name:account_analytic_plans.account_analytic_plan_form_action +#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan +#: model:ir.ui.menu,name:account_analytic_plans.menu_account_analytic_plan_action +msgid "Analytic Plan" +msgstr "Analytisk Plan" + +#. module: account_analytic_plans +#: field:account.analytic.plan.instance,journal_id:0 +#: view:account.crossovered.analytic:0 +#: field:account.crossovered.analytic,journal_ids:0 +msgid "Analytic Journal" +msgstr "Analytisk journal" + +#. module: account_analytic_plans +#: view:account.analytic.plan.line:0 +#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_line +msgid "Analytic Plan Line" +msgstr "Analytisk plan linje" + +#. module: account_analytic_plans +#: code:addons/account_analytic_plans/wizard/account_crossovered_analytic.py:61 +#, python-format +msgid "User Error" +msgstr "Brukerfeil" + +#. module: account_analytic_plans +#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_instance +msgid "Analytic Plan Instance" +msgstr "Analytisk Plan forekomst" + +#. module: account_analytic_plans +#: view:analytic.plan.create.model:0 +msgid "Ok" +msgstr "Ok" + +#. module: account_analytic_plans +#: field:account.analytic.plan.instance,plan_id:0 +msgid "Model's Plan" +msgstr "Modell Plan" + +#. module: account_analytic_plans +#: field:account.analytic.plan.instance,account2_ids:0 +msgid "Account2 Id" +msgstr "Konto2 ID" + +#. module: account_analytic_plans +#: sql_constraint:account.invoice:0 +msgid "Invoice Number must be unique per Company!" +msgstr "Fakturanummer må være unik pr. firma!" + +#. module: account_analytic_plans +#: report:account.analytic.account.crossovered.analytic:0 +msgid "Amount" +msgstr "Beløp" + +#. module: account_analytic_plans +#: constraint:account.journal:0 +msgid "" +"Configuration error! The currency chosen should be shared by the default " +"accounts too." +msgstr "" +"Konfigurasjon feil! Den valgte valutaen bør deles av standard kontoer også." + +#. module: account_analytic_plans +#: sql_constraint:account.move.line:0 +msgid "Wrong credit or debit value in accounting entry !" +msgstr "Feil kredit eller debet beløp i regnskaps oppføringen !" + +#. module: account_analytic_plans +#: field:account.analytic.plan.instance,account6_ids:0 +msgid "Account6 Id" +msgstr "Konto6 ID" + +#. module: account_analytic_plans +#: model:ir.ui.menu,name:account_analytic_plans.menu_account_analytic_multi_plan_action +msgid "Multi Plans" +msgstr "Multi Planer" + +#. module: account_analytic_plans +#: model:ir.model,name:account_analytic_plans.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "Kontoutskriftlinje" + +#. module: account_analytic_plans +#: model:ir.actions.act_window,name:account_analytic_plans.account_analytic_plan_form_action_installer +msgid "Define your Analytic Plans" +msgstr "Definer dine analytiske planer." + +#. module: account_analytic_plans +#: constraint:account.invoice:0 +msgid "Invalid BBA Structured Communication !" +msgstr "Ugyldig BBA Strukturert Kommunikasjon!" + +#. module: account_analytic_plans +#: constraint:account.bank.statement:0 +msgid "The journal and period chosen have to belong to the same company." +msgstr "Tidsskriftet og perioden valgt å tilhøre samme selskap." + +#. module: account_analytic_plans +#: 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 "" +"Datoen for din bilagsregistrering ikke er i den definerte perioden! Du bør " +"endre datoen eller fjerne denne begrensningen fra tidsskriftet." + +#. module: account_analytic_plans +#: sql_constraint:account.journal:0 +msgid "The code of the journal must be unique per company !" +msgstr "Journalkoden må være unik pr firma!" + +#. module: account_analytic_plans +#: field:account.crossovered.analytic,ref:0 +msgid "Analytic Account Reference" +msgstr "Analytisk konto Referanse." + +#. module: account_analytic_plans +#: model:ir.model,name:account_analytic_plans.model_sale_order_line +msgid "Sales Order Line" +msgstr "Salgsordrelinje" + +#. module: account_analytic_plans +#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:47 +#: view:analytic.plan.create.model:0 +#, python-format +msgid "Distribution Model Saved" +msgstr "Distribusjon Model Lagret" + +#. module: account_analytic_plans +#: model:ir.actions.act_window,name:account_analytic_plans.account_analytic_plan_instance_action +msgid "Analytic Distribution's Models" +msgstr "Analytisk distribusjon modeller" + +#. module: account_analytic_plans +#: view:account.crossovered.analytic:0 +msgid "Print" +msgstr "Skriv ut" + +#. module: account_analytic_plans +#: report:account.analytic.account.crossovered.analytic:0 +#: field:account.analytic.line,percentage:0 +msgid "Percentage" +msgstr "Prosentdel" + +#. module: account_analytic_plans +#: code:addons/account_analytic_plans/account_analytic_plans.py:221 +#, python-format +msgid "A model having this name and code already exists !" +msgstr "" + +#. module: account_analytic_plans +#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:41 +#, python-format +msgid "No analytic plan defined !" +msgstr "" + +#. module: account_analytic_plans +#: field:account.analytic.plan.instance.line,rate:0 +msgid "Rate (%)" +msgstr "" + +#. module: account_analytic_plans +#: view:account.analytic.plan:0 +#: field:account.analytic.plan,plan_ids:0 +#: field:account.journal,plan_id:0 +msgid "Analytic Plans" +msgstr "" + +#. module: account_analytic_plans +#: report:account.analytic.account.crossovered.analytic:0 +msgid "Perc(%)" +msgstr "" + +#. module: account_analytic_plans +#: field:account.analytic.plan.line,max_required:0 +msgid "Maximum Allowed (%)" +msgstr "" + +#. module: account_analytic_plans +#: report:account.analytic.account.crossovered.analytic:0 +msgid "Printing date" +msgstr "" + +#. module: account_analytic_plans +#: view:account.analytic.plan.line:0 +msgid "Analytic Plan Lines" +msgstr "" + +#. module: account_analytic_plans +#: 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_analytic_plans +#: model:ir.model,name:account_analytic_plans.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: account_analytic_plans +#: 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_analytic_plans +#: report:account.analytic.account.crossovered.analytic:0 +msgid "Currency" +msgstr "" + +#. module: account_analytic_plans +#: field:account.crossovered.analytic,date1:0 +msgid "Start Date" +msgstr "" + +#. module: account_analytic_plans +#: field:account.analytic.plan.instance,account_ids:0 +msgid "Account Id" +msgstr "" + +#. module: account_analytic_plans +#: field:account.analytic.plan.instance,account5_ids:0 +msgid "Account5 Id" +msgstr "" + +#. module: account_analytic_plans +#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_instance_line +msgid "Analytic Instance Line" +msgstr "" + +#. module: account_analytic_plans +#: field:account.analytic.plan.line,root_analytic_id:0 +msgid "Root Account" +msgstr "" + +#. module: account_analytic_plans +#: report:account.analytic.account.crossovered.analytic:0 +msgid "To Date" +msgstr "" + +#. module: account_analytic_plans +#: code:addons/account_analytic_plans/account_analytic_plans.py:341 +#: code:addons/account_analytic_plans/account_analytic_plans.py:485 +#, python-format +msgid "You have to define an analytic journal on the '%s' journal!" +msgstr "" + +#. module: account_analytic_plans +#: field:account.crossovered.analytic,empty_line:0 +msgid "Dont show empty lines" +msgstr "" + +#. module: account_analytic_plans +#: model:ir.actions.act_window,name:account_analytic_plans.action_analytic_plan_create_model +msgid "analytic.plan.create.model.action" +msgstr "" + +#. module: account_analytic_plans +#: model:ir.model,name:account_analytic_plans.model_account_analytic_line +msgid "Analytic Line" +msgstr "" + +#. module: account_analytic_plans +#: report:account.analytic.account.crossovered.analytic:0 +msgid "Analytic Account :" +msgstr "" + +#. module: account_analytic_plans +#: report:account.analytic.account.crossovered.analytic:0 +msgid "Analytic Account Reference:" +msgstr "" + +#. module: account_analytic_plans +#: field:account.analytic.plan.line,name:0 +msgid "Plan Name" +msgstr "" + +#. module: account_analytic_plans +#: field:account.analytic.plan,default_instance_id:0 +msgid "Default Entries" +msgstr "" + +#. module: account_analytic_plans +#: model:ir.model,name:account_analytic_plans.model_account_move_line +msgid "Journal Items" +msgstr "" + +#. module: account_analytic_plans +#: field:account.analytic.plan.instance,account1_ids:0 +msgid "Account1 Id" +msgstr "" + +#. module: account_analytic_plans +#: field:account.analytic.plan.line,min_required:0 +msgid "Minimum Allowed (%)" +msgstr "" + +#. module: account_analytic_plans +#: help:account.analytic.plan.line,root_analytic_id:0 +msgid "Root account of this plan." +msgstr "" + +#. module: account_analytic_plans +#: code:addons/account_analytic_plans/account_analytic_plans.py:221 +#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:38 +#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:41 +#, python-format +msgid "Error" +msgstr "" + +#. module: account_analytic_plans +#: view:analytic.plan.create.model:0 +msgid "Save This Distribution as a Model" +msgstr "" + +#. module: account_analytic_plans +#: constraint:account.move.line:0 +msgid "You can not create journal items on an account of type view." +msgstr "" + +#. module: account_analytic_plans +#: report:account.analytic.account.crossovered.analytic:0 +msgid "Quantity" +msgstr "" + +#. module: account_analytic_plans +#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:38 +#, python-format +msgid "Please put a name and a code before saving the model !" +msgstr "" + +#. module: account_analytic_plans +#: model:ir.model,name:account_analytic_plans.model_account_crossovered_analytic +msgid "Print Crossovered Analytic" +msgstr "" + +#. module: account_analytic_plans +#: code:addons/account_analytic_plans/account_analytic_plans.py:341 +#: code:addons/account_analytic_plans/account_analytic_plans.py:485 +#, python-format +msgid "No Analytic Journal !" +msgstr "" + +#. module: account_analytic_plans +#: field:account.analytic.plan.instance.line,analytic_account_id:0 +msgid "Analytic Account" +msgstr "" + +#. module: account_analytic_plans +#: model:ir.model,name:account_analytic_plans.model_account_bank_statement +msgid "Bank Statement" +msgstr "" + +#. module: account_analytic_plans +#: field:account.analytic.plan.instance,account3_ids:0 +msgid "Account3 Id" +msgstr "" + +#. module: account_analytic_plans +#: constraint:account.analytic.line:0 +msgid "You can not create analytic line on view account." +msgstr "" + +#. module: account_analytic_plans +#: model:ir.model,name:account_analytic_plans.model_account_invoice +msgid "Invoice" +msgstr "" + +#. module: account_analytic_plans +#: view:account.crossovered.analytic:0 +#: view:analytic.plan.create.model:0 +msgid "Cancel" +msgstr "" + +#. module: account_analytic_plans +#: field:account.analytic.plan.instance,account4_ids:0 +msgid "Account4 Id" +msgstr "" + +#. module: account_analytic_plans +#: constraint:account.move.line:0 +msgid "Company must be the same for its related account and period." +msgstr "" + +#. module: account_analytic_plans +#: view:account.analytic.plan.instance.line:0 +msgid "Analytic Distribution Lines" +msgstr "" + +#. module: account_analytic_plans +#: code:addons/account_analytic_plans/account_analytic_plans.py:234 +#, python-format +msgid "The Total Should be Between %s and %s" +msgstr "" + +#. module: account_analytic_plans +#: report:account.analytic.account.crossovered.analytic:0 +msgid "at" +msgstr "" + +#. module: account_analytic_plans +#: report:account.analytic.account.crossovered.analytic:0 +msgid "Account Name" +msgstr "" + +#. module: account_analytic_plans +#: view:account.analytic.plan.instance.line:0 +msgid "Analytic Distribution Line" +msgstr "" + +#. module: account_analytic_plans +#: field:account.analytic.plan.instance,code:0 +msgid "Distribution Code" +msgstr "" + +#. module: account_analytic_plans +#: report:account.analytic.account.crossovered.analytic:0 +msgid "%" +msgstr "" + +#. module: account_analytic_plans +#: report:account.analytic.account.crossovered.analytic:0 +msgid "100.00%" +msgstr "" + +#. module: account_analytic_plans +#: field:account.analytic.default,analytics_id:0 +#: view:account.analytic.plan.instance:0 +#: field:account.analytic.plan.instance,name:0 +#: field:account.bank.statement.line,analytics_id:0 +#: field:account.invoice.line,analytics_id:0 +#: field:account.move.line,analytics_id:0 +#: model:ir.model,name:account_analytic_plans.model_account_analytic_default +msgid "Analytic Distribution" +msgstr "" + +#. module: account_analytic_plans +#: model:ir.model,name:account_analytic_plans.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_analytic_plans +#: report:account.analytic.account.crossovered.analytic:0 +msgid "Code" +msgstr "" + +#. module: account_analytic_plans +#: model:ir.model,name:account_analytic_plans.model_analytic_plan_create_model +msgid "analytic.plan.create.model" +msgstr "" + +#. module: account_analytic_plans +#: field:account.crossovered.analytic,date2:0 +msgid "End Date" +msgstr "" + +#. module: account_analytic_plans +#: model:ir.actions.act_window,name:account_analytic_plans.account_analytic_instance_model_open +msgid "Distribution Models" +msgstr "" + +#. module: account_analytic_plans +#: model:ir.actions.act_window,help:account_analytic_plans.account_analytic_plan_form_action_installer +msgid "" +"To setup a multiple analytic plans environment, you must define the root " +"analytic accounts for each plan set. Then, you must attach a plan set to " +"your account journals." +msgstr "" + +#. module: account_analytic_plans +#: constraint:account.move.line:0 +msgid "You can not create journal items on closed account." +msgstr "" + +#. module: account_analytic_plans +#: report:account.analytic.account.crossovered.analytic:0 +msgid "Company" +msgstr "" + +#. module: account_analytic_plans +#: field:account.analytic.plan.line,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: account_analytic_plans +#: sql_constraint:account.journal:0 +msgid "The name of the journal must be unique per company !" +msgstr "" + +#. module: account_analytic_plans +#: code:addons/account_analytic_plans/account_analytic_plans.py:234 +#, python-format +msgid "Value Error" +msgstr "" diff --git a/addons/account_followup/wizard/account_followup_print.py b/addons/account_followup/wizard/account_followup_print.py index d151d2171a4..1e84681b1ea 100644 --- a/addons/account_followup/wizard/account_followup_print.py +++ b/addons/account_followup/wizard/account_followup_print.py @@ -213,8 +213,6 @@ class account_followup_print_all(osv.osv_memory): mod_obj = self.pool.get('ir.model.data') move_obj = self.pool.get('account.move.line') user_obj = self.pool.get('res.users') - line_obj = self.pool.get('account_followup.stat') - mail_message = self.pool.get('mail.message') if context is None: context = {} @@ -235,13 +233,7 @@ class account_followup_print_all(osv.osv_memory): total_amt += line.debit - line.credit dest = False if partner: - if partner.type=='contact': - if adr.email: - dest = [partner.email] - if (not dest) and partner.type=='default': - if partner.email: - dest = [partner.email] - src = tools.config.options['email_from'] + dest = [partner.email] if not data.partner_lang: body = data.email_body else: @@ -281,7 +273,12 @@ class account_followup_print_all(osv.osv_memory): msg = '' if dest: try: - mail_message.schedule_with_attach(cr, uid, src, dest, sub, body, context=context) + vals = {'state': 'outgoing', + 'subject': sub, + 'body_html': '
%s
' % body, + 'email_to': dest, + 'email_from': data_user.email or tools.config.options['email_from']} + self.pool.get('mail.mail').create(cr, uid, vals, context=context) msg_sent += partner.name + '\n' except Exception, e: raise osv.except_osv('Error !', e ) diff --git a/addons/account_payment/i18n/zh_TW.po b/addons/account_payment/i18n/zh_TW.po index 3bd4cdf9a27..ebdc6e63f7c 100644 --- a/addons/account_payment/i18n/zh_TW.po +++ b/addons/account_payment/i18n/zh_TW.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-02-08 00:35+0000\n" -"PO-Revision-Date: 2009-01-30 12:43+0000\n" -"Last-Translator: <>\n" +"PO-Revision-Date: 2012-08-29 15:27+0000\n" +"Last-Translator: Eric Huang \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-08-28 06:20+0000\n" +"X-Launchpad-Export-Date: 2012-08-30 05:12+0000\n" "X-Generator: Launchpad (build 15864)\n" #. module: account_payment @@ -24,7 +24,7 @@ msgstr "" #. module: account_payment #: field:payment.line,currency:0 msgid "Partner Currency" -msgstr "伙伴貨幣" +msgstr "業務夥伴貨幣" #. module: account_payment #: view:payment.order:0 @@ -40,7 +40,7 @@ msgstr "選取要應用之付款模式。" #: view:payment.mode:0 #: view:payment.order:0 msgid "Group By..." -msgstr "分組根據..." +msgstr "分類方式..." #. module: account_payment #: field:payment.order,line_ids:0 @@ -84,7 +84,7 @@ msgstr "首選日期" #. module: account_payment #: model:res.groups,name:account_payment.group_account_payment msgid "Accounting / Payments" -msgstr "" +msgstr "會計/付款" #. module: account_payment #: selection:payment.line,state:0 @@ -111,7 +111,7 @@ msgstr "到期日" #. module: account_payment #: view:account.move.line:0 msgid "Account Entry Line" -msgstr "" +msgstr "會計分錄明細" #. module: account_payment #: view:payment.order.create:0 @@ -222,7 +222,7 @@ msgstr "" #: view:payment.order:0 #: field:payment.order,state:0 msgid "State" -msgstr "" +msgstr "狀態" #. module: account_payment #: view:payment.line:0 @@ -307,7 +307,7 @@ msgstr "" #. module: account_payment #: view:payment.order:0 msgid "Select Invoices to Pay" -msgstr "" +msgstr "選擇要付款的發票" #. module: account_payment #: view:payment.line:0 @@ -329,12 +329,12 @@ msgstr "通訊類型" #: field:payment.mode,partner_id:0 #: report:payment.order:0 msgid "Partner" -msgstr "伙伴" +msgstr "業務夥伴" #. module: account_payment #: field:payment.line,bank_statement_line_id:0 msgid "Bank statement line" -msgstr "" +msgstr "銀行對帳單明細" #. module: account_payment #: selection:payment.order,date_prefered:0 @@ -399,7 +399,7 @@ msgstr "付款類型" #. module: account_payment #: help:payment.line,amount_currency:0 msgid "Payment amount in the partner currency" -msgstr "以伙伴貨幣計算之付款總額" +msgstr "以業務夥伴貨幣計算之付款總額" #. module: account_payment #: view:payment.order:0 @@ -441,7 +441,7 @@ msgstr "" #. module: account_payment #: field:payment.order,user_id:0 msgid "User" -msgstr "" +msgstr "使用者" #. module: account_payment #: field:account.payment.populate.statement,lines:0 @@ -504,7 +504,7 @@ msgstr "匯入付款明細" #. module: account_payment #: field:account.move.line,amount_to_pay:0 msgid "Amount to pay" -msgstr "要付總額" +msgstr "應付總額" #. module: account_payment #: field:payment.line,amount:0 diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py index 223705af85e..f75cda8cdde 100644 --- a/addons/account_voucher/account_voucher.py +++ b/addons/account_voucher/account_voucher.py @@ -1293,17 +1293,17 @@ class account_voucher(osv.osv): def create_send_note(self, cr, uid, ids, context=None): for obj in self.browse(cr, uid, ids, context=context): message = "%s created." % self._document_type[obj.type or False] - self.message_append_note(cr, uid, [obj.id], body=message, context=context) + self.message_post(cr, uid, [obj.id], body=message, context=context) def post_send_note(self, cr, uid, ids, context=None): for obj in self.browse(cr, uid, ids, context=context): message = "%s '%s' is posted." % (self._document_type[obj.type or False], obj.move_id.name) - self.message_append_note(cr, uid, [obj.id], body=message, context=context) + self.message_post(cr, uid, [obj.id], body=message, context=context) def reconcile_send_note(self, cr, uid, ids, context=None): for obj in self.browse(cr, uid, ids, context=context): message = "%s reconciled." % self._document_type[obj.type or False] - self.message_append_note(cr, uid, [obj.id], body=message, context=context) + self.message_post(cr, uid, [obj.id], body=message, context=context) account_voucher() diff --git a/addons/account_voucher/account_voucher_data.xml b/addons/account_voucher/account_voucher_data.xml index 8be2851a434..656d2c2cd91 100644 --- a/addons/account_voucher/account_voucher_data.xml +++ b/addons/account_voucher/account_voucher_data.xml @@ -2,15 +2,16 @@ - - - - Module eInvoicing & Payments has been installed. - OpenERP's electronic invoicing allows to ease and fasten the creation of invoices and collection of customer payments. Invoices are created in a few clicks and your customers receive them by email. They can pay online and/or import them in their own system. + + mail.group + + notification + eInvoicing & Payments application installed! + OpenERP's electronic invoicing accelerates the creation of invoices and collection of customer payments. Invoices are created in a few clicks and your customers receive them by email. They can pay online and/or import them in their own system. -You can track customer payments easily and automate the reminders. You get an overview of the discussion with your customers on each invoice to ensure a full traceability. +You can track customer payments easily and automate follow-ups. You get an overview of the discussion with your customers on each invoice for easier traceability. -If you want to use advanced accounting features, you should install the "Accounting and Finance" module. - +For advanced accounting features, you should install the "Accounting and Finance" module.
+ diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py index 3231b1e6d95..d90e2006a71 100644 --- a/addons/analytic/analytic.py +++ b/addons/analytic/analytic.py @@ -153,9 +153,9 @@ class account_analytic_account(osv.osv): return result _columns = { - 'name': fields.char('Account Name', size=128, required=True), + 'name': fields.char('Account/Contract Name', size=128, required=True), 'complete_name': fields.function(_complete_name_calc, type='char', string='Full Account Name'), - 'code': fields.char('Code/Reference', size=24, select=True), + 'code': fields.char('Reference', size=24, select=True), 'type': fields.selection([('view','Analytic View'), ('normal','Analytic Account'),('contract','Contract or Project'),('template','Template of Project')], 'Type of Account', required=True, help="If you select the View Type, it means you won\'t allow to create journal entries using that account.\n"\ "The type 'Analytic account' stands for usual accounts that you only want to use in accounting.\n"\ @@ -171,7 +171,7 @@ class account_analytic_account(osv.osv): 'debit': fields.function(_debit_credit_bal_qtty, type='float', string='Debit', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')), 'credit': fields.function(_debit_credit_bal_qtty, type='float', string='Credit', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')), 'quantity': fields.function(_debit_credit_bal_qtty, type='float', string='Quantity', multi='debit_credit_bal_qtty'), - 'quantity_max': fields.float('Maximum Time', help='Sets the higher limit of time to work on the contract.'), + 'quantity_max': fields.float('Prepaid Units', help='Sets the higher limit of time to work on the contract.'), 'partner_id': fields.many2one('res.partner', 'Customer'), 'user_id': fields.many2one('res.users', 'Project Manager'), 'manager_id': fields.many2one('res.users', 'Account Manager'), @@ -297,7 +297,7 @@ class account_analytic_account(osv.osv): def create_send_note(self, cr, uid, ids, context=None): for obj in self.browse(cr, uid, ids, context=context): - self.message_append_note(cr, uid, [obj.id], body=_("Contract for %s has been created.") % (obj.partner_id.name), context=context) + self.message_post(cr, uid, [obj.id], body=_("Contract for %s has been created.") % (obj.partner_id.name), context=context) account_analytic_account() diff --git a/addons/analytic/analytic_view.xml b/addons/analytic/analytic_view.xml index 16100e73fff..704d9bb8244 100644 --- a/addons/analytic/analytic_view.xml +++ b/addons/analytic/analytic_view.xml @@ -8,35 +8,43 @@ +
+
+ +
-
+
diff --git a/addons/auth_signup/res_users.py b/addons/auth_signup/res_users.py index 1d77a3f9473..5f6463508b6 100644 --- a/addons/auth_signup/res_users.py +++ b/addons/auth_signup/res_users.py @@ -1,5 +1,6 @@ import openerp from openerp.osv import osv +from openerp import SUPERUSER_ID class res_users(osv.Model): _inherit = 'res.users' @@ -15,9 +16,9 @@ class res_users(osv.Model): # user_template_id = self.pool.get('ir.config_parameter').get_param(cr, uid, 'auth.signup_template_user_id', 0) if user_template_id: - self.pool.get('res.users').copy(cr, 1, user_template_id, new_user, context=context) + self.pool.get('res.users').copy(cr, SUPERUSER_ID, user_template_id, new_user, context=context) else: - self.pool.get('res.users').create(cr, 1, new_user, context=context) + self.pool.get('res.users').create(cr, SUPERUSER_ID, new_user, context=context) def auth_signup(self, cr, uid, name, login, password, context=None): r = (cr.dbname, login, password) diff --git a/addons/base_action_rule/base_action_rule.py b/addons/base_action_rule/base_action_rule.py index b6eacda63c0..7e9bbacab13 100644 --- a/addons/base_action_rule/base_action_rule.py +++ b/addons/base_action_rule/base_action_rule.py @@ -302,33 +302,27 @@ the rule to mark CC(mail to any other person defined in actions)."), return self.format_body(body % data) def email_send(self, cr, uid, obj, emails, body, emailfrom=None, context=None): - """ send email - @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 email: pass the emails - @param emailfrom: Pass name the email From else False - @param context: A standard dictionary for contextual values """ - if not emailfrom: - emailfrom = tools.config.get('email_from', False) - - if context is None: - context = {} - - mail_message = self.pool.get('mail.message') + emailfrom = tools.config.get('email_from') body = self.format_mail(obj, body) - if not emailfrom: - if hasattr(obj, 'user_id') and obj.user_id and obj.user_id.email: - emailfrom = obj.user_id.email - - name = '[%d] %s' % (obj.id, tools.ustr(obj.name)) + if not emailfrom and hasattr(obj, 'user_id') and obj.user_id and obj.user_id.email: + emailfrom = obj.user_id.email emailfrom = tools.ustr(emailfrom) reply_to = emailfrom if not emailfrom: raise osv.except_osv(_('Error!'), - _("No email ID found for your company address.")) - return mail_message.schedule_with_attach(cr, uid, emailfrom, emails, name, body, model='base.action.rule', reply_to=reply_to, res_id=obj.id) + _("Missing default email address or missing email on responsible user")) + return self.pool.get('mail.mail').create(cr, uid, + { 'email_from': emailfrom, + 'email_to': emails.join(','), + 'reply_to': reply_to, + 'state': 'outgoing', + 'subject': '[%d] %s' % (obj.id, tools.ustr(obj.name)), + 'body_html': '
%s
' % body, + 'res_id': obj.id, + 'model': obj._table_name, + 'auto_delete': True + }, context=context) def do_check(self, cr, uid, action, obj, context=None): @@ -438,11 +432,8 @@ the rule to mark CC(mail to any other person defined in actions)."), if len(emails) and action.act_mail_body: emails = list(set(emails)) email_from = safe_eval(action.act_email_from, {}, locals_for_emails) - - def to_email(text): - return re.findall(r'([^ ,<@]+@[^> ,]+)', text or '') - emails = to_email(','.join(filter(None, emails))) - email_froms = to_email(email_from) + emails = tools.email_split(','.join(filter(None, emails))) + email_froms = tools.email_split(email_from) if email_froms: self.email_send(cr, uid, obj, emails, action.act_mail_body, emailfrom=email_froms[0]) return True diff --git a/addons/base_action_rule/i18n/nb.po b/addons/base_action_rule/i18n/nb.po new file mode 100644 index 00000000000..7aae94c417f --- /dev/null +++ b/addons/base_action_rule/i18n/nb.po @@ -0,0 +1,536 @@ +# Norwegian Bokmal 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-09-03 16:43+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Norwegian Bokmal \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-09-04 04:52+0000\n" +"X-Generator: Launchpad (build 15890)\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 "" +"Sjekk dette hvis du vil at regelen skal sende en e-post til ansvarlig person." + +#. module: base_action_rule +#: field:base.action.rule,act_remind_partner:0 +msgid "Remind Partner" +msgstr "Påminn partner" + +#. module: base_action_rule +#: field:base.action.rule,trg_partner_categ_id:0 +msgid "Partner Category" +msgstr "Partner Kategori" + +#. module: base_action_rule +#: field:base.action.rule,act_mail_to_watchers:0 +msgid "Mail to Watchers (CC)" +msgstr "Post til overvåkere (CC)" + +#. module: base_action_rule +#: field:base.action.rule,trg_state_to:0 +msgid "Button Pressed" +msgstr "Knapp trykket" + +#. module: base_action_rule +#: field:base.action.rule,model_id:0 +msgid "Object" +msgstr "Objekt" + +#. module: base_action_rule +#: field:base.action.rule,act_mail_to_email:0 +msgid "Mail to these Emails" +msgstr "Send mail til disse e-postene" + +#. module: base_action_rule +#: field:base.action.rule,act_state:0 +msgid "Set State to" +msgstr "Still stat til" + +#. module: base_action_rule +#: field:base.action.rule,act_email_from:0 +msgid "Email From" +msgstr "E-post fra" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Email Body" +msgstr "E-post kropp" + +#. module: base_action_rule +#: selection:base.action.rule,trg_date_range_type:0 +msgid "Days" +msgstr "Dager" + +#. module: base_action_rule +#: field:base.action.rule,last_run:0 +msgid "Last Run" +msgstr "Siste kjøring" + +#. module: base_action_rule +#: code:addons/base_action_rule/base_action_rule.py:328 +#, python-format +msgid "Error!" +msgstr "Feil!" + +#. module: base_action_rule +#: field:base.action.rule,act_reply_to:0 +msgid "Reply-To" +msgstr "Svar til" + +#. 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 "" +"Disse menneskene vil motta en kopi av den fremtidige kommunikasjon mellom " +"partner og brukere av e-post" + +#. module: base_action_rule +#: selection:base.action.rule,trg_date_range_type:0 +msgid "Minutes" +msgstr "Minutter" + +#. module: base_action_rule +#: field:base.action.rule,name:0 +msgid "Rule Name" +msgstr "Regelnavn" + +#. 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 "" +"Sjekk dette hvis du vil at regelen skal sende en påminnelse via e-post til " +"partneren." + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Conditions on Model Partner" +msgstr "Forholdene på Modell Partner" + +#. module: base_action_rule +#: selection:base.action.rule,trg_date_type:0 +msgid "Deadline" +msgstr "Frist" + +#. module: base_action_rule +#: field:base.action.rule,trg_partner_id:0 +msgid "Partner" +msgstr "Partner" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "%(object_subject)s = Object subject" +msgstr "%(object_subject)s = Object subject" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Email Reminders" +msgstr "E-post påminnelser" + +#. 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 "Stat" + +#. 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 "" +"Bruke automatiserte tiltak for å automatisk utløse tiltak for ulike " +"skjermer. Eksempel: en leder er opprettet av en bestemt bruker kan bli satt " +"automatisk til en bestemt salgsteam, eller en mulighet som fortsatt har " +"status påvente etter 14 dager kan utløse en automatisk påminnelse e-post." + +#. 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 "E-post ID av personer som post skal sendes" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Action Rule" +msgstr "Handling regel" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Fields to Change" +msgstr "Felter å endre" + +#. module: base_action_rule +#: selection:base.action.rule,trg_date_type:0 +msgid "Creation Date" +msgstr "Opprettelsesdato" + +#. module: base_action_rule +#: selection:base.action.rule,trg_date_type:0 +msgid "Last Action Date" +msgstr "Siste handlingsdato" + +#. module: base_action_rule +#: selection:base.action.rule,trg_date_range_type:0 +msgid "Hours" +msgstr "Timer" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "%(object_id)s = Object ID" +msgstr "%(object_ID)s = Object ID" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Delay After Trigger Date" +msgstr "Forsinkelse Etter utløser Dato" + +#. module: base_action_rule +#: field:base.action.rule,act_remind_attach:0 +msgid "Remind with Attachment" +msgstr "Minn med vedlegg" + +#. module: base_action_rule +#: constraint:ir.cron:0 +msgid "Invalid arguments" +msgstr "Ugyldige argumenter" + +#. module: base_action_rule +#: field:base.action.rule,act_user_id:0 +msgid "Set Responsible to" +msgstr "Satt Ansvarlig for å" + +#. module: base_action_rule +#: selection:base.action.rule,trg_date_type:0 +msgid "None" +msgstr "Ingen" + +#. 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 "" +"Bruk en python uttrykk for å angi høyre feltet på hvilken enn vi vil bruke " +"for Til-feltet på header." + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "%(object_user_phone)s = Responsible phone" +msgstr "% (object_bruker_telefonen) s = Ansvarlig telefon" + +#. 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 "" +"Regelen bruker AND-operatoren. Modellen må matche alle-ikke tomme felt, slik " +"at regelen utfører handlingen som er beskrevet i \"Handlinger\"-fanen." + +#. module: base_action_rule +#: field:base.action.rule,trg_date_range_type:0 +msgid "Delay type" +msgstr "forsinkelse typen" + +#. 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 "" +"Regulært uttrykk for matchende navnet på ressursen\n" +"f.eks: \". haster * 'vil søke etter poster som har navn som starter med " +"strengen\" haster \"\n" +"Merk: Dette er små bokstaver søk." + +#. module: base_action_rule +#: field:base.action.rule,act_method:0 +msgid "Call Object Method" +msgstr "Kall objektmetode" + +#. module: base_action_rule +#: field:base.action.rule,act_email_to:0 +msgid "Email To" +msgstr "E-post til." + +#. 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 "" +"Sjekk dette hvis du vil at regelen skal merkes CC (mail til en annen person " +"som er definert i handlinger)." + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "%(partner)s = Partner name" +msgstr "%(partner)s = Navn på partner" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Note" +msgstr "Notat" + +#. 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 "" +"Bruk en python uttrykk for å angi høyre feltet på hvilken enn vi vil bruke " +"for Fra-feltet på overskriften" + +#. module: base_action_rule +#: field:base.action.rule,trg_date_range:0 +msgid "Delay after trigger date" +msgstr "Forsinkelse etter triggerdato" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Conditions" +msgstr "Betingelser" + +#. 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 "" +"Forsinkelse Etter utløser Dato, spesifiserer du kan sette et negativt tall. " +"Hvis du trenger en forsinkelse før avtrekkeren dato, som å sende en " +"påminnelse 15 minutter før et møte." + +#. module: base_action_rule +#: field:base.action.rule,active:0 +msgid "Active" +msgstr "Aktiv" + +#. module: base_action_rule +#: code:addons/base_action_rule/base_action_rule.py:329 +#, python-format +msgid "No Email ID Found for your Company address!" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,act_remind_user:0 +msgid "Remind Responsible" +msgstr "Minn Ansvarlig" + +#. module: base_action_rule +#: help:base.action.rule,sequence:0 +msgid "Gives the sequence order when displaying a list of rules." +msgstr "Gir sekvens ordre når du viser en liste over regler." + +#. module: base_action_rule +#: selection:base.action.rule,trg_date_range_type:0 +msgid "Months" +msgstr "Måneder" + +#. module: base_action_rule +#: field:base.action.rule,filter_id:0 +msgid "Filter" +msgstr "Filtrer" + +#. module: base_action_rule +#: selection:base.action.rule,trg_date_type:0 +msgid "Date" +msgstr "Dato" + +#. 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 "" +"Beskriver handlingens navn.\n" +"f.eks: på hvilket objekt som tiltak som skal iverksettes på grunnlag av " +"hvilken tilstand" + +#. module: base_action_rule +#: model:ir.model,name:base_action_rule.model_ir_cron +msgid "ir.cron" +msgstr "ir.actions.actions" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "%(object_description)s = Object description" +msgstr "% (object_beskrivelse) s = Object beskrivelse" + +#. module: base_action_rule +#: constraint:base.action.rule:0 +msgid "Error: The mail is not well formated" +msgstr "Feil: E-posten er ikke godt nok formatert" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Email Actions" +msgstr "E-post handlinger" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Email Information" +msgstr "E-post Informasjon" + +#. module: base_action_rule +#: model:ir.model,name:base_action_rule.model_base_action_rule +msgid "Action Rules" +msgstr "Handlingsregler" + +#. module: base_action_rule +#: help:base.action.rule,act_mail_body:0 +msgid "Content of mail" +msgstr "Innholdet av post" + +#. module: base_action_rule +#: field:base.action.rule,trg_user_id:0 +msgid "Responsible" +msgstr "Ansvarlig" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "%(partner_email)s = Partner Email" +msgstr "% (partner_e-post) s = Partner E-post" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "%(object_date)s = Creation date" +msgstr "%(object_dato)s = opprettelsesdato" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "%(object_user_email)s = Responsible Email" +msgstr "% (object_brukerens_e-post) s = Ansvarlig e-post" + +#. module: base_action_rule +#: field:base.action.rule,act_mail_body:0 +msgid "Mail body" +msgstr "Mail kropp" + +#. 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 "" +"Kryss av her hvis du vil at regelen skal sende en påminnelse til brukeren " +"via e-post." + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Server Action to be Triggered" +msgstr "Server Tiltak som skal Utløses" + +#. module: base_action_rule +#: field:base.action.rule,act_mail_to_user:0 +msgid "Mail to Responsible" +msgstr "send mail til ansvarlig" + +#. module: base_action_rule +#: field:base.action.rule,act_email_cc:0 +msgid "Add Watchers (Cc)" +msgstr "Legg til overvåkere (Cc)" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Conditions on Model Fields" +msgstr "Forholdene på Modell Felter" + +#. 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 "Automatiserte handinger" + +#. module: base_action_rule +#: field:base.action.rule,server_action_id:0 +msgid "Server Action" +msgstr "Tjenerhandling" + +#. module: base_action_rule +#: field:base.action.rule,regex_name:0 +msgid "Regex on Resource Name" +msgstr "Regex på Ressursnavn" + +#. 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 "" +"Kryss av her om du vil at alle dokumenter knyttet til objektet festes til " +"påminnelse e-post sendt." + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Conditions on Timing" +msgstr "Vilkår for timing" + +#. module: base_action_rule +#: field:base.action.rule,sequence:0 +msgid "Sequence" +msgstr "Sekvens" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Actions" +msgstr "Handlinger" + +#. 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 "" +"Hvis det aktive feltet er satt til False, vil det tillate deg å skjule " +"regelen uten å fjerne den." + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "%(object_user)s = Responsible name" +msgstr "% (object_bruker) s = Ansvarlig navn" + +#. module: base_action_rule +#: field:base.action.rule,create_date:0 +msgid "Create Date" +msgstr "Opprettet dato" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Conditions on States" +msgstr "Vilkår for tilstander" + +#. module: base_action_rule +#: field:base.action.rule,trg_date_type:0 +msgid "Trigger Date" +msgstr "Uttløser dato" + +#~ msgid "Special Keywords to Be Used in The Body" +#~ msgstr "Spesielle nøkkelord for bruk i meldingsinnhold" + +#, python-format +#~ msgid "No E-Mail ID Found for your Company address!" +#~ msgstr "Ingen E-post ID funnet for din firmaadresse!" diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py index be3244f8a5b..a6d5f6859af 100644 --- a/addons/base_calendar/base_calendar.py +++ b/addons/base_calendar/base_calendar.py @@ -471,18 +471,10 @@ property or property parameter."), def _send_mail(self, cr, uid, ids, mail_to, email_from=tools.config.get('email_from', False), context=None): """ Send mail for event invitation to event attendees. - @param cr: the current row, from the database cursor, - @param uid: the current user’s ID for security checks, - @param ids: List of attendee’s IDs. @param email_from: Email address for user sending the mail - @param context: A standard dictionary for contextual values @return: True """ - if context is None: - context = {} - company = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.name - mail_message = self.pool.get('mail.message') for att in self.browse(cr, uid, ids, context=context): sign = att.sent_by_uid and att.sent_by_uid.signature or '' sign = '
'.join(sign and sign.split('\n') or []) @@ -508,17 +500,18 @@ property or property parameter."), } body = html_invitation % body_vals if mail_to and email_from: - attach = self.get_ics_file(cr, uid, res_obj, context=context) - mail_message.schedule_with_attach(cr, uid, - email_from, - mail_to, - sub, - body, - attachments=attach and {'invitation.ics': attach} or None, - content_subtype='html', - reply_to=email_from, - context=context - ) + ics_file = self.get_ics_file(cr, uid, res_obj, context=context) + vals = {'email_from': email_from, + 'email_to': mail_to, + 'state': 'outgoing', + 'subject': sub, + 'body_html': body, + 'auto_delete': True} + if ics_file: + vals['attachment_ids'] = [(0,0,{'name': 'invitation.ics', + 'datas_fname': 'invitation.ics', + 'datas': str(ics_file).encode('base64')})] + self.pool.get('mail.mail').create(cr, uid, vals, context=context) return True def onchange_user_id(self, cr, uid, ids, user_id, *args, **argv): @@ -812,7 +805,6 @@ class calendar_alarm(osv.osv): """ if context is None: context = {} - mail_message = self.pool.get('mail.message') current_datetime = datetime.now() alarm_ids = self.search(cr, uid, [('state', '!=', 'done')], context=context) @@ -849,36 +841,10 @@ class calendar_alarm(osv.osv): else: re_dates = [alarm.trigger_date] - for r_date in re_dates: - ref = alarm.model_id.model + ',' + str(alarm.res_id) - - # search for alreay sent requests - #if request_obj.search(cr, uid, [('trigger_date', '=', r_date), ('ref_doc1', '=', ref)], context=context): - #continue - - # Deactivated because of the removing of res.request - # TODO: when cleaning calendar module, re-add this in a new mechanism - #if alarm.action == 'display': - #value = { - #'name': alarm.name, - #'act_from': alarm.user_id.id, - #'act_to': alarm.user_id.id, - #'body': alarm.description, - #'trigger_date': r_date, - #'ref_doc1': ref - #} - #request_id = request_obj.create(cr, uid, value) - #request_ids = [request_id] - #for attendee in res_obj.attendee_ids: - #if attendee.user_id: - #value['act_to'] = attendee.user_id.id - #request_id = request_obj.create(cr, uid, value) - #request_ids.append(request_id) - #request_obj.request_send(cr, uid, request_ids) - + if re_dates: if alarm.action == 'email': - sub = '[Openobject Reminder] %s' % (alarm.name) - body = """ + sub = '[OpenERP Reminder] %s' % (alarm.name) + body = """
 Event: %s
 Event Date: %s
 Description: %s
@@ -888,20 +854,21 @@ From:
 
 ----
 %s
-
+
""" % (alarm.name, alarm.trigger_date, alarm.description, \ alarm.user_id.name, alarm.user_id.signature) mail_to = [alarm.user_id.email] for att in alarm.attendee_ids: mail_to.append(att.user_id.email) if mail_to: - mail_message.schedule_with_attach(cr, uid, - tools.config.get('email_from', False), - mail_to, - sub, - body, - context=context - ) + vals = { + 'state': 'outgoing', + 'subject': sub, + 'body_html': body, + 'email_to': mail_to, + 'email_from': tools.config.get('email_from', mail_to), + } + self.pool.get('mail.mail').create(cr, uid, vals, context=context) if next_trigger_date: update_vals.update({'trigger_date': next_trigger_date}) else: @@ -1616,36 +1583,6 @@ class calendar_todo(osv.osv): calendar_todo() -class ir_attachment(osv.osv): - _name = 'ir.attachment' - _inherit = 'ir.attachment' - - def search_count(self, cr, user, args, context=None): - 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: - id = context.get('default_res_id', False) - context.update({'default_res_id' : base_calendar_id2real_id(id)}) - return super(ir_attachment, self).create(cr, uid, vals, context=context) - - def search(self, cr, uid, args, offset=0, limit=None, order=None, - context=None, count=False): - 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() class ir_values(osv.osv): _inherit = 'ir.values' diff --git a/addons/base_calendar/crm_meeting.py b/addons/base_calendar/crm_meeting.py index cb96ff2a4d0..e1c66148ae7 100644 --- a/addons/base_calendar/crm_meeting.py +++ b/addons/base_calendar/crm_meeting.py @@ -43,7 +43,7 @@ class crm_meeting(base_state, osv.Model): _name = 'crm.meeting' _description = "Meeting" _order = "id desc" - _inherit = ["calendar.event", 'ir.needaction_mixin', "mail.thread"] + _inherit = ["calendar.event", "mail.thread", 'ir.needaction_mixin'] _columns = { # base_state required fields 'create_date': fields.datetime('Creation Date', readonly=True), @@ -70,13 +70,17 @@ class crm_meeting(base_state, osv.Model): # OpenChatter # ---------------------------------------- + # shows events of the day for this user + def needaction_domain_get(self, cr, uid, domain=[], context={}): + return [('date','<=',time.strftime('%Y-%M-%D 23:59:59')), ('date_deadline','>=', time.strftime('%Y-%M-%D 00:00:00')), ('user_id','=',uid)] + def case_get_note_msg_prefix(self, cr, uid, id, context=None): return 'Meeting' def case_open_send_note(self, cr, uid, ids, context=None): - return self.message_append_note(cr, uid, ids, body=_("Meeting has been confirmed."), context=context) + return self.message_post(cr, uid, ids, body=_("Meeting confirmed."), context=context) def case_close_send_note(self, cr, uid, ids, context=None): - return self.message_append_note(cr, uid, ids, body=_("Meeting has been done."), context=context) + return self.message_post(cr, uid, ids, body=_("Meeting completed."), context=context) diff --git a/addons/base_calendar/crm_meeting_view.xml b/addons/base_calendar/crm_meeting_view.xml index 6009251a460..928f8d94d5c 100644 --- a/addons/base_calendar/crm_meeting_view.xml +++ b/addons/base_calendar/crm_meeting_view.xml @@ -170,7 +170,8 @@
@@ -37,8 +36,6 @@ - - crm.lead.geo_assign.tree.inherit crm.lead @@ -49,6 +46,7 @@ + crm.opportunity.partner.filter.assigned crm.lead @@ -63,5 +61,6 @@ + diff --git a/addons/crm_partner_assign/i18n/ar.po b/addons/crm_partner_assign/i18n/ar.po index de0f43af5a6..53d88fd259a 100644 --- a/addons/crm_partner_assign/i18n/ar.po +++ b/addons/crm_partner_assign/i18n/ar.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:39+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "التمركز الجغرافي" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "" @@ -134,7 +134,7 @@ msgid "Highest" msgstr "أعلى" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "" diff --git a/addons/crm_partner_assign/i18n/bg.po b/addons/crm_partner_assign/i18n/bg.po index 8d34ce6a73c..cb670286522 100644 --- a/addons/crm_partner_assign/i18n/bg.po +++ b/addons/crm_partner_assign/i18n/bg.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:39+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "" @@ -133,7 +133,7 @@ msgid "Highest" msgstr "Най-висок" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "" diff --git a/addons/crm_partner_assign/i18n/ca.po b/addons/crm_partner_assign/i18n/ca.po index 1ff3ec07048..1f73a19b35a 100644 --- a/addons/crm_partner_assign/i18n/ca.po +++ b/addons/crm_partner_assign/i18n/ca.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "Geo localitzar" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "" @@ -135,7 +135,7 @@ msgid "Highest" msgstr "El més alt" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "" diff --git a/addons/crm_partner_assign/i18n/crm_partner_assign.pot b/addons/crm_partner_assign/i18n/crm_partner_assign.pot index 3fb9fc0e915..c3ddc66fa3b 100644 --- a/addons/crm_partner_assign/i18n/crm_partner_assign.pot +++ b/addons/crm_partner_assign/i18n/crm_partner_assign.pot @@ -72,7 +72,7 @@ msgid "Geo Localize" msgstr "" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "" @@ -129,7 +129,7 @@ msgid "Highest" msgstr "" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "" diff --git a/addons/crm_partner_assign/i18n/da.po b/addons/crm_partner_assign/i18n/da.po index 4e249458019..5bb8265399f 100644 --- a/addons/crm_partner_assign/i18n/da.po +++ b/addons/crm_partner_assign/i18n/da.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "" @@ -133,7 +133,7 @@ msgid "Highest" msgstr "" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "" diff --git a/addons/crm_partner_assign/i18n/de.po b/addons/crm_partner_assign/i18n/de.po index 9257f3c329e..20a3352bc3f 100644 --- a/addons/crm_partner_assign/i18n/de.po +++ b/addons/crm_partner_assign/i18n/de.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "Geogr. Lokalisierung" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "Text Version der Mitteilung" @@ -135,7 +135,7 @@ msgid "Highest" msgstr "Sehr Hoch" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "Text Inhalt" diff --git a/addons/crm_partner_assign/i18n/el.po b/addons/crm_partner_assign/i18n/el.po index d621855b061..edad942b005 100644 --- a/addons/crm_partner_assign/i18n/el.po +++ b/addons/crm_partner_assign/i18n/el.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "" @@ -133,7 +133,7 @@ msgid "Highest" msgstr "Υψηλότερο" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "" diff --git a/addons/crm_partner_assign/i18n/es.po b/addons/crm_partner_assign/i18n/es.po index cfcbb629923..f4e6d399e15 100644 --- a/addons/crm_partner_assign/i18n/es.po +++ b/addons/crm_partner_assign/i18n/es.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "Geo localizar" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "" @@ -135,7 +135,7 @@ msgid "Highest" msgstr "Más alta" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "" diff --git a/addons/crm_partner_assign/i18n/es_CR.po b/addons/crm_partner_assign/i18n/es_CR.po index 4315ece4f3b..383f2669379 100644 --- a/addons/crm_partner_assign/i18n/es_CR.po +++ b/addons/crm_partner_assign/i18n/es_CR.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" "Language: es\n" #. module: crm_partner_assign @@ -75,7 +75,7 @@ msgid "Geo Localize" msgstr "Geo localizar" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "Versión en texto plano del mensaje" @@ -136,7 +136,7 @@ msgid "Highest" msgstr "Más alta" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "Contenido del Texto" diff --git a/addons/crm_partner_assign/i18n/es_PY.po b/addons/crm_partner_assign/i18n/es_PY.po index b3e52bffc08..b250c96e070 100644 --- a/addons/crm_partner_assign/i18n/es_PY.po +++ b/addons/crm_partner_assign/i18n/es_PY.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "Geo localizar" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "" @@ -135,7 +135,7 @@ msgid "Highest" msgstr "Muy alto" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "" diff --git a/addons/crm_partner_assign/i18n/fi.po b/addons/crm_partner_assign/i18n/fi.po index cd7065f8fd6..9c237cf5495 100644 --- a/addons/crm_partner_assign/i18n/fi.po +++ b/addons/crm_partner_assign/i18n/fi.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "Alueellista" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "" @@ -133,7 +133,7 @@ msgid "Highest" msgstr "Korkein" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "" diff --git a/addons/crm_partner_assign/i18n/fr.po b/addons/crm_partner_assign/i18n/fr.po index 770f58f72a5..0d3f4e07808 100644 --- a/addons/crm_partner_assign/i18n/fr.po +++ b/addons/crm_partner_assign/i18n/fr.po @@ -15,8 +15,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -75,7 +75,7 @@ msgid "Geo Localize" msgstr "Géolocalisation" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "Version plein texte du message" @@ -136,7 +136,7 @@ msgid "Highest" msgstr "La Plus haute" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "Contenu du texte" diff --git a/addons/crm_partner_assign/i18n/gl.po b/addons/crm_partner_assign/i18n/gl.po index 5bf10d25f16..184f3a25386 100644 --- a/addons/crm_partner_assign/i18n/gl.po +++ b/addons/crm_partner_assign/i18n/gl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "Xeolocalizar" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "" @@ -135,7 +135,7 @@ msgid "Highest" msgstr "A máis alta" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "" diff --git a/addons/crm_partner_assign/i18n/hr.po b/addons/crm_partner_assign/i18n/hr.po index e18b6c5188e..3236f0bd3ac 100644 --- a/addons/crm_partner_assign/i18n/hr.po +++ b/addons/crm_partner_assign/i18n/hr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "" @@ -133,7 +133,7 @@ msgid "Highest" msgstr "Najviši" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "" diff --git a/addons/crm_partner_assign/i18n/hu.po b/addons/crm_partner_assign/i18n/hu.po index 816f93f1203..daaeca2363e 100644 --- a/addons/crm_partner_assign/i18n/hu.po +++ b/addons/crm_partner_assign/i18n/hu.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "Földrajzi fekvés meghatározása" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "" @@ -133,7 +133,7 @@ msgid "Highest" msgstr "Legmagasabb" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "" diff --git a/addons/crm_partner_assign/i18n/it.po b/addons/crm_partner_assign/i18n/it.po index c008216c5d3..21d3c30d82b 100644 --- a/addons/crm_partner_assign/i18n/it.po +++ b/addons/crm_partner_assign/i18n/it.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "Geo localizzazione" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "" @@ -135,7 +135,7 @@ msgid "Highest" msgstr "Maggiore" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "" diff --git a/addons/crm_partner_assign/i18n/ja.po b/addons/crm_partner_assign/i18n/ja.po index d6a739dc2b1..93dcbe346ca 100644 --- a/addons/crm_partner_assign/i18n/ja.po +++ b/addons/crm_partner_assign/i18n/ja.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "ジオロカライゼーション" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "メッセージのテキスト版" @@ -133,7 +133,7 @@ msgid "Highest" msgstr "最高" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "テキストの内容" diff --git a/addons/crm_partner_assign/i18n/lt.po b/addons/crm_partner_assign/i18n/lt.po index 7c2f427260a..8e89e14575c 100644 --- a/addons/crm_partner_assign/i18n/lt.po +++ b/addons/crm_partner_assign/i18n/lt.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "" @@ -133,7 +133,7 @@ msgid "Highest" msgstr "" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "" diff --git a/addons/crm_partner_assign/i18n/lv.po b/addons/crm_partner_assign/i18n/lv.po index a51b096e0a3..182f8990341 100644 --- a/addons/crm_partner_assign/i18n/lv.po +++ b/addons/crm_partner_assign/i18n/lv.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "Ģeo. lokalizācija" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "" @@ -133,7 +133,7 @@ msgid "Highest" msgstr "Augstākā" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "" diff --git a/addons/crm_partner_assign/i18n/nl.po b/addons/crm_partner_assign/i18n/nl.po index ebb0cf33f10..ac9dc276e82 100644 --- a/addons/crm_partner_assign/i18n/nl.po +++ b/addons/crm_partner_assign/i18n/nl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "Geo lokaliseren" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "Platte tekst versie van het bericht" @@ -135,7 +135,7 @@ msgid "Highest" msgstr "Hoogste" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "Tekst inhoud" diff --git a/addons/crm_partner_assign/i18n/pl.po b/addons/crm_partner_assign/i18n/pl.po index 9645def6e96..31936f2794c 100644 --- a/addons/crm_partner_assign/i18n/pl.po +++ b/addons/crm_partner_assign/i18n/pl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "Lokalizacja geograficzna" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "" @@ -135,7 +135,7 @@ msgid "Highest" msgstr "Najwyższy" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "" diff --git a/addons/crm_partner_assign/i18n/pt.po b/addons/crm_partner_assign/i18n/pt.po index a1b159fe387..ba250d4519b 100644 --- a/addons/crm_partner_assign/i18n/pt.po +++ b/addons/crm_partner_assign/i18n/pt.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "Localizar Geograficamente" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "Formatação do texto da versão da mensagem" @@ -135,7 +135,7 @@ msgid "Highest" msgstr "Maior" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "Conteúdos do texto" diff --git a/addons/crm_partner_assign/i18n/pt_BR.po b/addons/crm_partner_assign/i18n/pt_BR.po index 10e51041d3f..fa7a7d0561c 100644 --- a/addons/crm_partner_assign/i18n/pt_BR.po +++ b/addons/crm_partner_assign/i18n/pt_BR.po @@ -15,8 +15,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -75,7 +75,7 @@ msgid "Geo Localize" msgstr "Localização Geográfica" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "Versão em texto" @@ -136,7 +136,7 @@ msgid "Highest" msgstr "Mais Alta" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "Conteúdo" diff --git a/addons/crm_partner_assign/i18n/ro.po b/addons/crm_partner_assign/i18n/ro.po index d4e43523d6e..c385587a99b 100644 --- a/addons/crm_partner_assign/i18n/ro.po +++ b/addons/crm_partner_assign/i18n/ro.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "Localizare Geo" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "Versiune text-simplu a mesajului" @@ -135,7 +135,7 @@ msgid "Highest" msgstr "Cel mai ridicat (cea mai ridicata)" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "Cuprins text" diff --git a/addons/crm_partner_assign/i18n/ru.po b/addons/crm_partner_assign/i18n/ru.po index 4a5229b59b2..0a354515bf8 100644 --- a/addons/crm_partner_assign/i18n/ru.po +++ b/addons/crm_partner_assign/i18n/ru.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "Геолоцировать" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "" @@ -135,7 +135,7 @@ msgid "Highest" msgstr "Высший" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "" diff --git a/addons/crm_partner_assign/i18n/sq.po b/addons/crm_partner_assign/i18n/sq.po index 56d7f386635..7d2f01a6693 100644 --- a/addons/crm_partner_assign/i18n/sq.po +++ b/addons/crm_partner_assign/i18n/sq.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:39+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "" @@ -133,7 +133,7 @@ msgid "Highest" msgstr "" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "" diff --git a/addons/crm_partner_assign/i18n/sr@latin.po b/addons/crm_partner_assign/i18n/sr@latin.po index 6e9aab21f1c..0605ee65706 100644 --- a/addons/crm_partner_assign/i18n/sr@latin.po +++ b/addons/crm_partner_assign/i18n/sr@latin.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "" @@ -133,7 +133,7 @@ msgid "Highest" msgstr "" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "" diff --git a/addons/crm_partner_assign/i18n/sv.po b/addons/crm_partner_assign/i18n/sv.po index 345d61d10b3..0605d54bcaa 100644 --- a/addons/crm_partner_assign/i18n/sv.po +++ b/addons/crm_partner_assign/i18n/sv.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "Geoplacering" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "Textversion av meddelandet" @@ -135,7 +135,7 @@ msgid "Highest" msgstr "Högsta" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "Textinnehåll" diff --git a/addons/crm_partner_assign/i18n/tr.po b/addons/crm_partner_assign/i18n/tr.po index da879a6156b..11fcc743002 100644 --- a/addons/crm_partner_assign/i18n/tr.po +++ b/addons/crm_partner_assign/i18n/tr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "Coğrafi konumlama" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "Mesajın düz-metin versiyonu" @@ -135,7 +135,7 @@ msgid "Highest" msgstr "En yüksek" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "Metin içeriği" diff --git a/addons/crm_partner_assign/i18n/zh_CN.po b/addons/crm_partner_assign/i18n/zh_CN.po index 67f4a4e74b8..ff25feafd25 100644 --- a/addons/crm_partner_assign/i18n/zh_CN.po +++ b/addons/crm_partner_assign/i18n/zh_CN.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:40+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" #. module: crm_partner_assign #: field:crm.lead.forward.to.partner,send_to:0 @@ -74,7 +74,7 @@ msgid "Geo Localize" msgstr "geolocalization定位" #. module: crm_partner_assign -#: help:crm.lead.forward.to.partner,body_text:0 +#: help:crm.lead.forward.to.partner,body:0 msgid "Plain-text version of the message" msgstr "内容的纯文本版本" @@ -133,7 +133,7 @@ msgid "Highest" msgstr "最高" #. module: crm_partner_assign -#: field:crm.lead.forward.to.partner,body_text:0 +#: field:crm.lead.forward.to.partner,body:0 msgid "Text contents" msgstr "文本内容" diff --git a/addons/crm_partner_assign/i18n/zh_TW.po b/addons/crm_partner_assign/i18n/zh_TW.po new file mode 100644 index 00000000000..4870b464035 --- /dev/null +++ b/addons/crm_partner_assign/i18n/zh_TW.po @@ -0,0 +1,885 @@ +# Chinese (Traditional) 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-08-30 10:14+0000\n" +"Last-Translator: Bonnie Duan \n" +"Language-Team: Cenoq Corp.MIME-Version: 1.0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" + +#. module: crm_partner_assign +#: field:crm.lead.forward.to.partner,send_to:0 +msgid "Send to" +msgstr "傳送給" + +#. module: crm_partner_assign +#: field:crm.lead.forward.to.partner,subtype:0 +msgid "Message type" +msgstr "訊息類型" + +#. module: crm_partner_assign +#: help:crm.lead.forward.to.partner,auto_delete:0 +msgid "Permanently delete emails after sending" +msgstr "電子郵件發送後永久刪除" + +#. module: crm_partner_assign +#: field:crm.lead.report.assign,delay_close:0 +msgid "Delay to Close" +msgstr "延遲關閉" + +#. module: crm_partner_assign +#: help:crm.lead.forward.to.partner,email_to:0 +msgid "Message recipients" +msgstr "收件人" + +#. module: crm_partner_assign +#: field:crm.lead.report.assign,planned_revenue:0 +msgid "Planned Revenue" +msgstr "計劃收入" + +#. module: crm_partner_assign +#: field:crm.lead.report.assign,nbr:0 +msgid "# of Cases" +msgstr "# 業務量" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +#: view:crm.partner.report.assign:0 +msgid "Group By..." +msgstr "分組..." + +#. module: crm_partner_assign +#: field:crm.lead.forward.to.partner,template_id:0 +msgid "Template" +msgstr "範本" + +#. module: crm_partner_assign +#: view:crm.lead:0 +msgid "Forward" +msgstr "轉寄" + +#. module: crm_partner_assign +#: view:res.partner:0 +msgid "Geo Localize" +msgstr "Geo 定位" + +#. module: crm_partner_assign +#: help:crm.lead.forward.to.partner,body:0 +msgid "Plain-text version of the message" +msgstr "內容的純文字版本" + +#. module: crm_partner_assign +#: view:crm.lead.forward.to.partner:0 +msgid "Body" +msgstr "內文" + +#. module: crm_partner_assign +#: selection:crm.lead.report.assign,month:0 +msgid "March" +msgstr "3月" + +#. module: crm_partner_assign +#: selection:crm.lead.report.assign,type:0 +msgid "Lead" +msgstr "潛在客戶" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +msgid "Delay to close" +msgstr "延遲關閉" + +#. module: crm_partner_assign +#: view:crm.partner.report.assign:0 +msgid "#Partner" +msgstr "#Partner" + +#. module: crm_partner_assign +#: selection:crm.lead.forward.to.partner,history:0 +msgid "Whole Story" +msgstr "完整的情況" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +#: field:crm.lead.report.assign,company_id:0 +msgid "Company" +msgstr "公司" + +#. module: crm_partner_assign +#: code:addons/crm_partner_assign/partner_geo_assign.py:37 +#, python-format +msgid "" +"Could not contact geolocation servers, please make sure you have a working " +"internet connection (%s)" +msgstr "無法連接到服務器,請確保你的連線(%s) 正常。" + +#. module: crm_partner_assign +#: field:crm.lead.report.assign,date_assign:0 +msgid "Partner Date" +msgstr "業務夥伴日期" + +#. module: crm_partner_assign +#: selection:crm.lead.report.assign,priority:0 +msgid "Highest" +msgstr "最高" + +#. module: crm_partner_assign +#: field:crm.lead.forward.to.partner,body:0 +msgid "Text contents" +msgstr "文本內容" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +#: field:crm.lead.report.assign,day:0 +msgid "Day" +msgstr "日" + +#. module: crm_partner_assign +#: help:crm.lead.forward.to.partner,message_id:0 +msgid "Message unique identifier" +msgstr "訊息唯一編號" + +#. module: crm_partner_assign +#: selection:crm.lead.forward.to.partner,history:0 +msgid "Latest email" +msgstr "最近的郵件" + +#. module: crm_partner_assign +#: field:crm.lead,partner_latitude:0 +#: field:res.partner,partner_latitude:0 +msgid "Geo Latitude" +msgstr "Geo 緯度" + +#. module: crm_partner_assign +#: view:crm.lead.forward.to.partner:0 +msgid "" +"Add here all attachments of the current document you want to include in the " +"Email." +msgstr "在這裡加入你在郵件裡要加入現有的單據附件。" + +#. module: crm_partner_assign +#: selection:crm.lead.report.assign,state:0 +msgid "Cancelled" +msgstr "已取消" + +#. module: crm_partner_assign +#: view:crm.lead:0 +msgid "Geo Assignation" +msgstr "Geo 指派的" + +#. module: crm_partner_assign +#: field:crm.lead.report.assign,date_closed:0 +msgid "Close Date" +msgstr "結束日期" + +#. module: crm_partner_assign +#: help:res.partner,partner_weight:0 +msgid "" +"Gives the probability to assign a lead to this partner. (0 means no " +"assignation.)" +msgstr "為潛在客戶指定一個業務夥伴的概率(表示沒指派)" + +#. module: crm_partner_assign +#: help:crm.lead.forward.to.partner,body_html:0 +msgid "Rich-text/HTML version of the message" +msgstr "內容的富文本/HTML版本" + +#. module: crm_partner_assign +#: field:crm.lead.forward.to.partner,auto_delete:0 +msgid "Auto Delete" +msgstr "自動刪除" + +#. module: crm_partner_assign +#: help:crm.lead.forward.to.partner,email_bcc:0 +msgid "Blind carbon copy message recipients" +msgstr "密件副本收件人" + +#. module: crm_partner_assign +#: field:crm.lead.forward.to.partner,partner_id:0 +#: selection:crm.lead.forward.to.partner,send_to:0 +#: view:crm.lead.report.assign:0 +#: field:crm.lead.report.assign,partner_assigned_id:0 +#: model:ir.model,name:crm_partner_assign.model_res_partner +msgid "Partner" +msgstr "業務夥伴" + +#. module: crm_partner_assign +#: field:crm.lead.report.assign,probability:0 +msgid "Avg Probability" +msgstr "平均概率" + +#. module: crm_partner_assign +#: view:res.partner:0 +msgid "Previous" +msgstr "前一個" + +#. module: crm_partner_assign +#: code:addons/crm_partner_assign/partner_geo_assign.py:36 +#, python-format +msgid "Network error" +msgstr "網絡錯誤" + +#. module: crm_partner_assign +#: field:crm.lead.forward.to.partner,email_from:0 +msgid "From" +msgstr "來自" + +#. module: crm_partner_assign +#: model:ir.actions.act_window,name:crm_partner_assign.res_partner_grade_action +#: model:ir.ui.menu,name:crm_partner_assign.menu_res_partner_grade_action +#: field:res.partner,grade_id:0 +#: view:res.partner.grade:0 +msgid "Partner Grade" +msgstr "業務夥伴級別" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +#: view:crm.partner.report.assign:0 +msgid "Section" +msgstr "劃分" + +#. module: crm_partner_assign +#: view:crm.lead.forward.to.partner:0 +msgid "Send" +msgstr "發送" + +#. module: crm_partner_assign +#: view:res.partner:0 +msgid "Next" +msgstr "下一個" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +#: field:crm.lead.report.assign,priority:0 +msgid "Priority" +msgstr "優先級" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +#: field:crm.lead.report.assign,state:0 +msgid "State" +msgstr "狀態" + +#. module: crm_partner_assign +#: field:crm.lead.report.assign,delay_expected:0 +msgid "Overpassed Deadline" +msgstr "超過截止日期" + +#. module: crm_partner_assign +#: field:crm.lead.report.assign,type:0 +msgid "Type" +msgstr "類型" + +#. module: crm_partner_assign +#: view:crm.partner.report.assign:0 +msgid "Name" +msgstr "名稱" + +#. module: crm_partner_assign +#: selection:crm.lead.report.assign,priority:0 +msgid "Lowest" +msgstr "最低" + +#. module: crm_partner_assign +#: help:crm.lead.forward.to.partner,subtype:0 +msgid "" +"Type of message, usually 'html' or 'plain', used to select plaintext or rich " +"text contents accordingly" +msgstr "內容類型,一般是“html”或“純文本”,用於對應地選擇純文本或富文本" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +msgid "Assign Date" +msgstr "分配日期" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +msgid "Leads Analysis" +msgstr "潛在客戶分析" + +#. module: crm_partner_assign +#: field:crm.lead.report.assign,creation_date:0 +msgid "Creation Date" +msgstr "建立日期" + +#. module: crm_partner_assign +#: field:crm.lead.forward.to.partner,res_id:0 +msgid "Related Document ID" +msgstr "相關單據編號" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +msgid "7 Days" +msgstr "7天" + +#. module: crm_partner_assign +#: view:crm.lead:0 +msgid "Partner Assignation" +msgstr "指定業務夥伴" + +#. module: crm_partner_assign +#: help:crm.lead.report.assign,type:0 +msgid "Type is used to separate Leads and Opportunities" +msgstr "類型用於區分線索和商機" + +#. module: crm_partner_assign +#: selection:crm.lead.report.assign,month:0 +msgid "July" +msgstr "7月" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +#: field:crm.lead.report.assign,stage_id:0 +msgid "Stage" +msgstr "階段" + +#. module: crm_partner_assign +#: field:crm.lead.forward.to.partner,model:0 +msgid "Related Document model" +msgstr "相關單據模組" + +#. module: crm_partner_assign +#: code:addons/crm_partner_assign/wizard/crm_forward_to_partner.py:192 +#, python-format +msgid "Fwd" +msgstr "轉發" + +#. module: crm_partner_assign +#: view:res.partner:0 +msgid "Geo Localization" +msgstr "Geo 定位" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +#: view:crm.partner.report.assign:0 +msgid "Opportunities Assignment Analysis" +msgstr "商機指定分析" + +#. module: crm_partner_assign +#: view:res.partner:0 +msgid "Cancel" +msgstr "取消" + +#. module: crm_partner_assign +#: field:crm.lead.forward.to.partner,history:0 +msgid "Send history" +msgstr "發送日誌" + +#. module: crm_partner_assign +#: view:crm.lead.forward.to.partner:0 +msgid "Contact" +msgstr "聯絡人" + +#. module: crm_partner_assign +#: view:crm.lead.forward.to.partner:0 +#: view:res.partner:0 +msgid "Close" +msgstr "結束" + +#. module: crm_partner_assign +#: field:crm.lead.forward.to.partner,use_template:0 +msgid "Use Template" +msgstr "使用者範本" + +#. module: crm_partner_assign +#: model:ir.actions.act_window,name:crm_partner_assign.action_report_crm_opportunity_assign +#: model:ir.ui.menu,name:crm_partner_assign.menu_report_crm_opportunities_assign_tree +msgid "Opp. Assignment Analysis" +msgstr "商機指定分析" + +#. module: crm_partner_assign +#: help:crm.lead.report.assign,delay_close:0 +msgid "Number of Days to close the case" +msgstr "到期天數" + +#. module: crm_partner_assign +#: field:res.partner,partner_weight:0 +msgid "Weight" +msgstr "重要性" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +msgid "Delay to open" +msgstr "延遲開啟" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +#: field:crm.lead.report.assign,grade_id:0 +#: view:crm.partner.report.assign:0 +#: field:crm.partner.report.assign,grade_id:0 +msgid "Grade" +msgstr "級別" + +#. module: crm_partner_assign +#: selection:crm.lead.report.assign,month:0 +msgid "December" +msgstr "12月" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +#: field:crm.lead.report.assign,month:0 +msgid "Month" +msgstr "月" + +#. module: crm_partner_assign +#: field:crm.lead.report.assign,opening_date:0 +msgid "Opening Date" +msgstr "開啟日期" + +#. module: crm_partner_assign +#: field:crm.lead.forward.to.partner,subject:0 +msgid "Subject" +msgstr "主題" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +#: view:crm.partner.report.assign:0 +msgid "Salesman" +msgstr "業務員" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +#: field:crm.lead.report.assign,categ_id:0 +msgid "Category" +msgstr "分類" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +msgid "#Opportunities" +msgstr "#商機" + +#. module: crm_partner_assign +#: view:crm.lead:0 +msgid "Team" +msgstr "團隊" + +#. module: crm_partner_assign +#: view:crm.lead:0 +msgid "Referred Partner" +msgstr "推薦的業務夥伴" + +#. module: crm_partner_assign +#: selection:crm.lead.report.assign,state:0 +msgid "Draft" +msgstr "草稿" + +#. module: crm_partner_assign +#: selection:crm.lead.report.assign,priority:0 +msgid "Low" +msgstr "低" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +#: selection:crm.lead.report.assign,state:0 +msgid "Closed" +msgstr "已結束" + +#. module: crm_partner_assign +#: model:ir.actions.act_window,name:crm_partner_assign.action_crm_send_mass_forward +msgid "Mass forward to partner" +msgstr "批量轉發給業務夥伴" + +#. module: crm_partner_assign +#: view:res.partner:0 +#: field:res.partner,opportunity_assigned_ids:0 +msgid "Assigned Opportunities" +msgstr "轉為商機" + +#. module: crm_partner_assign +#: field:crm.lead,date_assign:0 +msgid "Assignation Date" +msgstr "指定日期" + +#. module: crm_partner_assign +#: field:crm.lead.report.assign,probability_max:0 +msgid "Max Probability" +msgstr "最大可能" + +#. module: crm_partner_assign +#: selection:crm.lead.report.assign,month:0 +msgid "August" +msgstr "8月" + +#. module: crm_partner_assign +#: selection:crm.lead.report.assign,priority:0 +msgid "Normal" +msgstr "普通" + +#. module: crm_partner_assign +#: view:res.partner:0 +msgid "Escalate" +msgstr "提升" + +#. module: crm_partner_assign +#: selection:crm.lead.report.assign,month:0 +msgid "June" +msgstr "6月" + +#. module: crm_partner_assign +#: help:crm.lead.report.assign,delay_open:0 +msgid "Number of Days to open the case" +msgstr "業務開啟的天數" + +#. module: crm_partner_assign +#: field:crm.lead.report.assign,delay_open:0 +msgid "Delay to Open" +msgstr "延遲開啟" + +#. module: crm_partner_assign +#: selection:crm.lead.forward.to.partner,send_to:0 +#: field:crm.lead.forward.to.partner,user_id:0 +#: field:crm.lead.report.assign,user_id:0 +#: field:crm.partner.report.assign,user_id:0 +msgid "User" +msgstr "使用者" + +#. module: crm_partner_assign +#: field:res.partner.grade,active:0 +msgid "Active" +msgstr "生效" + +#. module: crm_partner_assign +#: selection:crm.lead.report.assign,month:0 +msgid "November" +msgstr "11月" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +msgid "Extended Filters..." +msgstr "增加篩選條件" + +#. module: crm_partner_assign +#: field:crm.lead,partner_longitude:0 +#: field:res.partner,partner_longitude:0 +msgid "Geo Longitude" +msgstr "Geo 經度" + +#. module: crm_partner_assign +#: field:crm.partner.report.assign,opp:0 +msgid "# of Opportunity" +msgstr "商機編號" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +msgid "Lead Assign" +msgstr "潛在客戶指定" + +#. module: crm_partner_assign +#: selection:crm.lead.report.assign,month:0 +msgid "October" +msgstr "10月" + +#. module: crm_partner_assign +#: view:crm.lead:0 +msgid "Assignation" +msgstr "指定" + +#. module: crm_partner_assign +#: selection:crm.lead.report.assign,month:0 +msgid "January" +msgstr "1月" + +#. module: crm_partner_assign +#: help:crm.lead,partner_assigned_id:0 +msgid "Partner this case has been forwarded/assigned to." +msgstr "這業務的業務夥伴已提出/已指定" + +#. module: crm_partner_assign +#: field:crm.lead.forward.to.partner,date:0 +msgid "Date" +msgstr "日期" + +#. module: crm_partner_assign +#: field:crm.lead.forward.to.partner,body_html:0 +msgid "Rich-text contents" +msgstr "Rich-text內容" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +msgid "Planned Revenues" +msgstr "已計劃收入" + +#. module: crm_partner_assign +#: model:ir.model,name:crm_partner_assign.model_res_partner_grade +msgid "res.partner.grade" +msgstr "res.partner.grade" + +#. module: crm_partner_assign +#: field:crm.lead.forward.to.partner,message_id:0 +msgid "Message-Id" +msgstr "訊息-Id" + +#. module: crm_partner_assign +#: view:crm.lead.forward.to.partner:0 +#: field:crm.lead.forward.to.partner,attachment_ids:0 +msgid "Attachments" +msgstr "附件" + +#. module: crm_partner_assign +#: field:crm.lead.forward.to.partner,email_cc:0 +msgid "Cc" +msgstr "副本收件人" + +#. module: crm_partner_assign +#: selection:crm.lead.report.assign,month:0 +msgid "September" +msgstr "9月" + +#. module: crm_partner_assign +#: field:crm.lead.forward.to.partner,references:0 +msgid "References" +msgstr "關聯" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +msgid "Last 30 Days" +msgstr "最近30天" + +#. module: crm_partner_assign +#: field:res.partner.grade,name:0 +msgid "Grade Name" +msgstr "級別名稱" + +#. module: crm_partner_assign +#: help:crm.lead,date_assign:0 +msgid "Last date this case was forwarded/assigned to a partner" +msgstr "這業務指定/轉發的業務夥伴的最後期限" + +#. module: crm_partner_assign +#: selection:crm.lead.report.assign,state:0 +#: view:res.partner:0 +msgid "Open" +msgstr "開啟" + +#. module: crm_partner_assign +#: help:crm.lead.forward.to.partner,email_cc:0 +msgid "Carbon copy message recipients" +msgstr "郵件副本收件人" + +#. module: crm_partner_assign +#: help:crm.lead.forward.to.partner,headers:0 +msgid "" +"Full message headers, e.g. SMTP session headers (usually available on " +"inbound messages only)" +msgstr "完整的郵件標題,例如僅SMTP會話頭(通常可在入站消息)" + +#. module: crm_partner_assign +#: field:res.partner,date_localization:0 +msgid "Geo Localization Date" +msgstr "Geo 定位的日期" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +msgid "Current" +msgstr "當前的" + +#. module: crm_partner_assign +#: field:crm.lead.forward.to.partner,email_to:0 +msgid "To" +msgstr "給" + +#. module: crm_partner_assign +#: help:crm.lead.forward.to.partner,email_from:0 +msgid "" +"Message sender, taken from user preferences. If empty, this is not a mail " +"but a message." +msgstr "郵件發件人,​​來自使用者的個人設置。如果為空,不發郵件而是發內部消息。" + +#. module: crm_partner_assign +#: field:crm.partner.report.assign,nbr:0 +msgid "# of Partner" +msgstr "# of Partner" + +#. module: crm_partner_assign +#: view:crm.lead.forward.to.partner:0 +#: model:ir.actions.act_window,name:crm_partner_assign.crm_lead_forward_to_partner_act +msgid "Forward to Partner" +msgstr "轉發給業務夥伴" + +#. module: crm_partner_assign +#: field:crm.partner.report.assign,name:0 +msgid "Partner name" +msgstr "上級名稱" + +#. module: crm_partner_assign +#: selection:crm.lead.report.assign,month:0 +msgid "May" +msgstr "5月" + +#. module: crm_partner_assign +#: field:crm.lead.report.assign,probable_revenue:0 +msgid "Probable Revenue" +msgstr "預計收入" + +#. module: crm_partner_assign +#: field:crm.lead.forward.to.partner,reply_to:0 +msgid "Reply-To" +msgstr "回覆給" + +#. module: crm_partner_assign +#: field:crm.lead,partner_assigned_id:0 +msgid "Assigned Partner" +msgstr "指定的業務夥伴" + +#. module: crm_partner_assign +#: field:crm.lead.forward.to.partner,address_id:0 +msgid "Address" +msgstr "地址" + +#. module: crm_partner_assign +#: selection:crm.lead.report.assign,type:0 +msgid "Opportunity" +msgstr "商機" + +#. module: crm_partner_assign +#: view:crm.lead.forward.to.partner:0 +msgid "Send Mail" +msgstr "發送郵件" + +#. module: crm_partner_assign +#: field:crm.lead.report.assign,partner_id:0 +msgid "Customer" +msgstr "客戶" + +#. module: crm_partner_assign +#: selection:crm.lead.report.assign,month:0 +msgid "February" +msgstr "2月" + +#. module: crm_partner_assign +#: selection:crm.lead.forward.to.partner,send_to:0 +msgid "Email Address" +msgstr "電子郵件地址" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +#: field:crm.lead.report.assign,country_id:0 +#: view:crm.partner.report.assign:0 +#: field:crm.partner.report.assign,country_id:0 +msgid "Country" +msgstr "國家" + +#. module: crm_partner_assign +#: field:crm.lead.forward.to.partner,headers:0 +msgid "Message headers" +msgstr "郵件頭" + +#. module: crm_partner_assign +#: view:res.partner:0 +msgid "Convert to Opportunity" +msgstr "轉換為商機" + +#. module: crm_partner_assign +#: field:crm.lead.forward.to.partner,email_bcc:0 +msgid "Bcc" +msgstr "密件副本" + +#. module: crm_partner_assign +#: view:crm.lead:0 +msgid "Geo Assign" +msgstr "指定geolocalization" + +#. module: crm_partner_assign +#: selection:crm.lead.report.assign,month:0 +msgid "April" +msgstr "4月" + +#. module: crm_partner_assign +#: model:ir.actions.act_window,name:crm_partner_assign.action_report_crm_partner_assign +#: model:ir.ui.menu,name:crm_partner_assign.menu_report_crm_partner_assign_tree +msgid "Partnership Analysis" +msgstr "業務夥伴分析" + +#. module: crm_partner_assign +#: model:ir.model,name:crm_partner_assign.model_crm_lead +msgid "crm.lead" +msgstr "crm.lead" + +#. module: crm_partner_assign +#: selection:crm.lead.report.assign,state:0 +msgid "Pending" +msgstr "待處理" + +#. module: crm_partner_assign +#: view:crm.partner.report.assign:0 +msgid "Partner assigned Analysis" +msgstr "業務夥伴分配分析" + +#. module: crm_partner_assign +#: model:ir.model,name:crm_partner_assign.model_crm_lead_report_assign +msgid "CRM Lead Report" +msgstr "客戶關係管理 線索報表" + +#. module: crm_partner_assign +#: help:crm.lead.forward.to.partner,references:0 +msgid "Message references, such as identifiers of previous messages" +msgstr "郵件引用,例如前一個郵件的ID" + +#. module: crm_partner_assign +#: constraint:res.partner:0 +msgid "Error ! You cannot create recursive associated members." +msgstr "錯誤,您不能建立循環引用的會員用戶" + +#. module: crm_partner_assign +#: selection:crm.lead.forward.to.partner,history:0 +msgid "Case Information" +msgstr "業務資訊" + +#. module: crm_partner_assign +#: field:res.partner.grade,sequence:0 +msgid "Sequence" +msgstr "順序" + +#. module: crm_partner_assign +#: model:ir.model,name:crm_partner_assign.model_crm_partner_report_assign +msgid "CRM Partner Report" +msgstr "CRM業務夥伴報表" + +#. module: crm_partner_assign +#: model:ir.model,name:crm_partner_assign.model_crm_lead_forward_to_partner +msgid "Email composition wizard" +msgstr "電子郵件成分嚮導" + +#. module: crm_partner_assign +#: selection:crm.lead.report.assign,priority:0 +msgid "High" +msgstr "高" + +#. module: crm_partner_assign +#: field:crm.lead.report.assign,section_id:0 +#: field:crm.partner.report.assign,section_id:0 +msgid "Sales Team" +msgstr "銷售團隊" + +#. module: crm_partner_assign +#: field:crm.lead.report.assign,create_date:0 +msgid "Create Date" +msgstr "建立日期" + +#. module: crm_partner_assign +#: field:crm.lead.forward.to.partner,filter_id:0 +msgid "Filters" +msgstr "篩選" + +#. module: crm_partner_assign +#: view:crm.lead.report.assign:0 +#: field:crm.lead.report.assign,year:0 +msgid "Year" +msgstr "年" + +#. module: crm_partner_assign +#: help:crm.lead.forward.to.partner,reply_to:0 +msgid "Preferred response address for the message" +msgstr "本郵件推薦的回覆地址" + +#~ msgid "E-mail composition wizard" +#~ msgstr "郵件協同作業" diff --git a/addons/crm_partner_assign/test/partner_assign.yml b/addons/crm_partner_assign/test/partner_assign.yml index bc4cd0d6e57..a055fc6cd6d 100644 --- a/addons/crm_partner_assign/test/partner_assign.yml +++ b/addons/crm_partner_assign/test/partner_assign.yml @@ -29,8 +29,8 @@ I forward this opportunity to its nearest partner. - !python {model: crm.lead.forward.to.partner}: | - context.update({'active_model': 'crm.lead', 'active_id': ref('crm.crm_case_19'), 'active_ids': [ref('crm.crm_case_19')]}) - forward_id = self.create(cr, uid, {'email_from': 'test@openerp.com', 'send_to': 'partner'}, context=context) + context.update({'default_model': 'crm.lead', 'default_res_id': ref('crm.crm_case_19'), 'active_ids': [ref('crm.crm_case_19')]}) + forward_id = self.create(cr, uid, {}, context=context) try: self.action_forward(cr, uid, [forward_id], context=context) except: diff --git a/addons/crm_partner_assign/wizard/crm_forward_to_partner.py b/addons/crm_partner_assign/wizard/crm_forward_to_partner.py index d479f8b1bd5..0cac38e0163 100644 --- a/addons/crm_partner_assign/wizard/crm_forward_to_partner.py +++ b/addons/crm_partner_assign/wizard/crm_forward_to_partner.py @@ -20,186 +20,153 @@ # ############################################################################## -import time import re +import time +import tools + from osv import osv, fields from tools.translate import _ -from mail.mail_message import to_email class crm_lead_forward_to_partner(osv.osv_memory): - """Forwards lead history""" + """ Forward info history to partners. """ _name = 'crm.lead.forward.to.partner' _inherit = "mail.compose.message" + def default_get(self, cr, uid, fields, context=None): + if context is None: + context = {} + # set as comment, perform overrided document-like action that calls get_record_data + old_mode = context.get('default_composition_mode', 'forward') + context['default_composition_mode'] = 'comment' + res = super(crm_lead_forward_to_partner, self).default_get(cr, uid, fields, context=context) + # back to forward mode + context['default_composition_mode'] = old_mode + res['composition_mode'] = context['default_composition_mode'] + return res + + def _get_composition_mode_selection(self, cr, uid, context=None): + composition_mode = super(crm_lead_forward_to_partner, self)._get_composition_mode_selection(cr, uid, context=context) + composition_mode.append(('forward', 'Forward')) + return composition_mode + _columns = { - 'send_to': fields.selection([('user', 'User'), ('partner', 'Partner'), \ - ('email', 'Email Address')], 'Send to', required=True), - 'user_id': fields.many2one('res.users', "User"), - 'attachment_ids': fields.many2many('ir.attachment','lead_forward_to_partner_attachment_rel', 'wizard_id', 'attachment_id', 'Attachments'), - 'partner_id' : fields.many2one('res.partner', 'Partner'), - 'history': fields.selection([('info', 'Case Information'), ('latest', 'Latest email'), ('whole', 'Whole Story')], 'Send history', required=True), + 'partner_ids': fields.many2many('res.partner', + 'lead_forward_to_partner_res_partner_rel', + 'wizard_id', 'partner_id', 'Additional contacts'), + 'attachment_ids': fields.many2many('ir.attachment', + 'lead_forward_to_partner_attachment_rel', + 'wizard_id', 'attachment_id', 'Attachments'), + 'history_mode': fields.selection([('info', 'Case Information'), + ('latest', 'Latest email'), ('whole', 'Whole Story')], + 'Send history', required=True), } _defaults = { - 'send_to' : 'email', - 'history': 'latest', - 'email_from': lambda s, cr, uid, c: s.pool.get('res.users').browse(cr, uid, uid, c).email, + 'history_mode': 'latest', + 'content_subtype': lambda self,cr, uid, context={}: 'html', } - def on_change_email(self, cr, uid, ids, user, context=None): - if not user: - return {'value': {'email_to': False}} - return {'value': {'email_to': self.pool.get('res.users').browse(cr, uid, uid, context=context).email}} - - def on_change_history(self, cr, uid, ids, history_type, context=None): - """Gives message body according to type of history selected - * info: Forward the case information - * whole: Send the whole history - * latest: Send the latest histoy + def get_record_data(self, cr, uid, model, res_id, context=None): + """ Override of mail.compose.message, to add default values coming + form the related lead. """ - #TODO: ids and context are not comming - res = {} - res_id = context.get('active_id') - model = context.get('active_model') - lead = self.pool.get(model).browse(cr, uid, res_id, context) - body_text = self._get_message_body_text(cr, uid, lead, history_type, context=context) - if body_text: - res = {'value': {'body_text' : body_text}} + res = super(crm_lead_forward_to_partner, self).get_record_data(cr, uid, model, res_id, context=context) + if model not in ('crm.lead') or not res_id: + return res + lead_obj = self.pool.get(model) + lead = lead_obj.browse(cr, uid, res_id, context=context) + subject = '%s: %s - %s' % (_('Fwd'), _('Lead forward'), lead.name) + body = self._get_message_body(cr, uid, lead, 'info', context=context) + res.update({ + 'subject': subject, + 'body': body, + }) return res - - def on_change_partner(self, cr, uid, ids, partner_id): - """This function fills address information based on partner/user selected - """ - if not partner_id: - return {'value' : {'email_to' : False}} - partner_obj = self.pool.get('res.partner') - data = {} - partner = partner_obj.browse(cr, uid, [partner_id]) - user_id = partner and partner[0].user_id or False - data.update({'email_from': partner and partner[0].email or "", - 'email_cc' : user_id and user_id.user or '', - 'user_id': user_id and user_id.id or False}) - return {'value' : data} + + def on_change_history_mode(self, cr, uid, ids, history_mode, model, res_id, context=None): + """ Update body when changing history_mode """ + if model and model == 'crm.lead' and res_id: + lead = self.pool.get(model).browse(cr, uid, res_id, context=context) + body = self._get_message_body(cr, uid, lead, history_mode, context=context) + return {'value': {'body': body}} + + def create(self, cr, uid, values, context=None): + """ TDE-HACK: remove 'type' from context, because when viewing an + opportunity form view, a default_type is set and propagated + to the wizard, that has a not matching type field. """ + default_type = context.pop('default_type', None) + new_id = super(crm_lead_forward_to_partner, self).create(cr, uid, values, context=context) + if default_type: + context['default_type'] = default_type + return new_id def action_forward(self, cr, uid, ids, context=None): - """ - Forward the lead to a partner - """ + """ Forward the lead to a partner """ if context is None: context = {} res = {'type': 'ir.actions.act_window_close'} - model = context.get('active_model') - if model not in ('crm.lead'): + wizard = self.browse(cr, uid, ids[0], context=context) + if wizard.model not in ('crm.lead'): return res - this = self.browse(cr, uid, ids[0], context=context) - lead = self.pool.get(model) - lead_id = context and context.get('active_id', False) or False - lead_ids = lead_id and [lead_id] or [] - mode = context.get('mail.compose.message.mode') - if mode == 'mass_mail': + lead = self.pool.get(wizard.model) + lead_ids = wizard.res_id and [wizard.res_id] or [] + + if wizard.composition_mode == 'mass_mail': lead_ids = context and context.get('active_ids', []) or [] - value = self.default_get(cr, uid, ['body_text', 'email_to', 'email_cc', 'subject', 'history'], context=context) + value = self.default_get(cr, uid, ['body', 'email_to', 'email_cc', 'subject', 'history_mode'], context=context) self.write(cr, uid, ids, value, context=context) - context['mail.compose.message.mode'] = mode self.send_mail(cr, uid, ids, context=context) - for case in lead.browse(cr, uid, lead_ids, context=context): - if (this.send_to == 'partner' and this.partner_id): - lead.assign_partner(cr, uid, [case.id], this.partner_id.id, context=context) + # for case in lead.browse(cr, uid, lead_ids, context=context): + # TODO: WHAT TO DO WITH THAT ? + # if (this.send_to == 'partner' and this.partner_id): + # lead.assign_partner(cr, uid, [case.id], this.partner_id.id, context=context) - if this.send_to == 'user': - lead.allocate_salesman(cr, uid, [case.id], [this.user_id.id], context=context) - - email_cc = to_email(case.email_cc) - email_cc = email_cc and email_cc[0] or '' - new_cc = [] - if email_cc: - new_cc.append(email_cc) - for to in this.email_to.split(','): - email_to = to_email(to) - email_to = email_to and email_to[0] or '' - if email_to not in new_cc: - new_cc.append(to) - update_vals = {'email_cc' : ', '.join(new_cc) } - lead.write(cr, uid, [case.id], update_vals, context=context) + # if this.send_to == 'user': + # lead.allocate_salesman(cr, uid, [case.id], [this.user_id.id], context=context) return res - def _get_info_body_text(self, cr, uid, lead, context=None): + def _get_info_body(self, cr, uid, lead, context=None): field_names = [] proxy = self.pool.get(lead._name) if lead.type == 'opportunity': field_names += ['partner_id'] field_names += [ - 'partner_name' , 'title', 'function', 'street', 'street2', + 'partner_name' , 'title', 'function', 'street', 'street2', 'zip', 'city', 'country_id', 'state_id', 'email_from', 'phone', 'fax', 'mobile', 'categ_id', 'description', ] - return proxy._mail_body_text(cr, uid, lead, field_names, context=context) + return proxy._mail_body(cr, uid, lead, field_names, context=context) - def _get_message_body_text(self, cr, uid, lead, mode='whole', context=None): - """This function gets whole communication history and returns as top posting style + def _get_message_body(self, cr, uid, lead, history_mode='whole', context=None): + """ This function gets whole communication history and returns as top + posting style + #1: form a body, based on the lead + #2: append to the body the communication history, based on the + history_mode parameter + + - info: Forward the case information + - latest: Send the latest history + - whole: Send the whole history + + :param lead: browse_record on crm.lead + :param history_mode: 'whole' or 'latest' """ mail_message = self.pool.get('mail.message') - message_ids = [] - body = self._get_info_body_text(cr, uid, lead, context=context) - if mode in ('whole', 'latest'): - message_ids = lead.message_ids - message_ids = map(lambda x: x.id, filter(lambda x: x.email_from, message_ids)) - if mode == 'latest' and len(message_ids): - message_ids = [message_ids[0]] - for message in mail_message.browse(cr, uid, message_ids, context=context): - header = '-------- Original Message --------' - sender = 'From: %s' %(message.email_from or '') - to = 'To: %s' % (message.email_to or '') - sentdate = 'Date: %s' % (message.date or '') - desc = '\n%s'%(message.body_text) - original = [header, sender, to, sentdate, desc, '\n'] - original = '\n'.join(original) - body += original + body = self._get_info_body(cr, uid, lead, context=context) + if history_mode not in ('whole', 'latest'): + return body or '' + for message in lead.message_ids: + header = '-------- Original Message --------' + sentdate = 'Date: %s' % (message.date or '') + desc = '\n%s'%(message.body) + original = [header, sentdate, desc, '\n'] + original = '\n'.join(original) + body += original + if history_mode == 'latest': + break return body or '' - def get_value(self, cr, uid, model, res_id, context=None): - if context is None: - context = {} - res = super(crm_lead_forward_to_partner, self).get_value(cr, uid, model, res_id, context=context) - if model not in ("crm.lead"): - return res - proxy = self.pool.get(model) - partner = self.pool.get('res.partner') - lead = proxy.browse(cr, uid, res_id, context=context) - mode = context.get('mail.compose.message.mode') - if mode == "forward": - body_type = context.get('mail.compose.message.body') - email_cc = res.get('email_cc', "") - email = res.get('email_to', "") - subject = '%s: %s - %s' % (_('Fwd'), 'Lead forward', lead.name) - body = self._get_message_body_text(cr, uid, lead, body_type, context=context) - partner_assigned_id = lead.partner_assigned_id and lead.partner_assigned_id.id or False - user_id = False - if not partner_assigned_id: - partner_assigned_id = proxy.search_geo_partner(cr, uid, [lead.id], context=None).get(lead.id, False) - if partner_assigned_id: - assigned_partner = partner.browse(cr, uid, partner_assigned_id, context=context) - user_id = assigned_partner.user_id and assigned_partner.user_id.id or False - email_cc = assigned_partner.user_id and assigned_partner.user_id.email or '' - email = assigned_partner.email - - res.update({ - 'subject' : subject, - 'body_text' : body, - 'email_cc' : email_cc, - 'email_to' : email, - 'partner_assigned_id': partner_assigned_id, - 'user_id': user_id, - }) - return res - - def default_get(self, cr, uid, fields, context=None): - if context is None: - context = {} - context['mail.compose.message.mode'] = 'forward' - context['mail.compose.message.body'] = 'info' - return super(crm_lead_forward_to_partner, self).default_get(cr, uid, fields, context=context) # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/crm_partner_assign/wizard/crm_forward_to_partner_view.xml b/addons/crm_partner_assign/wizard/crm_forward_to_partner_view.xml index cecf73954e5..0d8f27eec74 100644 --- a/addons/crm_partner_assign/wizard/crm_forward_to_partner_view.xml +++ b/addons/crm_partner_assign/wizard/crm_forward_to_partner_view.xml @@ -7,42 +7,31 @@ crm.lead.forward.to.partner
+ + + - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - -
-
@@ -57,18 +46,14 @@ new - - - - + /> diff --git a/addons/crm_profiling/i18n/nb.po b/addons/crm_profiling/i18n/nb.po new file mode 100644 index 00000000000..653dc05522e --- /dev/null +++ b/addons/crm_profiling/i18n/nb.po @@ -0,0 +1,212 @@ +# Norwegian Bokmal 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-09-06 14:26+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Norwegian Bokmal \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-09-07 04:58+0000\n" +"X-Generator: Launchpad (build 15914)\n" + +#. module: crm_profiling +#: view:crm_profiling.questionnaire:0 +msgid "Questions List" +msgstr "Spørsmål liste." + +#. module: crm_profiling +#: model:ir.actions.act_window,help:crm_profiling.open_questionnaires +msgid "" +"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." +msgstr "" +"Du kan opprette spesifikke tema-relaterte spørreskjemaer for å styre lag (e) " +"i salgsperioden ved å hjelpe dem til å stille de riktige spørsmålene. " +"Segmentering verktøyet lar deg automatisk tildele en partner til en kategori " +"i henhold til hans svar til de ulike spørreskjemaer." + +#. module: crm_profiling +#: field:crm_profiling.answer,question_id:0 +#: field:crm_profiling.question,name:0 +#: model:ir.model,name:crm_profiling.model_crm_profiling_question +#: field:open.questionnaire.line,question_id:0 +msgid "Question" +msgstr "Spørsmål" + +#. module: crm_profiling +#: model:ir.actions.act_window,name:crm_profiling.action_open_questionnaire +#: view:open.questionnaire:0 +msgid "Open Questionnaire" +msgstr "åpen Spørreskjema" + +#. module: crm_profiling +#: field:crm.segmentation,child_ids:0 +msgid "Child Profiles" +msgstr "Barn profiler" + +#. module: crm_profiling +#: view:crm.segmentation:0 +msgid "Partner Segmentations" +msgstr "Partner segmenteringer" + +#. module: crm_profiling +#: field:crm_profiling.answer,name:0 +#: model:ir.model,name:crm_profiling.model_crm_profiling_answer +#: field:open.questionnaire.line,answer_id:0 +msgid "Answer" +msgstr "Svar" + +#. module: crm_profiling +#: model:ir.model,name:crm_profiling.model_open_questionnaire_line +msgid "open.questionnaire.line" +msgstr "Åpen.Spørreskjema.Linje" + +#. module: crm_profiling +#: model:ir.model,name:crm_profiling.model_crm_segmentation +msgid "Partner Segmentation" +msgstr "Partnersegmentering" + +#. module: crm_profiling +#: view:res.partner:0 +msgid "Profiling" +msgstr "Profilering" + +#. module: crm_profiling +#: view:crm_profiling.questionnaire:0 +#: field:crm_profiling.questionnaire,description:0 +msgid "Description" +msgstr "Beskrivelse:" + +#. module: crm_profiling +#: field:crm.segmentation,answer_no:0 +msgid "Excluded Answers" +msgstr "Ekskluderte svar" + +#. module: crm_profiling +#: view:crm_profiling.answer:0 +#: view:crm_profiling.question:0 +#: field:res.partner,answers_ids:0 +msgid "Answers" +msgstr "Svar" + +#. module: crm_profiling +#: model:ir.model,name:crm_profiling.model_open_questionnaire +msgid "open.questionnaire" +msgstr "Åpen.Spørresjema" + +#. module: crm_profiling +#: field:open.questionnaire,questionnaire_id:0 +msgid "Questionnaire name" +msgstr "Spørresjema navn." + +#. module: crm_profiling +#: view:res.partner:0 +msgid "Use a questionnaire" +msgstr "Bruk et spørresjema." + +#. module: crm_profiling +#: view:open.questionnaire:0 +msgid "_Cancel" +msgstr "_Avbryt" + +#. module: crm_profiling +#: field:open.questionnaire,question_ans_ids:0 +msgid "Question / Answers" +msgstr "Spørsmål / Svar" + +#. module: crm_profiling +#: view:crm_profiling.questionnaire:0 +#: model:ir.actions.act_window,name:crm_profiling.open_questionnaires +#: model:ir.ui.menu,name:crm_profiling.menu_segm_questionnaire +#: view:open.questionnaire:0 +msgid "Questionnaires" +msgstr "Spørreskjemaer" + +#. module: crm_profiling +#: help:crm.segmentation,profiling_active:0 +msgid "" +"Check this box if you want to use this tab as " +"part of the segmentation rule. If not checked, " +"the criteria beneath will be ignored" +msgstr "" +"Kryss av her hvis du ønsker å bruke denne kategorien som en del av " +"segmentering regelen. Hvis det ikke er merket, vil kriteriene under bli " +"ignorert." + +#. module: crm_profiling +#: constraint:crm.segmentation:0 +msgid "Error ! You can not create recursive profiles." +msgstr "Feil ! Du kan ikke lage rekursive profiler." + +#. module: crm_profiling +#: field:crm.segmentation,profiling_active:0 +msgid "Use The Profiling Rules" +msgstr "Bruk profileringen Regler" + +#. module: crm_profiling +#: constraint:res.partner:0 +msgid "Error ! You cannot create recursive associated members." +msgstr "Feil! Du kan ikke opprette rekursive tilknyttede medlemmer." + +#. module: crm_profiling +#: view:crm_profiling.question:0 +#: field:crm_profiling.question,answers_ids:0 +msgid "Avalaible Answers" +msgstr "" + +#. module: crm_profiling +#: field:crm.segmentation,answer_yes:0 +msgid "Included Answers" +msgstr "Inkluderte svar." + +#. module: crm_profiling +#: view:crm_profiling.question:0 +#: field:crm_profiling.questionnaire,questions_ids:0 +#: model:ir.actions.act_window,name:crm_profiling.open_questions +#: model:ir.ui.menu,name:crm_profiling.menu_segm_answer +msgid "Questions" +msgstr "Spørsmål" + +#. module: crm_profiling +#: field:crm.segmentation,parent_id:0 +msgid "Parent Profile" +msgstr "Overordnede profil" + +#. module: crm_profiling +#: view:open.questionnaire:0 +msgid "Cancel" +msgstr "Kanseller" + +#. module: crm_profiling +#: model:ir.model,name:crm_profiling.model_res_partner +msgid "Partner" +msgstr "Partner" + +#. module: crm_profiling +#: code:addons/crm_profiling/wizard/open_questionnaire.py:77 +#: field:crm_profiling.questionnaire,name:0 +#: model:ir.model,name:crm_profiling.model_crm_profiling_questionnaire +#: view:open.questionnaire:0 +#: view:open.questionnaire.line:0 +#: field:open.questionnaire.line,wizard_id:0 +#, python-format +msgid "Questionnaire" +msgstr "Spørreskjemaet" + +#. module: crm_profiling +#: view:open.questionnaire:0 +msgid "Save Data" +msgstr "Lagre data" + +#~ msgid "Avalaible answers" +#~ msgstr "Tilgjengelige svar." diff --git a/addons/crm_profiling/i18n/zh_TW.po b/addons/crm_profiling/i18n/zh_TW.po index 38c30a4c90f..51632d83b0b 100644 --- a/addons/crm_profiling/i18n/zh_TW.po +++ b/addons/crm_profiling/i18n/zh_TW.po @@ -7,19 +7,19 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2012-05-10 18:26+0000\n" -"Last-Translator: Walter Cheuk \n" +"PO-Revision-Date: 2012-08-29 08:56+0000\n" +"Last-Translator: Bonnie Duan \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-08-28 06:25+0000\n" +"X-Launchpad-Export-Date: 2012-08-30 05:12+0000\n" "X-Generator: Launchpad (build 15864)\n" #. module: crm_profiling #: view:crm_profiling.questionnaire:0 msgid "Questions List" -msgstr "問題表" +msgstr "問題列表" #. module: crm_profiling #: model:ir.actions.act_window,help:crm_profiling.open_questionnaires @@ -28,7 +28,7 @@ msgid "" "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." -msgstr "" +msgstr "你能建立特定主題的問卷調查去指導你的團隊在銷售週期向客戶詢問合適的問題。這細分工具能根據不同問題的答案自動劃分業務夥伴到不同的類型。" #. module: crm_profiling #: field:crm_profiling.answer,question_id:0 @@ -47,12 +47,12 @@ msgstr "開啟問卷" #. module: crm_profiling #: field:crm.segmentation,child_ids:0 msgid "Child Profiles" -msgstr "" +msgstr "子客戶特徵" #. module: crm_profiling #: view:crm.segmentation:0 msgid "Partner Segmentations" -msgstr "伙伴分割" +msgstr "業務夥伴分類" #. module: crm_profiling #: field:crm_profiling.answer,name:0 @@ -64,17 +64,17 @@ msgstr "答案" #. module: crm_profiling #: model:ir.model,name:crm_profiling.model_open_questionnaire_line msgid "open.questionnaire.line" -msgstr "" +msgstr "open.questionnaire.line" #. module: crm_profiling #: model:ir.model,name:crm_profiling.model_crm_segmentation msgid "Partner Segmentation" -msgstr "伙伴區間" +msgstr "業務夥伴分類" #. module: crm_profiling #: view:res.partner:0 msgid "Profiling" -msgstr "" +msgstr "紀錄運行效能(Profiling)" #. module: crm_profiling #: view:crm_profiling.questionnaire:0 @@ -97,7 +97,7 @@ msgstr "答案" #. module: crm_profiling #: model:ir.model,name:crm_profiling.model_open_questionnaire msgid "open.questionnaire" -msgstr "" +msgstr "open.questionnaire" #. module: crm_profiling #: field:open.questionnaire,questionnaire_id:0 @@ -112,12 +112,12 @@ msgstr "使用問卷" #. module: crm_profiling #: view:open.questionnaire:0 msgid "_Cancel" -msgstr "" +msgstr "取消(_C)" #. module: crm_profiling #: field:open.questionnaire,question_ans_ids:0 msgid "Question / Answers" -msgstr "" +msgstr "問/答" #. module: crm_profiling #: view:crm_profiling.questionnaire:0 @@ -133,22 +133,22 @@ msgid "" "Check this box if you want to use this tab as " "part of the segmentation rule. If not checked, " "the criteria beneath will be ignored" -msgstr "" +msgstr "勾選這選項,如果你想使用這標籤作為細分規則的一部分。如果勾選,這規則將被忽略" #. module: crm_profiling #: constraint:crm.segmentation:0 msgid "Error ! You can not create recursive profiles." -msgstr "" +msgstr "錯誤! 你不能建立相關的簡介。" #. module: crm_profiling #: field:crm.segmentation,profiling_active:0 msgid "Use The Profiling Rules" -msgstr "" +msgstr "使用這客戶特徵的規則" #. module: crm_profiling #: constraint:res.partner:0 msgid "Error ! You cannot create recursive associated members." -msgstr "" +msgstr "錯誤! 您不能建立相關的會員用戶" #. module: crm_profiling #: view:crm_profiling.question:0 @@ -172,7 +172,7 @@ msgstr "問題" #. module: crm_profiling #: field:crm.segmentation,parent_id:0 msgid "Parent Profile" -msgstr "" +msgstr "上級客戶簡介" #. module: crm_profiling #: view:open.questionnaire:0 diff --git a/addons/crm_todo/i18n/nb.po b/addons/crm_todo/i18n/nb.po new file mode 100644 index 00000000000..44a49165e40 --- /dev/null +++ b/addons/crm_todo/i18n/nb.po @@ -0,0 +1,95 @@ +# Norwegian Bokmal 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-09-04 14:07+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Norwegian Bokmal \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-09-05 04:46+0000\n" +"X-Generator: Launchpad (build 15901)\n" + +#. module: crm_todo +#: model:ir.model,name:crm_todo.model_project_task +msgid "Task" +msgstr "Oppgave" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Timebox" +msgstr "Timeboks" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "For cancelling the task" +msgstr "For å avbryte oppgaven" + +#. module: crm_todo +#: constraint:project.task:0 +msgid "Error ! Task end-date must be greater then task start-date" +msgstr "Feil! Oppgave sluttdato må være større enn oppgave startdato" + +#. 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 "Neste" + +#. 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 "Mine oppgaver" + +#. module: crm_todo +#: view:crm.lead:0 +#: field:crm.lead,task_ids:0 +msgid "Tasks" +msgstr "Oppgaver" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Done" +msgstr "Utført" + +#. module: crm_todo +#: constraint:project.task:0 +msgid "Error ! You cannot create recursive tasks." +msgstr "Feil! Du kan ikke lage en rekursive oppgaver." + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Cancel" +msgstr "Kanseller" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Extra Info" +msgstr "Ekstra informasjon" + +#. module: crm_todo +#: field:project.task,lead_id:0 +msgid "Lead / Opportunity" +msgstr "Lede / mulighet" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "For changing to done state" +msgstr "For å bytte til ferdig tilstand" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Previous" +msgstr "Tidligere" diff --git a/addons/crm_todo/i18n/zh_TW.po b/addons/crm_todo/i18n/zh_TW.po new file mode 100644 index 00000000000..e092528ac19 --- /dev/null +++ b/addons/crm_todo/i18n/zh_TW.po @@ -0,0 +1,95 @@ +# Chinese (Traditional) 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-08-29 09:15+0000\n" +"Last-Translator: Bonnie Duan \n" +"Language-Team: Chinese (Traditional) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-08-30 05:12+0000\n" +"X-Generator: Launchpad (build 15864)\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 "crm.lead" + +#. 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/decimal_precision/decimal_precision.py b/addons/decimal_precision/decimal_precision.py index d9f6aa7b8db..93d69eb3093 100644 --- a/addons/decimal_precision/decimal_precision.py +++ b/addons/decimal_precision/decimal_precision.py @@ -22,6 +22,7 @@ from osv import osv, fields import tools import pooler +from openerp import SUPERUSER_ID class decimal_precision(osv.osv): _name = 'decimal.precision' @@ -56,7 +57,7 @@ decimal_precision() def get_precision(application): def change_digit(cr): - res = pooler.get_pool(cr.dbname).get('decimal.precision').precision_get(cr, 1, application) + res = pooler.get_pool(cr.dbname).get('decimal.precision').precision_get(cr, SUPERUSER_ID, application) return (16, res) return change_digit diff --git a/addons/decimal_precision/i18n/zh_TW.po b/addons/decimal_precision/i18n/zh_TW.po index df549f8858b..511eb20fafb 100644 --- a/addons/decimal_precision/i18n/zh_TW.po +++ b/addons/decimal_precision/i18n/zh_TW.po @@ -8,13 +8,13 @@ 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-27 08:06+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2012-08-29 07:43+0000\n" +"Last-Translator: Bonnie Duan \n" "Language-Team: Chinese (Traditional) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:34+0000\n" +"X-Launchpad-Export-Date: 2012-08-30 05:12+0000\n" "X-Generator: Launchpad (build 15864)\n" #. module: decimal_precision @@ -46,7 +46,7 @@ msgstr "小數精確度" #. module: decimal_precision #: model:ir.model,name:decimal_precision.model_decimal_precision msgid "decimal.precision" -msgstr "" +msgstr "decimal.precision" #~ msgid "Decimal Precision Configuration" #~ msgstr "小數精確度設定" diff --git a/addons/document/board_document_view.xml b/addons/document/board_document_view.xml index a802d788e05..986b054383f 100644 --- a/addons/document/board_document_view.xml +++ b/addons/document/board_document_view.xml @@ -8,9 +8,6 @@
- diff --git a/addons/document/i18n/zh_TW.po b/addons/document/i18n/zh_TW.po index b49d418b9c6..84e7f3c7cfa 100644 --- a/addons/document/i18n/zh_TW.po +++ b/addons/document/i18n/zh_TW.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2011-01-28 03:53+0000\n" -"Last-Translator: Walter Cheuk \n" -"Language-Team: \n" +"PO-Revision-Date: 2012-08-30 11:51+0000\n" +"Last-Translator: Bonnie Duan \n" +"Language-Team: Cenoq Corp.\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:28+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-08-31 04:56+0000\n" +"X-Generator: Launchpad (build 15887)\n" #. module: document #: field:document.directory,parent_id:0 @@ -35,7 +35,7 @@ msgstr "名稱欄位" #. module: document #: view:board.board:0 msgid "Document board" -msgstr "" +msgstr "文件佈告欄" #. module: document #: model:ir.model,name:document.model_process_node @@ -58,7 +58,7 @@ msgstr "用作資源目錄名稱之欄位。如留空,會用該「名稱」。 #: view:document.directory:0 #: view:document.storage:0 msgid "Group By..." -msgstr "分組根據..." +msgstr "分類方式..." #. module: document #: model:ir.model,name:document.model_document_directory_content_type @@ -79,7 +79,7 @@ msgstr "檔案" #. module: document #: view:report.files.partner:0 msgid "Files per Month" -msgstr "" +msgstr "當月文件" #. module: document #: selection:report.document.user,month:0 @@ -90,12 +90,12 @@ msgstr "三月" #. module: document #: view:document.configuration:0 msgid "title" -msgstr "" +msgstr "抬頭" #. module: document #: field:document.directory.dctx,expr:0 msgid "Expression" -msgstr "表達式" +msgstr "表達方式" #. module: document #: view:document.directory:0 @@ -111,7 +111,7 @@ msgstr "目錄內容" #. module: document #: view:document.directory:0 msgid "Dynamic context" -msgstr "" +msgstr "動態背景" #. module: document #: model:ir.ui.menu,name:document.menu_document_management_configuration @@ -125,11 +125,14 @@ msgid "" "You can use 'dir_id' for current dir, 'res_id', 'res_model' as a reference " "to the current record, in dynamic folders" msgstr "" +"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" #. module: document #: view:report.document.user:0 msgid "This Year" -msgstr "本年" +msgstr "今年" #. module: document #: field:document.storage,path:0 @@ -146,7 +149,7 @@ msgstr "目錄名不能重覆!" #. module: document #: view:ir.attachment:0 msgid "Filter on my documents" -msgstr "" +msgstr "過濾我的文件" #. module: document #: field:ir.attachment,index_content:0 @@ -158,12 +161,12 @@ msgstr "已索引內容" msgid "" "If true, all attachments that match this resource will be located. If " "false, only ones that have this as parent." -msgstr "" +msgstr "如果正確,所有符合資源的附件會被發現。如果錯誤,只有符合資源的附件會被歸屬。" #. module: document #: model:ir.actions.todo.category,name:document.category_knowledge_mgmt_config msgid "Knowledge Management" -msgstr "" +msgstr "知識管理" #. module: document #: view:document.directory:0 @@ -175,7 +178,7 @@ msgstr "目錄" #. module: document #: model:ir.model,name:document.model_report_document_user msgid "Files details by Users" -msgstr "各用戶檔案詳情" +msgstr "各使用者檔案詳情" #. module: document #: code:addons/document/document_storage.py:573 @@ -187,17 +190,17 @@ msgstr "錯誤!" #. module: document #: field:document.directory,resource_find_all:0 msgid "Find all resources" -msgstr "" +msgstr "尋找所有資源" #. module: document #: selection:document.directory,type:0 msgid "Folders per resource" -msgstr "" +msgstr "按資源歸類檔案夾" #. module: document #: field:document.directory.content,suffix:0 msgid "Suffix" -msgstr "後綴" +msgstr "字尾" #. module: document #: field:report.document.user,change_date:0 @@ -207,7 +210,7 @@ msgstr "修改日期" #. module: document #: view:document.configuration:0 msgid "Knowledge Application Configuration" -msgstr "" +msgstr "文管設定" #. module: document #: view:ir.attachment:0 @@ -219,7 +222,7 @@ msgstr "伙伴" #. module: document #: view:board.board:0 msgid "Files by Users" -msgstr "各用戶檔案" +msgstr "使用者檔案" #. module: document #: field:process.node,directory_id:0 @@ -239,7 +242,7 @@ msgstr "檢驗錯誤" #. module: document #: model:ir.model,name:document.model_ir_actions_report_xml msgid "ir.actions.report.xml" -msgstr "" +msgstr "ir.actions.report.xml" #. module: document #: model:ir.actions.act_window,name:document.action_document_file_form @@ -252,13 +255,13 @@ msgstr "文件" #. module: document #: constraint:document.directory:0 msgid "Error! You can not create recursive Directories." -msgstr "" +msgstr "錯誤! 您不可以建立循環目錄。" #. module: document #: view:document.directory:0 #: field:document.directory,storage_id:0 msgid "Storage" -msgstr "" +msgstr "存儲器" #. module: document #: field:document.directory,ressource_type_id:0 @@ -292,28 +295,28 @@ msgstr "類型" msgid "" "Select an object here and there will be one folder per record of that " "resource." -msgstr "" +msgstr "在這裡選擇一個目標,這個資源將會是一筆記錄一個檔案夾" #. module: document #: help:document.directory,domain:0 msgid "" "Use a domain if you want to apply an automatic filter on visible resources." -msgstr "" +msgstr "請使用一個領域,如果您要將可見的資源自動過濾。" #. module: document #: model:ir.actions.act_window,name:document.action_view_files_by_partner msgid "Files Per Partner" -msgstr "" +msgstr "夥伴文件" #. module: document #: field:document.directory,dctx_ids:0 msgid "Context fields" -msgstr "脈絡欄位" +msgstr "內文欄位" #. module: document #: field:ir.attachment,store_fname:0 msgid "Stored Filename" -msgstr "" +msgstr "儲存名稱" #. module: document #: view:document.directory:0 @@ -336,7 +339,7 @@ msgstr "七月" #: 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 "文件儀錶板" +msgstr "文件控制台" #. module: document #: field:document.directory.content.type,code:0 @@ -346,7 +349,7 @@ msgstr "延伸檔案" #. module: document #: view:ir.attachment:0 msgid "Created" -msgstr "" +msgstr "已建立" #. module: document #: field:document.directory,content_ids:0 @@ -356,25 +359,25 @@ msgstr "虛擬檔案" #. module: document #: view:ir.attachment:0 msgid "Modified" -msgstr "" +msgstr "已修改" #. module: document #: code:addons/document/document_storage.py:639 #, python-format msgid "Error at doc write!" -msgstr "" +msgstr "文件書寫錯誤!" #. module: document #: view:document.directory:0 msgid "Generated Files" -msgstr "" +msgstr "已產生檔案" #. module: document #: view:document.configuration:0 msgid "" "When executing this wizard, it will configure your directories automatically " "according to modules installed." -msgstr "" +msgstr "執行這個精靈,它會根據已安裝的模組自動組態您的目錄。" #. module: document #: field:document.directory.content,directory_id:0 @@ -397,7 +400,7 @@ msgstr "安全" #: field:document.storage,write_uid:0 #: field:ir.attachment,write_uid:0 msgid "Last Modification User" -msgstr "最後修改用戶" +msgstr "最後修改使用者" #. module: document #: model:ir.actions.act_window,name:document.act_res_partner_document @@ -425,7 +428,7 @@ msgstr "各目錄檔案詳情" #. module: document #: view:report.document.user:0 msgid "All users files" -msgstr "所有用戶檔案" +msgstr "所有使用者檔案" #. module: document #: view:board.board:0 @@ -453,18 +456,18 @@ msgstr "靜態目錄" #. module: document #: field:document.directory,child_ids:0 msgid "Children" -msgstr "" +msgstr "子目錄" #. module: document #: view:document.directory:0 msgid "Define words in the context, for all child directories and files" -msgstr "" +msgstr "在內文中定義所有的子目錄及檔案" #. module: document #: help:document.storage,online:0 msgid "" "If not checked, media is currently offline and its contents not available" -msgstr "" +msgstr "如果未檢查,媒體已離線且其內容也無法使用。" #. module: document #: view:document.directory:0 @@ -475,7 +478,7 @@ msgstr "" #: field:report.document.user,user_id:0 #: field:report.document.wall,user_id:0 msgid "Owner" -msgstr "" +msgstr "擁有人" #. module: document #: view:document.directory:0 @@ -492,7 +495,7 @@ msgstr "內容" #: field:document.storage,create_date:0 #: field:report.document.user,create_date:0 msgid "Date Created" -msgstr "" +msgstr "產生的日期" #. module: document #: help:document.directory.content,include_name:0 @@ -501,12 +504,14 @@ msgid "" "name.\n" "If set, the directory will have to be a resource one." msgstr "" +"如果您要檔案名稱包含記錄名稱,請檢查這個欄位。\n" +"如果設定, 這個目錄將會是第一個資源" #. module: document #: view:document.configuration:0 #: model:ir.actions.act_window,name:document.action_config_auto_directory msgid "Configure Directories" -msgstr "" +msgstr "目錄組態" #. module: document #: field:document.directory.content,include_name:0 @@ -521,26 +526,26 @@ msgstr "附件" #. module: document #: field:ir.actions.report.xml,model_id:0 msgid "Model Id" -msgstr "" +msgstr "模型 Id" #. module: document #: field:document.storage,online:0 msgid "Online" -msgstr "" +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 "" +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 "" +msgstr "隨著母模型,這個ID在這個檔案夾附屬在母模型的特定記錄上。" #. module: document #: selection:report.document.user,month:0 @@ -551,7 +556,7 @@ msgstr "八月" #. module: document #: sql_constraint:document.directory:0 msgid "Directory cannot be parent of itself!" -msgstr "" +msgstr "目錄不能作自己的母目錄!" #. module: document #: selection:report.document.user,month:0 @@ -563,7 +568,7 @@ msgstr "六月" #: field:report.document.user,user:0 #: field:report.document.wall,user:0 msgid "User" -msgstr "用戶" +msgstr "使用者" #. module: document #: field:document.directory,group_ids:0 @@ -574,7 +579,7 @@ msgstr "群組" #. module: document #: field:document.directory.content.type,active:0 msgid "Active" -msgstr "" +msgstr "啟用" #. module: document #: selection:report.document.user,month:0 @@ -596,6 +601,8 @@ msgid "" "record, just like attachments. Don't put a parent directory if you select a " "parent model." msgstr "" +"如果您在這裡放置一個目標,這個目錄範本將會出現下列所有目標。這種目錄是 \"附件\" " +"於特定的模型或記錄,就像附屬文件。如果您選擇一個母模型,就不要放置母目錄。" #. module: document #: view:document.directory:0 @@ -611,7 +618,7 @@ msgstr "十月" #. module: document #: view:document.directory:0 msgid "Seq." -msgstr "" +msgstr "Seq." #. module: document #: selection:document.storage,type:0 @@ -637,12 +644,12 @@ msgstr "" #. module: document #: model:ir.ui.menu,name:document.menu_reports_document msgid "Dashboard" -msgstr "儀錶板" +msgstr "控制台" #. module: document #: model:ir.actions.act_window,name:document.action_view_user_graph msgid "Files By Users" -msgstr "各用戶檔案" +msgstr "各使用者檔案" #. module: document #: field:document.storage,readonly:0 @@ -652,7 +659,7 @@ msgstr "唯讀" #. module: document #: model:ir.actions.act_window,name:document.action_document_directory_form msgid "Document Directory" -msgstr "" +msgstr "文件目錄" #. module: document #: sql_constraint:document.directory:0 @@ -663,12 +670,12 @@ msgstr "目錄名不能重覆!" #: field:document.directory,create_uid:0 #: field:document.storage,create_uid:0 msgid "Creator" -msgstr "" +msgstr "建置者" #. module: document #: field:document.directory.content,sequence:0 msgid "Sequence" -msgstr "" +msgstr "順序" #. module: document #: view:document.configuration:0 @@ -678,6 +685,8 @@ msgid "" "attached to the document, or to print and download any report. This tool " "will create directories automatically according to modules installed." msgstr "" +"OpenERP's " +"文件管理系統支援虛擬檔案夾與文件配對。文件的虛擬檔案夾可以用來管理文件的附件,或列印及下載任何報表。這個工具會根據安裝的模組自動產生目錄。" #. module: document #: view:board.board:0 @@ -695,7 +704,7 @@ msgstr "九月" #. module: document #: field:document.directory.content,prefix:0 msgid "Prefix" -msgstr "前綴" +msgstr "字尾" #. module: document #: field:report.document.wall,last:0 @@ -710,7 +719,7 @@ msgstr "檔案名稱" #. module: document #: view:document.configuration:0 msgid "res_config_contents" -msgstr "" +msgstr "res_config_contents" #. module: document #: field:document.directory,ressource_id:0 @@ -720,19 +729,19 @@ msgstr "資源ID" #. module: document #: selection:document.storage,type:0 msgid "External file storage" -msgstr "" +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 "" +msgstr "排行榜" #. module: document #: help:document.storage,path:0 msgid "For file storage, the root path of the storage" -msgstr "" +msgstr "關於檔案儲存,儲存的根路徑" #. module: document #: model:ir.model,name:document.model_report_files_partner @@ -747,17 +756,17 @@ msgstr "欄位" #. module: document #: model:ir.model,name:document.model_document_directory_dctx msgid "Directory Dynamic Context" -msgstr "" +msgstr "目錄動態內文" #. module: document #: field:document.directory,ressource_parent_type_id:0 msgid "Parent Model" -msgstr "" +msgstr "母模型" #. module: document #: view:report.document.user:0 msgid "Files by users" -msgstr "各用戶檔案" +msgstr "各使用者檔案" #. module: document #: field:report.document.file,month:0 @@ -771,12 +780,12 @@ msgstr "月" #. module: document #: view:report.document.user:0 msgid "This Months Files" -msgstr "" +msgstr "當月檔案" #. module: document #: model:ir.ui.menu,name:document.menu_reporting msgid "Reporting" -msgstr "報告" +msgstr "報表" #. module: document #: field:document.directory,ressource_tree:0 @@ -792,29 +801,29 @@ msgstr "五月" #. module: document #: model:ir.actions.act_window,name:document.action_view_all_document_tree1 msgid "All Users files" -msgstr "所有用戶檔案" +msgstr "所有使用者檔案" #. module: document #: model:ir.model,name:document.model_report_document_wall msgid "Users that did not inserted documents since one month" -msgstr "" +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 "" +msgstr "文件儲存室讓您可以存取所有附件,如電郵、專案文件、商業發票等" #. module: document #: view:document.directory:0 msgid "For each entry here, virtual files will appear in this folder." -msgstr "" +msgstr "對於每一輸入,虛擬檔案在檔案夾中出現" #. module: document #: model:ir.model,name:document.model_ir_attachment msgid "ir.attachment" -msgstr "" +msgstr "ir.attachment" #. module: document #: view:board.board:0 @@ -834,7 +843,7 @@ msgstr "各伙伴檔案" #. module: document #: view:ir.attachment:0 msgid "Indexed Content - experimental" -msgstr "" +msgstr "已索引內容 - 實驗性質" #. module: document #: view:report.document.user:0 @@ -844,12 +853,12 @@ msgstr "本月" #. module: document #: view:ir.attachment:0 msgid "Notes" -msgstr "注解" +msgstr "備註" #. module: document #: model:ir.model,name:document.model_document_configuration msgid "Directory Configuration" -msgstr "" +msgstr "目錄組態" #. module: document #: help:document.directory,type:0 @@ -860,6 +869,8 @@ msgid "" "resources automatically possess sub-directories for each of resource types " "defined in the parent directory." msgstr "" +"每一個目錄可以是靜態或連接於另一個資源。一個靜態的目錄與其作業系統,是一個典型的目錄可以包含一組檔案。這個目錄連接於系統資源,在母目錄中按資源別自動持有次" +"目錄。" #. module: document #: selection:report.document.user,month:0 @@ -871,14 +882,14 @@ msgstr "二月" #: 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 "各用戶統計" +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 "" +msgstr "這個欄位名稱的字首包含\"dctx_\" 將會根據這裡的輸入預先決定。" #. module: document #: field:document.directory,name:0 @@ -889,7 +900,7 @@ msgstr "名稱" #. module: document #: sql_constraint:document.storage:0 msgid "The storage path must be unique!" -msgstr "" +msgstr "儲存路徑不能重複!" #. module: document #: view:document.directory:0 @@ -899,7 +910,7 @@ msgstr "欄位" #. module: document #: help:document.storage,readonly:0 msgid "If set, media is for reading only" -msgstr "" +msgstr "如果設定,媒體只能唯讀。" #. module: document #: selection:report.document.user,month:0 @@ -918,21 +929,21 @@ msgstr "檔案數" #: code:addons/document/document.py:209 #, python-format msgid "(copy)" -msgstr "" +msgstr "(copy)" #. module: document #: view:document.directory:0 msgid "" "Only members of these groups will have access to this directory and its " "files." -msgstr "" +msgstr "只有這個群組中的數字,才能存取這個目錄及其檔案。" #. module: document #: view:document.directory:0 msgid "" "These groups, however, do NOT apply to children directories, which must " "define their own groups." -msgstr "" +msgstr "雖然這些模組沒有子目錄,但是還是要定義它們自己的群組。" #. module: document #: field:document.directory.content.type,mimetype:0 @@ -942,7 +953,7 @@ msgstr "Mime 類型" #. module: document #: view:report.document.user:0 msgid "All Months Files" -msgstr "" +msgstr "所有月份文件" #. module: document #: field:document.directory.content,name:0 @@ -959,12 +970,12 @@ msgstr "檔案名不能重覆!" #. module: document #: selection:document.storage,type:0 msgid "Internal File storage" -msgstr "" +msgstr "內部文件儲存" #. module: document #: sql_constraint:document.directory:0 msgid "Directory must have a parent or a storage" -msgstr "" +msgstr "目錄必須要有母目錄或儲存" #. module: document #: model:ir.actions.act_window,name:document.action_document_directory_tree @@ -1030,3 +1041,6 @@ msgstr "文件類型" #~ msgid "Product" #~ msgstr "產品" + +#~ msgid "Attached To" +#~ msgstr "附屬於" diff --git a/addons/document_ftp/i18n/nb.po b/addons/document_ftp/i18n/nb.po new file mode 100644 index 00000000000..3598b00f54c --- /dev/null +++ b/addons/document_ftp/i18n/nb.po @@ -0,0 +1,121 @@ +# Norwegian Bokmal 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-09-06 14:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Norwegian Bokmal \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-09-07 04:59+0000\n" +"X-Generator: Launchpad (build 15914)\n" + +#. module: document_ftp +#: model:ir.model,name:document_ftp.model_document_ftp_configuration +msgid "Auto Directory Configuration" +msgstr "Automatisk Katalog Konfigurasjon." + +#. module: document_ftp +#: view:document.ftp.configuration:0 +msgid "" +"Indicate the network address on which your OpenERP server should be " +"reachable for end-users. This depends on your network topology and " +"configuration, and will only affect the links displayed to the users. The " +"format is HOST:PORT and the default host (localhost) is only suitable for " +"access from the server machine itself.." +msgstr "" +"Indikere nettverksadressen som din OpenERP server bør være tilgjengelige for " +"sluttbrukerne. Dette avhenger av nettverkstopologi og konfigurasjon, og vil " +"bare påvirke lenker som vises til brukerne. Formatet er HOST: PORT og " +"standard verten (lokalhost) er bare egnet for tilgang fra serveren maskinen " +"selv .." + +#. module: document_ftp +#: model:ir.actions.url,name:document_ftp.action_document_browse +msgid "Browse Files" +msgstr "Bla i filer" + +#. module: document_ftp +#: field:document.ftp.configuration,config_logo:0 +msgid "Image" +msgstr "Bilde" + +#. module: document_ftp +#: field:document.ftp.configuration,host:0 +msgid "Address" +msgstr "Adresse" + +#. module: document_ftp +#: field:document.ftp.browse,url:0 +msgid "FTP Server" +msgstr "FTP-tjener" + +#. module: document_ftp +#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory +msgid "FTP Server Configuration" +msgstr "FTP Serverkonfigurasjon" + +#. module: document_ftp +#: view:document.ftp.browse:0 +msgid "_Browse" +msgstr "_Bla gjennom" + +#. module: document_ftp +#: help:document.ftp.configuration,host:0 +msgid "" +"Server address or IP and port to which users should connect to for DMS access" +msgstr "" +"Server adresse eller IP og port til hvilke brukere som skal koble seg til " +"for DMS tilgang" + +#. module: document_ftp +#: model:ir.ui.menu,name:document_ftp.menu_document_browse +msgid "Shared Repository (FTP)" +msgstr "Wikimedia Commons (FTP)" + +#. module: document_ftp +#: view:document.ftp.browse:0 +msgid "_Cancel" +msgstr "_Avbryt" + +#. module: document_ftp +#: view:document.ftp.configuration:0 +msgid "Configure FTP Server" +msgstr "Konfigurer FTP serveren" + +#. module: document_ftp +#: view:document.ftp.configuration:0 +msgid "title" +msgstr "tittel" + +#. module: document_ftp +#: model:ir.model,name:document_ftp.model_document_ftp_browse +msgid "Document FTP Browse" +msgstr "Document FTP Bla i." + +#. module: document_ftp +#: view:document.ftp.configuration:0 +msgid "Knowledge Application Configuration" +msgstr "Kunnskap Programkonfigurasjon" + +#. module: document_ftp +#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse +msgid "Document Browse" +msgstr "Dokument Bla i." + +#. module: document_ftp +#: view:document.ftp.browse:0 +msgid "Browse Document" +msgstr "Bla igjennom dokument" + +#. module: document_ftp +#: view:document.ftp.configuration:0 +msgid "res_config_contents" +msgstr "res_konfig_innhold" diff --git a/addons/document_ftp/i18n/zh_TW.po b/addons/document_ftp/i18n/zh_TW.po new file mode 100644 index 00000000000..90a9e531a96 --- /dev/null +++ b/addons/document_ftp/i18n/zh_TW.po @@ -0,0 +1,116 @@ +# Chinese (Traditional) 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-08-29 09:46+0000\n" +"Last-Translator: Bonnie Duan \n" +"Language-Team: Chinese (Traditional) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-08-30 05:12+0000\n" +"X-Generator: Launchpad (build 15864)\n" + +#. module: document_ftp +#: model:ir.model,name:document_ftp.model_document_ftp_configuration +msgid "Auto Directory Configuration" +msgstr "自動目錄配置" + +#. module: document_ftp +#: view:document.ftp.configuration:0 +msgid "" +"Indicate the network address on which your OpenERP server should be " +"reachable for end-users. This depends on your network topology and " +"configuration, and will only affect the links displayed to the users. The " +"format is HOST:PORT and the default host (localhost) is only suitable for " +"access from the server machine itself.." +msgstr "" +"說明OpenERP的服務器上的網絡地址應該為最終用戶訪問。這取決於您的網絡拓撲和配置,而且只會影響顯示給用戶的鏈接。的格式為HOST:PORT和預設的主機" +"(localhost)的訪問從服務器本身只適合.." + +#. module: document_ftp +#: model:ir.actions.url,name:document_ftp.action_document_browse +msgid "Browse Files" +msgstr "瀏覽檔案" + +#. module: document_ftp +#: field:document.ftp.configuration,config_logo:0 +msgid "Image" +msgstr "圖像" + +#. module: document_ftp +#: field:document.ftp.configuration,host:0 +msgid "Address" +msgstr "地址" + +#. module: document_ftp +#: field:document.ftp.browse,url:0 +msgid "FTP Server" +msgstr "FTP 伺服器" + +#. module: document_ftp +#: model:ir.actions.act_window,name:document_ftp.action_config_auto_directory +msgid "FTP Server Configuration" +msgstr "FTP Server Configuration" + +#. module: document_ftp +#: view:document.ftp.browse:0 +msgid "_Browse" +msgstr "瀏覽(_B)" + +#. module: document_ftp +#: help:document.ftp.configuration,host:0 +msgid "" +"Server address or IP and port to which users should connect to for DMS access" +msgstr "服務器地址或IP地址和端口,用戶應該連接到DMS訪問" + +#. module: document_ftp +#: model:ir.ui.menu,name:document_ftp.menu_document_browse +msgid "Shared Repository (FTP)" +msgstr "供享的儲存庫" + +#. module: document_ftp +#: view:document.ftp.browse:0 +msgid "_Cancel" +msgstr "取消(_C)" + +#. module: document_ftp +#: view:document.ftp.configuration:0 +msgid "Configure FTP Server" +msgstr "設置FTP 伺服器" + +#. module: document_ftp +#: view:document.ftp.configuration:0 +msgid "title" +msgstr "標題" + +#. module: document_ftp +#: model:ir.model,name:document_ftp.model_document_ftp_browse +msgid "Document FTP Browse" +msgstr "瀏覽FTP文件" + +#. module: document_ftp +#: view:document.ftp.configuration:0 +msgid "Knowledge Application Configuration" +msgstr "知識應用配置" + +#. module: document_ftp +#: model:ir.actions.act_window,name:document_ftp.action_ftp_browse +msgid "Document Browse" +msgstr "文件瀏覽" + +#. module: document_ftp +#: view:document.ftp.browse:0 +msgid "Browse Document" +msgstr "瀏覽文件" + +#. module: document_ftp +#: view:document.ftp.configuration:0 +msgid "res_config_contents" +msgstr "res_config_contents" diff --git a/addons/document_page/i18n/zh_TW.po b/addons/document_page/i18n/zh_TW.po index 0ce1ed5d91b..08d9b01e2d3 100644 --- a/addons/document_page/i18n/zh_TW.po +++ b/addons/document_page/i18n/zh_TW.po @@ -7,165 +7,165 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-02-08 01:37+0100\n" -"PO-Revision-Date: 2012-08-13 12:08+0000\n" -"Last-Translator: <>\n" +"PO-Revision-Date: 2012-08-30 09:36+0000\n" +"Last-Translator: Bonnie Duan \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-08-28 06:43+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-08-31 04:56+0000\n" +"X-Generator: Launchpad (build 15887)\n" #. module: document_page #: field:document.page.type,template:0 msgid "Document page Template" -msgstr "" +msgstr "文檔頁面範本" #. module: document_page #: model:ir.actions.act_window,name:document_page.action_wiki #: model:ir.ui.menu,name:document_page.menu_action_wiki_wiki msgid "Document Pages" -msgstr "" +msgstr "文檔頁面" #. module: document_page #: field:document.page.type,method:0 msgid "Display Method" -msgstr "" +msgstr "展示方法" #. module: document_page #: view:document.page:0 field:document.page,create_uid:0 msgid "Author" -msgstr "" +msgstr "作者" #. module: document_page #: model:ir.actions.act_window,name:document_page.action_view_wiki_wiki_page_open #: view:document.page.page.open:0 msgid "Open Page" -msgstr "" +msgstr "開啓葉面" #. module: document_page #: field:document.page,menu_id:0 msgid "Menu" -msgstr "" +msgstr "選單" #. module: document_page #: help:document.page,type:0 msgid "Indicates that this pages have a table of contents or not" -msgstr "" +msgstr "表示,這個頁面至少有一個表的內容" #. module: document_page #: model:ir.model,name:document_page.model_wiki_wiki_history view:document.page.history:0 msgid "Document page History" -msgstr "" +msgstr "頁面歷史文件" #. module: document_page #: field:document.page,minor_edit:0 msgid "Minor edit" -msgstr "" +msgstr "小編輯" #. module: document_page #: view:document.page:0 field:document.page,content:0 msgid "Content" -msgstr "" +msgstr "內容" #. module: document_page #: field:document.page,child_ids:0 msgid "Child Pages" -msgstr "" +msgstr "子頁面" #. module: document_page #: field:document.page,parent_id:0 msgid "Parent Page" -msgstr "" +msgstr "上級頁面" #. module: document_page #: view:document.page:0 field:document.page,write_uid:0 msgid "Last Contributor" -msgstr "" +msgstr "最後的貢獻者" #. module: document_page #: field:document.page.create.menu,menu_parent_id:0 msgid "Parent Menu" -msgstr "" +msgstr "上級選單" #. module: document_page #: field:document.page,name:0 msgid "Title" -msgstr "" +msgstr "標題" #. module: document_page #: model:ir.model,name:document_page.model_wiki_create_menu msgid "Wizard Create Menu" -msgstr "" +msgstr "嚮導創建選單" #. module: document_page #: field:document.page,history_id:0 msgid "History Lines" -msgstr "" +msgstr "歷史記錄" #. module: document_page #: view:document.page:0 msgid "Page Content" -msgstr "" +msgstr "頁面內容" #. module: document_page #: code:addons/document_page/document_page.py:237 code:addons/wiki/wizard/wiki_make_index.py:52 #, python-format msgid "Warning !" -msgstr "" +msgstr "警告!" #. module: document_page #: code:addons/document_page/document_page.py:237 #, python-format msgid "There are no changes in revisions" -msgstr "" +msgstr "有沒有變化修訂" #. module: document_page #: field:document.page.create.menu,menu_name:0 msgid "Menu Name" -msgstr "" +msgstr "選單名稱" #. module: document_page #: field:document.page.type,notes:0 msgid "Description" -msgstr "" +msgstr "描述" #. module: document_page #: field:document.page,review:0 msgid "Needs Review" -msgstr "" +msgstr "需要回顧" #. module: document_page #: help:document.page,review:0 msgid "" "Indicates that this page should be reviewed, raising the attention of other " "contributors" -msgstr "" +msgstr "表示這個頁面應該檢討,提高其他出資人的注意" #. module: document_page #: view:document.page.create.menu:0 view:document.page.make.index:0 msgid "Menu Information" -msgstr "" +msgstr "選單資訊" #. module: document_page #: model:ir.actions.act_window,name:document_page.act_wiki_wiki_history msgid "Page History" -msgstr "" +msgstr "頁面歷史記錄" #. module: document_page #: selection:document.page.type,method:0 msgid "Tree" -msgstr "" +msgstr "目錄樹" #. module: document_page #: view:document.page.type:0 msgid "Page Template" -msgstr "" +msgstr "頁面模版" #. module: document_page #: field:document.page,tags:0 msgid "Keywords" -msgstr "" +msgstr "關鍵字" #. module: document_page #: model:ir.actions.act_window,help:document_page.action_wiki @@ -175,173 +175,175 @@ msgid "" "(CRM, Sales, etc.). You can use keywords to ease access to your wiki pages. " "There is a basic wiki editing for text format." msgstr "" +"Wiki頁面,您可以與您的同事的想法和問題。您可以創建一個新的文件,可以連接到一個或多個應用程序(客戶關係管理(CRM),銷售等)。您可以使用關鍵字,以便" +"於訪問到您的wiki頁面。有一個基本的的維基編輯為文本格式。" #. module: document_page #: code:addons/document_page/wizard/document_page_show_diff.py:54 #, python-format msgid "Warning" -msgstr "" +msgstr "警告" #. module: document_page #: help:document.page.type,home:0 msgid "Required to select home page if display method is Home Page" -msgstr "" +msgstr "在首頁,需要選擇首頁顯示的方法" #. module: document_page #: field:document.page.history,create_date:0 msgid "Date" -msgstr "" +msgstr "日期" #. module: document_page #: view:document.page.make.index:0 msgid "Want to create a Index on Selected Pages ? " -msgstr "" +msgstr "要選定的頁面上創建一個索引呢? " #. module: document_page #: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff #: model:ir.actions.act_window,name:document_page.action_view_wiki_show_diff_values #: view:wizard.document.page.history.show_diff:0 msgid "Difference" -msgstr "" +msgstr "差異" #. module: document_page #: field:document.page.type,page_ids:0 msgid "Pages" -msgstr "" +msgstr "頁面" #. module: document_page #: view:document.page.type:0 msgid "Group Description" -msgstr "" +msgstr "群組敘述" #. module: document_page #: view:document.page.page.open:0 msgid "Want to open a wiki page? " -msgstr "" +msgstr "要打開一個wiki頁面? " #. module: document_page #: field:document.page.history,content:0 msgid "Text area" -msgstr "" +msgstr "文本區域" #. module: document_page #: view:document.page:0 msgid "Meta Information" -msgstr "" +msgstr "中繼資訊" #. module: document_page #: field:document.page,create_date:0 msgid "Created on" -msgstr "" +msgstr "建立於" #. module: document_page #: view:document.page.type:0 view:wizard.document.page.history.show_diff:0 msgid "Notes" -msgstr "" +msgstr "備註" #. module: document_page #: selection:document.page.type,method:0 msgid "List" -msgstr "" +msgstr "列表" #. module: document_page #: field:document.page,summary:0 field:document.page.history,edit_summary:0 msgid "Summary" -msgstr "" +msgstr "摘要" #. module: document_page #: field:document.page.groups,create_date:0 msgid "Created Date" -msgstr "" +msgstr "建立日期" #. module: document_page #: model:ir.actions.act_window,name:document_page.action_history msgid "All Page Histories" -msgstr "" +msgstr "所有頁面的歷史記錄" #. module: document_page #: model:ir.model,name:document_page.model_wiki_wiki msgid "document.page" -msgstr "" +msgstr "document.page" #. module: document_page #: help:document.page.type,method:0 msgid "Define the default behaviour of the menu created on this group" -msgstr "" +msgstr "本組創建的選單中定義默認行為" #. module: document_page #: view:wizard.document.page.history.show_diff:0 msgid "Close" -msgstr "" +msgstr "結束" #. module: document_page #: model:ir.model,name:document_page.model_wizard_wiki_history_show_diff msgid "wizard.document.page.history.show_diff" -msgstr "" +msgstr "wizard.document.page.history.show_diff" #. module: document_page #: field:document.page.history,wiki_id:0 msgid "Wiki Id" -msgstr "" +msgstr "維基標識" #. module: document_page #: field:document.page.type,home:0 selection:document.page.type,method:0 msgid "Home Page" -msgstr "" +msgstr "首頁" #. module: document_page #: help:document.page,parent_id:0 msgid "Allows you to link with the other page with in the current topic" -msgstr "" +msgstr "允許您與其他頁的鏈接,在當前主題" #. module: document_page #: view:document.page:0 msgid "Modification Information" -msgstr "" +msgstr "修改信息" #. module: document_page #: model:ir.ui.menu,name:document_page.menu_wiki_configuration view:document.page:0 msgid "Wiki" -msgstr "" +msgstr "維基 (Wiki)" #. module: document_page #: field:document.page,write_date:0 msgid "Modification Date" -msgstr "" +msgstr "修改日期" #. module: document_page #: view:document.page.type:0 msgid "Configuration" -msgstr "" +msgstr "設置" #. module: document_page #: model:ir.actions.act_window,name:document_page.action_view_wiki_make_index #: model:ir.actions.act_window,name:document_page.action_view_wiki_make_index_values #: model:ir.model,name:document_page.model_wiki_make_index view:document.page.make.index:0 msgid "Create Index" -msgstr "" +msgstr "創建索引" #. module: document_page #: code:addons/document_page/wizard/document_page_show_diff.py:54 #, python-format msgid "You need to select minimum 1 or maximum 2 history revision!" -msgstr "" +msgstr "您需要選擇最小或最大歷史修訂!" #. module: document_page #: view:document.page:0 msgid "Group By..." -msgstr "" +msgstr "分類方式..." #. module: document_page #: model:ir.actions.act_window,name:document_page.action_wiki_create_menu #: view:document.page.create.menu:0 view:document.page.type:0 view:document.page.make.index:0 msgid "Create Menu" -msgstr "" +msgstr "建立選單" #. module: document_page #: field:document.page.history,minor_edit:0 msgid "This is a major edit ?" -msgstr "" +msgstr "這是一個主要的編輯嗎?" #. module: document_page #: model:ir.actions.act_window,name:document_page.action_wiki_groups @@ -349,56 +351,56 @@ msgstr "" #: model:ir.model,name:document_page.model_wiki_groups #: model:ir.ui.menu,name:document_page.menu_action_wiki_groups view:document.page.type:0 msgid "Document Types" -msgstr "" +msgstr "文件類型" #. module: document_page #: view:document.page:0 msgid "Topic" -msgstr "" +msgstr "主題" #. module: document_page #: field:document.page.history,write_uid:0 msgid "Modify By" -msgstr "" +msgstr "修改者" #. module: document_page #: code:addons/document_page/web/widgets/wikimarkup/__init__.py:1981 #: field:document.page,type:0 #, python-format msgid "Type" -msgstr "" +msgstr "類型" #. module: document_page #: view:document.page.type:0 view:document.page.page.open:0 msgid "Open Document Page" -msgstr "" +msgstr "開啓文件" #. module: document_page #: model:ir.model,name:document_page.model_wiki_wiki_page_open msgid "wiz open page" -msgstr "" +msgstr "WIZ打開的頁面" #. module: document_page #: view:document.page.create.menu:0 view:document.page.make.index:0 view:document.page.page.open:0 msgid "Cancel" -msgstr "" +msgstr "刪除" #. module: document_page #: field:wizard.document.page.history.show_diff,file_path:0 msgid "Diff" -msgstr "" +msgstr "差異" #. module: document_page #: view:document.page:0 msgid "Need Review" -msgstr "" +msgstr "需要回顧" #. module: document_page #: model:ir.actions.act_window,name:document_page.action_wiki_review msgid "Pages Waiting Review" -msgstr "" +msgstr "頁面等待審查" #. module: document_page #: model:ir.actions.act_window,name:document_page.act_wiki_group_open msgid "Search Page" -msgstr "" +msgstr "搜尋頁面" diff --git a/addons/document_page/static/src/css/document_page.css b/addons/document_page/static/src/css/document_page.css index 723ff8d9b11..77597fb4281 100644 --- a/addons/document_page/static/src/css/document_page.css +++ b/addons/document_page/static/src/css/document_page.css @@ -1,7 +1,3 @@ -.oe_form_readonly .oe_notebook { - display: none; -} - .oe_document_page ul, .oe_document_page li { padding: 2px 8px; margin: 2px 8px; diff --git a/addons/document_webdav/i18n/zh_TW.po b/addons/document_webdav/i18n/zh_TW.po new file mode 100644 index 00000000000..121d57b341a --- /dev/null +++ b/addons/document_webdav/i18n/zh_TW.po @@ -0,0 +1,196 @@ +# Chinese (Traditional) 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-08-30 11:51+0000\n" +"Last-Translator: Bonnie Duan \n" +"Language-Team: Cenoq Corp.\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-08-31 04:56+0000\n" +"X-Generator: Launchpad (build 15887)\n" + +#. module: document_webdav +#: field:document.webdav.dir.property,create_date:0 +#: field:document.webdav.file.property,create_date:0 +msgid "Date Created" +msgstr "建立日期" + +#. module: document_webdav +#: model:ir.ui.menu,name:document_webdav.menu_document_props +msgid "Documents" +msgstr "文件" + +#. module: document_webdav +#: constraint:document.directory:0 +msgid "Error! You can not create recursive Directories." +msgstr "錯誤! 您不能建立循環的目錄" + +#. module: document_webdav +#: view:document.webdav.dir.property:0 +#: view:document.webdav.file.property:0 +msgid "Search Document properties" +msgstr "搜尋文件目錄" + +#. module: document_webdav +#: view:document.webdav.dir.property:0 +#: field:document.webdav.dir.property,namespace:0 +#: view:document.webdav.file.property:0 +#: field:document.webdav.file.property,namespace:0 +msgid "Namespace" +msgstr "Namespace" + +#. module: document_webdav +#: field:document.directory,dav_prop_ids:0 +msgid "DAV properties" +msgstr "DAV 內容" + +#. module: document_webdav +#: model:ir.model,name:document_webdav.model_document_webdav_file_property +msgid "document.webdav.file.property" +msgstr "document.webdav.file.property" + +#. module: document_webdav +#: view:document.webdav.dir.property:0 +#: view:document.webdav.file.property:0 +msgid "Group By..." +msgstr "群組...." + +#. module: document_webdav +#: view:document.directory:0 +msgid "These properties will be added to WebDAV requests" +msgstr "這些內容將被加到 WebDAV 請求" + +#. module: document_webdav +#: model:ir.actions.act_window,name:document_webdav.action_file_props_form +msgid "DAV Properties for Documents" +msgstr "文件的DAV 內容" + +#. module: document_webdav +#: code:addons/document_webdav/webdav.py:37 +#, python-format +msgid "PyWebDAV Import Error!" +msgstr "PyWebDAV 匯入錯誤!" + +#. module: document_webdav +#: view:document.webdav.file.property:0 +#: field:document.webdav.file.property,file_id:0 +msgid "Document" +msgstr "文件" + +#. module: document_webdav +#: model:ir.ui.menu,name:document_webdav.menu_folder_props +msgid "Folders" +msgstr "檔案夾" + +#. module: document_webdav +#: sql_constraint:document.directory:0 +msgid "Directory cannot be parent of itself!" +msgstr "目錄不能成為自己的母目錄!" + +#. module: document_webdav +#: view:document.directory:0 +msgid "Dynamic context" +msgstr "動態背景" + +#. module: document_webdav +#: view:document.directory:0 +msgid "WebDAV properties" +msgstr "WebDAV 內容" + +#. module: document_webdav +#: sql_constraint:document.directory:0 +msgid "The directory name must be unique !" +msgstr "目錄名不能重覆!" + +#. module: document_webdav +#: code:addons/document_webdav/webdav.py:37 +#, python-format +msgid "" +"Please install PyWebDAV from " +"http://code.google.com/p/pywebdav/downloads/detail?name=PyWebDAV-" +"0.9.4.tar.gz&can=2&q=/" +msgstr "" +"從 http://code.google.com/p/pywebdav/downloads/detail?name=PyWebDAV-" +"0.9.4.tar.gz&can=2&q=/,請安裝 PyWebDAV" + +#. module: document_webdav +#: model:ir.actions.act_window,name:document_webdav.action_dir_props_form +msgid "DAV Properties for Folders" +msgstr "DAV 檔案夾內容" + +#. module: document_webdav +#: view:document.directory:0 +#: view:document.webdav.dir.property:0 +#: view:document.webdav.file.property:0 +msgid "Properties" +msgstr "內容" + +#. module: document_webdav +#: field:document.webdav.dir.property,name:0 +#: field:document.webdav.file.property,name:0 +msgid "Name" +msgstr "名稱" + +#. module: document_webdav +#: model:ir.model,name:document_webdav.model_document_webdav_dir_property +msgid "document.webdav.dir.property" +msgstr "document.webdav.dir.property" + +#. module: document_webdav +#: field:document.webdav.dir.property,value:0 +#: field:document.webdav.file.property,value:0 +msgid "Value" +msgstr "價值" + +#. module: document_webdav +#: field:document.webdav.dir.property,dir_id:0 +#: model:ir.model,name:document_webdav.model_document_directory +msgid "Directory" +msgstr "目錄" + +#. module: document_webdav +#: field:document.webdav.dir.property,write_uid:0 +#: field:document.webdav.file.property,write_uid:0 +msgid "Last Modification User" +msgstr "最後修改使用者" + +#. module: document_webdav +#: view:document.webdav.dir.property:0 +msgid "Dir" +msgstr "路徑" + +#. module: document_webdav +#: field:document.webdav.dir.property,write_date:0 +#: field:document.webdav.file.property,write_date:0 +msgid "Date Modified" +msgstr "修改日期" + +#. module: document_webdav +#: field:document.webdav.dir.property,create_uid:0 +#: field:document.webdav.file.property,create_uid:0 +msgid "Creator" +msgstr "建立者" + +#. module: document_webdav +#: model:ir.ui.menu,name:document_webdav.menu_properties +msgid "DAV Properties" +msgstr "DAV 內容" + +#. module: document_webdav +#: sql_constraint:document.directory:0 +msgid "Directory must have a parent or a storage" +msgstr "目錄必須要有母目錄或儲存室" + +#. module: document_webdav +#: field:document.webdav.dir.property,do_subst:0 +#: field:document.webdav.file.property,do_subst:0 +msgid "Substitute" +msgstr "替代項目" diff --git a/addons/document_webdav/nodes.py b/addons/document_webdav/nodes.py index d6ceca458cd..a8fedee4fe3 100644 --- a/addons/document_webdav/nodes.py +++ b/addons/document_webdav/nodes.py @@ -25,6 +25,8 @@ from tools.safe_eval import safe_eval as eval import time import urllib import uuid +from openerp import SUPERUSER_ID + try: from tools.dict_tools import dict_filter except ImportError: @@ -233,7 +235,7 @@ class node_acl_mixin(object): if props_to_delete: # explicitly delete, as admin, any of the ids we have identified. - propobj.unlink(cr, 1, props_to_delete) + propobj.unlink(cr, SUPERUSER_ID, props_to_delete) if lock_data.get('unlock_mode', False): return lock_found and True diff --git a/addons/document_webdav/test_davclient.py b/addons/document_webdav/test_davclient.py index f1f2e58c835..0f66363c553 100755 --- a/addons/document_webdav/test_davclient.py +++ b/addons/document_webdav/test_davclient.py @@ -42,6 +42,7 @@ from tools import config from xmlrpclib import Transport, ProtocolError import StringIO import base64 +from openerp import SUPERUSER_ID _logger = logging.getLogger(__name__) @@ -361,7 +362,7 @@ class DAVClient(object): to break if "base_crypt" is used. """ ruob = obj.pool.get('res.users') - res = ruob.read(cr, 1, [uid,], ['login', 'password']) + res = ruob.read(cr, SUPERUSER_ID, [uid,], ['login', 'password']) assert res, "uid %s not found" % uid self.user = res[0]['login'] self.passwd = res[0]['password'] diff --git a/addons/edi/i18n/zh_TW.po b/addons/edi/i18n/zh_TW.po new file mode 100644 index 00000000000..3ea35742e44 --- /dev/null +++ b/addons/edi/i18n/zh_TW.po @@ -0,0 +1,386 @@ +# Chinese (Traditional) 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-08-30 11:51+0000\n" +"Last-Translator: Bonnie Duan \n" +"Language-Team: Cenoq Corp.\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-08-31 04:56+0000\n" +"X-Generator: Launchpad (build 15887)\n" + +#. module: edi +#: sql_constraint:res.currency:0 +msgid "The currency code must be unique per company!" +msgstr "每個公司的貨幣代碼必須唯一" + +#. module: edi +#: model:ir.model,name:edi.model_res_partner_address +msgid "Partner Addresses" +msgstr "業務夥伴地址" + +#. module: edi +#: sql_constraint:res.company:0 +msgid "The company name must be unique !" +msgstr "公司名稱必須唯一!" + +#. module: edi +#: constraint:res.partner:0 +msgid "Error ! You cannot create recursive associated members." +msgstr "錯誤,您不能建立循環引用的會員" + +#. module: edi +#: field:edi.document,name:0 +msgid "EDI token" +msgstr "EDI權杖" + +#. module: edi +#: help:edi.document,name:0 +msgid "Unique identifier for retrieving an EDI document." +msgstr "接收EDI文件的唯一標識符" + +#. module: edi +#: constraint:res.company:0 +msgid "Error! You can not create recursive companies." +msgstr "錯誤!您不能建立循環引用的公司." + +#. module: edi +#: model:ir.model,name:edi.model_res_company +msgid "Companies" +msgstr "公司" + +#. module: edi +#: sql_constraint:edi.document:0 +msgid "EDI Tokens must be unique!" +msgstr "EDI權杖必須唯一" + +#. module: edi +#: model:ir.model,name:edi.model_res_currency +msgid "Currency" +msgstr "貨幣" + +#. module: edi +#: code:addons/edi/models/edi.py:153 +#, python-format +msgid "" +"The document you are trying to import requires the OpenERP `%s` application. " +"You can install it by connecting as the administrator and opening the " +"configuration assistant." +msgstr "你要匯入的文件需要OpenERP的 %s 模組。你可以用管理員使用者安裝並打開配置精靈。" + +#. module: edi +#: help:edi.document,document:0 +msgid "EDI document content" +msgstr "EDI文件內容" + +#. module: edi +#: model:ir.model,name:edi.model_edi_document +msgid "EDI Document" +msgstr "EDI文件" + +#. module: edi +#: code:addons/edi/models/edi.py:48 +#, python-format +msgid "'%s' is an invalid external ID" +msgstr "%s是個無效的外部ID" + +#. module: edi +#: model:ir.model,name:edi.model_res_partner +msgid "Partner" +msgstr "業務夥伴" + +#. module: edi +#: code:addons/edi/models/edi.py:152 +#, python-format +msgid "Missing Application" +msgstr "不存在此功能" + +#. module: edi +#: field:edi.document,document:0 +msgid "Document" +msgstr "文件" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:23 +msgid "View/Print" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:28 +msgid "Import this document" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:33 +msgid "Import it into an existing OpenERP instance" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:36 +msgid "OpenERP instance address:" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:39 +msgid "Import" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:44 +msgid "Import it into a new OpenERP Online instance" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:47 +msgid "Create my new OpenERP instance" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:52 +msgid "Import into another application" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:54 +msgid "" +"OpenERP's Electronic Data Interchange documents are based on a generic and " +"language\n" +" independent" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:56 +msgid "JSON" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:56 +msgid "" +"serialization of the document's attribute.\n" +" It is usually very quick and straightforward to " +"create a small plug-in for your preferred\n" +" application that will be capable of importing " +"any OpenERP EDI document.\n" +" You can find out more details about how to do " +"this and what the content of OpenERP EDI documents\n" +" is like in the" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:60 +msgid "OpenERP documentation" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:61 +msgid "To get started immediately," +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:62 +msgid "see is all it takes to use this EDI document in Python" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:70 +msgid "You can download the raw EDI document here:" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:73 +msgid "Download" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:87 +msgid "Powered by" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi.xml:87 +msgid "OpenERP" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:34 +msgid "Invoice" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:37 +msgid "Description" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:38 +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:41 +msgid "Date" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:39 +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:40 +msgid "Your Reference" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:50 +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:57 +msgid "Product Description" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:51 +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:58 +msgid "Quantity" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:52 +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:59 +msgid "Unit Price" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:53 +msgid "Discount" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:54 +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:61 +msgid "Price" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:72 +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:81 +msgid "Net Total:" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:83 +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:92 +msgid "Taxes:" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:94 +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:103 +msgid "Total:" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:106 +msgid "Tax" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:107 +msgid "Base Amount" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:108 +msgid "Amount" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:121 +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:113 +msgid "Notes:" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:129 +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:121 +msgid "Pay Online" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:133 +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:125 +msgid "Paypal" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:135 +msgid "" +"You may directly pay this invoice online via Paypal's secure payment gateway:" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:145 +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:137 +msgid "Bank Wire Transfer" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:147 +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:139 +msgid "Please transfer" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:148 +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:140 +msgid "to" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:149 +msgid "" +"(postal address on the invoice header)\n" +" using one of the following bank accounts. Be sure to " +"mention the invoice\n" +" reference" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_account.xml:151 +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:143 +msgid "on the transfer:" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:36 +msgid "Order" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:42 +msgid "Salesman" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:43 +msgid "Payment terms" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:60 +msgid "Discount(%)" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:127 +msgid "" +"You may directly pay this order online via Paypal's secure payment gateway:" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/edi/static/src/xml/edi_sale_purchase.xml:141 +msgid "" +"(postal address on the order header)\n" +" using one of the following bank accounts. Be sure to " +"mention the document\n" +" reference" +msgstr "" diff --git a/addons/edi/static/src/xml/edi.xml b/addons/edi/static/src/xml/edi.xml index 88e09824b9b..111cb6d9d26 100644 --- a/addons/edi/static/src/xml/edi.xml +++ b/addons/edi/static/src/xml/edi.xml @@ -6,7 +6,7 @@ - +
@@ -26,19 +27,9 @@
diff --git a/addons/email_template/email_template.py b/addons/email_template/email_template.py index b43b7d19b85..4080e62f002 100644 --- a/addons/email_template/email_template.py +++ b/addons/email_template/email_template.py @@ -28,6 +28,8 @@ from osv import osv from osv import fields import tools from tools.translate import _ +from tools.html_sanitize import html_sanitize +from tools import append_content_to_html from urllib import quote as quote _logger = logging.getLogger(__name__) @@ -38,10 +40,8 @@ except ImportError: class email_template(osv.osv): "Templates for sending email" - _inherit = 'mail.message' _name = "email.template" _description = 'Email Templates' - _rec_name = 'name' # override mail.message's behavior def render_template(self, cr, uid, template, model, res_id, context=None): """Render the given template text, replace mako expressions ``${expr}`` @@ -99,66 +99,46 @@ class email_template(osv.osv): mod_name = False if model_id: mod_name = self.pool.get('ir.model').browse(cr, uid, model_id, context).model - return {'value':{'model': mod_name}} - - def name_get(self, cr, uid, ids, context=None): - """ Override name_get of mail.message: return directly the template - name, and not the generated name from mail.message.common.""" - return [(record.id, record.name) for record in self.browse(cr, uid, ids, context=context)] + return {'value': {'model': mod_name}} _columns = { - 'name': fields.char('Name', size=250), - 'model_id': fields.many2one('ir.model', 'Related document model'), - 'lang': fields.char('Language Selection', size=250, + 'name': fields.char('Name'), + 'model_id': fields.many2one('ir.model', 'Applies to', help="The kind of document with with this template can be used"), + 'model': fields.related('model_id', 'model', type='char', string='Related Document Model', + size=128, select=True, store=True, readonly=True), + 'lang': fields.char('Language', help="Optional translation language (ISO code) to select when sending out an email. " "If not set, the english version will be used. " "This should usually be a placeholder expression " "that provides the appropriate language code, e.g. " - "${object.partner_id.lang.code}."), + "${object.partner_id.lang.code}.", + placeholder="${object.partner_id.lang.code}"), 'user_signature': fields.boolean('Add Signature', help="If checked, the user's signature will be appended to the text version " "of the message"), - 'report_name': fields.char('Report Filename', size=200, translate=True, - help="Name to use for the generated report file (may contain placeholders)\n" - "The extension can be omitted and will then come from the report type."), - 'report_template':fields.many2one('ir.actions.report.xml', 'Optional report to print and attach'), - 'ref_ir_act_window':fields.many2one('ir.actions.act_window', 'Sidebar action', readonly=True, - help="Sidebar action to make this template available on records " - "of the related document model"), - 'ref_ir_value':fields.many2one('ir.values', 'Sidebar Button', readonly=True, - help="Sidebar button to open the sidebar action"), - 'track_campaign_item': fields.boolean('Resource Tracking', - help="Enable this is you wish to include a special tracking marker " - "in outgoing emails so you can identify replies and link " - "them back to the corresponding resource record. " - "This is useful for CRM leads for example"), - - # Overridden mail.message.common fields for technical reasons: - 'model': fields.related('model_id','model', type='char', string='Related Document Model', - size=128, select=True, store=True, readonly=True), - # we need a separate m2m table to avoid ID collisions with the original mail.message entries - 'attachment_ids': fields.many2many('ir.attachment', 'email_template_attachment_rel', 'email_template_id', - 'attachment_id', 'Files to attach', - help="You may attach files to this template, to be added to all " - "emails created from this template"), - - # Overridden mail.message.common fields to make tooltips more appropriate: - 'subject':fields.char('Subject', size=512, translate=True, help="Subject (placeholders may be used here)",), - 'email_from': fields.char('From', size=128, help="Sender address (placeholders may be used here)"), - 'email_to': fields.char('To', size=256, help="Comma-separated recipient addresses (placeholders may be used here)"), - 'email_cc': fields.char('Cc', size=256, help="Carbon copy recipients (placeholders may be used here)"), - 'email_bcc': fields.char('Bcc', size=256, help="Blind carbon copy recipients (placeholders may be used here)"), - 'reply_to': fields.char('Reply-To', size=250, help="Preferred response address (placeholders may be used here)"), + 'subject': fields.char('Subject', translate=True, help="Subject (placeholders may be used here)",), + 'email_from': fields.char('From', help="Sender address (placeholders may be used here)"), + 'email_to': fields.char('To', help="Comma-separated recipient addresses (placeholders may be used here)"), + 'email_cc': fields.char('Cc', help="Carbon copy recipients (placeholders may be used here)"), + 'reply_to': fields.char('Reply-To', help="Preferred response address (placeholders may be used here)"), 'mail_server_id': fields.many2one('ir.mail_server', 'Outgoing Mail Server', readonly=False, 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', 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 " - "that option instead.\n" - "Placeholders must be used here, as this value always needs to be unique!"), + 'body_html': fields.text('Body', translate=True, help="Rich-text/HTML version of the message (placeholders may be used here)"), + 'report_name': fields.char('Report Filename', translate=True, + help="Name to use for the generated report file (may contain placeholders)\n" + "The extension can be omitted and will then come from the report type."), + 'report_template': fields.many2one('ir.actions.report.xml', 'Optional report to print and attach'), + 'ref_ir_act_window': fields.many2one('ir.actions.act_window', 'Sidebar action', readonly=True, + help="Sidebar action to make this template available on records " + "of the related document model"), + 'ref_ir_value': fields.many2one('ir.values', 'Sidebar Button', readonly=True, + help="Sidebar button to open the sidebar action"), + 'attachment_ids': fields.many2many('ir.attachment', 'email_template_attachment_rel', 'email_template_id', + 'attachment_id', 'Attachments', + help="You may attach files to this template, to be added to all " + "emails created from this template"), + 'auto_delete': fields.boolean('Auto Delete', help="Permanently delete this email after sending it, to save space"), # Fake fields used to implement the placeholder assistant 'model_object_field': fields.many2one('ir.model.fields', string="Field", @@ -172,12 +152,12 @@ class email_template(osv.osv): help="When a relationship field is selected as first field, " "this field lets you select the target field within the " "destination document model (sub-model)."), - 'null_value': fields.char('Null value', help="Optional value to use if the target field is empty", size=128), - 'copyvalue': fields.char('Expression', size=256, help="Final placeholder expression, to be copy-pasted in the desired template field."), + 'null_value': fields.char('Default Value', help="Optional value to use if the target field is empty"), + 'copyvalue': fields.char('Placeholder Expression', help="Final placeholder expression, to be copy-pasted in the desired template field."), } _defaults = { - 'track_campaign_item': True + 'auto_delete': True, } def create_action(self, cr, uid, ids, context=None): @@ -195,7 +175,7 @@ class email_template(osv.osv): 'res_model': 'mail.compose.message', 'src_model': src_obj, 'view_type': 'form', - 'context': "{'mail.compose.message.mode':'mass_mail', 'mail.compose.template_id' : %d}" % (template.id), + 'context': "{'default_composition_mode': 'mass_mail', 'default_template_id' : %d}" % (template.id), 'view_mode':'form,tree', 'view_id': res_id, 'target': 'new', @@ -222,7 +202,7 @@ class email_template(osv.osv): if template.ref_ir_value: ir_values_obj = self.pool.get('ir.values') ir_values_obj.unlink(cr, uid, template.ref_ir_value.id, context) - except: + except Exception: raise osv.except_osv(_("Warning"), _("Deletion of the action record failed.")) return True @@ -294,65 +274,33 @@ class email_template(osv.osv): :param res_id: id of the record to use for rendering the template (model is taken from template definition) :returns: a dict containing all relevant fields for creating a new - mail.message entry, with the addition one additional - special key ``attachments`` containing a list of + mail.mail entry, with one extra key ``attachments``, in the + format expected by :py:meth:`mail_thread.message_post`. """ if context is None: context = {} - values = { - 'subject': False, - 'body_text': False, - 'body_html': False, - 'email_from': False, - 'email_to': False, - 'email_cc': False, - 'email_bcc': False, - 'reply_to': False, - 'auto_delete': False, - 'model': False, - 'res_id': False, - 'mail_server_id': False, - 'attachments': False, - 'attachment_ids': False, - 'message_id': False, - 'state': 'outgoing', - 'content_subtype': 'plain', - 'partner_ids': [], - } - if not template_id: - return values - report_xml_pool = self.pool.get('ir.actions.report.xml') template = self.get_email_template(cr, uid, template_id, res_id, context) - - for field in ['subject', 'body_text', 'body_html', 'email_from', - 'email_to', 'email_cc', 'email_bcc', 'reply_to', - 'message_id']: + values = {} + for field in ['subject', 'body_html', 'email_from', + 'email_to', 'email_cc', 'reply_to']: values[field] = self.render_template(cr, uid, getattr(template, field), template.model, res_id, context=context) \ or False - - # if email_to: find or create a partner - if values['email_to']: - partner_id = self.pool.get('mail.thread').message_partner_by_email(cr, uid, values['email_to'], context=context)['partner_id'] - if not partner_id: - partner_id = self.pool.get('res.partner').name_create(cr, uid, values['email_to'], context=context) - values['partner_ids'] = [partner_id] - - if values['body_html']: - values.update(content_subtype='html') - if template.user_signature: signature = self.pool.get('res.users').browse(cr, uid, uid, context).signature - values['body_text'] += '\n\n' + signature + values['body_html'] = append_content_to_html(values['body_html'], signature) - values.update(mail_server_id = template.mail_server_id.id or False, - auto_delete = template.auto_delete, + if values['body_html']: + values['body'] = html_sanitize(values['body_html']) + + values.update(mail_server_id=template.mail_server_id.id or False, + auto_delete=template.auto_delete, model=template.model, res_id=res_id or False) - attachments = {} - # Add report as a Document + attachments = [] + # Add report in attachments if template.report_template: 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 @@ -368,12 +316,11 @@ class email_template(osv.osv): ext = "." + format if not report_name.endswith(ext): report_name += ext - attachments[report_name] = result + attachments.append(report_name, result) - # Add document attachments + # Add template attachments for attach in template.attachment_ids: - # keep the bytes as fetched from the db, base64 encoded - attachments[attach.datas_fname] = attach.datas + attachments.append((attach.datas_fname, attach.datas)) values['attachments'] = attachments return values @@ -391,12 +338,12 @@ class email_template(osv.osv): :returns: id of the mail.message that was created """ if context is None: context = {} - mail_message = self.pool.get('mail.message') + mail_mail = self.pool.get('mail.mail') ir_attachment = self.pool.get('ir.attachment') values = self.generate_email(cr, uid, template_id, res_id, context=context) assert 'email_from' in values, 'email_from is missing or empty after template rendering, send_mail() cannot proceed' attachments = values.pop('attachments') or {} - msg_id = mail_message.create(cr, uid, values, context=context) + msg_id = mail_mail.create(cr, uid, values, context=context) # link attachments attachment_ids = [] for fname, fcontent in attachments.iteritems(): @@ -404,15 +351,15 @@ class email_template(osv.osv): 'name': fname, 'datas_fname': fname, 'datas': fcontent, - 'res_model': mail_message._name, + 'res_model': mail_mail._name, 'res_id': msg_id, } 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) + mail_mail.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) + mail_mail.send(cr, uid, [msg_id], context=context) return msg_id # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/email_template/email_template_view.xml b/addons/email_template/email_template_view.xml index a04790d1c1c..448655a3121 100644 --- a/addons/email_template/email_template_view.xml +++ b/addons/email_template/email_template_view.xml @@ -1,99 +1,67 @@ - email.template.form email.template - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + - - -
@@ -78,12 +76,19 @@ - -

- News Feeds - + News Feed + / +

-
-
- - -
-
-
    - -
-
- -
-
+
    + +
@@ -56,22 +47,11 @@ Template used to display the communication history in documents form view. --> -
+
-
-
- - - -
-
-

Followers

-
    -
    -
    -
      +
        @@ -114,21 +94,21 @@
      • -
        - +
        +
        @@ -147,7 +127,7 @@