diff --git a/addons/account/account.py b/addons/account/account.py index a14c44405b9..acf27c42392 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -3521,7 +3521,7 @@ class account_bank_accounts_wizard(osv.osv_memory): _columns = { 'acc_name': fields.char('Account Name.', size=64, required=True), - 'bank_account_id': fields.many2one('wizard.multi.charts.accounts', 'Bank Account', required=True), + 'bank_account_id': fields.many2one('wizard.multi.charts.accounts', 'Bank Account', required=True, ondelete='cascade'), 'currency_id': fields.many2one('res.currency', 'Secondary Currency', help="Forces all moves for this account to have this secondary currency."), 'account_type': fields.selection([('cash','Cash'), ('check','Check'), ('bank','Bank')], 'Account Type', size=32), } diff --git a/addons/account/account_bank.py b/addons/account/account_bank.py index f2bc9a5c9a1..44411cd637a 100644 --- a/addons/account/account_bank.py +++ b/addons/account/account_bank.py @@ -41,7 +41,7 @@ class bank(osv.osv): def _prepare_name(self, bank): "Return the name to use when creating a bank journal" - return (bank.bank_name or '') + ' ' + bank.acc_number + return (bank.bank_name or '') + ' ' + (bank.acc_number or '') def _prepare_name_get(self, cr, uid, bank_dicts, context=None): """Add ability to have %(currency_name)s in the format_layout of res.partner.bank.type""" diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml index 6ca7c21a6e4..6cca8e0ce46 100644 --- a/addons/account/account_invoice_view.xml +++ b/addons/account/account_invoice_view.xml @@ -256,7 +256,7 @@ - + @@ -393,7 +393,7 @@ - diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index 5e072c3d258..3ce60902d94 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -347,6 +347,15 @@ res_model="account.move.line" src_model="account.account"/> + + + account.journal.tree @@ -841,6 +850,16 @@ res_model="account.move.line" src_model="account.tax.code"/> + + + + account.tax.tree diff --git a/addons/account/data/account_data.xml b/addons/account/data/account_data.xml index 0406efd4526..949d03324f3 100644 --- a/addons/account/data/account_data.xml +++ b/addons/account/data/account_data.xml @@ -155,11 +155,13 @@ Validated account.invoice + Invoice validated Paid account.invoice + Invoice paid diff --git a/addons/account/project/project_view.xml b/addons/account/project/project_view.xml index 1a596a4a7a9..8590ee286d4 100644 --- a/addons/account/project/project_view.xml +++ b/addons/account/project/project_view.xml @@ -12,9 +12,9 @@ - + - + @@ -30,15 +30,18 @@ - - + + + - - - + + + + + diff --git a/addons/account/report/account_invoice_report_view.xml b/addons/account/report/account_invoice_report_view.xml index ed3649c300a..dad70f695dc 100644 --- a/addons/account/report/account_invoice_report_view.xml +++ b/addons/account/report/account_invoice_report_view.xml @@ -58,6 +58,7 @@ + diff --git a/addons/account/report/account_partner_ledger.py b/addons/account/report/account_partner_ledger.py index f72e81fbc08..21c1ee3d846 100644 --- a/addons/account/report/account_partner_ledger.py +++ b/addons/account/report/account_partner_ledger.py @@ -35,10 +35,7 @@ class third_party_ledger(report_sxw.rml_parse, common_report_header): 'lines': self.lines, 'sum_debit_partner': self._sum_debit_partner, 'sum_credit_partner': self._sum_credit_partner, -# 'sum_debit': self._sum_debit, -# 'sum_credit': self._sum_credit, 'get_currency': self._get_currency, - 'comma_me': self.comma_me, 'get_start_period': self.get_start_period, 'get_end_period': self.get_end_period, 'get_account': self._get_account, @@ -78,11 +75,6 @@ class third_party_ledger(report_sxw.rml_parse, common_report_header): move_state = ['draft','posted'] if self.target_move == 'posted': move_state = ['posted'] - - if (data['model'] == 'res.partner'): - ## Si on imprime depuis les partenaires - if ids: - PARTNER_REQUEST = "AND line.partner_id IN %s",(tuple(ids),) if self.result_selection == 'supplier': self.ACCOUNT_TYPE = ['payable'] elif self.result_selection == 'customer': @@ -98,7 +90,11 @@ class third_party_ledger(report_sxw.rml_parse, common_report_header): 'WHERE a.type IN %s' \ "AND a.active", (tuple(self.ACCOUNT_TYPE), )) self.account_ids = [a for (a,) in self.cr.fetchall()] - partner_to_use = [] + params = [tuple(move_state), tuple(self.account_ids)] + #if we print from the partners, add a clause on active_ids + if (data['model'] == 'res.partner') and ids: + PARTNER_REQUEST = "AND l.partner_id IN %s" + params += [tuple(ids)] self.cr.execute( "SELECT DISTINCT l.partner_id " \ "FROM account_move_line AS l, account_account AS account, " \ @@ -110,30 +106,10 @@ class third_party_ledger(report_sxw.rml_parse, common_report_header): # "AND " + self.query +" " \ "AND l.account_id IN %s " \ " " + PARTNER_REQUEST + " " \ - "AND account.active ", - (tuple(move_state), tuple(self.account_ids),)) - - res = self.cr.dictfetchall() - for res_line in res: - partner_to_use.append(res_line['partner_id']) - new_ids = partner_to_use - self.partner_ids = new_ids - objects = obj_partner.browse(self.cr, self.uid, new_ids) - return super(third_party_ledger, self).set_context(objects, data, new_ids, report_type) - - def comma_me(self, amount): - if type(amount) is float: - amount = str('%.2f'%amount) - else: - amount = str(amount) - if (amount == '0'): - return ' ' - orig = amount - new = re.sub("^(-?\d+)(\d{3})", "\g<1>'\g<2>", amount) - if orig == new: - return new - else: - return self.comma_me(new) + "AND account.active ", params) + self.partner_ids = [res['partner_id'] for res in self.cr.dictfetchall()] + objects = obj_partner.browse(self.cr, self.uid, self.partner_ids) + return super(third_party_ledger, self).set_context(objects, data, self.partner_ids, report_type) def lines(self, partner): move_state = ['draft','posted'] @@ -290,105 +266,6 @@ class third_party_ledger(report_sxw.rml_parse, common_report_header): result_tmp = result_tmp + 0.0 return result_tmp + result_init - # code is deprecated -# def _sum_debit(self): -# move_state = ['draft','posted'] -# if self.target_move == 'posted': -# move_state = ['posted'] -# -# if not self.ids: -# return 0.0 -# result_tmp = 0.0 -# result_init = 0.0 -# if self.reconcil: -# RECONCILE_TAG = " " -# else: -# RECONCILE_TAG = "AND reconcile_id IS NULL" -# if self.initial_balance: -# self.cr.execute( -# "SELECT sum(debit) " \ -# "FROM account_move_line AS l, " \ -# "account_move AS m " -# "WHERE partner_id IN %s" \ -# "AND m.id = l.move_id " \ -# "AND m.state IN %s " -# "AND account_id IN %s" \ -# "AND reconcile_id IS NULL " \ -# "AND " + self.init_query + " ", -# (tuple(self.partner_ids), tuple(move_state), tuple(self.account_ids))) -# contemp = self.cr.fetchone() -# if contemp != None: -# result_init = contemp[0] or 0.0 -# else: -# result_init = result_tmp + 0.0 -# -# self.cr.execute( -# "SELECT sum(debit) " \ -# "FROM account_move_line AS l, " \ -# "account_move AS m " -# "WHERE partner_id IN %s" \ -# "AND m.id = l.move_id " \ -# "AND m.state IN %s " -# "AND account_id IN %s" \ -# " " + RECONCILE_TAG + " " \ -# "AND " + self.query + " ", -# (tuple(self.partner_ids), tuple(move_state) ,tuple(self.account_ids),)) -# contemp = self.cr.fetchone() -# if contemp != None: -# result_tmp = contemp[0] or 0.0 -# else: -# result_tmp = result_tmp + 0.0 -# return result_tmp + result_init -# -# def _sum_credit(self): -# move_state = ['draft','posted'] -# if self.target_move == 'posted': -# move_state = ['posted'] -# -# if not self.ids: -# return 0.0 -# result_tmp = 0.0 -# result_init = 0.0 -# if self.reconcil: -# RECONCILE_TAG = " " -# else: -# RECONCILE_TAG = "AND reconcile_id IS NULL" -# if self.initial_balance: -# self.cr.execute( -# "SELECT sum(credit) " \ -# "FROM account_move_line AS l, " \ -# "account_move AS m " -# "WHERE partner_id IN %s" \ -# "AND m.id = l.move_id " \ -# "AND m.state IN %s " -# "AND account_id IN %s" \ -# "AND reconcile_id IS NULL " \ -# "AND " + self.init_query + " ", -# (tuple(self.partner_ids), tuple(move_state), tuple(self.account_ids))) -# contemp = self.cr.fetchone() -# if contemp != None: -# result_init = contemp[0] or 0.0 -# else: -# result_init = result_tmp + 0.0 -# -# self.cr.execute( -# "SELECT sum(credit) " \ -# "FROM account_move_line AS l, " \ -# "account_move AS m " -# "WHERE partner_id IN %s" \ -# "AND m.id = l.move_id " \ -# "AND m.state IN %s " -# "AND account_id IN %s" \ -# " " + RECONCILE_TAG + " " \ -# "AND " + self.query + " ", -# (tuple(self.partner_ids), tuple(move_state), tuple(self.account_ids),)) -# contemp = self.cr.fetchone() -# if contemp != None: -# result_tmp = contemp[0] or 0.0 -# else: -# result_tmp = result_tmp + 0.0 -# return result_tmp + result_init - def _get_partners(self): if self.result_selection == 'customer': return 'Receivable Accounts' diff --git a/addons/account/wizard/account_report_partner_ledger_view.xml b/addons/account/wizard/account_report_partner_ledger_view.xml index f3dd9a80f09..34c5d55e4c1 100644 --- a/addons/account/wizard/account_report_partner_ledger_view.xml +++ b/addons/account/wizard/account_report_partner_ledger_view.xml @@ -23,7 +23,7 @@ - Select Period + Partner Ledger account.partner.ledger ir.actions.act_window form @@ -33,6 +33,13 @@ new + + + + Print Partner Ledger + + + account.analytic.account.search account.analytic.account - + - - - - - - - + + + + + + + + diff --git a/addons/account_voucher/__openerp__.py b/addons/account_voucher/__openerp__.py index d9f1f680030..345c3378aa0 100644 --- a/addons/account_voucher/__openerp__.py +++ b/addons/account_voucher/__openerp__.py @@ -42,7 +42,7 @@ This module manages: 'category': 'Accounting & Finance', 'sequence': 4, 'website' : 'http://openerp.com', - 'images' : ['images/customer_payment.jpeg','images/journal_voucher.jpeg','images/sales_receipt.jpeg','images/supplier_voucher.jpeg'], + 'images' : ['images/customer_payment.jpeg','images/journal_voucher.jpeg','images/sales_receipt.jpeg','images/supplier_voucher.jpeg','images/customer_invoice.jpeg','images/customer_refunds.jpeg'], 'depends' : ['account'], 'demo' : [], 'data' : [ diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py index de9cebdd09b..d615eaf7d8c 100644 --- a/addons/account_voucher/account_voucher.py +++ b/addons/account_voucher/account_voucher.py @@ -962,7 +962,9 @@ class account_voucher(osv.osv): if not voucher_brw.journal_id.sequence_id.active: raise osv.except_osv(_('Configuration Error !'), _('Please activate the sequence of selected journal !')) - name = seq_obj.next_by_id(cr, uid, voucher_brw.journal_id.sequence_id.id, context=context) + c = dict(context) + c.update({'fiscalyear_id': voucher_brw.period_id.fiscalyear_id.id}) + name = seq_obj.next_by_id(cr, uid, voucher_brw.journal_id.sequence_id.id, context=c) else: raise osv.except_osv(_('Error!'), _('Please define a sequence on the journal.')) @@ -977,7 +979,7 @@ class account_voucher(osv.osv): 'narration': voucher_brw.narration, 'date': voucher_brw.date, 'ref': ref, - 'period_id': voucher_brw.period_id and voucher_brw.period_id.id or False + 'period_id': voucher_brw.period_id.id, } return move diff --git a/addons/account_voucher/account_voucher_data.xml b/addons/account_voucher/account_voucher_data.xml index 440d1c5814a..6329176c6e9 100644 --- a/addons/account_voucher/account_voucher_data.xml +++ b/addons/account_voucher/account_voucher_data.xml @@ -17,6 +17,7 @@ Status Change account.voucher + Status changed diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py index 07552172d9b..005afa5d544 100644 --- a/addons/analytic/analytic.py +++ b/addons/analytic/analytic.py @@ -172,7 +172,7 @@ class account_analytic_account(osv.osv): _columns = { 'name': fields.char('Account/Contract Name', size=128, required=True), - 'complete_name': fields.function(_get_full_name, type='char', string='Full Account Name'), + 'complete_name': fields.function(_get_full_name, type='char', string='Full Name'), 'code': fields.char('Reference', select=True), 'type': fields.selection([('view','Analytic View'), ('normal','Analytic Account'),('contract','Contract or Project'),('template','Template of Contract')], '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"\ diff --git a/addons/analytic/analytic_data.xml b/addons/analytic/analytic_data.xml index 26eb5ae3dd5..042c2162036 100644 --- a/addons/analytic/analytic_data.xml +++ b/addons/analytic/analytic_data.xml @@ -6,16 +6,19 @@ Contract to Renew account.analytic.account + Contract pending Contract Finished account.analytic.account + Contract closed Contract Opened account.analytic.account + Contract opened diff --git a/addons/analytic_contract_hr_expense/i18n/tr.po b/addons/analytic_contract_hr_expense/i18n/tr.po new file mode 100644 index 00000000000..fee0245ea58 --- /dev/null +++ b/addons/analytic_contract_hr_expense/i18n/tr.po @@ -0,0 +1,72 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-02-04 13:51+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-05 04:44+0000\n" +"X-Generator: Launchpad (build 16468)\n" + +#. module: analytic_contract_hr_expense +#: view:account.analytic.account:0 +msgid "or view" +msgstr "" + +#. module: analytic_contract_hr_expense +#: view:account.analytic.account:0 +msgid "Nothing to invoice, create" +msgstr "" + +#. module: analytic_contract_hr_expense +#: view:account.analytic.account:0 +msgid "expenses" +msgstr "" + +#. module: analytic_contract_hr_expense +#: model:ir.model,name:analytic_contract_hr_expense.model_account_analytic_account +msgid "Analytic Account" +msgstr "" + +#. module: analytic_contract_hr_expense +#: code:addons/analytic_contract_hr_expense/analytic_contract_hr_expense.py:129 +#, python-format +msgid "Expenses to Invoice of %s" +msgstr "" + +#. module: analytic_contract_hr_expense +#: code:addons/analytic_contract_hr_expense/analytic_contract_hr_expense.py:121 +#, python-format +msgid "Expenses of %s" +msgstr "" + +#. module: analytic_contract_hr_expense +#: field:account.analytic.account,expense_invoiced:0 +#: field:account.analytic.account,expense_to_invoice:0 +#: field:account.analytic.account,remaining_expense:0 +msgid "unknown" +msgstr "" + +#. module: analytic_contract_hr_expense +#: field:account.analytic.account,est_expenses:0 +msgid "Estimation of Expenses to Invoice" +msgstr "" + +#. module: analytic_contract_hr_expense +#: field:account.analytic.account,charge_expenses:0 +msgid "Charge Expenses" +msgstr "" + +#. module: analytic_contract_hr_expense +#: view:account.analytic.account:0 +msgid "⇒ Invoice" +msgstr "" diff --git a/addons/anonymization/anonymization.py b/addons/anonymization/anonymization.py index d21b57a901e..de46e2e8d03 100644 --- a/addons/anonymization/anonymization.py +++ b/addons/anonymization/anonymization.py @@ -549,7 +549,7 @@ class ir_model_fields_anonymize_wizard(osv.osv_memory): key = (line['model_id'], line['field_id']) custom_updates = fixes.get(key) if custom_updates: - custom_updates.sort(itemgetter('sequence')) + custom_updates.sort(key=itemgetter('sequence')) queries = [(record['query'], record['query_type']) for record in custom_updates if record['query_type']] elif table_name: queries = [("update %(table)s set %(field)s = %%(value)s where id = %%(id)s" % { diff --git a/addons/auth_crypt/i18n/tr.po b/addons/auth_crypt/i18n/tr.po index ac019e116cb..51080e549d0 100644 --- a/addons/auth_crypt/i18n/tr.po +++ b/addons/auth_crypt/i18n/tr.po @@ -1,75 +1,28 @@ # Turkish translation for openobject-addons -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR , 2011. +# FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-12-03 16:03+0000\n" -"PO-Revision-Date: 2012-11-27 21:53+0000\n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-02-03 12:06+0000\n" "Last-Translator: Ahmet Altınışık \n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-04 05:53+0000\n" -"X-Generator: Launchpad (build 16335)\n" +"X-Launchpad-Export-Date: 2013-02-04 05:12+0000\n" +"X-Generator: Launchpad (build 16462)\n" -#. module: base_crypt -#: model:ir.model,name:base_crypt.model_res_users +#. module: auth_crypt +#: field:res.users,password_crypt:0 +msgid "Encrypted Password" +msgstr "Şifrelenmiş Parola" + +#. module: auth_crypt +#: model:ir.model,name:auth_crypt.model_res_users msgid "Users" msgstr "Kullanıcılar" - -#, python-format -#~ msgid "Error" -#~ msgstr "Hata" - -#~ msgid "Base - Password Encryption" -#~ msgstr "Temel - Şifreleme" - -#~ msgid "res.users" -#~ msgstr "res.users" - -#~ msgid "" -#~ "This module replaces the cleartext password in the database with a password " -#~ "hash,\n" -#~ "preventing anyone from reading the original password.\n" -#~ "For your existing user base, the removal of the cleartext passwords occurs " -#~ "the first time\n" -#~ "a user logs into the database, after installing base_crypt.\n" -#~ "After installing this module it won't be possible to recover a forgotten " -#~ "password for your\n" -#~ "users, the only solution is for an admin to set a new password.\n" -#~ "\n" -#~ "Note: installing this module does not mean you can ignore basic security " -#~ "measures,\n" -#~ "as the password is still transmitted unencrypted on the network (by the " -#~ "client),\n" -#~ "unless you are using a secure protocol such as XML-RPCS.\n" -#~ " " -#~ msgstr "" -#~ "Bu modül veritabanındaki açıkça yazılmış şifreleri şifre hashi ile\n" -#~ "değiştirerek hiçkimsenin orjinal şifreleri öğrenememesini sağlar.\n" -#~ "Halihazırda bulunan kullanıcılarınızın şifreleri veritabanına ilk girişte\n" -#~ "şifrelenir.\n" -#~ "Bu modül kurulduktan sonra unutulan şifreleri öğrenmek mümkün olmayacak\n" -#~ "yöneticiler sadece şifreleri değiştirebilirler.\n" -#~ "\n" -#~ "Not:Bu modülü kurmanız temel güvenlik önlemlerini almamanız için bir sebep " -#~ "değildir.\n" -#~ "Sonuçta şifreler ağ üzerinden halen şifrelenmemiş olarak dolaşıyorlar. (eğer " -#~ "XML-RPCS gibi\n" -#~ "güvenli bir protokol kullanmıyorsanız.)\n" -#~ " " - -#~ msgid "You can not have two users with the same login !" -#~ msgstr "Aynı kullanıcı adı ile iki kullanıcı oluşturamazsınız !" - -#, python-format -#~ msgid "Please specify the password !" -#~ msgstr "Lütfen parolayı belirleyin!" - -#~ msgid "The chosen company is not in the allowed companies for this user" -#~ msgstr "Seçilen firma bu kullanıcı için izin verilen firmalar arasında yok" diff --git a/addons/auth_oauth_signup/i18n/tr.po b/addons/auth_oauth_signup/i18n/tr.po new file mode 100644 index 00000000000..c49c0cd834e --- /dev/null +++ b/addons/auth_oauth_signup/i18n/tr.po @@ -0,0 +1,23 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-02-03 12:07+0000\n" +"Last-Translator: Ahmet Altınışık \n" +"Language-Team: Turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-04 05:12+0000\n" +"X-Generator: Launchpad (build 16462)\n" + +#. module: auth_oauth_signup +#: model:ir.model,name:auth_oauth_signup.model_res_users +msgid "Users" +msgstr "Kullanıcılar" diff --git a/addons/auth_signup/auth_signup_data.xml b/addons/auth_signup/auth_signup_data.xml index 32e397b1ba6..31e3b61a9f6 100644 --- a/addons/auth_signup/auth_signup_data.xml +++ b/addons/auth_signup/auth_signup_data.xml @@ -33,5 +33,39 @@

Note: If you do not expect this, you can safely ignore this email.

]]>
+ + + OpenERP Enterprise Connection + + ]]> + ${object.email} + + + + ${object.name}, +

+

+ You have been invited to connect to "${object.company_id.name}" in order to get access to your documents in OpenERP. +

+

+ To accept the invitation, click on the following link: +

+ +

+ Thanks, +

+
+--
+${object.company_id.name or ''}
+${object.company_id.email or ''}
+${object.company_id.phone or ''}
+                    
+ ]]> +
+
+ diff --git a/addons/auth_signup/res_users.py b/addons/auth_signup/res_users.py index b35ff274a6d..9718897ef82 100644 --- a/addons/auth_signup/res_users.py +++ b/addons/auth_signup/res_users.py @@ -246,8 +246,18 @@ class res_users(osv.Model): partner_ids = [user.partner_id.id for user in self.browse(cr, uid, ids, context)] res_partner.signup_prepare(cr, uid, partner_ids, signup_type="reset", expiration=now(days=+1), context=context) + if not context: + context = {} + # send email to users with their signup url - template = self.pool.get('ir.model.data').get_object(cr, uid, 'auth_signup', 'reset_password_email') + template = False + if context.get('create_user'): + try: + template = self.pool.get('ir.model.data').get_object(cr, uid, 'auth_signup', 'set_password_email') + except ValueError: + pass + if not bool(template): + template = self.pool.get('ir.model.data').get_object(cr, uid, 'auth_signup', 'reset_password_email') mail_obj = self.pool.get('mail.mail') assert template._name == 'email.template' for user in self.browse(cr, uid, ids, context): @@ -274,5 +284,6 @@ class res_users(osv.Model): user_id = super(res_users, self).create(cr, uid, values, context=context) user = self.browse(cr, uid, user_id, context=context) if context and context.get('reset_password') and user.email: - user.action_reset_password() + ctx = dict(context, create_user=True) + self.action_reset_password(cr, uid, [user.id], context=ctx) return user_id diff --git a/addons/base_import/i18n/it.po b/addons/base_import/i18n/it.po index 12ee5f56afe..44abee99b1d 100644 --- a/addons/base_import/i18n/it.po +++ b/addons/base_import/i18n/it.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2012-12-15 12:10+0000\n" +"PO-Revision-Date: 2013-02-03 14:50+0000\n" "Last-Translator: Nicola Riolini - Micronaet \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-22 06:07+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-02-04 05:12+0000\n" +"X-Generator: Launchpad (build 16462)\n" #. module: base_import #. openerp-web @@ -236,6 +236,8 @@ msgid "" "What's the difference between Database ID and \n" " External ID?" msgstr "" +"Qual'è la differenza tra ID database e \n" +"ID esterno?" #. module: base_import #. openerp-web @@ -247,13 +249,16 @@ msgid "" "\n" " you 3 different fields to import:" msgstr "" +"Per esempio, per\n" +"in riferimento al paese di un contatto, OpenERP propone\n" +"3 differenti campi da importare:" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:175 #, python-format msgid "What can I do if I have multiple matches for a field?" -msgstr "" +msgstr "Cosa posso fare se trovo risultati multipli per un campo?" #. module: base_import #. openerp-web @@ -275,6 +280,8 @@ msgid "" "The following CSV file shows how to import \n" " suppliers and their respective contacts" msgstr "" +"Il seguente file CSV mostra come importare\n" +"fornitori e rispettivi contatti" #. module: base_import #. openerp-web @@ -339,13 +346,15 @@ msgid "" "External ID,Name,Is a \n" " Company,Related Company/External ID" msgstr "" +"ID esterno, Nome, è una \n" +"azienda, azienda relativa / ID esterno" #. module: base_import #. openerp-web #: code:addons/base_import/static/src/xml/import.xml:233 #, python-format msgid "Suppliers and their respective contacts" -msgstr "" +msgstr "Fornitori e relativi contatti" #. module: base_import #. openerp-web @@ -378,6 +387,9 @@ msgid "" "\n" " PSQL:" msgstr "" +"Per creare file CSV per persone, collegate ad\n" +"aziende, utilizzeremo il seguente comando SQL in\n" +"PSQL:" #. module: base_import #. openerp-web diff --git a/addons/base_import/i18n/tr.po b/addons/base_import/i18n/tr.po new file mode 100644 index 00000000000..52f4352f277 --- /dev/null +++ b/addons/base_import/i18n/tr.po @@ -0,0 +1,1164 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-02-04 13:57+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-05 04:44+0000\n" +"X-Generator: Launchpad (build 16468)\n" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:420 +#, python-format +msgid "Get all possible values" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:71 +#, python-format +msgid "Need to import data from an other application?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:163 +#, python-format +msgid "" +"When you use External IDs, you can import CSV files \n" +" with the \"External ID\" column to define the " +"External \n" +" ID of each record you import. Then, you will be able " +"\n" +" to make a reference to that record with columns like " +"\n" +" \"Field/External ID\". The following two CSV files " +"give \n" +" you an example for Products and their Categories." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:271 +#, python-format +msgid "" +"How to export/import different tables from an SQL \n" +" application to OpenERP?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:310 +#, python-format +msgid "Relation Fields" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:142 +#, python-format +msgid "" +"Country/Database ID: the unique OpenERP ID for a \n" +" record, defined by the ID postgresql column" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:155 +#, python-format +msgid "" +"Use \n" +" Country/Database ID: You should rarely use this \n" +" notation. It's mostly used by developers as it's " +"main \n" +" advantage is to never have conflicts (you may have \n" +" several records with the same name, but they always " +"\n" +" have a unique Database ID)" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:146 +#, python-format +msgid "" +"For the country \n" +" Belgium, you can use one of these 3 ways to import:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:303 +#, python-format +msgid "company_1,Bigees,True" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_m2o +msgid "base_import.tests.models.m2o" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:297 +#, python-format +msgid "" +"copy \n" +" (select 'company_'||id as \"External " +"ID\",company_name \n" +" as \"Name\",'True' as \"Is a Company\" from " +"companies) TO \n" +" '/tmp/company.csv' with CSV HEADER;" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:206 +#, python-format +msgid "CSV file for Manufacturer, Retailer" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:160 +#, python-format +msgid "" +"Use \n" +" Country/External ID: Use External ID when you import " +"\n" +" data from a third party application." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:316 +#, python-format +msgid "person_1,Fabien,False,company_1" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:80 +#, python-format +msgid "XXX/External ID" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:351 +#, python-format +msgid "Don't Import" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:24 +#, python-format +msgid "Select the" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:100 +#, python-format +msgid "" +"Note that if your CSV file \n" +" has a tabulation as separator, OpenERP will not \n" +" detect the separations. You will need to change the " +"\n" +" file format options in your spreadsheet application. " +"\n" +" See the following question." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:141 +#, python-format +msgid "Country: the name or code of the country" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_o2m_child +msgid "base_import.tests.models.o2m.child" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:239 +#, python-format +msgid "Can I import several times the same record?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:15 +#, python-format +msgid "Validate" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:55 +#, python-format +msgid "Map your data to OpenERP" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:153 +#, python-format +msgid "" +"Use Country: This is \n" +" the easiest way when your data come from CSV files \n" +" that have been created manually." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:127 +#, python-format +msgid "" +"What's the difference between Database ID and \n" +" External ID?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:138 +#, python-format +msgid "" +"For example, to \n" +" reference the country of a contact, OpenERP proposes " +"\n" +" you 3 different fields to import:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:175 +#, python-format +msgid "What can I do if I have multiple matches for a field?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:302 +#, python-format +msgid "External ID,Name,Is a Company" +msgstr "" + +#. module: base_import +#: field:base_import.tests.models.preview,somevalue:0 +msgid "Some Value" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:231 +#, python-format +msgid "" +"The following CSV file shows how to import \n" +" suppliers and their respective contacts" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:109 +#, python-format +msgid "" +"How can I change the CSV file format options when \n" +" saving in my spreadsheet application?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:320 +#, python-format +msgid "" +"As you can see in this file, Fabien and Laurence \n" +" are working for the Bigees company (company_1) and \n" +" Eric is working for the Organi company. The relation " +"\n" +" between persons and companies is done using the \n" +" External ID of the companies. We had to prefix the \n" +" \"External ID\" by the name of the table to avoid a " +"\n" +" conflict of ID between persons and companies " +"(person_1 \n" +" and company_1 who shared the same ID 1 in the " +"orignial \n" +" database)." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:308 +#, python-format +msgid "" +"copy (select \n" +" 'person_'||id as \"External ID\",person_name as \n" +" \"Name\",'False' as \"Is a " +"Company\",'company_'||company_id\n" +" as \"Related Company/External ID\" from persons) TO " +"\n" +" '/tmp/person.csv' with CSV" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:148 +#, python-format +msgid "Country: Belgium" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_char_stillreadonly +msgid "base_import.tests.models.char.stillreadonly" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:314 +#, python-format +msgid "" +"External ID,Name,Is a \n" +" Company,Related Company/External ID" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:233 +#, python-format +msgid "Suppliers and their respective contacts" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:179 +#, python-format +msgid "" +"If for example you have two product categories \n" +" with the child name \"Sellable\" (ie. \"Misc. \n" +" Products/Sellable\" & \"Other Products/Sellable\"),\n" +" your validation is halted but you may still import \n" +" your data. However, we recommend you do not import " +"the \n" +" data because they will all be linked to the first \n" +" 'Sellable' category found in the Product Category " +"list \n" +" (\"Misc. Products/Sellable\"). We recommend you " +"modify \n" +" one of the duplicates' values or your product " +"category \n" +" hierarchy." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:306 +#, python-format +msgid "" +"To create the CSV file for persons, linked to \n" +" companies, we will use the following SQL command in " +"\n" +" PSQL:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:119 +#, python-format +msgid "" +"Microsoft Excel will allow \n" +" you to modify only the encoding when saving \n" +" (in 'Save As' dialog box > click 'Tools' dropdown \n" +" list > Encoding tab)." +msgstr "" + +#. module: base_import +#: field:base_import.tests.models.preview,othervalue:0 +msgid "Other Variable" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:82 +#, python-format +msgid "" +"will also be used to update the original\n" +" import if you need to re-import modified data\n" +" later, it's thus good practice to specify it\n" +" whenever possible" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:26 +#, python-format +msgid "" +"file to import. If you need a sample importable file, you\n" +" can use the export tool to generate one." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:148 +#, python-format +msgid "" +"Country/Database \n" +" ID: 21" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_char +msgid "base_import.tests.models.char" +msgstr "" + +#. module: base_import +#: help:base_import.import,file:0 +msgid "File to check and/or import, raw binary (not base64)" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:230 +#, python-format +msgid "Purchase orders with their respective purchase order lines" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:60 +#, python-format +msgid "" +"If the file contains\n" +" the column names, OpenERP can try auto-detecting the\n" +" field corresponding to the column. This makes imports\n" +" simpler especially when the file has many columns." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:26 +#, python-format +msgid ".CSV" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:360 +#, python-format +msgid "" +". The issue is\n" +" usually an incorrect file encoding." +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_m2o_required +msgid "base_import.tests.models.m2o.required" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_char_noreadonly +msgid "base_import.tests.models.char.noreadonly" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:113 +#, python-format +msgid "" +"If you edit and save CSV files in speadsheet \n" +" applications, your computer's regional settings will " +"\n" +" be applied for the separator and delimiter. \n" +" We suggest you use OpenOffice or LibreOffice Calc \n" +" as they will allow you to modify all three options \n" +" (in 'Save As' dialog box > Check the box 'Edit " +"filter \n" +" settings' > Save)." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:30 +#, python-format +msgid "CSV File:" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_preview +msgid "base_import.tests.models.preview" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_char_required +msgid "base_import.tests.models.char.required" +msgstr "" + +#. module: base_import +#: code:addons/base_import/models.py:112 +#, python-format +msgid "Database ID" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:313 +#, python-format +msgid "It will produce the following CSV file:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:362 +#, python-format +msgid "Here is the start of the file we could not import:" +msgstr "" + +#. module: base_import +#: field:base_import.import,file_type:0 +msgid "File Type" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_import +msgid "base_import.import" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_o2m +msgid "base_import.tests.models.o2m" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:360 +#, python-format +msgid "Import preview failed due to:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:144 +#, python-format +msgid "" +"Country/External ID: the ID of this record \n" +" referenced in another application (or the .XML file " +"\n" +" that imported it)" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:35 +#, python-format +msgid "Reload data to check changes." +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_char_readonly +msgid "base_import.tests.models.char.readonly" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:131 +#, python-format +msgid "" +"Some fields define a relationship with another \n" +" object. For example, the country of a contact is a \n" +" link to a record of the 'Country' object. When you \n" +" want to import such fields, OpenERP will have to \n" +" recreate links between the different records. \n" +" To help you import such fields, OpenERP provides 3 \n" +" mechanisms. You must use one and only one mechanism " +"\n" +" per field you want to import." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:201 +#, python-format +msgid "" +"The tags should be separated by a comma without any \n" +" spacing. For example, if you want you customer to be " +"\n" +" lined to both tags 'Manufacturer' and 'Retailer' \n" +" then you will encode it as follow \"Manufacturer,\n" +" Retailer\" in the same column of your CSV file." +msgstr "" + +#. module: base_import +#: code:addons/base_import/models.py:264 +#, python-format +msgid "You must configure at least one field to import" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:304 +#, python-format +msgid "company_2,Organi,True" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:58 +#, python-format +msgid "" +"The first row of the\n" +" file contains the label of the column" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_char_states +msgid "base_import.tests.models.char.states" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:7 +#, python-format +msgid "Import a CSV File" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:74 +#, python-format +msgid "Quoting:" +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_m2o_required_related +msgid "base_import.tests.models.m2o.required.related" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:293 +#, python-format +msgid ")." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:18 +#: code:addons/base_import/static/src/xml/import.xml:396 +#, python-format +msgid "Import" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:407 +#, python-format +msgid "Here are the possible values:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:82 +#, python-format +msgid "The" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:227 +#, python-format +msgid "" +"A single column was found in the file, this often means the file separator " +"is incorrect" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:293 +#, python-format +msgid "dump of such a PostgreSQL database" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:301 +#, python-format +msgid "This SQL command will create the following CSV file:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:228 +#, python-format +msgid "" +"The following CSV file shows how to import purchase \n" +" orders with their respective purchase order lines:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:91 +#, python-format +msgid "" +"What can I do when the Import preview table isn't \n" +" displayed correctly?" +msgstr "" + +#. module: base_import +#: field:base_import.tests.models.char,value:0 +#: field:base_import.tests.models.char.noreadonly,value:0 +#: field:base_import.tests.models.char.readonly,value:0 +#: field:base_import.tests.models.char.required,value:0 +#: field:base_import.tests.models.char.states,value:0 +#: field:base_import.tests.models.char.stillreadonly,value:0 +#: field:base_import.tests.models.m2o,value:0 +#: field:base_import.tests.models.m2o.related,value:0 +#: field:base_import.tests.models.m2o.required,value:0 +#: field:base_import.tests.models.m2o.required.related,value:0 +#: field:base_import.tests.models.o2m,value:0 +#: field:base_import.tests.models.o2m.child,parent_id:0 +#: field:base_import.tests.models.o2m.child,value:0 +msgid "unknown" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:317 +#, python-format +msgid "person_2,Laurence,False,company_1" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:149 +#, python-format +msgid "Country/External ID: base.be" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:288 +#, python-format +msgid "" +"As an example, suppose you have a SQL database \n" +" with two tables you want to import: companies and \n" +" persons. Each person belong to one company, so you \n" +" will have to recreate the link between a person and " +"\n" +" the company he work for. (If you want to test this \n" +" example, here is a" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:396 +#, python-format +msgid "(%d more)" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:227 +#, python-format +msgid "File for some Quotations" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:72 +#, python-format +msgid "Encoding:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:280 +#, python-format +msgid "" +"To manage relations between tables, \n" +" you can use the \"External ID\" facilities of " +"OpenERP. \n" +" The \"External ID\" of a record is the unique " +"identifier \n" +" of this record in another application. This " +"\"External \n" +" ID\" must be unique accoss all the records of all \n" +" objects, so it's a good practice to prefix this \n" +" \"External ID\" with the name of the application or " +"\n" +" table. (like 'company_1', 'person_1' instead of '1')" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:295 +#, python-format +msgid "" +"We will first export all companies and their \n" +" \"External ID\". In PSQL, write the following " +"command:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:212 +#, python-format +msgid "" +"How can I import a one2many relationship (e.g. several \n" +" Order Lines of a Sales Order)?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:373 +#, python-format +msgid "Everything seems valid." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:188 +#, python-format +msgid "" +"However if you do not wish to change your \n" +" configuration of product categories, we recommend " +"you \n" +" use make use of the external ID for this field \n" +" 'Category'." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:390 +#, python-format +msgid "at row %d" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:197 +#, python-format +msgid "" +"How can I import a many2many relationship field \n" +" (e.g. a customer that has multiple tags)?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:80 +#, python-format +msgid "XXX/ID" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:275 +#, python-format +msgid "" +"If you need to import data from different tables, \n" +" you will have to recreate relations between records " +"\n" +" belonging to different tables. (e.g. if you import \n" +" companies and persons, you will have to recreate the " +"\n" +" link between each person and the company they work \n" +" for)." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:150 +#, python-format +msgid "" +"According to your need, you should use \n" +" one of these 3 ways to reference records in " +"relations. \n" +" Here is when you should use one or the other, \n" +" according to your need:" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:319 +#, python-format +msgid "person_4,Ramsy,False,company_3" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:261 +#, python-format +msgid "" +"If you do not set all fields in your CSV file, \n" +" OpenERP will assign the default value for every non " +"\n" +" defined fields. But if you\n" +" set fields with empty values in your CSV file, " +"OpenERP \n" +" will set the EMPTY value in the field, instead of \n" +" assigning the default value." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:20 +#, python-format +msgid "Cancel" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:257 +#, python-format +msgid "" +"What happens if I do not provide a value for a \n" +" specific field?" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:68 +#, python-format +msgid "Frequently Asked Questions" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:305 +#, python-format +msgid "company_3,Boum,True" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:249 +#, python-format +msgid "" +"This feature \n" +" allows you to use the Import/Export tool of OpenERP " +"to \n" +" modify a batch of records in your favorite " +"spreadsheet \n" +" application." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:77 +#, python-format +msgid "" +"column in OpenERP. When you\n" +" import an other record that links to the first\n" +" one, use" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:242 +#, python-format +msgid "" +"If you import a file that contains one of the \n" +" column \"External ID\" or \"Database ID\", records " +"that \n" +" have already been imported will be modified instead " +"of \n" +" being created. This is very usefull as it allows you " +"\n" +" to import several times the same CSV file while " +"having \n" +" made some changes in between two imports. OpenERP " +"will \n" +" take care of creating or modifying each record \n" +" depending if it's new or not." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:169 +#, python-format +msgid "CSV file for categories" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:309 +#, python-format +msgid "Normal Fields" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:74 +#, python-format +msgid "" +"In order to re-create relationships between\n" +" different records, you should use the unique\n" +" identifier from the original application and\n" +" map it to the" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:170 +#, python-format +msgid "CSV file for Products" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:216 +#, python-format +msgid "" +"If you want to import sales order having several \n" +" order lines; for each order line, you need to " +"reserve \n" +" a specific row in the CSV file. The first order line " +"\n" +" will be imported on the same row as the information " +"\n" +" relative to order. Any additional lines will need an " +"\n" +" addtional row that does not have any information in " +"\n" +" the fields relative to the order." +msgstr "" + +#. module: base_import +#: model:ir.model,name:base_import.model_base_import_tests_models_m2o_related +msgid "base_import.tests.models.m2o.related" +msgstr "" + +#. module: base_import +#: field:base_import.tests.models.preview,name:0 +msgid "Name" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:80 +#, python-format +msgid "to the original unique identifier." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:318 +#, python-format +msgid "person_3,Eric,False,company_2" +msgstr "" + +#. module: base_import +#: field:base_import.import,res_model:0 +msgid "Model" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:77 +#: code:addons/base_import/static/src/xml/import.xml:82 +#, python-format +msgid "ID" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:329 +#, python-format +msgid "" +"The two files produced are ready to be imported in \n" +" OpenERP without any modifications. After having \n" +" imported these two CSV files, you will have 4 " +"contacts \n" +" and 3 companies. (the firsts two contacts are linked " +"\n" +" to the first company). You must first import the \n" +" companies and then the persons." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:95 +#, python-format +msgid "" +"By default the Import preview is set on commas as \n" +" field separators and quotation marks as text \n" +" delimiters. If your csv file does not have these \n" +" settings, you can modify the File Format Options \n" +" (displayed under the Browse CSV file bar after you \n" +" select your file)." +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:73 +#, python-format +msgid "Separator:" +msgstr "" + +#. module: base_import +#: field:base_import.import,file_name:0 +msgid "File Name" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/models.py:80 +#: code:addons/base_import/models.py:111 +#: code:addons/base_import/static/src/xml/import.xml:77 +#: code:addons/base_import/static/src/xml/import.xml:82 +#, python-format +msgid "External ID" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:39 +#, python-format +msgid "File Format Options…" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/js/import.js:392 +#, python-format +msgid "between rows %d and %d" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:19 +#, python-format +msgid "or" +msgstr "" + +#. module: base_import +#. openerp-web +#: code:addons/base_import/static/src/xml/import.xml:223 +#, python-format +msgid "" +"As an example, here is \n" +" purchase.order_functional_error_line_cant_adpat.CSV " +"\n" +" file of some quotations you can import, based on " +"demo \n" +" data." +msgstr "" + +#. module: base_import +#: field:base_import.import,file:0 +msgid "File" +msgstr "" diff --git a/addons/base_import/static/src/css/import.css b/addons/base_import/static/src/css/import.css index 00c8bd138a4..3913619b6c9 100644 --- a/addons/base_import/static/src/css/import.css +++ b/addons/base_import/static/src/css/import.css @@ -164,7 +164,10 @@ background: #efc9cb; } -.oe_import .select2-results { - font-size: 12px; +/* Field dropdown */ +.oe_import_selector { + font-size: 10px; + /* copied from base.sass:~148 */ + font-family: "Lucida Grande", Helvetica, Verdana, Arial, sans-serif; } diff --git a/addons/base_import/static/src/js/import.js b/addons/base_import/static/src/js/import.js index d29452cc138..3c029335fb1 100644 --- a/addons/base_import/static/src/js/import.js +++ b/addons/base_import/static/src/js/import.js @@ -134,6 +134,7 @@ openerp.base_import = function (instance) { start: function () { var self = this; this.setup_encoding_picker(); + this.setup_separator_picker(); return $.when( this._super(), @@ -164,6 +165,26 @@ openerp.base_import = function (instance) { } }).select2('val', 'utf-8'); }, + setup_separator_picker: function () { + this.$('input.oe_import_separator').select2({ + width: '160px', + query: function (q) { + var suggestions = [ + {id: ',', text: _t("Comma")}, + {id: ';', text: _t("Semicolon")}, + {id: '\t', text: _t("Tab")}, + {id: ' ', text: _t("Space")} + ]; + if (q.term) { + suggestions.unshift({id: q.term, text: q.term}); + } + q.callback({results: suggestions}); + }, + initSelection: function (e, c) { + return c({id: ',', text: _t("Comma")}); + }, + }); + }, import_options: function () { var self = this; @@ -336,8 +357,18 @@ openerp.base_import = function (instance) { var fields = this.$('.oe_import_fields input.oe_import_match_field').map(function (index, el) { return $(el).select2('val') || false; }).get(); - return this.Import.call( - 'do', [this.id, fields, this.import_options()], options); + return this.Import.call('do', [this.id, fields, this.import_options()], options) + .then(undefined, function (error, event) { + // In case of unexpected exception, convert + // "JSON-RPC error" to an import failure, and + // prevent default handling (warning dialog) + if (event) { event.preventDefault(); } + return $.when([{ + type: 'error', + record: false, + message: error.data.fault_code, + }]); + }) ; }, onvalidate: function () { return this.call_import({ dryrun: true }) diff --git a/addons/base_status/i18n/tr.po b/addons/base_status/i18n/tr.po new file mode 100644 index 00000000000..605984c0a80 --- /dev/null +++ b/addons/base_status/i18n/tr.po @@ -0,0 +1,79 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-02-03 12:04+0000\n" +"Last-Translator: Ahmet Altınışık \n" +"Language-Team: Turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-04 05:12+0000\n" +"X-Generator: Launchpad (build 16462)\n" + +#. module: base_status +#: code:addons/base_status/base_state.py:107 +#, python-format +msgid "Error !" +msgstr "Hata !" + +#. module: base_status +#: code:addons/base_status/base_state.py:166 +#, python-format +msgid "%s has been opened." +msgstr "%s açıldı." + +#. module: base_status +#: code:addons/base_status/base_state.py:199 +#, python-format +msgid "%s has been renewed." +msgstr "%s yenilendi." + +#. module: base_status +#: code:addons/base_status/base_stage.py:210 +#, python-format +msgid "Error!" +msgstr "Hata!" + +#. module: base_status +#: code:addons/base_status/base_state.py:107 +#, python-format +msgid "" +"You can not escalate, you are already at the top level regarding your sales-" +"team category." +msgstr "" +"Yükseltemezsiniz, satış-takımı kategorisine göre zaten en üst düzeydesiniz." + +#. module: base_status +#: code:addons/base_status/base_state.py:193 +#, python-format +msgid "%s is now pending." +msgstr "%s şimdi bekliyor." + +#. module: base_status +#: code:addons/base_status/base_state.py:187 +#, python-format +msgid "%s has been canceled." +msgstr "%s iptal edildi." + +#. module: base_status +#: code:addons/base_status/base_stage.py:210 +#, python-format +msgid "" +"You are already at the top level of your sales-team category.\n" +"Therefore you cannot escalate furthermore." +msgstr "" +"Zaten satış takımı kategorisinin en üst düzeyindesiniz.\n" +"Yani daha fazla yükseltemezsiniz." + +#. module: base_status +#: code:addons/base_status/base_state.py:181 +#, python-format +msgid "%s has been closed." +msgstr "%s kapatıldı." diff --git a/addons/contacts/__openerp__.py b/addons/contacts/__openerp__.py index 3b4df183478..3fca504cbc8 100644 --- a/addons/contacts/__openerp__.py +++ b/addons/contacts/__openerp__.py @@ -36,6 +36,7 @@ You can track your suppliers, customers and other contacts. 'data': [ 'contacts_view.xml', ], + 'images': ['images/contacts.jpeg'], 'installable': True, 'application': True, 'auto_install': False, diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py index 4a792abc9ee..0dd075d48e6 100644 --- a/addons/crm/__openerp__.py +++ b/addons/crm/__openerp__.py @@ -54,6 +54,7 @@ Dashboard for CRM will include: 'base_status', 'process', 'mail', + 'email_template', 'base_calendar', 'resource', 'board', @@ -116,6 +117,6 @@ Dashboard for CRM will include: 'installable': True, 'application': True, 'auto_install': False, - 'images': ['images/sale_crm_crm_dashboard.png', 'images/crm_dashboard.jpeg','images/leads.jpeg','images/meetings.jpeg','images/opportunities.jpeg','images/outbound_calls.jpeg','images/stages.jpeg'], + 'images': ['images/crm_dashboard.png', 'images/customers.png','images/leads.png','images/opportunities_kanban.png','images/opportunities_form.png','images/opportunities_calendar.png','images/opportunities_graph.png','images/logged_calls.png','images/scheduled_calls.png','images/stages.png'], } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index 4455663ca9a..52e9e4ed942 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -36,7 +36,6 @@ CRM_LEAD_FIELDS_TO_MERGE = ['name', 'company_id', 'country_id', 'section_id', - 'stage_id', 'state_id', 'type_id', 'user_id', @@ -472,6 +471,15 @@ class crm_lead(base_stage, format_address, osv.osv): return 'lead' + def _merge_get_result_stage(self, cr, uid, opps, context=None): + stage = None + for opp in opps: + if not stage: + stage = opp.stage_id.id + if opp.type == 'opportunity': + return opp.stage_id.id + return stage + def _merge_data(self, cr, uid, ids, oldest, fields, context=None): """ Prepare lead/opp data into a dictionary for merging. Different types @@ -488,10 +496,8 @@ class crm_lead(base_stage, format_address, osv.osv): opportunities = self.browse(cr, uid, ids, context=context) def _get_first_not_null(attr): - if hasattr(oldest, attr): - return getattr(oldest, attr) for opp in opportunities: - if hasattr(opp, attr): + if hasattr(opp, attr) and bool(getattr(opp, attr)): return getattr(opp, attr) return False @@ -520,7 +526,7 @@ class crm_lead(base_stage, format_address, osv.osv): # Define the resulting type ('lead' or 'opportunity') data['type'] = self._merge_get_result_type(cr, uid, opportunities, context) - + data['stage_id'] = self._merge_get_result_stage(cr, uid, opportunities, context) return data def _merge_find_oldest(self, cr, uid, ids, context=None): @@ -533,9 +539,6 @@ class crm_lead(base_stage, format_address, osv.osv): if context is None: context = {} - if context.get('convert'): - ids = list(set(ids) - set(context.get('lead_ids', []))) - # Search opportunities order by create date opportunity_ids = self.search(cr, uid, [('id', 'in', ids)], order='create_date', context=context) oldest_opp_id = opportunity_ids[0] @@ -643,19 +646,11 @@ class crm_lead(base_stage, format_address, osv.osv): if len(ids) <= 1: raise osv.except_osv(_('Warning!'),_('Please select more than one element (lead or opportunity) from the list view.')) - - lead_ids = context.get('lead_ids', []) - - ctx_opportunities = self.browse(cr, uid, lead_ids, context=context) - opportunities = self.browse(cr, uid, ids, context=context) - opportunities_list = list(set(opportunities) - set(ctx_opportunities)) + ids.sort() oldest = self._merge_find_oldest(cr, uid, ids, context=context) - if ctx_opportunities: - first_opportunity = ctx_opportunities[0] - tail_opportunities = opportunities_list + ctx_opportunities[1:] - else: - first_opportunity = opportunities_list[0] - tail_opportunities = opportunities_list[1:] + opportunities_rest = self.browse(cr, uid, list(set(ids) - set([oldest.id])), context=context) + first_opportunity = oldest + tail_opportunities = opportunities_rest merged_data = self._merge_data(cr, uid, ids, oldest, CRM_LEAD_FIELDS_TO_MERGE, context=context) @@ -664,14 +659,14 @@ class crm_lead(base_stage, format_address, osv.osv): self._merge_opportunity_attachments(cr, uid, first_opportunity.id, tail_opportunities, context=context) # Merge notifications about loss of information + opportunities = [oldest] + opportunities.extend(opportunities_rest) self._merge_notify(cr, uid, first_opportunity, opportunities, context=context) # Write merged data into first opportunity self.write(cr, uid, [first_opportunity.id], merged_data, context=context) # Delete tail opportunities self.unlink(cr, uid, [x.id for x in tail_opportunities], context=context) - # Open first opportunity - self.case_open(cr, uid, [first_opportunity.id]) return first_opportunity.id def _convert_opportunity_data(self, cr, uid, lead, customer, section_id=False, context=None): @@ -716,7 +711,7 @@ class crm_lead(base_stage, format_address, osv.osv): def _lead_create_contact(self, cr, uid, lead, name, is_company, parent_id=False, context=None): partner = self.pool.get('res.partner') - vals = { 'name': name, + vals = {'name': name, 'user_id': lead.user_id.id, 'comment': lead.description, 'section_id': lead.section_id.id or False, @@ -736,11 +731,11 @@ class crm_lead(base_stage, format_address, osv.osv): 'is_company': is_company, 'type': 'contact' } - partner = partner.create(cr, uid,vals, context) + partner = partner.create(cr, uid, vals, context=context) return partner def _create_lead_partner(self, cr, uid, lead, context=None): - partner_id = False + partner_id = False if lead.partner_name and lead.contact_name: partner_id = self._lead_create_contact(cr, uid, lead, lead.partner_name, True, context=context) partner_id = self._lead_create_contact(cr, uid, lead, lead.contact_name, False, partner_id, context=context) @@ -748,8 +743,14 @@ class crm_lead(base_stage, format_address, osv.osv): partner_id = self._lead_create_contact(cr, uid, lead, lead.partner_name, True, context=context) elif not lead.partner_name and lead.contact_name: partner_id = self._lead_create_contact(cr, uid, lead, lead.contact_name, False, context=context) + elif lead.email_from and self.pool.get('res.partner')._parse_partner_name(lead.email_from, context=context)[0]: + contact_name = self.pool.get('res.partner')._parse_partner_name(lead.email_from, context=context)[0] + partner_id = self._lead_create_contact(cr, uid, lead, contact_name, False, context=context) else: - partner_id = self._lead_create_contact(cr, uid, lead, lead.name, False, context=context) + raise osv.except_osv( + _('Warning!'), + _('No customer name defined. Please fill one of the following fields: Company Name, Contact Name or Email ("Name ")') + ) return partner_id def _lead_set_partner(self, cr, uid, lead, partner_id, context=None): @@ -763,7 +764,7 @@ class crm_lead(base_stage, format_address, osv.osv): res = False res_partner = self.pool.get('res.partner') if partner_id: - res_partner.write(cr, uid, partner_id, {'section_id': lead.section_id.id or False}) + res_partner.write(cr, uid, partner_id, {'section_id': lead.section_id and lead.section_id.id or False}) contact_id = res_partner.address_get(cr, uid, [partner_id])['default'] res = lead.write({'partner_id': partner_id}, context=context) message = _("Partner set to %s." % (lead.partner_id.name)) @@ -872,8 +873,8 @@ class crm_lead(base_stage, format_address, osv.osv): 'res_id': int(opportunity_id), 'view_id': False, 'views': [(form_view or False, 'form'), - (tree_view or False, 'tree'), - (False, 'calendar'), (False, 'graph')], + (tree_view or False, 'tree'), + (False, 'calendar'), (False, 'graph')], 'type': 'ir.actions.act_window', } @@ -980,8 +981,11 @@ class crm_lead(base_stage, format_address, osv.osv): 'description': desc, 'email_from': msg.get('from'), 'email_cc': msg.get('cc'), + 'partner_id': msg.get('author_id', False), 'user_id': False, } + if msg.get('author_id'): + defaults.update(self.on_change_partner(cr, uid, None, msg.get('author_id'), context=context)['value']) if msg.get('priority') in dict(crm.AVAILABLE_PRIORITIES): defaults['priority'] = msg.get('priority') defaults.update(custom_values) diff --git a/addons/crm/crm_lead_data.xml b/addons/crm/crm_lead_data.xml index bb590f49d73..724ec491efe 100644 --- a/addons/crm/crm_lead_data.xml +++ b/addons/crm/crm_lead_data.xml @@ -171,11 +171,13 @@ Stage Changed crm.lead + Stage changed Opportunity Won crm.lead + Opportunity won diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index 3d7bd45a209..3e9249aa6fa 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -168,7 +168,7 @@ - + @@ -219,12 +219,14 @@ + + @@ -235,6 +237,7 @@ + CRM - Leads Calendar @@ -322,35 +325,39 @@ - - - - - - - - - + - + + + + + + + + + - - - - - - - - + + + + + + + + + + - - + + - +
@@ -517,6 +524,7 @@ + @@ -531,35 +539,41 @@ crm.lead - + - - - - - - - - - + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + diff --git a/addons/crm/crm_meeting.py b/addons/crm/crm_meeting.py index 3d1fc36b8dd..14b69ed0e11 100644 --- a/addons/crm/crm_meeting.py +++ b/addons/crm/crm_meeting.py @@ -68,24 +68,4 @@ class calendar_attendee(osv.osv): relation="crm.case.categ", multi='categ_id'), } -class res_users(osv.osv): - _name = 'res.users' - _inherit = 'res.users' - - def create(self, cr, uid, data, context=None): - user_id = super(res_users, self).create(cr, uid, data, context=context) - - # add shortcut unless 'noshortcut' is True in context - if not(context and context.get('noshortcut', False)): - data_obj = self.pool.get('ir.model.data') - try: - data_id = data_obj._get_id(cr, uid, 'crm', 'ir_ui_view_sc_calendar0') - view_id = data_obj.browse(cr, uid, data_id, context=context).res_id - self.pool.get('ir.ui.view_sc').copy(cr, uid, view_id, default = { - 'user_id': user_id}, context=context) - except: - # Tolerate a missing shortcut. See product/product.py for similar code. - _logger.debug('Skipped meetings shortcut for user "%s".', data.get('name','' stage_id: stage_lead1 - !record {model: crm.lead, id: test_crm_lead_02}: type: 'lead' name: 'Test lead 2' + email_from: 'Raoul Grosbedon ' stage_id: stage_lead1 - !record {model: crm.lead, id: test_crm_lead_03}: type: 'lead' name: 'Test lead 3' + email_from: 'Raoul Grosbedon ' stage_id: stage_lead1 - !record {model: crm.lead, id: test_crm_lead_04}: type: 'lead' name: 'Test lead 4' + contact_name: 'Fabrice Lepoilu' stage_id: stage_lead1 - !record {model: crm.lead, id: test_crm_lead_05}: type: 'lead' name: 'Test lead 5' + contact_name: 'Fabrice Lepoilu' stage_id: stage_lead1 - !record {model: crm.lead, id: test_crm_lead_06}: type: 'lead' name: 'Test lead 6' + partner_name: 'Agrolait SuperSeed SA' stage_id: stage_lead1 - !record {model: res.users, id: test_res_user_01}: diff --git a/addons/crm/wizard/crm_lead_to_opportunity.py b/addons/crm/wizard/crm_lead_to_opportunity.py index e7129c98d6c..32396b95f4e 100644 --- a/addons/crm/wizard/crm_lead_to_opportunity.py +++ b/addons/crm/wizard/crm_lead_to_opportunity.py @@ -34,7 +34,7 @@ class crm_lead2opportunity_partner(osv.osv_memory): ('convert', 'Convert to opportunity'), ('merge', 'Merge with existing opportunities') ], 'Conversion Action', required=True), - 'opportunity_ids': fields.many2many('crm.lead', string='Opportunities', domain=[('type', '=', 'opportunity')]), + 'opportunity_ids': fields.many2many('crm.lead', string='Opportunities'), } def default_get(self, cr, uid, fields, context=None): @@ -46,42 +46,34 @@ class crm_lead2opportunity_partner(osv.osv_memory): lead_obj = self.pool.get('crm.lead') res = super(crm_lead2opportunity_partner, self).default_get(cr, uid, fields, context=context) - opportunities = res.get('opportunity_ids') or [] - partner_id = False - email = False - for lead in lead_obj.browse(cr, uid, opportunities, context=context): - partner_id = lead.partner_id and lead.partner_id.id or False + if context.get('active_id'): + tomerge = set([int(context['active_id'])]) + + email = False + partner_id = res.get('partner_id') + lead = lead_obj.browse(cr, uid, int(context['active_id']), context=context) #TOFIX: use mail.mail_message.to_mail email = re.findall(r'([^ ,<@]+@[^> ,]+)', lead.email_from or '') - email = map(lambda x: "'" + x + "'", email) - if not partner_id and res.get('partner_id'): - partner_id = res.get('partner_id') - - ids = [] - if partner_id: - # Search for opportunities that have the same partner and that arent done or cancelled - ids = lead_obj.search(cr, uid, [('partner_id', '=', partner_id), ('type', '=', 'opportunity'), '!', ('state', 'in', ['done', 'cancel'])]) - if ids: - opportunities.append(ids[0]) - if not partner_id: + if partner_id: + # Search for opportunities that have the same partner and that arent done or cancelled + ids = lead_obj.search(cr, uid, [('partner_id', '=', partner_id)]) + for id in ids: + tomerge.add(id) if email: - # Find email of existing opportunity matching the email_from of the lead - cr.execute("""select id from crm_lead where type='opportunity' and - substring(email_from from '([^ ,<@]+@[^> ,]+)') in (%s)""" % (','.join(email))) - ids = map(lambda x:x[0], cr.fetchall()) - if ids: - opportunities.append(ids[0]) + ids = lead_obj.search(cr, uid, [('email_from', 'ilike', email[0])]) + for id in ids: + tomerge.add(id) - if 'action' in fields: - res.update({'action' : partner_id and 'exist' or 'create'}) - if 'partner_id' in fields: - res.update({'partner_id' : partner_id}) - if 'name' in fields: - res.update({'name' : ids and 'merge' or 'convert'}) - if 'opportunity_ids' in fields: - res.update({'opportunity_ids': opportunities}) + if 'action' in fields: + res.update({'action' : partner_id and 'exist' or 'create'}) + if 'partner_id' in fields: + res.update({'partner_id' : partner_id}) + if 'name' in fields: + res.update({'name' : len(tomerge) >= 2 and 'merge' or 'convert'}) + if 'opportunity_ids' in fields and len(tomerge) >= 2: + res.update({'opportunity_ids': list(tomerge)}) return res @@ -115,38 +107,44 @@ class crm_lead2opportunity_partner(osv.osv_memory): lead.allocate_salesman(cr, uid, lead_ids, user_ids, team_id=team_id, context=context) return res - def _merge_opportunity(self, cr, uid, ids, opportunity_ids, action='merge', context=None): - if context is None: - context = {} - res = False - # Expected: all newly-converted leads (active_ids) will be merged with the opportunity(ies) - # that have been selected in the 'opportunity_ids' m2m, with all these records - # merged into the first opportunity (and the rest deleted) - opportunity_ids = [o.id for o in opportunity_ids] - lead_ids = context.get('active_ids', []) - if action == 'merge' and lead_ids and opportunity_ids: - # Add the leads in the to-merge list, next to other opps - # (the fact that they're passed in context['lead_ids'] means that - # they cannot be selected to contain the result of the merge. - opportunity_ids.extend(lead_ids) - context.update({'lead_ids': lead_ids, "convert" : True}) - res = self.pool.get('crm.lead').merge_opportunity(cr, uid, opportunity_ids, context=context) - return res - def action_apply(self, cr, uid, ids, context=None): """ Convert lead to opportunity or merge lead and opportunity and open the freshly created opportunity view. """ + if context is None: + context = {} + + w = self.browse(cr, uid, ids, context=context)[0] + opp_ids = [o.id for o in w.opportunity_ids] + if w.name == 'merge': + lead_id = self.pool.get('crm.lead').merge_opportunity(cr, uid, opp_ids, context=context) + lead_ids = [lead_id] + lead = self.pool.get('crm.lead').read(cr, uid, lead_id, ['type'], context=context) + if lead['type'] == "lead": + context.update({'active_ids': lead_ids}) + self._convert_opportunity(cr, uid, ids, {'lead_ids': lead_ids}, context=context) + else: + lead_ids = context.get('active_ids', []) + self._convert_opportunity(cr, uid, ids, {'lead_ids': lead_ids}, context=context) + + return self.pool.get('crm.lead').redirect_opportunity_view(cr, uid, lead_ids[0], context=context) + + def _create_partner(self, cr, uid, ids, context=None): + """ + Create partner based on action. + :return dict: dictionary organized as followed: {lead_id: partner_assigned_id} + """ + #TODO this method in only called by crm_lead2opportunity_partner + #wizard and would probably diserve to be refactored or at least + #moved to a better place if context is None: context = {} lead = self.pool.get('crm.lead') lead_ids = context.get('active_ids', []) data = self.browse(cr, uid, ids, context=context)[0] - self._convert_opportunity(cr, uid, ids, {'lead_ids': lead_ids}, context=context) - self._merge_opportunity(cr, uid, ids, data.opportunity_ids, data.name, context=context) - return lead.redirect_opportunity_view(cr, uid, lead_ids[0], context=context) - + partner_id = data.partner_id and data.partner_id.id or False + return lead.handle_partner_assignation(cr, uid, lead_ids, data.action, partner_id, context=context) class crm_lead2opportunity_mass_convert(osv.osv_memory): _name = 'crm.lead2opportunity.partner.mass' diff --git a/addons/crm/wizard/crm_lead_to_opportunity_view.xml b/addons/crm/wizard/crm_lead_to_opportunity_view.xml index 1a7bd687a94..8bfd60fccec 100644 --- a/addons/crm/wizard/crm_lead_to_opportunity_view.xml +++ b/addons/crm/wizard/crm_lead_to_opportunity_view.xml @@ -9,11 +9,19 @@
- + + + + - - + + + + + + + @@ -51,9 +59,15 @@ + - - + + + + + + + diff --git a/addons/crm/wizard/crm_merge_opportunities_view.xml b/addons/crm/wizard/crm_merge_opportunities_view.xml index 4b035200737..1dc98b6b68f 100644 --- a/addons/crm/wizard/crm_merge_opportunities_view.xml +++ b/addons/crm/wizard/crm_merge_opportunities_view.xml @@ -11,9 +11,14 @@ + - - + + + + + + diff --git a/addons/crm/wizard/crm_partner_binding.py b/addons/crm/wizard/crm_partner_binding.py index efef0fa2611..cb2184dca2a 100644 --- a/addons/crm/wizard/crm_partner_binding.py +++ b/addons/crm/wizard/crm_partner_binding.py @@ -96,20 +96,4 @@ class crm_partner_binding(osv.osv_memory): return res - def _create_partner(self, cr, uid, ids, context=None): - """ - Create partner based on action. - :return dict: dictionary organized as followed: {lead_id: partner_assigned_id} - """ - #TODO this method in only called by crm_lead2opportunity_partner - #wizard and would probably diserve to be refactored or at least - #moved to a better place - if context is None: - context = {} - lead = self.pool.get('crm.lead') - lead_ids = context.get('active_ids', []) - data = self.browse(cr, uid, ids, context=context)[0] - partner_id = data.partner_id and data.partner_id.id or False - return lead.handle_partner_assignation(cr, uid, lead_ids, data.action, partner_id, context=context) - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/crm_claim/crm_claim.py b/addons/crm_claim/crm_claim.py index a724579f1e8..275d9edaab4 100644 --- a/addons/crm_claim/crm_claim.py +++ b/addons/crm_claim/crm_claim.py @@ -195,6 +195,7 @@ class crm_claim(base_stage, osv.osv): 'description': desc, 'email_from': msg.get('from'), 'email_cc': msg.get('cc'), + 'partner_id': msg.get('author_id', False), } if msg.get('priority'): defaults['priority'] = msg.get('priority') diff --git a/addons/crm_helpdesk/crm_helpdesk.py b/addons/crm_helpdesk/crm_helpdesk.py index 5ed1c040627..2d0383962b1 100644 --- a/addons/crm_helpdesk/crm_helpdesk.py +++ b/addons/crm_helpdesk/crm_helpdesk.py @@ -106,6 +106,7 @@ class crm_helpdesk(base_state, base_stage, osv.osv): 'email_from': msg.get('from'), 'email_cc': msg.get('cc'), 'user_id': False, + 'partner_id': msg.get('author_id', False), } defaults.update(custom_values) return super(crm_helpdesk,self).message_new(cr, uid, msg, custom_values=defaults, context=context) diff --git a/addons/event/__openerp__.py b/addons/event/__openerp__.py index aa9f209df88..54b77c82f69 100644 --- a/addons/event/__openerp__.py +++ b/addons/event/__openerp__.py @@ -57,6 +57,6 @@ Key Features 'installable': True, 'application': True, 'auto_install': False, - 'images': ['images/1_event_type_list.jpeg','images/2_events.jpeg','images/3_registrations.jpeg'], + 'images': ['images/1_event_type_list.jpeg','images/2_events.jpeg','images/3_registrations.jpeg','images/events_kanban.jpeg'], } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/event_moodle/i18n/tr.po b/addons/event_moodle/i18n/tr.po new file mode 100644 index 00000000000..7ffdee2515d --- /dev/null +++ b/addons/event_moodle/i18n/tr.po @@ -0,0 +1,185 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-02-04 14:05+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-05 04:44+0000\n" +"X-Generator: Launchpad (build 16468)\n" + +#. module: event_moodle +#: view:event.moodle.config.wiz:0 +msgid "Connection with username and password" +msgstr "" + +#. module: event_moodle +#: model:ir.model,name:event_moodle.model_event_moodle_config_wiz +msgid "event.moodle.config.wiz" +msgstr "" + +#. module: event_moodle +#: help:event.moodle.config.wiz,server_moodle:0 +msgid "" +"URL where you have your moodle server. For exemple: 'http://127.0.0.1' or " +"'http://localhost'" +msgstr "" + +#. module: event_moodle +#: field:event.registration,moodle_user_password:0 +msgid "Password for Moodle User" +msgstr "" + +#. module: event_moodle +#: field:event.moodle.config.wiz,moodle_password:0 +msgid "Moodle Password" +msgstr "" + +#. module: event_moodle +#: code:addons/event_moodle/event_moodle.py:137 +#, python-format +msgid "Your email '%s' is wrong." +msgstr "" + +#. module: event_moodle +#: view:event.moodle.config.wiz:0 +msgid "Connection with a Token" +msgstr "" + +#. module: event_moodle +#: view:event.moodle.config.wiz:0 +msgid "" +"The easiest way to connect OpenERP with a moodle server is to create a " +"'token' in Moodle. It will be used to authenticate OpenERP as a trustable " +"application." +msgstr "" + +#. module: event_moodle +#: field:event.moodle.config.wiz,url:0 +msgid "URL to Moodle Server" +msgstr "" + +#. module: event_moodle +#: help:event.moodle.config.wiz,url:0 +msgid "The url that will be used for the connection with moodle in xml-rpc" +msgstr "" + +#. module: event_moodle +#: model:ir.model,name:event_moodle.model_event_registration +msgid "Event Registration" +msgstr "" + +#. module: event_moodle +#: view:event.moodle.config.wiz:0 +msgid "" +"Another approach is to create a user for OpenERP in Moodle. If you do so, " +"make sure that this user has appropriate access rights." +msgstr "" + +#. module: event_moodle +#: field:event.registration,moodle_uid:0 +msgid "Moodle User ID" +msgstr "" + +#. module: event_moodle +#: field:event.moodle.config.wiz,server_moodle:0 +msgid "Moodle Server" +msgstr "" + +#. module: event_moodle +#: field:event.event,moodle_id:0 +msgid "Moodle ID" +msgstr "" + +#. module: event_moodle +#: view:event.moodle.config.wiz:0 +msgid "Server" +msgstr "" + +#. module: event_moodle +#: code:addons/event_moodle/event_moodle.py:57 +#: code:addons/event_moodle/event_moodle.py:105 +#: code:addons/event_moodle/event_moodle.py:137 +#, python-format +msgid "Error!" +msgstr "" + +#. module: event_moodle +#: code:addons/event_moodle/event_moodle.py:105 +#, python-format +msgid "You must configure your moodle connection." +msgstr "" + +#. module: event_moodle +#: field:event.moodle.config.wiz,moodle_username:0 +#: field:event.registration,moodle_username:0 +msgid "Moodle Username" +msgstr "" + +#. module: event_moodle +#: view:event.moodle.config.wiz:0 +#: model:ir.actions.act_window,name:event_moodle.configure_moodle +msgid "Configure Moodle" +msgstr "" + +#. module: event_moodle +#: field:event.moodle.config.wiz,moodle_token:0 +msgid "Moodle Token" +msgstr "" + +#. module: event_moodle +#: help:event.moodle.config.wiz,moodle_username:0 +msgid "" +"You can also connect with your username that you define when you create a " +"token" +msgstr "" + +#. module: event_moodle +#: help:event.event,moodle_id:0 +msgid "The identifier of this event in Moodle" +msgstr "" + +#. module: event_moodle +#: help:event.moodle.config.wiz,moodle_token:0 +msgid "Put your token that you created in your moodle server" +msgstr "" + +#. module: event_moodle +#: model:ir.ui.menu,name:event_moodle.wizard_moodle +msgid "Moodle Configuration" +msgstr "" + +#. module: event_moodle +#: view:event.moodle.config.wiz:0 +msgid "or" +msgstr "" + +#. module: event_moodle +#: code:addons/event_moodle/event_moodle.py:57 +#, python-format +msgid "First configure your moodle connection." +msgstr "" + +#. module: event_moodle +#: view:event.moodle.config.wiz:0 +msgid "Apply" +msgstr "" + +#. module: event_moodle +#: view:event.moodle.config.wiz:0 +msgid "Cancel" +msgstr "" + +#. module: event_moodle +#: model:ir.model,name:event_moodle.model_event_event +msgid "Event" +msgstr "" diff --git a/addons/event_sale/i18n/tr.po b/addons/event_sale/i18n/tr.po new file mode 100644 index 00000000000..62e8e8e0774 --- /dev/null +++ b/addons/event_sale/i18n/tr.po @@ -0,0 +1,90 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-02-04 14:06+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-05 04:44+0000\n" +"X-Generator: Launchpad (build 16468)\n" + +#. module: event_sale +#: model:ir.model,name:event_sale.model_product_product +msgid "Product" +msgstr "" + +#. module: event_sale +#: help:product.product,event_ok:0 +msgid "" +"Determine if a product needs to create automatically an event registration " +"at the confirmation of a sales order line." +msgstr "" + +#. module: event_sale +#: help:sale.order.line,event_id:0 +msgid "" +"Choose an event and it will automatically create a registration for this " +"event." +msgstr "" + +#. module: event_sale +#: model:event.event,name:event_sale.event_technical_training +msgid "Technical training in Grand-Rosiere" +msgstr "" + +#. module: event_sale +#: help:product.product,event_type_id:0 +msgid "" +"Select event types so when we use this product in sales order lines, it will " +"filter events of this type only." +msgstr "" + +#. module: event_sale +#: field:product.product,event_type_id:0 +msgid "Type of Event" +msgstr "" + +#. module: event_sale +#: field:sale.order.line,event_ok:0 +msgid "event_ok" +msgstr "" + +#. module: event_sale +#: field:product.product,event_ok:0 +msgid "Event Subscription" +msgstr "" + +#. module: event_sale +#: field:sale.order.line,event_type_id:0 +msgid "Event Type" +msgstr "" + +#. module: event_sale +#: model:product.template,name:event_sale.event_product_product_template +msgid "Technical Training" +msgstr "" + +#. module: event_sale +#: code:addons/event_sale/event_sale.py:88 +#, python-format +msgid "The registration %s has been created from the Sales Order %s." +msgstr "" + +#. module: event_sale +#: field:sale.order.line,event_id:0 +msgid "Event" +msgstr "" + +#. module: event_sale +#: model:ir.model,name:event_sale.model_sale_order_line +msgid "Sales Order Line" +msgstr "" diff --git a/addons/fleet/__openerp__.py b/addons/fleet/__openerp__.py index 681f4290bcf..fc7649de20e 100644 --- a/addons/fleet/__openerp__.py +++ b/addons/fleet/__openerp__.py @@ -54,6 +54,7 @@ Main Features 'fleet_data.xml', 'fleet_board_view.xml', ], + 'images': ['images/costs_analysis.jpeg','images/indicative_costs_analysis.jpeg','images/vehicles.jpeg','images/vehicles_contracts.jpeg','images/vehicles_fuel.jpeg','images/vehicles_odometer.jpeg','images/vehicles_services.jpeg'], 'update_xml' : ['security/fleet_security.xml','security/ir.model.access.csv'], 'demo': ['fleet_demo.xml'], diff --git a/addons/fleet/i18n/ro.po b/addons/fleet/i18n/ro.po new file mode 100644 index 00000000000..0f34bfeb0ab --- /dev/null +++ b/addons/fleet/i18n/ro.po @@ -0,0 +1,2023 @@ +# Romanian translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-02-05 12:34+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Romanian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-06 05:15+0000\n" +"X-Generator: Launchpad (build 16468)\n" + +#. module: fleet +#: selection:fleet.vehicle,fuel_type:0 +msgid "Hybrid" +msgstr "Hibrid" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_compact +msgid "Compact" +msgstr "Compact" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_1 +msgid "A/C Compressor Replacement" +msgstr "Inlocuirea Compresorului A/C" + +#. module: fleet +#: help:fleet.vehicle,vin_sn:0 +msgid "Unique number written on the vehicle motor (VIN/SN number)" +msgstr "Numar unic scris pe motorul vehiculului (numar VIN/SN)" + +#. module: fleet +#: selection:fleet.service.type,category:0 +#: view:fleet.vehicle.log.contract:0 +#: view:fleet.vehicle.log.services:0 +msgid "Service" +msgstr "Service" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Monthly" +msgstr "Lunar" + +#. module: fleet +#: code:addons/fleet/fleet.py:62 +#, python-format +msgid "Unknown" +msgstr "Necunoscut(a)" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_20 +msgid "Engine/Drive Belt(s) Replacement" +msgstr "Inlocuirea Motorului/Curelei de Transmisie" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Vehicle costs" +msgstr "Costuri Vehicul" + +#. module: fleet +#: selection:fleet.vehicle,fuel_type:0 +msgid "Diesel" +msgstr "Diesel" + +#. module: fleet +#: code:addons/fleet/fleet.py:421 +#, python-format +msgid "License Plate: from '%s' to '%s'" +msgstr "Numarul de Inmatriculare: de la '%s' la '%s'" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_38 +msgid "Resurface Rotors" +msgstr "Inlocuire Rotoare" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +#: view:fleet.vehicle.model:0 +msgid "Group By..." +msgstr "Grupeaza dupa..." + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_32 +msgid "Oil Pump Replacement" +msgstr "Inlocuire Pompa de Ulei" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_18 +msgid "Engine Belt Inspection" +msgstr "Inspectia Curelei de distributie" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "No" +msgstr "Nu" + +#. module: fleet +#: help:fleet.vehicle,power:0 +msgid "Power in kW of the vehicle" +msgstr "Puterea in kW a vehiculului" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_2 +msgid "Depreciation and Interests" +msgstr "Depreciere si Dobanzi" + +#. module: fleet +#: field:fleet.vehicle.log.contract,insurer_id:0 +#: field:fleet.vehicle.log.fuel,vendor_id:0 +#: field:fleet.vehicle.log.services,vendor_id:0 +msgid "Supplier" +msgstr "Furnizor" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_35 +msgid "Power Steering Hose Replacement" +msgstr "Inlocuirea Furtunului Servodirectiei" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Odometer details" +msgstr "Detalii Contor de Kilometraj" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "Has Alert(s)" +msgstr "Are Alerte" + +#. module: fleet +#: field:fleet.vehicle.log.fuel,liter:0 +msgid "Liter" +msgstr "Litru" + +#. module: fleet +#: model:ir.actions.client,name:fleet.action_fleet_menu +msgid "Open Fleet Menu" +msgstr "Deschide Meniul Parc de masini" + +#. module: fleet +#: view:board.board:0 +msgid "Fuel Costs" +msgstr "Costuri Combustibil" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_9 +msgid "Battery Inspection" +msgstr "Inspectia Bateriei" + +#. module: fleet +#: field:fleet.vehicle,company_id:0 +msgid "Company" +msgstr "Companie" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Invoice Date" +msgstr "Data Facturii" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +msgid "Refueling Details" +msgstr "Detalii Realimentare" + +#. module: fleet +#: code:addons/fleet/fleet.py:659 +#, python-format +msgid "%s contract(s) need(s) to be renewed and/or closed!" +msgstr "contractele %s trebuie reinnoite si/sau inchise!" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Indicative Costs" +msgstr "Costuri Orientative" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_16 +msgid "Charging System Diagnosis" +msgstr "Diagnoza Sistemului de Taxare" + +#. module: fleet +#: help:fleet.vehicle,car_value:0 +msgid "Value of the bought vehicle" +msgstr "Valoarea vehiculului cumparat" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_44 +msgid "Tie Rod End Replacement" +msgstr "Inlocuirea Capatului Barei de Directie" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_24 +msgid "Head Gasket(s) Replacement" +msgstr "Inlocuirea Garniturilor" + +#. module: fleet +#: view:fleet.vehicle:0 +#: selection:fleet.vehicle.cost,cost_type:0 +msgid "Services" +msgstr "Servicii" + +#. module: fleet +#: help:fleet.vehicle,odometer:0 +#: help:fleet.vehicle.cost,odometer:0 +#: help:fleet.vehicle.cost,odometer_id:0 +msgid "Odometer measure of the vehicle at the moment of this log" +msgstr "" +"Masurarea contorului de kilometraj al vehiculului la momentul acestui " +"registru" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +#: field:fleet.vehicle.log.contract,notes:0 +msgid "Terms and Conditions" +msgstr "Termeni si Conditii" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_kanban +msgid "Vehicles with alerts" +msgstr "Vehicule cu alerte" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_costs_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_costs_menu +msgid "Vehicle Costs" +msgstr "Costuri Vehicul" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Total Cost" +msgstr "Cost total" + +#. module: fleet +#: selection:fleet.service.type,category:0 +msgid "Both" +msgstr "Ambii (Ambele)" + +#. module: fleet +#: field:fleet.vehicle.log.contract,cost_id:0 +#: field:fleet.vehicle.log.fuel,cost_id:0 +#: field:fleet.vehicle.log.services,cost_id:0 +msgid "Automatically created field to link to parent fleet.vehicle.cost" +msgstr "" +"Camp creat automat pentru conectarea la fleet.vehicle.cost " +"(costuri.vehicol.parc_auto)" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Terminate Contract" +msgstr "Rezilierea Contractului" + +#. module: fleet +#: help:fleet.vehicle.cost,parent_id:0 +msgid "Parent cost to this current cost" +msgstr "Cost principal asociat acestui cost actual" + +#. module: fleet +#: help:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Frequency of the recuring cost" +msgstr "Frecventa costului recurent" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_1 +msgid "Calculation Benefit In Kind" +msgstr "Calcularea Beneficiului in Natura" + +#. module: fleet +#: help:fleet.vehicle.log.contract,expiration_date:0 +msgid "" +"Date when the coverage of the contract expirates (by default, one year after " +"begin date)" +msgstr "" +"Data la care expira acoperirea contractului (implicit, la un an dupa data de " +"inceput)" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +#: field:fleet.vehicle.log.fuel,notes:0 +#: view:fleet.vehicle.log.services:0 +#: field:fleet.vehicle.log.services,notes:0 +msgid "Notes" +msgstr "Note" + +#. module: fleet +#: code:addons/fleet/fleet.py:47 +#, python-format +msgid "Operation not allowed!" +msgstr "Operatiune nepermisa!" + +#. module: fleet +#: field:fleet.vehicle,message_ids:0 +msgid "Messages" +msgstr "Mesaje" + +#. module: fleet +#: model:res.groups,name:fleet.group_fleet_user +msgid "User" +msgstr "Utilizator" + +#. module: fleet +#: help:fleet.vehicle.cost,vehicle_id:0 +msgid "Vehicle concerned by this log" +msgstr "Vehiculul la care se refera acest registru" + +#. module: fleet +#: field:fleet.vehicle.log.contract,cost_amount:0 +#: field:fleet.vehicle.log.fuel,cost_amount:0 +#: field:fleet.vehicle.log.services,cost_amount:0 +msgid "Amount" +msgstr "Cantitatea" + +#. module: fleet +#: field:fleet.vehicle,message_unread:0 +msgid "Unread Messages" +msgstr "Mesaje Necitite" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_6 +msgid "Air Filter Replacement" +msgstr "Inlocuirea Filtrului de Aer" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_tag +msgid "fleet.vehicle.tag" +msgstr "fleet.vehicle.tag (eticheta.vehicul.parc_auto)" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show the services logs for this vehicle" +msgstr "arata registrele de service pentru acest vehicul" + +#. module: fleet +#: field:fleet.vehicle,contract_renewal_name:0 +msgid "Name of contract to renew soon" +msgstr "Numele contractului care va fi reinnoit in curand" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_senior +msgid "Senior" +msgstr "Senior" + +#. module: fleet +#: help:fleet.vehicle.log.contract,state:0 +msgid "Choose wheter the contract is still valid or not" +msgstr "Selectati daca contractul este inca valabil sau nu" + +#. module: fleet +#: selection:fleet.vehicle,transmission:0 +msgid "Automatic" +msgstr "Automat" + +#. module: fleet +#: help:fleet.vehicle,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "Daca este selectat, mesajele noi necesita atentia dumneavoastra." + +#. module: fleet +#: code:addons/fleet/fleet.py:414 +#, python-format +msgid "Driver: from '%s' to '%s'" +msgstr "Sofer: de la '%s' la '%s'" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "and" +msgstr "si" + +#. module: fleet +#: field:fleet.vehicle.model.brand,image_medium:0 +msgid "Medium-sized photo" +msgstr "Fotografie de dimensiune medie" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_34 +msgid "Oxygen Sensor Replacement" +msgstr "Inlocuirea Senzorului de Oxigen" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Service Type" +msgstr "Tipul de serviciu" + +#. module: fleet +#: help:fleet.vehicle,transmission:0 +msgid "Transmission Used by the vehicle" +msgstr "Transmisia Utilizata de vehicul" + +#. module: fleet +#: code:addons/fleet/fleet.py:730 +#: view:fleet.vehicle.log.contract:0 +#: model:ir.actions.act_window,name:fleet.act_renew_contract +#, python-format +msgid "Renew Contract" +msgstr "Reinnoiti Contractul" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show the odometer logs for this vehicle" +msgstr "arata registrele contorului de kilometraj pentru acest vehicul" + +#. module: fleet +#: help:fleet.vehicle,odometer_unit:0 +msgid "Unit of the odometer " +msgstr "Unitatea contorului de kilometraj " + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Services Costs Per Month" +msgstr "Costuri Service pe Luna" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Effective Costs" +msgstr "Costuri Efective" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_8 +msgid "Repair and maintenance" +msgstr "Repararea si intretinerea" + +#. module: fleet +#: help:fleet.vehicle.log.contract,purchaser_id:0 +msgid "Person to which the contract is signed for" +msgstr "Persoana pentru care este semnat contractul" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_log_contract_act +msgid "" +"

\n" +" Click to create a new contract. \n" +"

\n" +" Manage all your contracts (leasing, insurances, etc.) with\n" +" their related services, costs. OpenERP will automatically " +"warn\n" +" you when some contracts have to be renewed.\n" +"

\n" +" Each contract (e.g.: leasing) may include several services\n" +" (reparation, insurances, periodic maintenance).\n" +"

\n" +" " +msgstr "" +"\n" +" Faceti click pentru a crea un contract nou. \n" +"

\n" +" Va gestionati toate contractele (leasing, asigurari, etc.) " +"cu\n" +" serviciile, costurile lor asociate. OpenERP va va avertiza " +"automat\n" +" atunci cand unele contracte trebuie reinnoite.\n" +"

\n" +" Fiecare contract (de exemplu: leasing) poate include diverse " +"servicii\n" +" (reparatii, asigurari, intretinere periodica).\n" +"

\n" +" " + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_service_type +msgid "Type of services available on a vehicle" +msgstr "Tipul de servicii disponibil pentru un vehicul" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_service_types_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_service_types_menu +msgid "Service Types" +msgstr "Tipuri de Servicii" + +#. module: fleet +#: view:board.board:0 +msgid "Contracts Costs" +msgstr "Costuri Contracte" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_log_services_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_log_services_menu +msgid "Vehicles Services Logs" +msgstr "Registre Servicii Vehicule" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_log_fuel_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_log_fuel_menu +msgid "Vehicles Fuel Logs" +msgstr "Registre Combustibil Vehicule" + +#. module: fleet +#: view:fleet.vehicle.model.brand:0 +msgid "" +"$('.oe_picture').load(function() { if($(this).width() > $(this).height()) { " +"$(this).addClass('oe_employee_picture_wide') } });" +msgstr "" +"$('.oe_picture').load(function() { if($(this).width() > $(this).height()) { " +"$(this).addClass('oe_employee_picture_wide') } });" + +#. module: fleet +#: view:board.board:0 +msgid "Vehicles With Alerts" +msgstr "Vehicule cu Alerte" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_costs_act +msgid "" +"

\n" +" Click to create a new cost.\n" +"

\n" +" OpenERP helps you managing the costs for your different\n" +" vehicles. Costs are created automatically from services,\n" +" contracts (fixed or recurring) and fuel logs.\n" +"

\n" +" " +msgstr "" +"\n" +" Faceti click pentru a crea un cost nou.\n" +"

\n" +" OpenERP va ajuta sa gestionati costurile pentru diverse\n" +" vehicule. Costurile sunt create automat din servicii,\n" +" contracte (fixe sau recurente) si registre de combustibil.\n" +"

\n" +" " + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show the fuel logs for this vehicle" +msgstr "afiseaza registrele de combustibil pentru acest vehicul" + +#. module: fleet +#: field:fleet.vehicle.log.contract,purchaser_id:0 +msgid "Contractor" +msgstr "Contractor" + +#. module: fleet +#: field:fleet.vehicle,license_plate:0 +msgid "License Plate" +msgstr "Placuta de Inmatriculare" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,state:0 +msgid "To Close" +msgstr "Pentru inchidere" + +#. module: fleet +#: field:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Recurring Cost Frequency" +msgstr "Frecventa Costurilor Recurente" + +#. module: fleet +#: field:fleet.vehicle.log.fuel,inv_ref:0 +#: field:fleet.vehicle.log.services,inv_ref:0 +msgid "Invoice Reference" +msgstr "Referinta Facturii" + +#. module: fleet +#: field:fleet.vehicle,message_follower_ids:0 +msgid "Followers" +msgstr "Persoane interesate" + +#. module: fleet +#: field:fleet.vehicle,location:0 +msgid "Location" +msgstr "Locatie" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Costs Per Month" +msgstr "Costuri Lunare" + +#. module: fleet +#: field:fleet.contract.state,name:0 +msgid "Contract Status" +msgstr "Status Contract" + +#. module: fleet +#: field:fleet.vehicle,contract_renewal_total:0 +msgid "Total of contracts due or overdue minus one" +msgstr "Totalul contractelor scadente sau restante minus unu" + +#. module: fleet +#: field:fleet.vehicle.cost,cost_subtype_id:0 +msgid "Type" +msgstr "Tip" + +#. module: fleet +#: field:fleet.vehicle,contract_renewal_overdue:0 +msgid "Has Contracts Overdued" +msgstr "Are Contracte Restante" + +#. module: fleet +#: field:fleet.vehicle.cost,amount:0 +msgid "Total Price" +msgstr "Pret total" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_27 +msgid "Heater Core Replacement" +msgstr "Inlocuirea Sistemului Central de Incalzire" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_14 +msgid "Car Wash" +msgstr "Spalatorie Auto" + +#. module: fleet +#: help:fleet.vehicle,driver_id:0 +msgid "Driver of the vehicle" +msgstr "Soferul vehiculului" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "other(s)" +msgstr "altele" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_refueling +msgid "Refueling" +msgstr "Realimentare" + +#. module: fleet +#: help:fleet.vehicle,message_summary:0 +msgid "" +"Holds the Chatter summary (number of messages, ...). This summary is " +"directly in html format in order to be inserted in kanban views." +msgstr "" +"Contine rezumatul Chatter (numar de mesaje, ...). Acest rezumat este direct " +"in format HTML, cu scopul de a se introduce in vizualizari kanban." + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_5 +msgid "A/C Recharge" +msgstr "Reincarcare A/C" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_log_fuel +msgid "Fuel log for vehicles" +msgstr "Registru de combustibil pentru vehicule" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "Engine Options" +msgstr "Optiuni Motor" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +msgid "Fuel Costs Per Month" +msgstr "Costuri Combustibil Lunar" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_sedan +msgid "Sedan" +msgstr "Sedan" + +#. module: fleet +#: field:fleet.vehicle,seats:0 +msgid "Seats Number" +msgstr "Numar de locuri" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_convertible +msgid "Convertible" +msgstr "Masina decapotabila" + +#. module: fleet +#: model:ir.ui.menu,name:fleet.fleet_configuration +msgid "Configuration" +msgstr "Configurare" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +#: field:fleet.vehicle.log.contract,sum_cost:0 +msgid "Indicative Costs Total" +msgstr "Total Costuri Orientative" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_junior +msgid "Junior" +msgstr "Junior" + +#. module: fleet +#: help:fleet.vehicle,model_id:0 +msgid "Model of the vehicle" +msgstr "Modelul vehiculului" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_state_act +msgid "" +"

\n" +" Click to create a vehicule status.\n" +"

\n" +" You can customize available status to track the evolution " +"of\n" +" each vehicule. Example: Active, Being Repaired, Sold.\n" +"

\n" +" " +msgstr "" +"\n" +" Dati click pentru a crea un status al vehiculului.\n" +"

\n" +" Puteti personaliza statusul disponibil pentru a urmari " +"evolutia\n" +" fiecarui vehicul. De exemplu: Activ, In reparatie, Vandut.\n" +"

\n" +" " + +#. module: fleet +#: view:fleet.vehicle:0 +#: field:fleet.vehicle,log_fuel:0 +#: view:fleet.vehicle.log.fuel:0 +msgid "Fuel Logs" +msgstr "Registre Combustibil" + +#. module: fleet +#: code:addons/fleet/fleet.py:409 +#: code:addons/fleet/fleet.py:413 +#: code:addons/fleet/fleet.py:417 +#: code:addons/fleet/fleet.py:420 +#, python-format +msgid "None" +msgstr "Niciunul/Niciuna" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_reporting_costs_non_effective +#: model:ir.ui.menu,name:fleet.menu_fleet_reporting_indicative_costs +msgid "Indicative Costs Analysis" +msgstr "Analiza Costurilor Orientative" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_12 +msgid "Brake Inspection" +msgstr "Inspectia Franei" + +#. module: fleet +#: help:fleet.vehicle,state_id:0 +msgid "Current state of the vehicle" +msgstr "Starea actuala a vehiculului" + +#. module: fleet +#: selection:fleet.vehicle,transmission:0 +msgid "Manual" +msgstr "Manual" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_52 +msgid "Wheel Bearing Replacement" +msgstr "Inlocuire Rulmenti Roti" + +#. module: fleet +#: help:fleet.vehicle.cost,cost_subtype_id:0 +msgid "Cost type purchased with this cost" +msgstr "Tipul de cost achizitionat cu acest cost" + +#. module: fleet +#: selection:fleet.vehicle,fuel_type:0 +msgid "Gasoline" +msgstr "Benzina" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_model_brand_act +msgid "" +"

\n" +" Click to create a new brand.\n" +"

\n" +" " +msgstr "" +"\n" +" Faceti click pentru a crea o marca noua.\n" +"

\n" +" " + +#. module: fleet +#: field:fleet.vehicle.log.contract,start_date:0 +msgid "Contract Start Date" +msgstr "Data de Inceput a Contractului" + +#. module: fleet +#: field:fleet.vehicle,odometer_unit:0 +msgid "Odometer Unit" +msgstr "Unitate Contor Kilometraj" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_30 +msgid "Intake Manifold Gasket Replacement" +msgstr "Inlocuirea Garniturii Galeriei de Admisie" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Daily" +msgstr "Zilnic" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_6 +msgid "Snow tires" +msgstr "Cauciucuri de iarna" + +#. module: fleet +#: help:fleet.vehicle.cost,date:0 +msgid "Date when the cost has been executed" +msgstr "Data cand a fost executat costul" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +#: view:fleet.vehicle.model:0 +msgid "Vehicles costs" +msgstr "Costuri vehicule" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_log_services +msgid "Services for vehicles" +msgstr "Service pentru vehicule" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Indicative Cost" +msgstr "Cost Orientativ" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_26 +msgid "Heater Control Valve Replacement" +msgstr "Inlocuirea Valvei Controlului de Incalzire" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "" +"Create a new contract automatically with all the same informations except " +"for the date that will start at the end of current contract" +msgstr "" +"Creeaza automat un contract nou cu aceleasi informatii cu exceptia datei cu " +"care acesta va incepe la finalul contractului curent" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,state:0 +msgid "Terminated" +msgstr "Reziliat" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_cost +msgid "Cost related to a vehicle" +msgstr "Costul asociat unui vehicul" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_33 +msgid "Other Maintenance" +msgstr "Alta Intretinere" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +#: field:fleet.vehicle.cost,parent_id:0 +msgid "Parent" +msgstr "Principal" + +#. module: fleet +#: field:fleet.vehicle,state_id:0 +#: view:fleet.vehicle.state:0 +msgid "State" +msgstr "Stare" + +#. module: fleet +#: field:fleet.vehicle.log.contract,cost_generated:0 +msgid "Recurring Cost Amount" +msgstr "Valoarea Costului Recurent" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_49 +msgid "Transmission Replacement" +msgstr "Inlocuirea Transmisiei" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_log_fuel_act +msgid "" +"

\n" +" Click to create a new fuel log. \n" +"

\n" +" Here you can add refuelling entries for all vehicles. You " +"can\n" +" also filter logs of a particular vehicle using the search\n" +" field.\n" +"

\n" +" " +msgstr "" +"\n" +" Dati click pentru a crea un registru nou de combustibil. \n" +"

\n" +" Aici puteti sa adaugati inregistrari ale realimentarilor " +"pentru toate vehiculele. De asemenea, puteti sa\n" +" filtrati registrele unui anumit vehicule folosind campul de " +"cautare.\n" +"

\n" +" " + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_11 +msgid "Brake Caliper Replacement" +msgstr "Inlocuire Subler Frana" + +#. module: fleet +#: field:fleet.vehicle,odometer:0 +msgid "Last Odometer" +msgstr "Ultimul Contor de Kilometraj" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_model_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_model_menu +msgid "Vehicle Model" +msgstr "Modelul vehiculului" + +#. module: fleet +#: field:fleet.vehicle,doors:0 +msgid "Doors Number" +msgstr "Numar de usi" + +#. module: fleet +#: help:fleet.vehicle,acquisition_date:0 +msgid "Date when the vehicle has been bought" +msgstr "Data cand vehiculul a fost cumparat" + +#. module: fleet +#: view:fleet.vehicle.model:0 +msgid "Models" +msgstr "Modele" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "amount" +msgstr "valoare" + +#. module: fleet +#: help:fleet.vehicle,fuel_type:0 +msgid "Fuel Used by the vehicle" +msgstr "Combustibilul utilizat de vehicul" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Set Contract In Progress" +msgstr "Setati Contract in Desfasurare" + +#. module: fleet +#: field:fleet.vehicle.cost,odometer_unit:0 +#: field:fleet.vehicle.odometer,unit:0 +msgid "Unit" +msgstr "Unitate" + +#. module: fleet +#: field:fleet.vehicle,message_is_follower:0 +msgid "Is a Follower" +msgstr "Este o persoana interesata" + +#. module: fleet +#: field:fleet.vehicle,horsepower:0 +msgid "Horsepower" +msgstr "Cai putere" + +#. module: fleet +#: field:fleet.vehicle,image:0 +#: field:fleet.vehicle,image_medium:0 +#: field:fleet.vehicle,image_small:0 +#: field:fleet.vehicle.model,image:0 +#: field:fleet.vehicle.model,image_medium:0 +#: field:fleet.vehicle.model,image_small:0 +#: field:fleet.vehicle.model.brand,image:0 +msgid "Logo" +msgstr "Sigla" + +#. module: fleet +#: field:fleet.vehicle,horsepower_tax:0 +msgid "Horsepower Taxation" +msgstr "Impozitare Cai putere" + +#. module: fleet +#: field:fleet.vehicle,log_services:0 +#: view:fleet.vehicle.log.services:0 +msgid "Services Logs" +msgstr "Registre Servicii" + +#. module: fleet +#: view:fleet.vehicle.model:0 +msgid "Brand" +msgstr "Marca" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_43 +msgid "Thermostat Replacement" +msgstr "Inlocuirea Termostatului" + +#. module: fleet +#: field:fleet.service.type,category:0 +msgid "Category" +msgstr "Categorie" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_log_fuel_graph +msgid "Fuel Costs by Month" +msgstr "Costurile lunare cu combustibilul" + +#. module: fleet +#: help:fleet.vehicle.model.brand,image:0 +msgid "" +"This field holds the image used as logo for the brand, limited to " +"1024x1024px." +msgstr "" +"Acest camp retine imaginea utilizata drept sigla pentru marca, limitata la " +"1024x1024px." + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_11 +msgid "Management Fee" +msgstr "Taxa de Administrare" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "All vehicles" +msgstr "Toate vehiculele" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +#: view:fleet.vehicle.log.services:0 +msgid "Additional Details" +msgstr "Detalii Suplimentare" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_log_services_graph +msgid "Services Costs by Month" +msgstr "Costurile lunare cu Serviciile" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_9 +msgid "Assistance" +msgstr "Asistenta" + +#. module: fleet +#: field:fleet.vehicle.log.fuel,price_per_liter:0 +msgid "Price Per Liter" +msgstr "Pretul pe litru" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_17 +msgid "Door Window Motor/Regulator Replacement" +msgstr "Inlocuirea Motorului Ferestrei de la Usa/Regulatorului" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_46 +msgid "Tire Service" +msgstr "Service Cauciucuri" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_8 +msgid "Ball Joint Replacement" +msgstr "Inlocuirea Racordului cu Bila" + +#. module: fleet +#: field:fleet.vehicle,fuel_type:0 +msgid "Fuel Type" +msgstr "Tipul de Combustibil" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_22 +msgid "Fuel Injector Replacement" +msgstr "Inlocuirea Pompei de injectie" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_state_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_state_menu +msgid "Vehicle Status" +msgstr "Starea Vehiculului" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_50 +msgid "Water Pump Replacement" +msgstr "Inlocuirea Pompei de Apa" + +#. module: fleet +#: help:fleet.vehicle,location:0 +msgid "Location of the vehicle (garage, ...)" +msgstr "Locatia vehiculului (garaj, ...)" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_28 +msgid "Heater Hose Replacement" +msgstr "Inlocuirea Furtunului de incalzire" + +#. module: fleet +#: field:fleet.vehicle.log.contract,state:0 +msgid "Status" +msgstr "Status" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_40 +msgid "Rotor Replacement" +msgstr "Inlocuirea Rotorului" + +#. module: fleet +#: help:fleet.vehicle.model,brand_id:0 +msgid "Brand of the vehicle" +msgstr "Marca vehiculului" + +#. module: fleet +#: help:fleet.vehicle.log.contract,start_date:0 +msgid "Date when the coverage of the contract begins" +msgstr "Data cand incepe acoperirea contractului" + +#. module: fleet +#: selection:fleet.vehicle,fuel_type:0 +msgid "Electric" +msgstr "Electric" + +#. module: fleet +#: field:fleet.vehicle,tag_ids:0 +msgid "Tags" +msgstr "Etichete" + +#. module: fleet +#: view:fleet.vehicle:0 +#: field:fleet.vehicle,log_contracts:0 +msgid "Contracts" +msgstr "Contracte" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_13 +msgid "Brake Pad(s) Replacement" +msgstr "Inlocuirea Placutelor de Frana" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +#: view:fleet.vehicle.log.services:0 +msgid "Odometer Details" +msgstr "Detalii Contor de kilometraj" + +#. module: fleet +#: field:fleet.vehicle,driver_id:0 +msgid "Driver" +msgstr "Sofer" + +#. module: fleet +#: help:fleet.vehicle.model.brand,image_small:0 +msgid "" +"Small-sized photo of the brand. It is automatically resized as a 64x64px " +"image, with aspect ratio preserved. Use this field anywhere a small image is " +"required." +msgstr "" +"Fotografie de dimensiuni mici a marcii. Este redimensionata automat ca o " +"imagine de 64x64px, cu pastrarea formatului imaginii. Utilizati acest camp " +"oriunde este nevoie de o imagine mica." + +#. module: fleet +#: view:board.board:0 +msgid "Fleet Dashboard" +msgstr "Panou de bord Parc auto" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_break +msgid "Break" +msgstr "Intrerupere" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_contract_omnium +msgid "Omnium" +msgstr "Diverse" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Services Details" +msgstr "Detalii Servicii" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_15 +msgid "Residual value (Excluding VAT)" +msgstr "Valoare reziduala (fara TVA)" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_7 +msgid "Alternator Replacement" +msgstr "Inlocuire Alternator" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_3 +msgid "A/C Diagnosis" +msgstr "Diagnoza A/C" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_23 +msgid "Fuel Pump Replacement" +msgstr "Inlocuirea Pompei de Combustibil" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Activation Cost" +msgstr "Cost Activare" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Cost Type" +msgstr "Tipul de Cost" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_4 +msgid "A/C Evaporator Replacement" +msgstr "Inlocuirea Evaporatorului A/C" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show all the costs for this vehicle" +msgstr "arata toate costurile pentru acest vehicul" + +#. module: fleet +#: view:fleet.vehicle.odometer:0 +msgid "Odometer Values Per Month" +msgstr "Valorile lunare ale Contorului de kilometraj" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_model_act +msgid "" +"

\n" +" Click to create a new model.\n" +"

\n" +" You can define several models (e.g. A3, A4) for each brand " +"(Audi).\n" +"

\n" +" " +msgstr "" +"\n" +" Dati click pentru a crea un model nou.\n" +"

\n" +" Puteti defini mai multe modele (de exemplu A3, A4) pentru " +"fiecare marca (Audi).\n" +"

\n" +" " + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_act +msgid "" +"

\n" +" Click to create a new vehicle. \n" +"

\n" +" You will be able to manage your fleet by keeping track of " +"the\n" +" contracts, services, fixed and recurring costs, odometers " +"and\n" +" fuel logs associated to each vehicle.\n" +"

\n" +" OpenERP will warn you when services or contract have to be\n" +" renewed.\n" +"

\n" +" " +msgstr "" +"\n" +" Dati click pentru a crea un vehicul nou. \n" +"

\n" +" Veti putea sa va gestionati parcul auto tinand evidenta\n" +" contractelor, a serviciilor, a costurilor fixe si recurente, " +"a contoarelor de kilometraj si\n" +" registrelor de combustibil asociate fiecarui vehicul.\n" +"

\n" +" OpenERP va va avertiza atunci cand aveti servicii sau " +"contractele trebuie\n" +" reinnoite.\n" +"

\n" +" " + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_13 +msgid "Entry into service tax" +msgstr "Intrarea in serviciul fiscal" + +#. module: fleet +#: field:fleet.vehicle.log.contract,expiration_date:0 +msgid "Contract Expiration Date" +msgstr "Data de Expirare a Contractului" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Cost Subtype" +msgstr "Subtip de Cost" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.open_board_fleet +msgid "" +"
\n" +"

\n" +" Fleet dashboard is empty.\n" +"

\n" +" To add your first report into this dashboard, go to any\n" +" menu, switch to list or graph view, and click 'Add " +"to\n" +" Dashboard' in the extended search options.\n" +"

\n" +" You can filter and group data before inserting into the\n" +" dashboard using the search options.\n" +"

\n" +"
\n" +" " +msgstr "" +"\n" +"

\n" +" Tabloul de bord al parcului auto este " +"necompletat.\n" +"

\n" +" Pentru a adauga primul raport la acest tablou de bord, " +"mergeti in oricare\n" +" meniu, treceti pe modul lista sau vizualizare grafic, si " +"dati click 'Adauga la\n" +" Tabloul de bord' in optiunile de cautare exitinsa.\n" +"

\n" +" Puteti sa filtrati si sa grupati datele inainte de a le " +"introduce in\n" +" tabloul de bord folosind optiunile de cutare..\n" +"

\n" +" \n" +" " + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_12 +msgid "Rent (Excluding VAT)" +msgstr "Inchiriaza (fara TVA)" + +#. module: fleet +#: selection:fleet.vehicle,odometer_unit:0 +msgid "Kilometers" +msgstr "Kilometri" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +msgid "Vehicle Details" +msgstr "Detalii Vehicul" + +#. module: fleet +#: selection:fleet.service.type,category:0 +#: field:fleet.vehicle.cost,contract_id:0 +#: selection:fleet.vehicle.cost,cost_type:0 +msgid "Contract" +msgstr "Contract" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_model_brand_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_model_brand_menu +msgid "Model brand of Vehicle" +msgstr "Marca Automobilului" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_10 +msgid "Battery Replacement" +msgstr "Inlocuirea Bateriei" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +#: field:fleet.vehicle.cost,date:0 +#: field:fleet.vehicle.odometer,date:0 +msgid "Date" +msgstr "Data" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_menu +#: model:ir.ui.menu,name:fleet.fleet_vehicles +msgid "Vehicles" +msgstr "Vehicule" + +#. module: fleet +#: selection:fleet.vehicle,odometer_unit:0 +msgid "Miles" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,cost_generated:0 +msgid "" +"Costs paid at regular intervals, depending on the cost frequency. If the " +"cost frequency is set to unique, the cost will be logged at the start date" +msgstr "" +"Costuri platite la intervale regulate, in functie de frecventa costului. " +"Daca frecventa costului este setata pe unic, costul va fi inregistrat la " +"data de inceput" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_17 +msgid "Emissions" +msgstr "Emisii" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_model +msgid "Model of a vehicle" +msgstr "Model al unui vehicul" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.action_fleet_reporting_costs +#: model:ir.actions.act_window,help:fleet.action_fleet_reporting_costs_non_effective +msgid "" +"

\n" +" OpenERP helps you managing the costs for your different vehicles\n" +" Costs are generally created from services and contract and appears " +"here.\n" +"

\n" +"

\n" +" Thanks to the different filters, OpenERP can only print the " +"effective\n" +" costs, sort them by type and by vehicle.\n" +"

\n" +" " +msgstr "" +"

\n" +" OpenERP va ajuta gestionand costurile pentru diferite vehicule\n" +" Costurile sunt create in general din servicii si din contract si " +"apar aici.\n" +"

\n" +"

\n" +" Datorita diferitelor filtre, OpenERP poate sa printeze doar " +"costurile\n" +" efective, sa le trieze dupa tipul lor si dupa vehicul.\n" +"

\n" +" " + +#. module: fleet +#: field:fleet.vehicle,car_value:0 +msgid "Car Value" +msgstr "Valoarea Masinii" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.open_board_fleet +#: model:ir.module.category,name:fleet.module_fleet_category +#: model:ir.ui.menu,name:fleet.menu_fleet_dashboard +#: model:ir.ui.menu,name:fleet.menu_fleet_reporting +#: model:ir.ui.menu,name:fleet.menu_root +msgid "Fleet" +msgstr "Parc Auto" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_14 +msgid "Total expenses (Excluding VAT)" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,odometer_id:0 +msgid "Odometer" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_45 +msgid "Tire Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.service.type:0 +msgid "Service types" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.fuel,purchaser_id:0 +#: field:fleet.vehicle.log.services,purchaser_id:0 +msgid "Purchaser" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_3 +msgid "Tax roll" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.model:0 +#: field:fleet.vehicle.model,vendors:0 +msgid "Vendors" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_contract_leasing +msgid "Leasing" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.model.brand,image_medium:0 +msgid "" +"Medium-sized logo of the brand. It is automatically resized as a 128x128px " +"image, with aspect ratio preserved. Use this field in form views or some " +"kanban views." +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Weekly" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +#: view:fleet.vehicle.odometer:0 +msgid "Odometer Logs" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,acquisition_date:0 +msgid "Acquisition Date" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_odometer +msgid "Odometer log for a vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,cost_type:0 +msgid "Category of the cost" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_5 +#: model:fleet.service.type,name:fleet.type_service_service_7 +msgid "Summer tires" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,contract_renewal_due_soon:0 +msgid "Has Contracts to renew" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_31 +msgid "Oil Change" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model.brand,image_small:0 +msgid "Smal-sized photo" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_model_brand +msgid "Brand model of the vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_51 +msgid "Wheel Alignment" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_purchased +msgid "Purchased" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_odometer_act +msgid "" +"

\n" +" Here you can add various odometer entries for all vehicles.\n" +" You can also show odometer value for a particular vehicle " +"using\n" +" the search field.\n" +"

\n" +" " +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model,brand_id:0 +#: view:fleet.vehicle.model.brand:0 +msgid "Model Brand" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "General Properties" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_21 +msgid "Exhaust Manifold Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_47 +msgid "Transmission Filter Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_10 +msgid "Replacement Vehicle" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,state:0 +msgid "In Progress" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Yearly" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model,modelname:0 +msgid "Model name" +msgstr "" + +#. module: fleet +#: view:board.board:0 +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_costs_graph +msgid "Costs by Month" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_18 +msgid "Touring Assistance" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,power:0 +msgid "Power (kW)" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:418 +#, python-format +msgid "State: from '%s' to '%s'" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_2 +msgid "A/C Condenser Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_19 +msgid "Engine Coolant Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Cost Details" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:410 +#, python-format +msgid "Model: from '%s' to '%s'" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.cost,cost_type:0 +msgid "Other" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Contract details" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_leasing +msgid "Employee Car" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,auto_generated:0 +msgid "Automatically Generated" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.cost,cost_type:0 +msgid "Fuel" +msgstr "" + +#. module: fleet +#: sql_constraint:fleet.vehicle.state:0 +msgid "State name already exists" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_37 +msgid "Radiator Repair" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_log_contract +msgid "Contract information on a vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,days_left:0 +msgid "Warning Date" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_19 +msgid "Residual value in %" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "Additional Properties" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_state +msgid "fleet.vehicle.state" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Contract Costs Per Month" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_log_contract_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_log_contract_menu +msgid "Vehicles Contracts" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_48 +msgid "Transmission Fluid Replacement" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model.brand,name:0 +msgid "Brand Name" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_36 +msgid "Power Steering Pump Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,contract_id:0 +msgid "Contract attached to this cost" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:397 +#, python-format +msgid "Vehicle %s has been added to the fleet!" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +#: view:fleet.vehicle.log.fuel:0 +#: view:fleet.vehicle.log.services:0 +msgid "Price" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,odometer:0 +#: field:fleet.vehicle.odometer,value:0 +msgid "Odometer Value" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +#: view:fleet.vehicle.cost:0 +#: field:fleet.vehicle.cost,vehicle_id:0 +#: field:fleet.vehicle.odometer,vehicle_id:0 +msgid "Vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,cost_ids:0 +#: view:fleet.vehicle.log.contract:0 +#: view:fleet.vehicle.log.services:0 +msgid "Included Services" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.action_fleet_vehicle_kanban +msgid "" +"

\n" +" Here are displayed vehicles for which one or more contracts need " +"to be renewed. If you see this message, then there is no contracts to " +"renew.\n" +"

\n" +" " +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_15 +msgid "Catalytic Converter Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_25 +msgid "Heater Blower Motor Replacement" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_odometer_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_odometer_menu +msgid "Vehicles Odometer" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,notes:0 +msgid "Write here all supplementary informations relative to this contract" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_29 +msgid "Ignition Coil Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_16 +msgid "Options" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_contract_repairing +msgid "Repairing" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_reporting_costs +#: model:ir.ui.menu,name:fleet.menu_fleet_reporting_costs +msgid "Costs Analysis" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,ins_ref:0 +msgid "Contract Reference" +msgstr "" + +#. module: fleet +#: field:fleet.service.type,name:0 +#: field:fleet.vehicle,name:0 +#: field:fleet.vehicle.cost,name:0 +#: field:fleet.vehicle.log.contract,name:0 +#: field:fleet.vehicle.model,name:0 +#: field:fleet.vehicle.odometer,name:0 +#: field:fleet.vehicle.state,name:0 +#: field:fleet.vehicle.tag,name:0 +msgid "Name" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,doors:0 +msgid "Number of doors of the vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,transmission:0 +msgid "Transmission" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,vin_sn:0 +msgid "Chassis Number" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,color:0 +msgid "Color of the vehicle" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_log_services_act +msgid "" +"

\n" +" Click to create a new service entry. \n" +"

\n" +" OpenERP helps you keeping track of all the services done\n" +" on your vehicle. Services can be of many type: occasional\n" +" repair, fixed maintenance, etc.\n" +"

\n" +" " +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,co2:0 +msgid "CO2 Emissions" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Contract logs" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "Costs" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,message_summary:0 +msgid "Summary" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_log_contract_graph +msgid "Contracts Costs by Month" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,model_id:0 +#: view:fleet.vehicle.model:0 +msgid "Model" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_41 +msgid "Spark Plug Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle +msgid "Information on a vehicle" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,co2:0 +msgid "CO2 emissions of the vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_53 +msgid "Windshield Wiper(s) Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +#: field:fleet.vehicle.log.contract,generated_cost_ids:0 +msgid "Generated Costs" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.state,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,color:0 +msgid "Color" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_service_types_act +msgid "" +"

\n" +" Click to create a new type of service.\n" +"

\n" +" Each service can used in contracts, as a standalone service " +"or both.\n" +"

\n" +" " +msgstr "" + +#. module: fleet +#: view:board.board:0 +msgid "Services Costs" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:47 +#, python-format +msgid "Emptying the odometer value of a vehicle is not allowed." +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,seats:0 +msgid "Number of seats of the vehicle" +msgstr "" + +#. module: fleet +#: model:res.groups,name:fleet.group_fleet_manager +msgid "Manager" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Cost" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_39 +msgid "Rotate Tires" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_42 +msgid "Starter Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +#: field:fleet.vehicle.cost,year:0 +msgid "Year" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,license_plate:0 +msgid "License plate number of the vehicle (ie: plate number for a car)" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_contract_state +msgid "Contains the different possible status of a leasing contract" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show the contract for this vehicle" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Total" +msgstr "" + +#. module: fleet +#: help:fleet.service.type,category:0 +msgid "" +"Choose wheter the service refer to contracts, vehicle services or both" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,cost_type:0 +msgid "For internal purpose only" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.state,sequence:0 +msgid "Used to order the note stages" +msgstr "" diff --git a/addons/fleet/i18n/tr.po b/addons/fleet/i18n/tr.po new file mode 100644 index 00000000000..24d54258cb3 --- /dev/null +++ b/addons/fleet/i18n/tr.po @@ -0,0 +1,1912 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-02-04 14:06+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-05 04:44+0000\n" +"X-Generator: Launchpad (build 16468)\n" + +#. module: fleet +#: selection:fleet.vehicle,fuel_type:0 +msgid "Hybrid" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_compact +msgid "Compact" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_1 +msgid "A/C Compressor Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,vin_sn:0 +msgid "Unique number written on the vehicle motor (VIN/SN number)" +msgstr "" + +#. module: fleet +#: selection:fleet.service.type,category:0 +#: view:fleet.vehicle.log.contract:0 +#: view:fleet.vehicle.log.services:0 +msgid "Service" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Monthly" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:62 +#, python-format +msgid "Unknown" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_20 +msgid "Engine/Drive Belt(s) Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Vehicle costs" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,fuel_type:0 +msgid "Diesel" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:421 +#, python-format +msgid "License Plate: from '%s' to '%s'" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_38 +msgid "Resurface Rotors" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +#: view:fleet.vehicle.model:0 +msgid "Group By..." +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_32 +msgid "Oil Pump Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_18 +msgid "Engine Belt Inspection" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "No" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,power:0 +msgid "Power in kW of the vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_2 +msgid "Depreciation and Interests" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,insurer_id:0 +#: field:fleet.vehicle.log.fuel,vendor_id:0 +#: field:fleet.vehicle.log.services,vendor_id:0 +msgid "Supplier" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_35 +msgid "Power Steering Hose Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Odometer details" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "Has Alert(s)" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.fuel,liter:0 +msgid "Liter" +msgstr "" + +#. module: fleet +#: model:ir.actions.client,name:fleet.action_fleet_menu +msgid "Open Fleet Menu" +msgstr "" + +#. module: fleet +#: view:board.board:0 +msgid "Fuel Costs" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_9 +msgid "Battery Inspection" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,company_id:0 +msgid "Company" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Invoice Date" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +msgid "Refueling Details" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:659 +#, python-format +msgid "%s contract(s) need(s) to be renewed and/or closed!" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Indicative Costs" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_16 +msgid "Charging System Diagnosis" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,car_value:0 +msgid "Value of the bought vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_44 +msgid "Tie Rod End Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_24 +msgid "Head Gasket(s) Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +#: selection:fleet.vehicle.cost,cost_type:0 +msgid "Services" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,odometer:0 +#: help:fleet.vehicle.cost,odometer:0 +#: help:fleet.vehicle.cost,odometer_id:0 +msgid "Odometer measure of the vehicle at the moment of this log" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +#: field:fleet.vehicle.log.contract,notes:0 +msgid "Terms and Conditions" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_kanban +msgid "Vehicles with alerts" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_costs_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_costs_menu +msgid "Vehicle Costs" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Total Cost" +msgstr "" + +#. module: fleet +#: selection:fleet.service.type,category:0 +msgid "Both" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,cost_id:0 +#: field:fleet.vehicle.log.fuel,cost_id:0 +#: field:fleet.vehicle.log.services,cost_id:0 +msgid "Automatically created field to link to parent fleet.vehicle.cost" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Terminate Contract" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,parent_id:0 +msgid "Parent cost to this current cost" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Frequency of the recuring cost" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_1 +msgid "Calculation Benefit In Kind" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,expiration_date:0 +msgid "" +"Date when the coverage of the contract expirates (by default, one year after " +"begin date)" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +#: field:fleet.vehicle.log.fuel,notes:0 +#: view:fleet.vehicle.log.services:0 +#: field:fleet.vehicle.log.services,notes:0 +msgid "Notes" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:47 +#, python-format +msgid "Operation not allowed!" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,message_ids:0 +msgid "Messages" +msgstr "" + +#. module: fleet +#: model:res.groups,name:fleet.group_fleet_user +msgid "User" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,vehicle_id:0 +msgid "Vehicle concerned by this log" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,cost_amount:0 +#: field:fleet.vehicle.log.fuel,cost_amount:0 +#: field:fleet.vehicle.log.services,cost_amount:0 +msgid "Amount" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,message_unread:0 +msgid "Unread Messages" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_6 +msgid "Air Filter Replacement" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_tag +msgid "fleet.vehicle.tag" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show the services logs for this vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,contract_renewal_name:0 +msgid "Name of contract to renew soon" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_senior +msgid "Senior" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,state:0 +msgid "Choose wheter the contract is still valid or not" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,transmission:0 +msgid "Automatic" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:414 +#, python-format +msgid "Driver: from '%s' to '%s'" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "and" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model.brand,image_medium:0 +msgid "Medium-sized photo" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_34 +msgid "Oxygen Sensor Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Service Type" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,transmission:0 +msgid "Transmission Used by the vehicle" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:730 +#: view:fleet.vehicle.log.contract:0 +#: model:ir.actions.act_window,name:fleet.act_renew_contract +#, python-format +msgid "Renew Contract" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show the odometer logs for this vehicle" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,odometer_unit:0 +msgid "Unit of the odometer " +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Services Costs Per Month" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Effective Costs" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_8 +msgid "Repair and maintenance" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,purchaser_id:0 +msgid "Person to which the contract is signed for" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_log_contract_act +msgid "" +"

\n" +" Click to create a new contract. \n" +"

\n" +" Manage all your contracts (leasing, insurances, etc.) with\n" +" their related services, costs. OpenERP will automatically " +"warn\n" +" you when some contracts have to be renewed.\n" +"

\n" +" Each contract (e.g.: leasing) may include several services\n" +" (reparation, insurances, periodic maintenance).\n" +"

\n" +" " +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_service_type +msgid "Type of services available on a vehicle" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_service_types_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_service_types_menu +msgid "Service Types" +msgstr "" + +#. module: fleet +#: view:board.board:0 +msgid "Contracts Costs" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_log_services_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_log_services_menu +msgid "Vehicles Services Logs" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_log_fuel_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_log_fuel_menu +msgid "Vehicles Fuel Logs" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.model.brand:0 +msgid "" +"$('.oe_picture').load(function() { if($(this).width() > $(this).height()) { " +"$(this).addClass('oe_employee_picture_wide') } });" +msgstr "" + +#. module: fleet +#: view:board.board:0 +msgid "Vehicles With Alerts" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_costs_act +msgid "" +"

\n" +" Click to create a new cost.\n" +"

\n" +" OpenERP helps you managing the costs for your different\n" +" vehicles. Costs are created automatically from services,\n" +" contracts (fixed or recurring) and fuel logs.\n" +"

\n" +" " +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show the fuel logs for this vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,purchaser_id:0 +msgid "Contractor" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,license_plate:0 +msgid "License Plate" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,state:0 +msgid "To Close" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Recurring Cost Frequency" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.fuel,inv_ref:0 +#: field:fleet.vehicle.log.services,inv_ref:0 +msgid "Invoice Reference" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,message_follower_ids:0 +msgid "Followers" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,location:0 +msgid "Location" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Costs Per Month" +msgstr "" + +#. module: fleet +#: field:fleet.contract.state,name:0 +msgid "Contract Status" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,contract_renewal_total:0 +msgid "Total of contracts due or overdue minus one" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,cost_subtype_id:0 +msgid "Type" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,contract_renewal_overdue:0 +msgid "Has Contracts Overdued" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,amount:0 +msgid "Total Price" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_27 +msgid "Heater Core Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_14 +msgid "Car Wash" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,driver_id:0 +msgid "Driver of the vehicle" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "other(s)" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_refueling +msgid "Refueling" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,message_summary:0 +msgid "" +"Holds the Chatter summary (number of messages, ...). This summary is " +"directly in html format in order to be inserted in kanban views." +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_5 +msgid "A/C Recharge" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_log_fuel +msgid "Fuel log for vehicles" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "Engine Options" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +msgid "Fuel Costs Per Month" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_sedan +msgid "Sedan" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,seats:0 +msgid "Seats Number" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_convertible +msgid "Convertible" +msgstr "" + +#. module: fleet +#: model:ir.ui.menu,name:fleet.fleet_configuration +msgid "Configuration" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +#: field:fleet.vehicle.log.contract,sum_cost:0 +msgid "Indicative Costs Total" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_junior +msgid "Junior" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,model_id:0 +msgid "Model of the vehicle" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_state_act +msgid "" +"

\n" +" Click to create a vehicule status.\n" +"

\n" +" You can customize available status to track the evolution " +"of\n" +" each vehicule. Example: Active, Being Repaired, Sold.\n" +"

\n" +" " +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +#: field:fleet.vehicle,log_fuel:0 +#: view:fleet.vehicle.log.fuel:0 +msgid "Fuel Logs" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:409 +#: code:addons/fleet/fleet.py:413 +#: code:addons/fleet/fleet.py:417 +#: code:addons/fleet/fleet.py:420 +#, python-format +msgid "None" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_reporting_costs_non_effective +#: model:ir.ui.menu,name:fleet.menu_fleet_reporting_indicative_costs +msgid "Indicative Costs Analysis" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_12 +msgid "Brake Inspection" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,state_id:0 +msgid "Current state of the vehicle" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,transmission:0 +msgid "Manual" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_52 +msgid "Wheel Bearing Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,cost_subtype_id:0 +msgid "Cost type purchased with this cost" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,fuel_type:0 +msgid "Gasoline" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_model_brand_act +msgid "" +"

\n" +" Click to create a new brand.\n" +"

\n" +" " +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,start_date:0 +msgid "Contract Start Date" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,odometer_unit:0 +msgid "Odometer Unit" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_30 +msgid "Intake Manifold Gasket Replacement" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Daily" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_6 +msgid "Snow tires" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,date:0 +msgid "Date when the cost has been executed" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +#: view:fleet.vehicle.model:0 +msgid "Vehicles costs" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_log_services +msgid "Services for vehicles" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Indicative Cost" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_26 +msgid "Heater Control Valve Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "" +"Create a new contract automatically with all the same informations except " +"for the date that will start at the end of current contract" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,state:0 +msgid "Terminated" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_cost +msgid "Cost related to a vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_33 +msgid "Other Maintenance" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +#: field:fleet.vehicle.cost,parent_id:0 +msgid "Parent" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,state_id:0 +#: view:fleet.vehicle.state:0 +msgid "State" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,cost_generated:0 +msgid "Recurring Cost Amount" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_49 +msgid "Transmission Replacement" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_log_fuel_act +msgid "" +"

\n" +" Click to create a new fuel log. \n" +"

\n" +" Here you can add refuelling entries for all vehicles. You " +"can\n" +" also filter logs of a particular vehicle using the search\n" +" field.\n" +"

\n" +" " +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_11 +msgid "Brake Caliper Replacement" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,odometer:0 +msgid "Last Odometer" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_model_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_model_menu +msgid "Vehicle Model" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,doors:0 +msgid "Doors Number" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,acquisition_date:0 +msgid "Date when the vehicle has been bought" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.model:0 +msgid "Models" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "amount" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,fuel_type:0 +msgid "Fuel Used by the vehicle" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Set Contract In Progress" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,odometer_unit:0 +#: field:fleet.vehicle.odometer,unit:0 +msgid "Unit" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,message_is_follower:0 +msgid "Is a Follower" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,horsepower:0 +msgid "Horsepower" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,image:0 +#: field:fleet.vehicle,image_medium:0 +#: field:fleet.vehicle,image_small:0 +#: field:fleet.vehicle.model,image:0 +#: field:fleet.vehicle.model,image_medium:0 +#: field:fleet.vehicle.model,image_small:0 +#: field:fleet.vehicle.model.brand,image:0 +msgid "Logo" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,horsepower_tax:0 +msgid "Horsepower Taxation" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,log_services:0 +#: view:fleet.vehicle.log.services:0 +msgid "Services Logs" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.model:0 +msgid "Brand" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_43 +msgid "Thermostat Replacement" +msgstr "" + +#. module: fleet +#: field:fleet.service.type,category:0 +msgid "Category" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_log_fuel_graph +msgid "Fuel Costs by Month" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.model.brand,image:0 +msgid "" +"This field holds the image used as logo for the brand, limited to " +"1024x1024px." +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_11 +msgid "Management Fee" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "All vehicles" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +#: view:fleet.vehicle.log.services:0 +msgid "Additional Details" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_log_services_graph +msgid "Services Costs by Month" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_9 +msgid "Assistance" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.fuel,price_per_liter:0 +msgid "Price Per Liter" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_17 +msgid "Door Window Motor/Regulator Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_46 +msgid "Tire Service" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_8 +msgid "Ball Joint Replacement" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,fuel_type:0 +msgid "Fuel Type" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_22 +msgid "Fuel Injector Replacement" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_state_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_state_menu +msgid "Vehicle Status" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_50 +msgid "Water Pump Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,location:0 +msgid "Location of the vehicle (garage, ...)" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_28 +msgid "Heater Hose Replacement" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,state:0 +msgid "Status" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_40 +msgid "Rotor Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.model,brand_id:0 +msgid "Brand of the vehicle" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,start_date:0 +msgid "Date when the coverage of the contract begins" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,fuel_type:0 +msgid "Electric" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,tag_ids:0 +msgid "Tags" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +#: field:fleet.vehicle,log_contracts:0 +msgid "Contracts" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_13 +msgid "Brake Pad(s) Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +#: view:fleet.vehicle.log.services:0 +msgid "Odometer Details" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,driver_id:0 +msgid "Driver" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.model.brand,image_small:0 +msgid "" +"Small-sized photo of the brand. It is automatically resized as a 64x64px " +"image, with aspect ratio preserved. Use this field anywhere a small image is " +"required." +msgstr "" + +#. module: fleet +#: view:board.board:0 +msgid "Fleet Dashboard" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_break +msgid "Break" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_contract_omnium +msgid "Omnium" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Services Details" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_15 +msgid "Residual value (Excluding VAT)" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_7 +msgid "Alternator Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_3 +msgid "A/C Diagnosis" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_23 +msgid "Fuel Pump Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Activation Cost" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Cost Type" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_4 +msgid "A/C Evaporator Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show all the costs for this vehicle" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.odometer:0 +msgid "Odometer Values Per Month" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_model_act +msgid "" +"

\n" +" Click to create a new model.\n" +"

\n" +" You can define several models (e.g. A3, A4) for each brand " +"(Audi).\n" +"

\n" +" " +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_act +msgid "" +"

\n" +" Click to create a new vehicle. \n" +"

\n" +" You will be able to manage your fleet by keeping track of " +"the\n" +" contracts, services, fixed and recurring costs, odometers " +"and\n" +" fuel logs associated to each vehicle.\n" +"

\n" +" OpenERP will warn you when services or contract have to be\n" +" renewed.\n" +"

\n" +" " +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_13 +msgid "Entry into service tax" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,expiration_date:0 +msgid "Contract Expiration Date" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Cost Subtype" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.open_board_fleet +msgid "" +"
\n" +"

\n" +" Fleet dashboard is empty.\n" +"

\n" +" To add your first report into this dashboard, go to any\n" +" menu, switch to list or graph view, and click 'Add " +"to\n" +" Dashboard' in the extended search options.\n" +"

\n" +" You can filter and group data before inserting into the\n" +" dashboard using the search options.\n" +"

\n" +"
\n" +" " +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_12 +msgid "Rent (Excluding VAT)" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,odometer_unit:0 +msgid "Kilometers" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +msgid "Vehicle Details" +msgstr "" + +#. module: fleet +#: selection:fleet.service.type,category:0 +#: field:fleet.vehicle.cost,contract_id:0 +#: selection:fleet.vehicle.cost,cost_type:0 +msgid "Contract" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_model_brand_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_model_brand_menu +msgid "Model brand of Vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_10 +msgid "Battery Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +#: field:fleet.vehicle.cost,date:0 +#: field:fleet.vehicle.odometer,date:0 +msgid "Date" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_menu +#: model:ir.ui.menu,name:fleet.fleet_vehicles +msgid "Vehicles" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,odometer_unit:0 +msgid "Miles" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,cost_generated:0 +msgid "" +"Costs paid at regular intervals, depending on the cost frequency. If the " +"cost frequency is set to unique, the cost will be logged at the start date" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_17 +msgid "Emissions" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_model +msgid "Model of a vehicle" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.action_fleet_reporting_costs +#: model:ir.actions.act_window,help:fleet.action_fleet_reporting_costs_non_effective +msgid "" +"

\n" +" OpenERP helps you managing the costs for your different vehicles\n" +" Costs are generally created from services and contract and appears " +"here.\n" +"

\n" +"

\n" +" Thanks to the different filters, OpenERP can only print the " +"effective\n" +" costs, sort them by type and by vehicle.\n" +"

\n" +" " +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,car_value:0 +msgid "Car Value" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.open_board_fleet +#: model:ir.module.category,name:fleet.module_fleet_category +#: model:ir.ui.menu,name:fleet.menu_fleet_dashboard +#: model:ir.ui.menu,name:fleet.menu_fleet_reporting +#: model:ir.ui.menu,name:fleet.menu_root +msgid "Fleet" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_14 +msgid "Total expenses (Excluding VAT)" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,odometer_id:0 +msgid "Odometer" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_45 +msgid "Tire Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.service.type:0 +msgid "Service types" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.fuel,purchaser_id:0 +#: field:fleet.vehicle.log.services,purchaser_id:0 +msgid "Purchaser" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_3 +msgid "Tax roll" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.model:0 +#: field:fleet.vehicle.model,vendors:0 +msgid "Vendors" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_contract_leasing +msgid "Leasing" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.model.brand,image_medium:0 +msgid "" +"Medium-sized logo of the brand. It is automatically resized as a 128x128px " +"image, with aspect ratio preserved. Use this field in form views or some " +"kanban views." +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Weekly" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +#: view:fleet.vehicle.odometer:0 +msgid "Odometer Logs" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,acquisition_date:0 +msgid "Acquisition Date" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_odometer +msgid "Odometer log for a vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,cost_type:0 +msgid "Category of the cost" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_5 +#: model:fleet.service.type,name:fleet.type_service_service_7 +msgid "Summer tires" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,contract_renewal_due_soon:0 +msgid "Has Contracts to renew" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_31 +msgid "Oil Change" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model.brand,image_small:0 +msgid "Smal-sized photo" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_model_brand +msgid "Brand model of the vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_51 +msgid "Wheel Alignment" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_purchased +msgid "Purchased" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_odometer_act +msgid "" +"

\n" +" Here you can add various odometer entries for all vehicles.\n" +" You can also show odometer value for a particular vehicle " +"using\n" +" the search field.\n" +"

\n" +" " +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model,brand_id:0 +#: view:fleet.vehicle.model.brand:0 +msgid "Model Brand" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "General Properties" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_21 +msgid "Exhaust Manifold Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_47 +msgid "Transmission Filter Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_10 +msgid "Replacement Vehicle" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,state:0 +msgid "In Progress" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Yearly" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model,modelname:0 +msgid "Model name" +msgstr "" + +#. module: fleet +#: view:board.board:0 +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_costs_graph +msgid "Costs by Month" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_18 +msgid "Touring Assistance" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,power:0 +msgid "Power (kW)" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:418 +#, python-format +msgid "State: from '%s' to '%s'" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_2 +msgid "A/C Condenser Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_19 +msgid "Engine Coolant Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Cost Details" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:410 +#, python-format +msgid "Model: from '%s' to '%s'" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.cost,cost_type:0 +msgid "Other" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Contract details" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_leasing +msgid "Employee Car" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,auto_generated:0 +msgid "Automatically Generated" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.cost,cost_type:0 +msgid "Fuel" +msgstr "" + +#. module: fleet +#: sql_constraint:fleet.vehicle.state:0 +msgid "State name already exists" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_37 +msgid "Radiator Repair" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_log_contract +msgid "Contract information on a vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,days_left:0 +msgid "Warning Date" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_19 +msgid "Residual value in %" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "Additional Properties" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_state +msgid "fleet.vehicle.state" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Contract Costs Per Month" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_log_contract_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_log_contract_menu +msgid "Vehicles Contracts" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_48 +msgid "Transmission Fluid Replacement" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model.brand,name:0 +msgid "Brand Name" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_36 +msgid "Power Steering Pump Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,contract_id:0 +msgid "Contract attached to this cost" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:397 +#, python-format +msgid "Vehicle %s has been added to the fleet!" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +#: view:fleet.vehicle.log.fuel:0 +#: view:fleet.vehicle.log.services:0 +msgid "Price" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,odometer:0 +#: field:fleet.vehicle.odometer,value:0 +msgid "Odometer Value" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +#: view:fleet.vehicle.cost:0 +#: field:fleet.vehicle.cost,vehicle_id:0 +#: field:fleet.vehicle.odometer,vehicle_id:0 +msgid "Vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,cost_ids:0 +#: view:fleet.vehicle.log.contract:0 +#: view:fleet.vehicle.log.services:0 +msgid "Included Services" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.action_fleet_vehicle_kanban +msgid "" +"

\n" +" Here are displayed vehicles for which one or more contracts need " +"to be renewed. If you see this message, then there is no contracts to " +"renew.\n" +"

\n" +" " +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_15 +msgid "Catalytic Converter Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_25 +msgid "Heater Blower Motor Replacement" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_odometer_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_odometer_menu +msgid "Vehicles Odometer" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,notes:0 +msgid "Write here all supplementary informations relative to this contract" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_29 +msgid "Ignition Coil Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_16 +msgid "Options" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_contract_repairing +msgid "Repairing" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_reporting_costs +#: model:ir.ui.menu,name:fleet.menu_fleet_reporting_costs +msgid "Costs Analysis" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,ins_ref:0 +msgid "Contract Reference" +msgstr "" + +#. module: fleet +#: field:fleet.service.type,name:0 +#: field:fleet.vehicle,name:0 +#: field:fleet.vehicle.cost,name:0 +#: field:fleet.vehicle.log.contract,name:0 +#: field:fleet.vehicle.model,name:0 +#: field:fleet.vehicle.odometer,name:0 +#: field:fleet.vehicle.state,name:0 +#: field:fleet.vehicle.tag,name:0 +msgid "Name" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,doors:0 +msgid "Number of doors of the vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,transmission:0 +msgid "Transmission" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,vin_sn:0 +msgid "Chassis Number" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,color:0 +msgid "Color of the vehicle" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_log_services_act +msgid "" +"

\n" +" Click to create a new service entry. \n" +"

\n" +" OpenERP helps you keeping track of all the services done\n" +" on your vehicle. Services can be of many type: occasional\n" +" repair, fixed maintenance, etc.\n" +"

\n" +" " +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,co2:0 +msgid "CO2 Emissions" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Contract logs" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "Costs" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,message_summary:0 +msgid "Summary" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_log_contract_graph +msgid "Contracts Costs by Month" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,model_id:0 +#: view:fleet.vehicle.model:0 +msgid "Model" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_41 +msgid "Spark Plug Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle +msgid "Information on a vehicle" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,co2:0 +msgid "CO2 emissions of the vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_53 +msgid "Windshield Wiper(s) Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +#: field:fleet.vehicle.log.contract,generated_cost_ids:0 +msgid "Generated Costs" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.state,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,color:0 +msgid "Color" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_service_types_act +msgid "" +"

\n" +" Click to create a new type of service.\n" +"

\n" +" Each service can used in contracts, as a standalone service " +"or both.\n" +"

\n" +" " +msgstr "" + +#. module: fleet +#: view:board.board:0 +msgid "Services Costs" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:47 +#, python-format +msgid "Emptying the odometer value of a vehicle is not allowed." +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,seats:0 +msgid "Number of seats of the vehicle" +msgstr "" + +#. module: fleet +#: model:res.groups,name:fleet.group_fleet_manager +msgid "Manager" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Cost" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_39 +msgid "Rotate Tires" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_42 +msgid "Starter Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +#: field:fleet.vehicle.cost,year:0 +msgid "Year" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,license_plate:0 +msgid "License plate number of the vehicle (ie: plate number for a car)" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_contract_state +msgid "Contains the different possible status of a leasing contract" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show the contract for this vehicle" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Total" +msgstr "" + +#. module: fleet +#: help:fleet.service.type,category:0 +msgid "" +"Choose wheter the service refer to contracts, vehicle services or both" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,cost_type:0 +msgid "For internal purpose only" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.state,sequence:0 +msgid "Used to order the note stages" +msgstr "" diff --git a/addons/google_docs/google_docs.py b/addons/google_docs/google_docs.py index 4b98798c832..cdb14de1de3 100644 --- a/addons/google_docs/google_docs.py +++ b/addons/google_docs/google_docs.py @@ -29,13 +29,40 @@ _logger = logging.getLogger(__name__) try: import gdata.docs.data import gdata.docs.client - from gdata.client import RequestError - from gdata.docs.service import DOCUMENT_LABEL - import gdata.auth - from gdata.docs.data import Resource + + # API breakage madness in the gdata API - those guys are insane. + try: + # gdata 2.0.15+ + gdata.docs.client.DocsClient.copy_resource + except AttributeError: + # gdata 2.0.14- : copy_resource() was copy() + gdata.docs.client.DocsClient.copy_resource = gdata.docs.client.DocsClient.copy + + try: + # gdata 2.0.16+ + gdata.docs.client.DocsClient.get_resource_by_id + except AttributeError: + try: + # gdata 2.0.15+ + gdata.docs.client.DocsClient.get_resource_by_self_link + def get_resource_by_id_2_0_16(self, resource_id, **kwargs): + return self.GetResourceBySelfLink( + gdata.docs.client.RESOURCE_FEED_URI + ('/%s' % resource_id), **kwargs) + gdata.docs.client.DocsClient.get_resource_by_id = get_resource_by_id_2_0_16 + except AttributeError: + # gdata 2.0.14- : alias get_resource_by_id() + gdata.docs.client.DocsClient.get_resource_by_id = gdata.docs.client.DocsClient.get_doc + + try: + import atom.http_interface + _logger.info('GData lib version `%s` detected' % atom.http_interface.USER_AGENT) + except (ImportError, AttributeError): + _logger.debug('GData lib version could not be detected', exc_info=True) + except ImportError: _logger.warning("Please install latest gdata-python-client from http://code.google.com/p/gdata-python-client/downloads/list") + class google_docs_ir_attachment(osv.osv): _inherit = 'ir.attachment' @@ -49,11 +76,12 @@ class google_docs_ir_attachment(osv.osv): #get gmail password and login. We use default_get() instead of a create() followed by a read() on the # google.login object, because it is easier. The keys 'user' and 'password' ahve to be passed in the dict # but the values will be replaced by the user gmail password and login. - user_config = google_pool.default_get( cr, uid, {'user' : '' , 'password' : ''}, context=context) + user_config = google_pool.default_get(cr, uid, {'user' : '' , 'password' : ''}, context=context) #login gmail account - client = google_pool.google_login( user_config['user'], user_config['password'], type='docs_client', context=context) + client = google_pool.google_login(user_config['user'], user_config['password'], type='docs_client', context=context) if not client: - raise osv.except_osv( _('Google Docs Error!'), _("Check your google configuration in Users/Users/Synchronization tab.")) + raise osv.except_osv(_('Google Docs Error!'), _("Check your google configuration in Users/Users/Synchronization tab.")) + _logger.info('Logged into google docs as %s', user_config['user']) return client def create_empty_google_doc(self, cr, uid, res_model, res_id, context=None): @@ -94,9 +122,9 @@ class google_docs_ir_attachment(osv.osv): client = self._auth(cr, uid) # fetch and copy the original document try: - doc = client.GetDoc(gdoc_template_id) + doc = client.get_resource_by_id(gdoc_template_id) #copy the document you choose in the configuration - copy_resource = client.copy(doc, name_gdocs) + copy_resource = client.copy_resource(doc, name_gdocs) except: raise osv.except_osv(_('Google Docs Error!'), _("Your resource id is not correct. You can find the id in the google docs URL.")) # create an ir.attachment diff --git a/addons/google_docs/i18n/tr.po b/addons/google_docs/i18n/tr.po new file mode 100644 index 00000000000..2225db3c2ee --- /dev/null +++ b/addons/google_docs/i18n/tr.po @@ -0,0 +1,188 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-02-04 14:07+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-05 04:44+0000\n" +"X-Generator: Launchpad (build 16468)\n" + +#. module: google_docs +#: code:addons/google_docs/google_docs.py:139 +#, python-format +msgid "Key Error!" +msgstr "" + +#. module: google_docs +#: view:google.docs.config:0 +msgid "" +"for a presentation (slide show) document with url like " +"`https://docs.google.com/a/openerp.com/presentation/d/123456789/edit#slide=id" +".p`, the ID is `presentation:123456789`" +msgstr "" + +#. module: google_docs +#: view:google.docs.config:0 +msgid "" +"for a text document with url like " +"`https://docs.google.com/a/openerp.com/document/d/123456789/edit`, the ID is " +"`document:123456789`" +msgstr "" + +#. module: google_docs +#: field:google.docs.config,gdocs_resource_id:0 +msgid "Google Resource ID to Use as Template" +msgstr "" + +#. module: google_docs +#: view:google.docs.config:0 +msgid "" +"for a drawing document with url like " +"`https://docs.google.com/a/openerp.com/drawings/d/123456789/edit`, the ID is " +"`drawings:123456789`" +msgstr "" + +#. module: google_docs +#. openerp-web +#: code:addons/google_docs/static/src/xml/gdocs.xml:6 +#, python-format +msgid "Add Google Doc..." +msgstr "" + +#. module: google_docs +#: view:google.docs.config:0 +msgid "" +"This is the id of the template document, on google side. You can find it " +"thanks to its URL:" +msgstr "" + +#. module: google_docs +#: model:ir.model,name:google_docs.model_google_docs_config +msgid "Google Docs templates config" +msgstr "" + +#. module: google_docs +#. openerp-web +#: code:addons/google_docs/static/src/js/gdocs.js:25 +#, python-format +msgid "" +"The user google credentials are not set yet. Contact your administrator for " +"help." +msgstr "" + +#. module: google_docs +#: view:google.docs.config:0 +msgid "" +"for a spreadsheet document with url like " +"`https://docs.google.com/a/openerp.com/spreadsheet/ccc?key=123456789#gid=0`, " +"the ID is `spreadsheet:123456789`" +msgstr "" + +#. module: google_docs +#: code:addons/google_docs/google_docs.py:101 +#, python-format +msgid "" +"Your resource id is not correct. You can find the id in the google docs URL." +msgstr "" + +#. module: google_docs +#: code:addons/google_docs/google_docs.py:125 +#, python-format +msgid "Creating google docs may only be done by one at a time." +msgstr "" + +#. module: google_docs +#: code:addons/google_docs/google_docs.py:56 +#: code:addons/google_docs/google_docs.py:101 +#: code:addons/google_docs/google_docs.py:125 +#, python-format +msgid "Google Docs Error!" +msgstr "" + +#. module: google_docs +#: code:addons/google_docs/google_docs.py:56 +#, python-format +msgid "Check your google configuration in Users/Users/Synchronization tab." +msgstr "" + +#. module: google_docs +#: model:ir.ui.menu,name:google_docs.menu_gdocs_config +msgid "Google Docs configuration" +msgstr "" + +#. module: google_docs +#: model:ir.actions.act_window,name:google_docs.action_google_docs_users_config +#: model:ir.ui.menu,name:google_docs.menu_gdocs_model_config +msgid "Models configuration" +msgstr "" + +#. module: google_docs +#: field:google.docs.config,model_id:0 +msgid "Model" +msgstr "" + +#. module: google_docs +#. openerp-web +#: code:addons/google_docs/static/src/js/gdocs.js:28 +#, python-format +msgid "User Google credentials are not yet set." +msgstr "" + +#. module: google_docs +#: code:addons/google_docs/google_docs.py:139 +#, python-format +msgid "Your Google Doc Name Pattern's key does not found in object." +msgstr "" + +#. module: google_docs +#: help:google.docs.config,name_template:0 +msgid "" +"Choose how the new google docs will be named, on google side. Eg. " +"gdoc_%(field_name)s" +msgstr "" + +#. module: google_docs +#: view:google.docs.config:0 +msgid "Google Docs Configuration" +msgstr "" + +#. module: google_docs +#: help:google.docs.config,gdocs_resource_id:0 +msgid "" +"\n" +"This is the id of the template document, on google side. You can find it " +"thanks to its URL: \n" +"*for a text document with url like " +"`https://docs.google.com/a/openerp.com/document/d/123456789/edit`, the ID is " +"`document:123456789`\n" +"*for a spreadsheet document with url like " +"`https://docs.google.com/a/openerp.com/spreadsheet/ccc?key=123456789#gid=0`, " +"the ID is `spreadsheet:123456789`\n" +"*for a presentation (slide show) document with url like " +"`https://docs.google.com/a/openerp.com/presentation/d/123456789/edit#slide=id" +".p`, the ID is `presentation:123456789`\n" +"*for a drawing document with url like " +"`https://docs.google.com/a/openerp.com/drawings/d/123456789/edit`, the ID is " +"`drawings:123456789`\n" +"...\n" +msgstr "" + +#. module: google_docs +#: model:ir.model,name:google_docs.model_ir_attachment +msgid "ir.attachment" +msgstr "" + +#. module: google_docs +#: field:google.docs.config,name_template:0 +msgid "Google Doc Name Pattern" +msgstr "" diff --git a/addons/hr_evaluation/__openerp__.py b/addons/hr_evaluation/__openerp__.py index fb303ff28e4..0c999ec4f7b 100644 --- a/addons/hr_evaluation/__openerp__.py +++ b/addons/hr_evaluation/__openerp__.py @@ -27,7 +27,7 @@ 'sequence': 31, 'website': 'http://www.openerp.com', 'summary': 'Periodical Evaluations, Appraisals, Surveys', - 'images': ['images/hr_evaluation_analysis.jpeg','images/hr_evaluation.jpeg'], + 'images': ['images/hr_evaluation_analysis.jpeg','images/hr_evaluation.jpeg','images/hr_interview_requests.jpeg'], 'depends': ['hr','base_calendar','survey'], 'description': """ Periodical Employees evaluation and appraisals diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py index 44d8912c5f1..92465c1b84e 100644 --- a/addons/hr_recruitment/hr_recruitment.py +++ b/addons/hr_recruitment/hr_recruitment.py @@ -353,6 +353,7 @@ class hr_applicant(base_stage, osv.Model): 'email_from': msg.get('from'), 'email_cc': msg.get('cc'), 'user_id': False, + 'partner_id': msg.get('author_id', False), } if msg.get('priority'): defaults['priority'] = msg.get('priority') diff --git a/addons/hr_recruitment/hr_recruitment_data.xml b/addons/hr_recruitment/hr_recruitment_data.xml index 13736d1442a..a0b16f042bc 100644 --- a/addons/hr_recruitment/hr_recruitment_data.xml +++ b/addons/hr_recruitment/hr_recruitment_data.xml @@ -470,11 +470,13 @@ Stage Changed hr.applicant + Stage changed Applicant Hired hr.applicant + Applicant hired diff --git a/addons/hr_timesheet_sheet/__openerp__.py b/addons/hr_timesheet_sheet/__openerp__.py index 5f988439b50..e92ab4400bd 100644 --- a/addons/hr_timesheet_sheet/__openerp__.py +++ b/addons/hr_timesheet_sheet/__openerp__.py @@ -45,7 +45,7 @@ The validation can be configured in the company: """, 'author': 'OpenERP SA', 'website': 'http://www.openerp.com', - 'images': ['images/hr_my_timesheet.jpeg','images/hr_timesheet_analysis.jpeg','images/hr_timesheet_sheet_analysis.jpeg','images/hr_timesheets.jpeg'], + 'images': ['images/hr_my_current_timesheet.jpeg','images/hr_timesheet_analysis.jpeg','images/hr_timesheet_sheet_analysis.jpeg','images/hr_timesheet_activity.jpeg'], 'depends': ['hr_timesheet', 'hr_timesheet_invoice', 'process'], 'data': [ 'security/ir.model.access.csv', diff --git a/addons/lunch/__openerp__.py b/addons/lunch/__openerp__.py index a70f6d82f9e..46c07c211c6 100644 --- a/addons/lunch/__openerp__.py +++ b/addons/lunch/__openerp__.py @@ -44,6 +44,7 @@ If you want to save your employees' time and avoid them to always have coins in 'report/report_lunch_order_view.xml', 'security/ir.model.access.csv',], 'css':['static/src/css/lunch.css'], + 'images': ['images/new_order.jpeg','images/lunch_account.jpeg','images/order_by_supplier_analysis.jpeg','images/alert.jpeg'], 'demo': ['lunch_demo.xml',], 'installable': True, 'application' : True, diff --git a/addons/lunch/lunch_view.xml b/addons/lunch/lunch_view.xml index 8974099a294..dd387620102 100644 --- a/addons/lunch/lunch_view.xml +++ b/addons/lunch/lunch_view.xml @@ -39,7 +39,8 @@ - + + @@ -116,7 +117,7 @@ lunch.cashmove tree - {"search_default_is_mine":1} + {"search_default_is_mine_group":1}

Here you can see your cash moves.
A cash moves can be either an expense or a payment. diff --git a/addons/mail/__openerp__.py b/addons/mail/__openerp__.py index 12fdc62c260..63cd0888986 100644 --- a/addons/mail/__openerp__.py +++ b/addons/mail/__openerp__.py @@ -71,16 +71,12 @@ Main Features 'installable': True, 'application': True, 'images': [ - 'images/customer_history.jpeg', + 'images/inbox.jpeg', 'images/messages_form.jpeg', 'images/messages_list.jpeg', - 'static/src/img/email_icong.png', - 'static/src/img/_al.png', - 'static/src/img/_pincky.png', - 'static/src/img/groupdefault.png', - 'static/src/img/attachment.png', - 'static/src/img/checklist.png', - 'static/src/img/formatting.png', + 'images/email.jpeg', + 'images/join_a_group.jpeg', + 'images/share_a_message.jpeg', ], 'css': [ 'static/src/css/mail.css', diff --git a/addons/mail/doc/mail_message.rst b/addons/mail/doc/mail_message.rst index 02baf6c4708..b5e2d8da8b4 100644 --- a/addons/mail/doc/mail_message.rst +++ b/addons/mail/doc/mail_message.rst @@ -21,6 +21,8 @@ should inherit from this class. ClientAction (ir.actions.client) ++++++++++++++++++++++++++++++++ +.. code-block:: xml + Inbox mail.wall @@ -36,6 +38,7 @@ ClientAction (ir.actions.client) 'mail_thread' widget for field on standard view. (default value like a thread for record, view on flat mode, no reply, no read/unread) 'mail.widget' it's the root thread, used by 'mail.wall' and 'mail_thread' + - ``help`` : Text HTML to display if there are no message - ``context`` : insert 'default_model' and 'default_res_id' - ``params`` : options for the widget diff --git a/addons/mail/i18n/es_MX.po b/addons/mail/i18n/es_MX.po index 80124705ef2..eb660e4482b 100644 --- a/addons/mail/i18n/es_MX.po +++ b/addons/mail/i18n/es_MX.po @@ -1,368 +1,1683 @@ -# Spanish translation for openobject-addons -# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# Spanish (Mexico) translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR , 2010. +# FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-01-11 11:15+0000\n" -"PO-Revision-Date: 2011-01-13 23:04+0000\n" -"Last-Translator: Jordi Esteve (www.zikzakmedia.com) " -"\n" -"Language-Team: Spanish \n" +"POT-Creation-Date: 2012-12-21 17:04+0000\n" +"PO-Revision-Date: 2013-02-02 15:44+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Spanish (Mexico) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-09-05 05:56+0000\n" -"X-Generator: Launchpad (build 13830)\n" +"X-Launchpad-Export-Date: 2013-02-03 04:49+0000\n" +"X-Generator: Launchpad (build 16462)\n" -#. module: mail_gateway -#: field:mailgate.message,res_id:0 -msgid "Resource ID" -msgstr "ID del registro" +#. module: mail +#: view:mail.followers:0 +msgid "Followers Form" +msgstr "" -#. module: mail_gateway -#: code:addons/mail_gateway/mail_gateway.py:68 -#: code:addons/mail_gateway/mail_gateway.py:71 -#: code:addons/mail_gateway/mail_gateway.py:89 -#, python-format -msgid "Method is not implemented" -msgstr "Método no implementado" +#. module: mail +#: model:ir.model,name:mail.model_publisher_warranty_contract +msgid "publisher_warranty.contract" +msgstr "" -#. module: mail_gateway -#: view:mailgate.message:0 -#: field:mailgate.message,email_from:0 -msgid "From" -msgstr "De" +#. module: mail +#: field:mail.compose.message,author_id:0 +#: field:mail.message,author_id:0 +msgid "Author" +msgstr "" -#. module: mail_gateway -#: view:mailgate.message:0 -msgid "Open Attachments" -msgstr "Abrir datos adjuntos" - -#. module: mail_gateway -#: view:mailgate.message:0 +#. module: mail +#: view:mail.mail:0 msgid "Message Details" -msgstr "Detalles del mensaje" +msgstr "" -#. module: mail_gateway -#: field:mailgate.message,message_id:0 -msgid "Message Id" -msgstr "ID del mensaje" +#. module: mail +#: help:mail.mail,email_to:0 +msgid "Message recipients" +msgstr "" -#. module: mail_gateway -#: field:mailgate.message,ref_id:0 -msgid "Reference Id" -msgstr "ID referencia" +#. module: mail +#: help:mail.message.subtype,default:0 +msgid "Activated by default when subscribing." +msgstr "" -#. module: mail_gateway -#: view:mailgate.thread:0 -msgid "Mailgateway History" -msgstr "Histórico pasarela de correo" +#. module: mail +#: view:mail.message:0 +msgid "Comments" +msgstr "" -#. module: mail_gateway -#: code:addons/mail_gateway/mail_gateway.py:249 -#, python-format -msgid "Note" -msgstr "Nota" - -#. module: mail_gateway -#: view:mailgate.message:0 +#. module: mail +#: view:mail.alias:0 +#: view:mail.mail:0 msgid "Group By..." -msgstr "Agrupar por..." - -#. module: mail_gateway -#: constraint:res.partner:0 -msgid "Error ! You can not create recursive associated members." -msgstr "¡Error! No puede crear miembros asociados recursivos." - -#. module: mail_gateway -#: help:mailgate.message,message_id:0 -msgid "Message Id on Email." -msgstr "ID del mensaje en el email." - -#. module: mail_gateway -#: help:mailgate.message,email_to:0 -msgid "Email Recipients" -msgstr "Destinatarios del email." - -#. module: mail_gateway -#: view:mailgate.message:0 -msgid "Details" -msgstr "Detalles" - -#. module: mail_gateway -#: view:mailgate.thread:0 -msgid "Mailgate History" -msgstr "Histórico pasarela de correo" - -#. module: mail_gateway -#: model:ir.model,name:mail_gateway.model_email_server_tools -msgid "Email Server Tools" -msgstr "Herramientas servidor correo" - -#. module: mail_gateway -#: view:mailgate.message:0 -msgid "Email Followers" -msgstr "Destinatarios del email" - -#. module: mail_gateway -#: model:ir.model,name:mail_gateway.model_res_partner -#: view:mailgate.message:0 -#: field:mailgate.message,partner_id:0 -msgid "Partner" -msgstr "Empresa" - -#. module: mail_gateway -#: code:addons/mail_gateway/mail_gateway.py:250 -#, python-format -msgid " wrote on %s:\n" msgstr "" -#. module: mail_gateway -#: view:mailgate.message:0 -#: field:mailgate.message,description:0 -#: field:mailgate.message,message:0 -msgid "Description" -msgstr "Descripción" - -#. module: mail_gateway -#: field:mailgate.message,email_to:0 -msgid "To" -msgstr "Para" - -#. module: mail_gateway -#: help:mailgate.message,references:0 -msgid "References emails." -msgstr "Referencias de los emails." - -#. module: mail_gateway -#: help:mailgate.message,email_cc:0 -msgid "Carbon Copy Email Recipients" -msgstr "Destinatarios del email en copia carbón (CC)." - -#. module: mail_gateway -#: model:ir.module.module,shortdesc:mail_gateway.module_meta_information -msgid "Email Gateway System" -msgstr "Sistema de pasarela de correo" - -#. module: mail_gateway -#: field:mailgate.message,date:0 -msgid "Date" -msgstr "Fecha" - -#. module: mail_gateway -#: field:mailgate.message,model:0 -msgid "Object Name" -msgstr "Nombre del objeto" - -#. module: mail_gateway -#: view:mailgate.message:0 -msgid "Partner Name" -msgstr "Nombre de empresa" - -#. module: mail_gateway -#: model:ir.actions.act_window,name:mail_gateway.action_view_mailgate_thread -msgid "Mailgateway Threads" -msgstr "Hilos pasarela de correo" - -#. module: mail_gateway -#: code:addons/mail_gateway/mail_gateway.py:247 -#, python-format -msgid "Opportunity" -msgstr "Oportunidad" - -#. module: mail_gateway -#: model:ir.actions.act_window,name:mail_gateway.act_res_partner_emails -#: model:ir.actions.act_window,name:mail_gateway.action_view_mailgate_message -#: view:mailgate.message:0 -#: field:res.partner,emails:0 -msgid "Emails" -msgstr "Emails" - -#. module: mail_gateway -#: code:addons/mail_gateway/mail_gateway.py:252 -#, python-format -msgid "Stage" -msgstr "Etapa" - -#. module: mail_gateway -#: code:addons/mail_gateway/mail_gateway.py:250 -#, python-format -msgid " added note on " -msgstr " añadida nota en " - -#. module: mail_gateway -#: help:mailgate.message,email_from:0 -msgid "Email From" -msgstr "Email de" - -#. module: mail_gateway -#: view:mailgate.message:0 -msgid "Thread" -msgstr "Hilo" - -#. module: mail_gateway -#: model:ir.model,name:mail_gateway.model_mailgate_message -msgid "Mailgateway Message" -msgstr "Mensaje pasarela de correo" - -#. module: mail_gateway -#: model:ir.actions.act_window,name:mail_gateway.action_view_mail_message -#: field:mailgate.thread,message_ids:0 -msgid "Messages" -msgstr "Mensajes" - -#. module: mail_gateway -#: field:mailgate.message,user_id:0 -msgid "User Responsible" -msgstr "Usuario responsable" - -#. module: mail_gateway -#: code:addons/mail_gateway/mail_gateway.py:248 -#, python-format -msgid "Converted to Opportunity" -msgstr "Convertido en oportunidad" - -#. module: mail_gateway -#: field:mailgate.message,email_bcc:0 -msgid "Bcc" -msgstr "Cco" - -#. module: mail_gateway -#: field:mailgate.message,history:0 -msgid "Is History?" -msgstr "¿Es histórico?" - -#. module: mail_gateway -#: help:mailgate.message,email_bcc:0 -msgid "Blind Carbon Copy Email Recipients" -msgstr "Destintarios del email en copia carbón oculta (cco)." - -#. module: mail_gateway -#: view:mailgate.message:0 -msgid "mailgate message" -msgstr "Mensaje de pasarela de correo" - -#. module: mail_gateway -#: code:addons/mail_gateway/mail_gateway.py:148 -#: view:mailgate.thread:0 -#: view:res.partner:0 -#, python-format -msgid "History" -msgstr "Histórico" - -#. module: mail_gateway -#: field:mailgate.message,references:0 -msgid "References" -msgstr "Referencias" - -#. module: mail_gateway -#: model:ir.model,name:mail_gateway.model_mailgate_thread -#: view:mailgate.thread:0 -msgid "Mailgateway Thread" -msgstr "Hilo de la pasarela de correo" - -#. module: mail_gateway -#: model:ir.actions.act_window,name:mail_gateway.act_res_partner_open_email -#: view:mailgate.message:0 -#: field:mailgate.message,attachment_ids:0 -#: view:mailgate.thread:0 -msgid "Attachments" -msgstr "Adjuntos" - -#. module: mail_gateway -#: view:mailgate.message:0 -msgid "Open Document" -msgstr "Abrir documento" - -#. module: mail_gateway -#: view:mailgate.thread:0 -msgid "Email Details" -msgstr "Detalles del email" - -#. module: mail_gateway -#: field:mailgate.message,email_cc:0 -msgid "Cc" -msgstr "Cc" - -#. module: mail_gateway -#: code:addons/mail_gateway/mail_gateway.py:254 -#, python-format -msgid " on %s:\n" +#. module: mail +#: help:mail.compose.message,body:0 +#: help:mail.message,body:0 +msgid "Automatically sanitized HTML contents" msgstr "" -#. module: mail_gateway -#: view:mailgate.message:0 -msgid "Month" -msgstr "Mes" - -#. module: mail_gateway -#: view:mailgate.message:0 -msgid "Email Search" -msgstr "Buscar email" - -#. module: mail_gateway -#: code:addons/mail_gateway/mail_gateway.py:561 -#, python-format -msgid "receive" -msgstr "recibir" - -#. module: mail_gateway -#: model:ir.module.module,description:mail_gateway.module_meta_information +#. module: mail +#: help:mail.alias,alias_name:0 msgid "" -"The generic email gateway system allows to send and receive emails\n" -" * History for Emails\n" -" * Easy Integration with any Module" +"The name of the email alias, e.g. 'jobs' if you want to catch emails for " +"" msgstr "" -"La pasarela de correo genérica permite enviar y recibir emails\n" -" * Histórico de emails\n" -" * Integración fácil con cualquier módulo" -#. module: mail_gateway -#: code:addons/mail_gateway/mail_gateway.py:255 +#. module: mail +#: model:ir.actions.act_window,name:mail.action_email_compose_message_wizard +#: view:mail.compose.message:0 +msgid "Compose Email" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:132 #, python-format -msgid "Changed Status to: " -msgstr "Estado cambiado a: " +msgid "Add them into recipients and followers" +msgstr "" -#. module: mail_gateway -#: field:mailgate.message,display_text:0 -msgid "Display Text" -msgstr "Mostrar texto" +#. module: mail +#: view:mail.group:0 +msgid "Group Name" +msgstr "" -#. module: mail_gateway -#: view:mailgate.message:0 -msgid "Owner" -msgstr "Propietario" +#. module: mail +#: selection:mail.group,public:0 +msgid "Public" +msgstr "" -#. module: mail_gateway -#: code:addons/mail_gateway/mail_gateway.py:253 +#. module: mail +#: view:mail.mail:0 +msgid "Body" +msgstr "" + +#. module: mail +#: view:mail.message:0 +msgid "Show messages to read" +msgstr "" + +#. module: mail +#: help:mail.compose.message,email_from:0 +#: help:mail.message,email_from:0 +msgid "" +"Email address of the sender. This field is set when no matching partner is " +"found for incoming emails." +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_compose_message +msgid "Email composition wizard" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:23 #, python-format -msgid "Changed Stage to: " -msgstr "Etapa cambiada a: " +msgid "Add others" +msgstr "" -#. module: mail_gateway -#: view:mailgate.message:0 -msgid "Message" -msgstr "Mensaje" +#. module: mail +#: field:mail.message.subtype,parent_id:0 +msgid "Parent" +msgstr "" -#. module: mail_gateway -#: view:mailgate.message:0 -#: field:mailgate.message,name:0 +#. module: mail +#: field:mail.group,message_unread:0 +#: field:mail.thread,message_unread:0 +#: field:res.partner,message_unread:0 +msgid "Unread Messages" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:262 +#, python-format +msgid "show" +msgstr "" + +#. module: mail +#: help:mail.group,group_ids:0 +msgid "" +"Members of those groups will automatically added as followers. Note that " +"they will be able to manage their subscription manually if necessary." +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/js/mail.js:869 +#, python-format +msgid "Do you really want to delete this message?" +msgstr "" + +#. module: mail +#: view:mail.message:0 +#: field:mail.notification,read:0 +msgid "Read" +msgstr "" + +#. module: mail +#: view:mail.group:0 +msgid "Search Groups" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/js/mail_followers.js:156 +#, python-format +msgid "followers" +msgstr "" + +#. module: mail +#: code:addons/mail/mail_message.py:726 +#, python-format +msgid "Access Denied" +msgstr "" + +#. module: mail +#: help:mail.group,image_medium:0 +msgid "" +"Medium-sized photo of the group. It is automatically resized as a 128x128px " +"image, with aspect ratio preserved. Use this field in form views or some " +"kanban views." +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:194 +#, python-format +msgid "Uploading error" +msgstr "" + +#. module: mail +#: model:mail.group,name:mail.group_support +msgid "Support" +msgstr "" + +#. module: mail +#: code:addons/mail/mail_message.py:727 +#, python-format +msgid "" +"The requested operation cannot be completed due to security restrictions. " +"Please contact your system administrator.\n" +"\n" +"(Document type: %s, Operation: %s)" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +#: selection:mail.mail,state:0 +msgid "Received" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Thread" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:37 +#, python-format +msgid "Open the full mail composer" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:37 +#, python-format +msgid "ò" +msgstr "" + +#. module: mail +#: field:base.config.settings,alias_domain:0 +msgid "Alias Domain" +msgstr "" + +#. module: mail +#: field:mail.group,group_ids:0 +msgid "Auto Subscription" +msgstr "" + +#. module: mail +#: field:mail.mail,references:0 +msgid "References" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:188 +#, python-format +msgid "No messages." +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_group +msgid "Discussion group" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:83 +#: code:addons/mail/static/src/xml/mail.xml:95 +#, python-format +msgid "uploading" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:52 +#, python-format +msgid "more." +msgstr "" + +#. module: mail +#: help:mail.compose.message,type:0 +#: help:mail.message,type:0 +msgid "" +"Message type: email for email message, notification for system message, " +"comment for other messages such as user replies" +msgstr "" + +#. module: mail +#: help:mail.message.subtype,relation_field:0 +msgid "" +"Field used to link the related model to the subtype model when using " +"automatic subscription on a related document. The field is used to compute " +"getattr(related_document.relation_field)." +msgstr "" + +#. module: mail +#: selection:mail.mail,state:0 +msgid "Cancelled" +msgstr "" + +#. module: mail +#: field:mail.mail,reply_to:0 +msgid "Reply-To" +msgstr "" + +#. module: mail +#: code:addons/mail/wizard/invite.py:36 +#, python-format +msgid "

You have been invited to follow %s.
" +msgstr "" + +#. module: mail +#: help:mail.group,message_unread:0 +#: help:mail.thread,message_unread:0 +#: help:res.partner,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" + +#. module: mail +#: field:mail.group,image_medium:0 +msgid "Medium-sized photo" +msgstr "" + +#. module: mail +#: model:ir.actions.client,name:mail.action_mail_to_me_feeds +#: model:ir.ui.menu,name:mail.mail_tomefeeds +msgid "To: me" +msgstr "" + +#. module: mail +#: field:mail.message.subtype,name:0 +msgid "Message Type" +msgstr "" + +#. module: mail +#: field:mail.mail,auto_delete:0 +msgid "Auto Delete" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:12 +#: view:mail.group:0 +#, python-format +msgid "Unfollow" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:261 +#, python-format +msgid "show one more message" +msgstr "" + +#. module: mail +#: code:addons/mail/mail_mail.py:71 +#: code:addons/mail/res_users.py:79 +#, python-format +msgid "Invalid Action!" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:25 +#, python-format +msgid "User img" +msgstr "" + +#. module: mail +#: model:ir.actions.act_window,name:mail.action_view_mail_mail +#: model:ir.ui.menu,name:mail.menu_mail_mail +#: view:mail.mail:0 +#: view:mail.message:0 +msgid "Emails" +msgstr "" + +#. module: mail +#: field:mail.followers,partner_id:0 +msgid "Related Partner" +msgstr "" + +#. module: mail +#: help:mail.group,message_summary:0 +#: help:mail.thread,message_summary:0 +#: help:res.partner,message_summary:0 +msgid "" +"Holds the Chatter summary (number of messages, ...). This summary is " +"directly in html format in order to be inserted in kanban views." +msgstr "" + +#. module: mail +#: help:mail.alias,alias_model_id:0 +msgid "" +"The model (OpenERP Document Kind) to which this alias corresponds. Any " +"incoming email that does not reply to an existing record will cause the " +"creation of a new record of this model (e.g. a Project Task)" +msgstr "" + +#. module: mail +#: field:mail.message.subtype,relation_field:0 +msgid "Relation field" +msgstr "" + +#. module: mail +#: selection:mail.compose.message,type:0 +#: selection:mail.message,type:0 +msgid "System notification" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_res_partner +#: view:mail.mail:0 +msgid "Partner" +msgstr "" + +#. module: mail +#: model:ir.ui.menu,name:mail.mail_my_stuff +msgid "Organizer" +msgstr "" + +#. module: mail +#: field:mail.compose.message,subject:0 +#: field:mail.message,subject:0 msgid "Subject" -msgstr "Asunto" +msgstr "" -#. module: mail_gateway -#: help:mailgate.message,ref_id:0 -msgid "Message Id in Email Server." -msgstr "ID del mensaje en el servidor de correo." +#. module: mail +#: field:mail.wizard.invite,partner_ids:0 +msgid "Partners" +msgstr "" +#. module: mail +#: view:mail.mail:0 +msgid "Retry" +msgstr "" + +#. module: mail +#: field:mail.compose.message,email_from:0 +#: field:mail.mail,email_from:0 +#: field:mail.message,email_from:0 +msgid "From" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +#: view:mail.message.subtype:0 +msgid "Email message" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_base_config_settings +msgid "base.config.settings" +msgstr "" + +#. module: mail +#: view:mail.compose.message:0 +msgid "Send" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/js/mail_followers.js:152 #, python-format -#~ msgid " on " -#~ msgstr " en " +msgid "No followers" +msgstr "" +#. module: mail +#: view:mail.mail:0 +msgid "Failed" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:22 +#: model:ir.actions.act_window,name:mail.action_view_followers +#: model:ir.ui.menu,name:mail.menu_email_followers +#: view:mail.followers:0 +#: field:mail.group,message_follower_ids:0 +#: field:mail.thread,message_follower_ids:0 +#: field:res.partner,message_follower_ids:0 #, python-format -#~ msgid " wrote on " -#~ msgstr " escrito el " +msgid "Followers" +msgstr "" + +#. module: mail +#: model:ir.actions.client,name:mail.action_mail_archives_feeds +#: model:ir.ui.menu,name:mail.mail_archivesfeeds +msgid "Archives" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:82 +#: code:addons/mail/static/src/xml/mail.xml:94 +#, python-format +msgid "Delete this attachment" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:227 +#: view:mail.mail:0 +#, python-format +msgid "Reply" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/js/mail_followers.js:154 +#, python-format +msgid "One follower" +msgstr "" + +#. module: mail +#: field:mail.compose.message,type:0 +#: field:mail.message,type:0 +msgid "Type" +msgstr "" + +#. module: mail +#: selection:mail.compose.message,type:0 +#: view:mail.mail:0 +#: selection:mail.message,type:0 +msgid "Email" +msgstr "" + +#. module: mail +#: field:ir.ui.menu,mail_group_id:0 +msgid "Mail Group" +msgstr "" + +#. module: mail +#: selection:res.partner,notification_email_send:0 +msgid "Comments and Emails" +msgstr "" + +#. module: mail +#: field:mail.alias,alias_defaults:0 +msgid "Default Values" +msgstr "" + +#. module: mail +#: code:addons/mail/res_users.py:100 +#, python-format +msgid "%s has joined the %s network." +msgstr "" + +#. module: mail +#: help:mail.group,image_small:0 +msgid "" +"Small-sized photo of the group. It is automatically resized as a 64x64px " +"image, with aspect ratio preserved. Use this field anywhere a small image is " +"required." +msgstr "" + +#. module: mail +#: view:mail.compose.message:0 +#: field:mail.message,partner_ids:0 +msgid "Recipients" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:127 +#, python-format +msgid "<<<" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:43 +#, python-format +msgid "Write to the followers of this document..." +msgstr "" + +#. module: mail +#: field:mail.group,group_public_id:0 +msgid "Authorized Group" +msgstr "" + +#. module: mail +#: view:mail.group:0 +msgid "Join Group" +msgstr "" + +#. module: mail +#: help:mail.mail,email_from:0 +msgid "Message sender, taken from user preferences." +msgstr "" + +#. module: mail +#: code:addons/mail/wizard/invite.py:39 +#, python-format +msgid "
You have been invited to follow a new document.
" +msgstr "" + +#. module: mail +#: field:mail.compose.message,parent_id:0 +#: field:mail.message,parent_id:0 +msgid "Parent Message" +msgstr "" + +#. module: mail +#: field:mail.compose.message,res_id:0 +#: field:mail.followers,res_id:0 +#: field:mail.message,res_id:0 +#: field:mail.wizard.invite,res_id:0 +msgid "Related Document ID" +msgstr "" + +#. module: mail +#: model:ir.actions.client,help:mail.action_mail_to_me_feeds +msgid "" +"

\n" +" No private message.\n" +"

\n" +" This list contains messages sent to you.\n" +"

\n" +" " +msgstr "" + +#. module: mail +#: model:mail.group,name:mail.group_rd +msgid "R&D" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:61 +#, python-format +msgid "/web/binary/upload_attachment" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_thread +msgid "Email Thread" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Advanced" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:226 +#, python-format +msgid "Move to Inbox" +msgstr "" + +#. module: mail +#: code:addons/mail/wizard/mail_compose_message.py:165 +#, python-format +msgid "Re:" +msgstr "" + +#. module: mail +#: field:mail.compose.message,to_read:0 +#: field:mail.message,to_read:0 +msgid "To read" +msgstr "" + +#. module: mail +#: code:addons/mail/res_users.py:79 +#, python-format +msgid "" +"You may not create a user. To create new users, you should use the " +"\"Settings > Users\" menu." +msgstr "" + +#. module: mail +#: help:mail.followers,res_model:0 +#: help:mail.wizard.invite,res_model:0 +msgid "Model of the followed resource" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:286 +#, python-format +msgid "like" +msgstr "" + +#. module: mail +#: view:mail.compose.message:0 +#: view:mail.mail:0 +#: view:mail.wizard.invite:0 +msgid "Cancel" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:44 +#, python-format +msgid "Share with my followers..." +msgstr "" + +#. module: mail +#: field:mail.notification,partner_id:0 +msgid "Contact" +msgstr "" + +#. module: mail +#: view:mail.group:0 +msgid "" +"Only the invited followers can read the\n" +" discussions on this group." +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_ir_ui_menu +msgid "ir.ui.menu" +msgstr "" + +#. module: mail +#: view:mail.message:0 +msgid "Has attachments" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "on" +msgstr "" + +#. module: mail +#: code:addons/mail/mail_message.py:916 +#, python-format +msgid "" +"The following partners chosen as recipients for the email have no email " +"address linked :" +msgstr "" + +#. module: mail +#: help:mail.alias,alias_defaults:0 +msgid "" +"A Python dictionary that will be evaluated to provide default values when " +"creating new records for this alias." +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_message_subtype +msgid "Message subtypes" +msgstr "" + +#. module: mail +#: help:mail.compose.message,notified_partner_ids:0 +#: help:mail.message,notified_partner_ids:0 +msgid "" +"Partners that have a notification pushing this message in their mailboxes" +msgstr "" + +#. module: mail +#: selection:mail.compose.message,type:0 +#: view:mail.mail:0 +#: selection:mail.message,type:0 +msgid "Comment" +msgstr "" + +#. module: mail +#: model:ir.actions.client,help:mail.action_mail_inbox_feeds +msgid "" +"

\n" +" Good Job! Your inbox is empty.\n" +"

\n" +" Your inbox contains private messages or emails sent to " +"you\n" +" as well as information related to documents or people " +"you\n" +" follow.\n" +"

\n" +" " +msgstr "" + +#. module: mail +#: field:mail.mail,notification:0 +msgid "Is Notification" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:170 +#, python-format +msgid "Compose a new message" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Send Now" +msgstr "" + +#. module: mail +#: code:addons/mail/mail_mail.py:71 +#, python-format +msgid "" +"Unable to send email, please configure the sender's email address or alias." +msgstr "" + +#. module: mail +#: help:res.users,alias_id:0 +msgid "" +"Email address internally associated with this user. Incoming emails will " +"appear in the user's notifications." +msgstr "" + +#. module: mail +#: field:mail.group,image:0 +msgid "Photo" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:173 +#: view:mail.compose.message:0 +#: view:mail.wizard.invite:0 +#, python-format +msgid "or" +msgstr "" + +#. module: mail +#: help:mail.compose.message,vote_user_ids:0 +#: help:mail.message,vote_user_ids:0 +msgid "Users that voted for this message" +msgstr "" + +#. module: mail +#: help:mail.group,alias_id:0 +msgid "" +"The email address associated with this group. New emails received will " +"automatically create new topics." +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Month" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Email Search" +msgstr "" + +#. module: mail +#: field:mail.compose.message,child_ids:0 +#: field:mail.message,child_ids:0 +msgid "Child Messages" +msgstr "" + +#. module: mail +#: field:mail.alias,alias_user_id:0 +msgid "Owner" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_res_users +msgid "Users" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_message +#: field:mail.mail,mail_message_id:0 +#: view:mail.message:0 +#: field:mail.notification,message_id:0 +#: field:mail.wizard.invite,message:0 +msgid "Message" +msgstr "" + +#. module: mail +#: help:mail.followers,res_id:0 +#: help:mail.wizard.invite,res_id:0 +msgid "Id of the followed resource" +msgstr "" + +#. module: mail +#: field:mail.compose.message,body:0 +#: field:mail.message,body:0 +msgid "Contents" +msgstr "" + +#. module: mail +#: model:ir.actions.act_window,name:mail.action_view_mail_alias +#: model:ir.ui.menu,name:mail.mail_alias_menu +msgid "Aliases" +msgstr "" + +#. module: mail +#: help:mail.message.subtype,description:0 +msgid "" +"Description that will be added in the message posted for this subtype. If " +"void, the name will be added instead." +msgstr "" + +#. module: mail +#: field:mail.compose.message,vote_user_ids:0 +#: field:mail.message,vote_user_ids:0 +msgid "Votes" +msgstr "" + +#. module: mail +#: view:mail.group:0 +msgid "Group" +msgstr "" + +#. module: mail +#: help:mail.compose.message,starred:0 +#: help:mail.message,starred:0 +msgid "Current user has a starred notification linked to this message" +msgstr "" + +#. module: mail +#: field:mail.group,public:0 +msgid "Privacy" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Notification" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/js/mail.js:585 +#, python-format +msgid "Please complete partner's informations" +msgstr "" + +#. module: mail +#: view:mail.wizard.invite:0 +msgid "Add Followers" +msgstr "" + +#. module: mail +#: view:mail.compose.message:0 +msgid "Followers of selected items and" +msgstr "" + +#. module: mail +#: field:mail.alias,alias_force_thread_id:0 +msgid "Record Thread ID" +msgstr "" + +#. module: mail +#: model:ir.ui.menu,name:mail.mail_group_root +msgid "My Groups" +msgstr "" + +#. module: mail +#: model:ir.actions.client,help:mail.action_mail_archives_feeds +msgid "" +"

\n" +" No message found and no message sent yet.\n" +"

\n" +" Click on the top-right icon to compose a message. This\n" +" message will be sent by email if it's an internal " +"contact.\n" +"

\n" +" " +msgstr "" + +#. module: mail +#: view:mail.mail:0 +#: field:mail.mail,state:0 +msgid "Status" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +#: selection:mail.mail,state:0 +msgid "Outgoing" +msgstr "" + +#. module: mail +#: selection:res.partner,notification_email_send:0 +msgid "All feeds" +msgstr "" + +#. module: mail +#: help:mail.compose.message,record_name:0 +#: help:mail.message,record_name:0 +msgid "Name get of the related document." +msgstr "" + +#. module: mail +#: model:ir.actions.act_window,name:mail.action_view_notifications +#: model:ir.model,name:mail.model_mail_notification +#: model:ir.ui.menu,name:mail.menu_email_notifications +#: field:mail.compose.message,notification_ids:0 +#: view:mail.message:0 +#: field:mail.message,notification_ids:0 +#: view:mail.notification:0 +msgid "Notifications" +msgstr "" + +#. module: mail +#: view:mail.alias:0 +msgid "Search Alias" +msgstr "" + +#. module: mail +#: help:mail.alias,alias_force_thread_id:0 +msgid "" +"Optional ID of a thread (record) to which all incoming messages will be " +"attached, even if they did not reply to it. If set, this will disable the " +"creation of new records completely." +msgstr "" + +#. module: mail +#: help:mail.message.subtype,name:0 +msgid "" +"Message subtype gives a more precise type on the message, especially for " +"system notifications. For example, it can be a notification related to a new " +"record (New), or to a stage change in a process (Stage change). Message " +"subtypes allow to precisely tune the notifications the user want to receive " +"on its wall." +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "by" +msgstr "" + +#. module: mail +#: model:mail.group,name:mail.group_best_sales_practices +msgid "Best Sales Practices" +msgstr "" + +#. module: mail +#: selection:mail.group,public:0 +msgid "Selected Group Only" +msgstr "" + +#. module: mail +#: field:mail.group,message_is_follower:0 +#: field:mail.thread,message_is_follower:0 +#: field:res.partner,message_is_follower:0 +msgid "Is a Follower" +msgstr "" + +#. module: mail +#: view:mail.alias:0 +#: view:mail.mail:0 +msgid "User" +msgstr "" + +#. module: mail +#: view:mail.group:0 +msgid "Groups" +msgstr "" + +#. module: mail +#: view:mail.message:0 +msgid "Messages Search" +msgstr "" + +#. module: mail +#: field:mail.compose.message,date:0 +#: field:mail.message,date:0 +msgid "Date" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:34 +#, python-format +msgid "Post" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Extended Filters..." +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:107 +#, python-format +msgid "To:" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:175 +#, python-format +msgid "Write to my followers" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_res_groups +msgid "Access Groups" +msgstr "" + +#. module: mail +#: field:mail.message.subtype,default:0 +msgid "Default" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:260 +#, python-format +msgid "show more message" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:228 +#, python-format +msgid "Mark as Todo" +msgstr "" + +#. module: mail +#: help:mail.message.subtype,parent_id:0 +msgid "Parent subtype, used for automatic subscription." +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_wizard_invite +msgid "Invite wizard" +msgstr "" + +#. module: mail +#: field:mail.group,message_summary:0 +#: field:mail.thread,message_summary:0 +#: field:res.partner,message_summary:0 +msgid "Summary" +msgstr "" + +#. module: mail +#: help:mail.message.subtype,res_model:0 +msgid "" +"Model the subtype applies to. If False, this subtype applies to all models." +msgstr "" + +#. module: mail +#: field:mail.compose.message,subtype_id:0 +#: field:mail.followers,subtype_ids:0 +#: field:mail.message,subtype_id:0 +#: view:mail.message.subtype:0 +msgid "Subtype" +msgstr "" + +#. module: mail +#: view:mail.group:0 +msgid "Group Form" +msgstr "" + +#. module: mail +#: field:mail.compose.message,starred:0 +#: field:mail.message,starred:0 +#: field:mail.notification,starred:0 +msgid "Starred" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:262 +#, python-format +msgid "more messages" +msgstr "" + +#. module: mail +#: code:addons/mail/update.py:93 +#, python-format +msgid "Error" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:13 +#, python-format +msgid "Following" +msgstr "" + +#. module: mail +#: sql_constraint:mail.alias:0 +msgid "" +"Unfortunately this email alias is already used, please choose a unique one" +msgstr "" + +#. module: mail +#: help:mail.alias,alias_user_id:0 +msgid "" +"The owner of records created upon receiving emails on this alias. If this " +"field is not set the system will attempt to find the right owner based on " +"the sender (From) address, or will use the Administrator account if no " +"system user is found for that address." +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:52 +#, python-format +msgid "And" +msgstr "" + +#. module: mail +#: field:mail.compose.message,message_id:0 +#: field:mail.message,message_id:0 +msgid "Message-Id" +msgstr "" + +#. module: mail +#: help:mail.group,image:0 +msgid "" +"This field holds the image used as photo for the group, limited to " +"1024x1024px." +msgstr "" + +#. module: mail +#: field:mail.compose.message,attachment_ids:0 +#: view:mail.mail:0 +#: field:mail.message,attachment_ids:0 +msgid "Attachments" +msgstr "" + +#. module: mail +#: field:mail.compose.message,record_name:0 +#: field:mail.message,record_name:0 +msgid "Message Record Name" +msgstr "" + +#. module: mail +#: field:mail.mail,email_cc:0 +msgid "Cc" +msgstr "" + +#. module: mail +#: help:mail.notification,starred:0 +msgid "Starred message that goes into the todo mailbox" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:110 +#: view:mail.compose.message:0 +#, python-format +msgid "Followers of" +msgstr "" + +#. module: mail +#: help:mail.mail,auto_delete:0 +msgid "Permanently delete this email after sending it, to save space" +msgstr "" + +#. module: mail +#: model:ir.actions.client,name:mail.action_mail_group_feeds +msgid "Discussion Group" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:224 +#, python-format +msgid "Done" +msgstr "" + +#. module: mail +#: model:mail.message.subtype,name:mail.mt_comment +msgid "Discussions" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:11 +#, python-format +msgid "Follow" +msgstr "" + +#. module: mail +#: field:mail.group,name:0 +msgid "Name" +msgstr "" + +#. module: mail +#: model:mail.group,name:mail.group_all_employees +msgid "Whole Company" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:116 +#: view:mail.compose.message:0 +#, python-format +msgid "and" +msgstr "" + +#. module: mail +#: help:mail.mail,body_html:0 +msgid "Rich-text/HTML message" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Creation Month" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:272 +#, python-format +msgid "Compose new Message" +msgstr "" + +#. module: mail +#: field:mail.group,menu_id:0 +msgid "Related Menu" +msgstr "" + +#. module: mail +#: view:mail.message:0 +msgid "Content" +msgstr "" + +#. module: mail +#: field:mail.mail,email_to:0 +msgid "To" +msgstr "" + +#. module: mail +#: field:mail.compose.message,notified_partner_ids:0 +#: field:mail.message,notified_partner_ids:0 +msgid "Notified partners" +msgstr "" + +#. module: mail +#: help:mail.group,public:0 +msgid "" +"This group is visible by non members. Invisible groups can add " +"members through the invite button." +msgstr "" + +#. module: mail +#: model:mail.group,name:mail.group_board +msgid "Board meetings" +msgstr "" + +#. module: mail +#: constraint:mail.alias:0 +msgid "" +"Invalid expression, it must be a literal python dictionary definition e.g. " +"\"{'field': 'value'}\"" +msgstr "" + +#. module: mail +#: field:mail.alias,alias_model_id:0 +msgid "Aliased Model" +msgstr "" + +#. module: mail +#: help:mail.compose.message,message_id:0 +#: help:mail.message,message_id:0 +msgid "Message unique identifier" +msgstr "" + +#. module: mail +#: field:mail.group,description:0 +#: field:mail.message.subtype,description:0 +msgid "Description" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_followers +msgid "Document Followers" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:35 +#, python-format +msgid "Remove this follower" +msgstr "" + +#. module: mail +#: selection:res.partner,notification_email_send:0 +msgid "Never" +msgstr "" + +#. module: mail +#: field:mail.mail,mail_server_id:0 +msgid "Outgoing mail server" +msgstr "" + +#. module: mail +#: code:addons/mail/mail_message.py:920 +#, python-format +msgid "Partners email addresses not found" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +#: selection:mail.mail,state:0 +msgid "Sent" +msgstr "" + +#. module: mail +#: field:mail.mail,body_html:0 +msgid "Rich-text Contents" +msgstr "" + +#. module: mail +#: help:mail.compose.message,to_read:0 +#: help:mail.message,to_read:0 +msgid "Current user has an unread notification linked to this message" +msgstr "" + +#. module: mail +#: help:res.partner,notification_email_send:0 +msgid "" +"Choose in which case you want to receive an email when you receive new feeds." +msgstr "" + +#. module: mail +#: model:ir.actions.act_window,name:mail.action_view_groups +#: model:ir.ui.menu,name:mail.mail_allgroups +msgid "Join a group" +msgstr "" + +#. module: mail +#: model:ir.actions.client,help:mail.action_mail_group_feeds +msgid "" +"

\n" +" No message in this group.\n" +"

\n" +" " +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:195 +#, python-format +msgid "Please, wait while the file is uploading." +msgstr "" + +#. module: mail +#: view:mail.group:0 +msgid "" +"This group is visible by everyone,\n" +" including your customers if you " +"installed\n" +" the portal module." +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:225 +#, python-format +msgid "Set back to Todo" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:113 +#, python-format +msgid "this document" +msgstr "" + +#. module: mail +#: field:mail.compose.message,filter_id:0 +msgid "Filters" +msgstr "" + +#. module: mail +#: field:res.partner,notification_email_send:0 +msgid "Receive Feeds by Email" +msgstr "" + +#. module: mail +#: help:base.config.settings,alias_domain:0 +msgid "" +"If you have setup a catch-all email domain redirected to the OpenERP server, " +"enter the domain name here." +msgstr "" + +#. module: mail +#: model:ir.actions.act_window,name:mail.action_view_mail_message +#: model:ir.ui.menu,name:mail.menu_mail_message +#: field:mail.group,message_ids:0 +#: view:mail.message:0 +#: field:mail.thread,message_ids:0 +#: field:res.partner,message_ids:0 +msgid "Messages" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:126 +#, python-format +msgid "others..." +msgstr "" + +#. module: mail +#: model:ir.actions.client,name:mail.action_mail_star_feeds +#: model:ir.ui.menu,name:mail.mail_starfeeds +msgid "To-do" +msgstr "" + +#. module: mail +#: view:mail.alias:0 +#: field:mail.alias,alias_name:0 +#: field:mail.group,alias_id:0 +#: field:res.users,alias_id:0 +msgid "Alias" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_mail +msgid "Outgoing Mails" +msgstr "" + +#. module: mail +#: help:mail.compose.message,notification_ids:0 +#: help:mail.message,notification_ids:0 +msgid "" +"Technical field holding the message notifications. Use notified_partner_ids " +"to access notified partners." +msgstr "" + +#. module: mail +#: model:ir.ui.menu,name:mail.mail_feeds +#: model:ir.ui.menu,name:mail.mail_feeds_main +msgid "Messaging" +msgstr "" + +#. module: mail +#: view:mail.alias:0 +#: field:mail.message.subtype,res_model:0 +msgid "Model" +msgstr "" + +#. module: mail +#: view:mail.message:0 +msgid "Unread" +msgstr "" + +#. module: mail +#: help:mail.followers,subtype_ids:0 +msgid "" +"Message subtypes followed, meaning subtypes that will be pushed onto the " +"user's Wall." +msgstr "" + +#. module: mail +#: help:mail.group,message_ids:0 +#: help:mail.thread,message_ids:0 +#: help:res.partner,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: mail +#: help:mail.mail,references:0 +msgid "Message references, such as identifiers of previous messages" +msgstr "" + +#. module: mail +#: field:mail.compose.message,composition_mode:0 +msgid "Composition mode" +msgstr "" + +#. module: mail +#: field:mail.compose.message,model:0 +#: field:mail.followers,res_model:0 +#: field:mail.message,model:0 +#: field:mail.wizard.invite,res_model:0 +msgid "Related Document Model" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:287 +#, python-format +msgid "unlike" +msgstr "" + +#. module: mail +#: help:mail.compose.message,author_id:0 +#: help:mail.message,author_id:0 +msgid "" +"Author of the message. If not set, email_from may hold an email address that " +"did not match any partner." +msgstr "" + +#. module: mail +#: help:mail.mail,email_cc:0 +msgid "Carbon copy message recipients" +msgstr "" + +#. module: mail +#: field:mail.alias,alias_domain:0 +msgid "Alias domain" +msgstr "" + +#. module: mail +#: code:addons/mail/update.py:93 +#, python-format +msgid "Error during communication with the publisher warranty server." +msgstr "" + +#. module: mail +#: selection:mail.group,public:0 +msgid "Private" +msgstr "" + +#. module: mail +#: model:ir.actions.client,help:mail.action_mail_star_feeds +msgid "" +"

\n" +" No todo.\n" +"

\n" +" When you process messages in your inbox, you can mark " +"some\n" +" as todo. From this menu, you can process all your " +"todo.\n" +"

\n" +" " +msgstr "" + +#. module: mail +#: selection:mail.mail,state:0 +msgid "Delivery Failed" +msgstr "" + +#. module: mail +#: field:mail.compose.message,partner_ids:0 +msgid "Additional contacts" +msgstr "" + +#. module: mail +#: help:mail.compose.message,parent_id:0 +#: help:mail.message,parent_id:0 +msgid "Initial thread message." +msgstr "" + +#. module: mail +#: model:mail.group,name:mail.group_hr_policies +msgid "HR Policies" +msgstr "" + +#. module: mail +#: selection:res.partner,notification_email_send:0 +msgid "Emails only" +msgstr "" + +#. module: mail +#: model:ir.actions.client,name:mail.action_mail_inbox_feeds +#: model:ir.ui.menu,name:mail.mail_inboxfeeds +msgid "Inbox" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:58 +#, python-format +msgid "File" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/js/many2many_tags_email.js:63 +#, python-format +msgid "Please complete partner's informations and Email" +msgstr "" + +#. module: mail +#: model:ir.actions.act_window,name:mail.action_view_message_subtype +#: model:ir.ui.menu,name:mail.menu_message_subtype +msgid "Subtypes" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_alias +msgid "Email Aliases" +msgstr "" + +#. module: mail +#: field:mail.group,image_small:0 +msgid "Small-sized photo" +msgstr "" + +#. module: mail +#: help:mail.mail,reply_to:0 +msgid "Preferred response address for the message" +msgstr "" diff --git a/addons/mail/i18n/tr.po b/addons/mail/i18n/tr.po index 30d88dffd00..624506695e2 100644 --- a/addons/mail/i18n/tr.po +++ b/addons/mail/i18n/tr.po @@ -8,19 +8,19 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:04+0000\n" -"PO-Revision-Date: 2012-05-10 17:39+0000\n" -"Last-Translator: Raphael Collet (OpenERP) \n" +"PO-Revision-Date: 2013-02-06 01:59+0000\n" +"Last-Translator: Ediz Duman \n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-22 06:04+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-02-06 05:14+0000\n" +"X-Generator: Launchpad (build 16468)\n" #. module: mail #: view:mail.followers:0 msgid "Followers Form" -msgstr "" +msgstr "Takipçiler Formu" #. module: mail #: model:ir.model,name:mail.model_publisher_warranty_contract @@ -31,7 +31,7 @@ msgstr "" #: field:mail.compose.message,author_id:0 #: field:mail.message,author_id:0 msgid "Author" -msgstr "" +msgstr "Yazan" #. module: mail #: view:mail.mail:0 @@ -51,13 +51,13 @@ msgstr "" #. module: mail #: view:mail.message:0 msgid "Comments" -msgstr "" +msgstr "Yorumlar" #. module: mail #: view:mail.alias:0 #: view:mail.mail:0 msgid "Group By..." -msgstr "Grupla..." +msgstr "Grupla İle..." #. module: mail #: help:mail.compose.message,body:0 @@ -83,17 +83,17 @@ msgstr "E-posta Yaz" #: code:addons/mail/static/src/xml/mail.xml:132 #, python-format msgid "Add them into recipients and followers" -msgstr "" +msgstr "Alıcıları ve takipçileri içine ekleyin" #. module: mail #: view:mail.group:0 msgid "Group Name" -msgstr "" +msgstr "Grup Adı" #. module: mail #: selection:mail.group,public:0 msgid "Public" -msgstr "" +msgstr "Genel" #. module: mail #: view:mail.mail:0 @@ -103,7 +103,7 @@ msgstr "İleti metni" #. module: mail #: view:mail.message:0 msgid "Show messages to read" -msgstr "" +msgstr "Mesajları okumak için Göster" #. module: mail #: help:mail.compose.message,email_from:0 @@ -116,33 +116,33 @@ msgstr "" #. module: mail #: model:ir.model,name:mail.model_mail_compose_message msgid "Email composition wizard" -msgstr "" +msgstr "E-posta kompozisyonu sihirbazı" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/mail_followers.xml:23 #, python-format msgid "Add others" -msgstr "" +msgstr "Ekle diğerleri" #. module: mail #: field:mail.message.subtype,parent_id:0 msgid "Parent" -msgstr "" +msgstr "Üst" #. module: mail #: field:mail.group,message_unread:0 #: field:mail.thread,message_unread:0 #: field:res.partner,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "Okunmamış Mesaj" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/mail.xml:262 #, python-format msgid "show" -msgstr "" +msgstr "göster" #. module: mail #: help:mail.group,group_ids:0 @@ -156,31 +156,31 @@ msgstr "" #: code:addons/mail/static/src/js/mail.js:869 #, python-format msgid "Do you really want to delete this message?" -msgstr "" +msgstr "Gerçekten bu mesajı silmek istediğinizden emin misiniz?" #. module: mail #: view:mail.message:0 #: field:mail.notification,read:0 msgid "Read" -msgstr "" +msgstr "Oku" #. module: mail #: view:mail.group:0 msgid "Search Groups" -msgstr "" +msgstr "Arama Grupları" #. module: mail #. openerp-web #: code:addons/mail/static/src/js/mail_followers.js:156 #, python-format msgid "followers" -msgstr "" +msgstr "takipçiler" #. module: mail #: code:addons/mail/mail_message.py:726 #, python-format msgid "Access Denied" -msgstr "" +msgstr "Erişim Rededildi" #. module: mail #: help:mail.group,image_medium:0 @@ -195,12 +195,12 @@ msgstr "" #: code:addons/mail/static/src/xml/mail.xml:194 #, python-format msgid "Uploading error" -msgstr "" +msgstr "Yükleme hatası" #. module: mail #: model:mail.group,name:mail.group_support msgid "Support" -msgstr "" +msgstr "Destek" #. module: mail #: code:addons/mail/mail_message.py:727 @@ -228,7 +228,7 @@ msgstr "Konu" #: code:addons/mail/static/src/xml/mail.xml:37 #, python-format msgid "Open the full mail composer" -msgstr "" +msgstr "Tam posta kompozitör açın" #. module: mail #. openerp-web @@ -245,7 +245,7 @@ msgstr "" #. module: mail #: field:mail.group,group_ids:0 msgid "Auto Subscription" -msgstr "" +msgstr "Otomatik Abonelik" #. module: mail #: field:mail.mail,references:0 @@ -262,7 +262,7 @@ msgstr "" #. module: mail #: model:ir.model,name:mail.model_mail_group msgid "Discussion group" -msgstr "" +msgstr "Tartışma grubu" #. module: mail #. openerp-web @@ -270,14 +270,14 @@ msgstr "" #: code:addons/mail/static/src/xml/mail.xml:95 #, python-format msgid "uploading" -msgstr "" +msgstr "yükleme" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/mail_followers.xml:52 #, python-format msgid "more." -msgstr "" +msgstr "daha fazla" #. module: mail #: help:mail.compose.message,type:0 @@ -286,6 +286,8 @@ msgid "" "Message type: email for email message, notification for system message, " "comment for other messages such as user replies" msgstr "" +"Mesaj türü: e-posta mesajı için e-posta, sistem mesajı için bildirim,bir " +"kullanıcı cevaplar gibi diğer mesajlar için Yorum" #. module: mail #: help:mail.message.subtype,relation_field:0 @@ -298,7 +300,7 @@ msgstr "" #. module: mail #: selection:mail.mail,state:0 msgid "Cancelled" -msgstr "İptal Edilmiş" +msgstr "İptalEdildi" #. module: mail #: field:mail.mail,reply_to:0 @@ -316,23 +318,23 @@ msgstr "" #: help:mail.thread,message_unread:0 #: help:res.partner,message_unread:0 msgid "If checked new messages require your attention." -msgstr "" +msgstr "Eğer işaretliyse yeni mesajlar dikkat gerektirir." #. module: mail #: field:mail.group,image_medium:0 msgid "Medium-sized photo" -msgstr "" +msgstr "Orta ölçekli fotoğraf" #. module: mail #: model:ir.actions.client,name:mail.action_mail_to_me_feeds #: model:ir.ui.menu,name:mail.mail_tomefeeds msgid "To: me" -msgstr "" +msgstr "Kime:" #. module: mail #: field:mail.message.subtype,name:0 msgid "Message Type" -msgstr "Mesaj tipi" +msgstr "Mesaj Türü" #. module: mail #: field:mail.mail,auto_delete:0 @@ -345,21 +347,21 @@ msgstr "Otomatik Sil" #: view:mail.group:0 #, python-format msgid "Unfollow" -msgstr "" +msgstr "İzlemekten vazgeç" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/mail.xml:261 #, python-format msgid "show one more message" -msgstr "" +msgstr "daha mesaj göster" #. module: mail #: code:addons/mail/mail_mail.py:71 #: code:addons/mail/res_users.py:79 #, python-format msgid "Invalid Action!" -msgstr "" +msgstr "Geçersiz İşlem!" #. module: mail #. openerp-web @@ -379,7 +381,7 @@ msgstr "E-postalar" #. module: mail #: field:mail.followers,partner_id:0 msgid "Related Partner" -msgstr "" +msgstr "İlgili Partner" #. module: mail #: help:mail.group,message_summary:0 @@ -401,24 +403,24 @@ msgstr "" #. module: mail #: field:mail.message.subtype,relation_field:0 msgid "Relation field" -msgstr "" +msgstr "İlişkili alanı" #. module: mail #: selection:mail.compose.message,type:0 #: selection:mail.message,type:0 msgid "System notification" -msgstr "" +msgstr "Sistem bildirim" #. module: mail #: model:ir.model,name:mail.model_res_partner #: view:mail.mail:0 msgid "Partner" -msgstr "Cari" +msgstr "Partner" #. module: mail #: model:ir.ui.menu,name:mail.mail_my_stuff msgid "Organizer" -msgstr "" +msgstr "Ajanda" #. module: mail #: field:mail.compose.message,subject:0 @@ -429,7 +431,7 @@ msgstr "Konu" #. module: mail #: field:mail.wizard.invite,partner_ids:0 msgid "Partners" -msgstr "" +msgstr "Partnerler" #. module: mail #: view:mail.mail:0 @@ -464,7 +466,7 @@ msgstr "Gönder" #: code:addons/mail/static/src/js/mail_followers.js:152 #, python-format msgid "No followers" -msgstr "" +msgstr "Takipçileri Yok" #. module: mail #: view:mail.mail:0 @@ -482,13 +484,13 @@ msgstr "Başarısız" #: field:res.partner,message_follower_ids:0 #, python-format msgid "Followers" -msgstr "" +msgstr "Takipçiler" #. module: mail #: model:ir.actions.client,name:mail.action_mail_archives_feeds #: model:ir.ui.menu,name:mail.mail_archivesfeeds msgid "Archives" -msgstr "" +msgstr "Arşiv" #. module: mail #. openerp-web @@ -496,7 +498,7 @@ msgstr "" #: code:addons/mail/static/src/xml/mail.xml:94 #, python-format msgid "Delete this attachment" -msgstr "" +msgstr "Bu eki sil" #. module: mail #. openerp-web @@ -511,13 +513,13 @@ msgstr "Cevapla" #: code:addons/mail/static/src/js/mail_followers.js:154 #, python-format msgid "One follower" -msgstr "" +msgstr "Bir takipçi" #. module: mail #: field:mail.compose.message,type:0 #: field:mail.message,type:0 msgid "Type" -msgstr "" +msgstr "Tür" #. module: mail #: selection:mail.compose.message,type:0 @@ -529,23 +531,23 @@ msgstr "" #. module: mail #: field:ir.ui.menu,mail_group_id:0 msgid "Mail Group" -msgstr "" +msgstr "Mail Grubu" #. module: mail #: selection:res.partner,notification_email_send:0 msgid "Comments and Emails" -msgstr "" +msgstr "Yorumlar ve Emailler" #. module: mail #: field:mail.alias,alias_defaults:0 msgid "Default Values" -msgstr "" +msgstr "Ötanımlı Değerler" #. module: mail #: code:addons/mail/res_users.py:100 #, python-format msgid "%s has joined the %s network." -msgstr "" +msgstr "%s katılıdı %s ağa" #. module: mail #: help:mail.group,image_small:0 @@ -566,41 +568,41 @@ msgstr "Alıcılar" #: code:addons/mail/static/src/xml/mail.xml:127 #, python-format msgid "<<<" -msgstr "" +msgstr "<<<" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/mail.xml:43 #, python-format msgid "Write to the followers of this document..." -msgstr "" +msgstr "Bu belgenin takipçilerine yaz ..." #. module: mail #: field:mail.group,group_public_id:0 msgid "Authorized Group" -msgstr "" +msgstr "Yetkili Grup" #. module: mail #: view:mail.group:0 msgid "Join Group" -msgstr "" +msgstr "Gruba Katıl" #. module: mail #: help:mail.mail,email_from:0 msgid "Message sender, taken from user preferences." -msgstr "" +msgstr "Kullanıcı tercihlerine göre ​​alınan mesaj gönderen,." #. module: mail #: code:addons/mail/wizard/invite.py:39 #, python-format msgid "
You have been invited to follow a new document.
" -msgstr "" +msgstr "
Sen yeni bir belge takip etmeye davet edildin.
" #. module: mail #: field:mail.compose.message,parent_id:0 #: field:mail.message,parent_id:0 msgid "Parent Message" -msgstr "" +msgstr "Üst Mesaj" #. module: mail #: field:mail.compose.message,res_id:0 @@ -624,7 +626,7 @@ msgstr "" #. module: mail #: model:mail.group,name:mail.group_rd msgid "R&D" -msgstr "" +msgstr "R&D" #. module: mail #. openerp-web @@ -648,7 +650,7 @@ msgstr "Gelişmiş" #: code:addons/mail/static/src/xml/mail.xml:226 #, python-format msgid "Move to Inbox" -msgstr "" +msgstr "Geleni Taşı" #. module: mail #: code:addons/mail/wizard/mail_compose_message.py:165 @@ -660,7 +662,7 @@ msgstr "Yanıt:" #: field:mail.compose.message,to_read:0 #: field:mail.message,to_read:0 msgid "To read" -msgstr "" +msgstr "Okumak için" #. module: mail #: code:addons/mail/res_users.py:79 @@ -669,38 +671,40 @@ msgid "" "You may not create a user. To create new users, you should use the " "\"Settings > Users\" menu." msgstr "" +"Bir kullanıcı oluşturamazsınız. Yeni kullanıcılar oluşturmak için " +"kullanmanız gereken \"Ayarlar > Kullanıcılar\" menü." #. module: mail #: help:mail.followers,res_model:0 #: help:mail.wizard.invite,res_model:0 msgid "Model of the followed resource" -msgstr "" +msgstr "Takip kaynağın Modeli" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/mail.xml:286 #, python-format msgid "like" -msgstr "" +msgstr "gibi" #. module: mail #: view:mail.compose.message:0 #: view:mail.mail:0 #: view:mail.wizard.invite:0 msgid "Cancel" -msgstr "İptal" +msgstr "Vazgeç" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/mail.xml:44 #, python-format msgid "Share with my followers..." -msgstr "" +msgstr "Benim takipçilerim ile paylaş ..." #. module: mail #: field:mail.notification,partner_id:0 msgid "Contact" -msgstr "" +msgstr "Kontak" #. module: mail #: view:mail.group:0 @@ -756,7 +760,7 @@ msgstr "" #: view:mail.mail:0 #: selection:mail.message,type:0 msgid "Comment" -msgstr "" +msgstr "Yorum" #. module: mail #: model:ir.actions.client,help:mail.action_mail_inbox_feeds @@ -772,18 +776,27 @@ msgid "" "

\n" " " msgstr "" +"

\n" +" Hayırlı İşler! Gelen kutunuz boş.\n" +"

\n" +" Gelen kutunuz gönderilen özel mesajları veya e-postalar " +"içerir sen\n" +" ayrıca belge veya kontaklarla ilgili bilgilerinide \n" +" takip edersin.\n" +"

\n" +" " #. module: mail #: field:mail.mail,notification:0 msgid "Is Notification" -msgstr "" +msgstr "Bildirim mi" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/mail.xml:170 #, python-format msgid "Compose a new message" -msgstr "" +msgstr "Yeni mesaj oluştur" #. module: mail #: view:mail.mail:0 @@ -807,7 +820,7 @@ msgstr "" #. module: mail #: field:mail.group,image:0 msgid "Photo" -msgstr "" +msgstr "Resim" #. module: mail #. openerp-web @@ -816,13 +829,13 @@ msgstr "" #: view:mail.wizard.invite:0 #, python-format msgid "or" -msgstr "" +msgstr "veya" #. module: mail #: help:mail.compose.message,vote_user_ids:0 #: help:mail.message,vote_user_ids:0 msgid "Users that voted for this message" -msgstr "" +msgstr "Kullanıcıları Bu mesaj için oylandı" #. module: mail #: help:mail.group,alias_id:0 @@ -845,17 +858,17 @@ msgstr "E-posta Ara" #: field:mail.compose.message,child_ids:0 #: field:mail.message,child_ids:0 msgid "Child Messages" -msgstr "" +msgstr "Alt Mesajlar" #. module: mail #: field:mail.alias,alias_user_id:0 msgid "Owner" -msgstr "" +msgstr "Sahibi" #. module: mail #: model:ir.model,name:mail.model_res_users msgid "Users" -msgstr "" +msgstr "Kullanıcılar" #. module: mail #: model:ir.model,name:mail.model_mail_message @@ -864,19 +877,19 @@ msgstr "" #: field:mail.notification,message_id:0 #: field:mail.wizard.invite,message:0 msgid "Message" -msgstr "" +msgstr "Mesaj" #. module: mail #: help:mail.followers,res_id:0 #: help:mail.wizard.invite,res_id:0 msgid "Id of the followed resource" -msgstr "" +msgstr "Takipçini kayanak ıd si" #. module: mail #: field:mail.compose.message,body:0 #: field:mail.message,body:0 msgid "Contents" -msgstr "" +msgstr "İçerekler" #. module: mail #: model:ir.actions.act_window,name:mail.action_view_mail_alias @@ -895,12 +908,12 @@ msgstr "" #: field:mail.compose.message,vote_user_ids:0 #: field:mail.message,vote_user_ids:0 msgid "Votes" -msgstr "" +msgstr "Oylamalar" #. module: mail #: view:mail.group:0 msgid "Group" -msgstr "" +msgstr "Grup" #. module: mail #: help:mail.compose.message,starred:0 @@ -911,19 +924,19 @@ msgstr "" #. module: mail #: field:mail.group,public:0 msgid "Privacy" -msgstr "" +msgstr "Özel" #. module: mail #: view:mail.mail:0 msgid "Notification" -msgstr "" +msgstr "Bildirimler" #. module: mail #. openerp-web #: code:addons/mail/static/src/js/mail.js:585 #, python-format msgid "Please complete partner's informations" -msgstr "" +msgstr "Komple partnerin bilgisi lütfen" #. module: mail #: view:mail.wizard.invite:0 @@ -933,17 +946,17 @@ msgstr "" #. module: mail #: view:mail.compose.message:0 msgid "Followers of selected items and" -msgstr "" +msgstr "Seçilen öğelerin takipçileri ve" #. module: mail #: field:mail.alias,alias_force_thread_id:0 msgid "Record Thread ID" -msgstr "" +msgstr "Konu Kayıt ID" #. module: mail #: model:ir.ui.menu,name:mail.mail_group_root msgid "My Groups" -msgstr "" +msgstr "Gruplarım" #. module: mail #: model:ir.actions.client,help:mail.action_mail_archives_feeds @@ -962,7 +975,7 @@ msgstr "" #: view:mail.mail:0 #: field:mail.mail,state:0 msgid "Status" -msgstr "" +msgstr "Durumu" #. module: mail #: view:mail.mail:0 @@ -979,7 +992,7 @@ msgstr "" #: help:mail.compose.message,record_name:0 #: help:mail.message,record_name:0 msgid "Name get of the related document." -msgstr "" +msgstr "İlgili belge adı." #. module: mail #: model:ir.actions.act_window,name:mail.action_view_notifications @@ -990,7 +1003,7 @@ msgstr "" #: field:mail.message,notification_ids:0 #: view:mail.notification:0 msgid "Notifications" -msgstr "" +msgstr "Bildirimler" #. module: mail #: view:mail.alias:0 @@ -1018,24 +1031,24 @@ msgstr "" #. module: mail #: view:mail.mail:0 msgid "by" -msgstr "" +msgstr "ile" #. module: mail #: model:mail.group,name:mail.group_best_sales_practices msgid "Best Sales Practices" -msgstr "" +msgstr "En İyi Satış Uygulamaları" #. module: mail #: selection:mail.group,public:0 msgid "Selected Group Only" -msgstr "" +msgstr "Sadece Grup Seçilmiş" #. module: mail #: field:mail.group,message_is_follower:0 #: field:mail.thread,message_is_follower:0 #: field:res.partner,message_is_follower:0 msgid "Is a Follower" -msgstr "" +msgstr "Bir Takipçisi mi" #. module: mail #: view:mail.alias:0 @@ -1046,12 +1059,12 @@ msgstr "Kullanıcı" #. module: mail #: view:mail.group:0 msgid "Groups" -msgstr "" +msgstr "Gruplar" #. module: mail #: view:mail.message:0 msgid "Messages Search" -msgstr "" +msgstr "Mesajları Arama" #. module: mail #: field:mail.compose.message,date:0 @@ -1064,7 +1077,7 @@ msgstr "Tarih" #: code:addons/mail/static/src/xml/mail.xml:34 #, python-format msgid "Post" -msgstr "" +msgstr "Postala" #. module: mail #: view:mail.mail:0 @@ -1076,38 +1089,38 @@ msgstr "Gelişmiş Filtreler..." #: code:addons/mail/static/src/xml/mail.xml:107 #, python-format msgid "To:" -msgstr "" +msgstr "Kime:" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/mail.xml:175 #, python-format msgid "Write to my followers" -msgstr "" +msgstr "Takipçilerin için yaz" #. module: mail #: model:ir.model,name:mail.model_res_groups msgid "Access Groups" -msgstr "" +msgstr "Erişim Grupları" #. module: mail #: field:mail.message.subtype,default:0 msgid "Default" -msgstr "" +msgstr "Öntanımlı" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/mail.xml:260 #, python-format msgid "show more message" -msgstr "" +msgstr "daha fazla mesaj göster" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/mail.xml:228 #, python-format msgid "Mark as Todo" -msgstr "" +msgstr "Yapılacak olarak işaretle" #. module: mail #: help:mail.message.subtype,parent_id:0 @@ -1117,14 +1130,14 @@ msgstr "" #. module: mail #: model:ir.model,name:mail.model_mail_wizard_invite msgid "Invite wizard" -msgstr "" +msgstr "Davet sihirbazı" #. module: mail #: field:mail.group,message_summary:0 #: field:mail.thread,message_summary:0 #: field:res.partner,message_summary:0 msgid "Summary" -msgstr "" +msgstr "Özet" #. module: mail #: help:mail.message.subtype,res_model:0 @@ -1138,7 +1151,7 @@ msgstr "" #: field:mail.message,subtype_id:0 #: view:mail.message.subtype:0 msgid "Subtype" -msgstr "" +msgstr "Alttür" #. module: mail #: view:mail.group:0 @@ -1150,27 +1163,27 @@ msgstr "" #: field:mail.message,starred:0 #: field:mail.notification,starred:0 msgid "Starred" -msgstr "" +msgstr "Yıldızlı" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/mail.xml:262 #, python-format msgid "more messages" -msgstr "" +msgstr "daha fazla mesaj" #. module: mail #: code:addons/mail/update.py:93 #, python-format msgid "Error" -msgstr "" +msgstr "Hata" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/mail_followers.xml:13 #, python-format msgid "Following" -msgstr "" +msgstr "Takip" #. module: mail #: sql_constraint:mail.alias:0 @@ -1192,7 +1205,7 @@ msgstr "" #: code:addons/mail/static/src/xml/mail_followers.xml:52 #, python-format msgid "And" -msgstr "" +msgstr "Ve" #. module: mail #: field:mail.compose.message,message_id:0 @@ -1218,7 +1231,7 @@ msgstr "Ekler" #: field:mail.compose.message,record_name:0 #: field:mail.message,record_name:0 msgid "Message Record Name" -msgstr "" +msgstr "Mesaj Kayıt Adı" #. module: mail #: field:mail.mail,email_cc:0 @@ -1236,7 +1249,7 @@ msgstr "" #: view:mail.compose.message:0 #, python-format msgid "Followers of" -msgstr "" +msgstr "Takipçileri" #. module: mail #: help:mail.mail,auto_delete:0 @@ -1246,36 +1259,36 @@ msgstr "Bu mesajı gönderdikten sonra yerden kazanmak için sil" #. module: mail #: model:ir.actions.client,name:mail.action_mail_group_feeds msgid "Discussion Group" -msgstr "" +msgstr "Tartışma Grubu" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/mail.xml:224 #, python-format msgid "Done" -msgstr "" +msgstr "Biten" #. module: mail #: model:mail.message.subtype,name:mail.mt_comment msgid "Discussions" -msgstr "" +msgstr "Tartışmalar" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/mail_followers.xml:11 #, python-format msgid "Follow" -msgstr "" +msgstr "takip etme" #. module: mail #: field:mail.group,name:0 msgid "Name" -msgstr "" +msgstr "Adı" #. module: mail #: model:mail.group,name:mail.group_all_employees msgid "Whole Company" -msgstr "" +msgstr "Tüm Firma" #. module: mail #. openerp-web @@ -1283,7 +1296,7 @@ msgstr "" #: view:mail.compose.message:0 #, python-format msgid "and" -msgstr "" +msgstr "ve" #. module: mail #: help:mail.mail,body_html:0 @@ -1300,17 +1313,17 @@ msgstr "Oluşturma Ayı" #: code:addons/mail/static/src/xml/mail.xml:272 #, python-format msgid "Compose new Message" -msgstr "" +msgstr "Yeni Mesaj Yaz" #. module: mail #: field:mail.group,menu_id:0 msgid "Related Menu" -msgstr "" +msgstr "İlgili Menü" #. module: mail #: view:mail.message:0 msgid "Content" -msgstr "" +msgstr "İçerek" #. module: mail #: field:mail.mail,email_to:0 @@ -1321,7 +1334,7 @@ msgstr "Kime" #: field:mail.compose.message,notified_partner_ids:0 #: field:mail.message,notified_partner_ids:0 msgid "Notified partners" -msgstr "" +msgstr "Onaylanmış partnerler" #. module: mail #: help:mail.group,public:0 @@ -1333,7 +1346,7 @@ msgstr "" #. module: mail #: model:mail.group,name:mail.group_board msgid "Board meetings" -msgstr "" +msgstr "Yönetim Kurulu toplantıları" #. module: mail #: constraint:mail.alias:0 @@ -1357,35 +1370,35 @@ msgstr "Tekil mesaj tanımlayıcısı" #: field:mail.group,description:0 #: field:mail.message.subtype,description:0 msgid "Description" -msgstr "" +msgstr "Açıklama" #. module: mail #: model:ir.model,name:mail.model_mail_followers msgid "Document Followers" -msgstr "" +msgstr "Belge Takipçileri" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/mail_followers.xml:35 #, python-format msgid "Remove this follower" -msgstr "" +msgstr "Bu takipçisi kaldır" #. module: mail #: selection:res.partner,notification_email_send:0 msgid "Never" -msgstr "" +msgstr "Asla" #. module: mail #: field:mail.mail,mail_server_id:0 msgid "Outgoing mail server" -msgstr "giden mail sunucusu" +msgstr "Giden mail sunucusu" #. module: mail #: code:addons/mail/mail_message.py:920 #, python-format msgid "Partners email addresses not found" -msgstr "" +msgstr "Partnerler e-posta bulunamadı adresleri" #. module: mail #: view:mail.mail:0 @@ -1402,7 +1415,7 @@ msgstr "Zengin-metin İçerik" #: help:mail.compose.message,to_read:0 #: help:mail.message,to_read:0 msgid "Current user has an unread notification linked to this message" -msgstr "" +msgstr "Geçerli kullanıcı bu mesajı bağlantılı okunmadı bildirim var" #. module: mail #: help:res.partner,notification_email_send:0 @@ -1414,7 +1427,7 @@ msgstr "" #: model:ir.actions.act_window,name:mail.action_view_groups #: model:ir.ui.menu,name:mail.mail_allgroups msgid "Join a group" -msgstr "" +msgstr "Bir gruba katılın" #. module: mail #: model:ir.actions.client,help:mail.action_mail_group_feeds @@ -1430,7 +1443,7 @@ msgstr "" #: code:addons/mail/static/src/xml/mail.xml:195 #, python-format msgid "Please, wait while the file is uploading." -msgstr "" +msgstr "Dosya yüklenirken bekleyin, lütfen." #. module: mail #: view:mail.group:0 @@ -1446,14 +1459,14 @@ msgstr "" #: code:addons/mail/static/src/xml/mail.xml:225 #, python-format msgid "Set back to Todo" -msgstr "" +msgstr "Yapılacak geri ayarlayın" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/mail.xml:113 #, python-format msgid "this document" -msgstr "" +msgstr "bu belgede" #. module: mail #: field:mail.compose.message,filter_id:0 @@ -1463,7 +1476,7 @@ msgstr "Filtreler" #. module: mail #: field:res.partner,notification_email_send:0 msgid "Receive Feeds by Email" -msgstr "" +msgstr "E-posta ile Beslemeler gelsin" #. module: mail #: help:base.config.settings,alias_domain:0 @@ -1487,13 +1500,13 @@ msgstr "Mesajlar" #: code:addons/mail/static/src/xml/mail.xml:126 #, python-format msgid "others..." -msgstr "" +msgstr "digerleri..." #. module: mail #: model:ir.actions.client,name:mail.action_mail_star_feeds #: model:ir.ui.menu,name:mail.mail_starfeeds msgid "To-do" -msgstr "" +msgstr "Yapılacak" #. module: mail #: view:mail.alias:0 @@ -1506,7 +1519,7 @@ msgstr "" #. module: mail #: model:ir.model,name:mail.model_mail_mail msgid "Outgoing Mails" -msgstr "" +msgstr "Giden postalar" #. module: mail #: help:mail.compose.message,notification_ids:0 @@ -1520,7 +1533,7 @@ msgstr "" #: model:ir.ui.menu,name:mail.mail_feeds #: model:ir.ui.menu,name:mail.mail_feeds_main msgid "Messaging" -msgstr "" +msgstr "Mesajlaşma" #. module: mail #: view:mail.alias:0 @@ -1545,7 +1558,7 @@ msgstr "" #: help:mail.thread,message_ids:0 #: help:res.partner,message_ids:0 msgid "Messages and communication history" -msgstr "" +msgstr "Mesajlar ve iletişim geçmişi" #. module: mail #: help:mail.mail,references:0 @@ -1555,7 +1568,7 @@ msgstr "Mesaj referansları, tanımlayıcılar ya da önceki mesajlar" #. module: mail #: field:mail.compose.message,composition_mode:0 msgid "Composition mode" -msgstr "" +msgstr "Kompozisyon modu" #. module: mail #: field:mail.compose.message,model:0 @@ -1570,7 +1583,7 @@ msgstr "İlgili Döküman Modeli" #: code:addons/mail/static/src/xml/mail.xml:287 #, python-format msgid "unlike" -msgstr "" +msgstr "farklı" #. module: mail #: help:mail.compose.message,author_id:0 @@ -1594,12 +1607,12 @@ msgstr "" #: code:addons/mail/update.py:93 #, python-format msgid "Error during communication with the publisher warranty server." -msgstr "" +msgstr "Yayıncı garanti sunucuyla iletişim sırasında hata oluştu." #. module: mail #: selection:mail.group,public:0 msgid "Private" -msgstr "" +msgstr "Özel" #. module: mail #: model:ir.actions.client,help:mail.action_mail_star_feeds @@ -1623,49 +1636,49 @@ msgstr "Gönderim Başarısız" #. module: mail #: field:mail.compose.message,partner_ids:0 msgid "Additional contacts" -msgstr "" +msgstr "Ek kontaklar" #. module: mail #: help:mail.compose.message,parent_id:0 #: help:mail.message,parent_id:0 msgid "Initial thread message." -msgstr "" +msgstr "İlk konu mesaj." #. module: mail #: model:mail.group,name:mail.group_hr_policies msgid "HR Policies" -msgstr "" +msgstr "İK Politikaları" #. module: mail #: selection:res.partner,notification_email_send:0 msgid "Emails only" -msgstr "" +msgstr "Sadece E-postalar" #. module: mail #: model:ir.actions.client,name:mail.action_mail_inbox_feeds #: model:ir.ui.menu,name:mail.mail_inboxfeeds msgid "Inbox" -msgstr "" +msgstr "Gelenler" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/mail.xml:58 #, python-format msgid "File" -msgstr "" +msgstr "Dosya" #. module: mail #. openerp-web #: code:addons/mail/static/src/js/many2many_tags_email.js:63 #, python-format msgid "Please complete partner's informations and Email" -msgstr "" +msgstr "Komple partnerin bilgi ve e-posta lütfen" #. module: mail #: model:ir.actions.act_window,name:mail.action_view_message_subtype #: model:ir.ui.menu,name:mail.menu_message_subtype msgid "Subtypes" -msgstr "" +msgstr "Alttürleri" #. module: mail #: model:ir.model,name:mail.model_mail_alias @@ -1675,7 +1688,7 @@ msgstr "" #. module: mail #: field:mail.group,image_small:0 msgid "Small-sized photo" -msgstr "" +msgstr "Küçük boyutlu fotoğraf" #. module: mail #: help:mail.mail,reply_to:0 diff --git a/addons/mail/mail_followers.py b/addons/mail/mail_followers.py index ec9bc86d6c5..a9d33f4585d 100644 --- a/addons/mail/mail_followers.py +++ b/addons/mail/mail_followers.py @@ -85,9 +85,6 @@ class mail_notification(osv.Model): if notification.read: continue partner = notification.partner_id - # Do not send an email to the writer - if partner.user_ids and partner.user_ids[0].id == uid: - continue # Do not send to partners without email address defined if not partner.email: continue @@ -129,11 +126,20 @@ class mail_notification(osv.Model): if signature: body_html = tools.append_content_to_html(body_html, signature, plaintext=True, container_tag='div') + # email_from: partner-user alias or partner email or mail.message email_from + if msg.author_id and msg.author_id.user_ids and msg.author_id.user_ids[0].alias_domain and msg.author_id.user_ids[0].alias_name: + email_from = '%s <%s@%s>' % (msg.author_id.name, msg.author_id.user_ids[0].alias_name, msg.author_id.user_ids[0].alias_domain) + elif msg.author_id: + email_from = '%s <%s>' % (msg.author_id.name, msg.author_id.email) + else: + email_from = msg.email_from + mail_values = { 'mail_message_id': msg.id, 'email_to': [], 'auto_delete': True, 'body_html': body_html, + 'email_from': email_from, 'state': 'outgoing', } mail_values['email_to'] = ', '.join(mail_values['email_to']) diff --git a/addons/mail/mail_mail.py b/addons/mail/mail_mail.py index 7b8ec0b3579..eb5ec30496e 100644 --- a/addons/mail/mail_mail.py +++ b/addons/mail/mail_mail.py @@ -78,6 +78,13 @@ class mail_mail(osv.Model): 'email_from': lambda self, cr, uid, ctx=None: self._get_default_from(cr, uid, ctx), } + def default_get(self, cr, uid, fields, context=None): + # protection for `default_type` values leaking from menu action context (e.g. for invoices) + # To remove when automatic context propagation is removed in web client + if context and context.get('default_type') and context.get('default_type') not in self._all_columns['type'].column.selection: + context = dict(context, default_type = None) + return super(mail_mail, self).default_get(cr, uid, fields, context=context) + def create(self, cr, uid, values, context=None): if 'notification' not in values and values.get('mail_message_id'): values['notification'] = True diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py index d75a9199369..9d7237ca907 100644 --- a/addons/mail/mail_thread.py +++ b/addons/mail/mail_thread.py @@ -243,7 +243,7 @@ class mail_thread(osv.AbstractModel): # subscribe uid unless asked not to if not context.get('mail_create_nosubscribe'): self.message_subscribe_users(cr, uid, [thread_id], [uid], context=context) - self.message_subscribe_from_parent(cr, uid, [thread_id], values.keys(), context=context) + self.message_auto_subscribe(cr, uid, [thread_id], values.keys(), context=context) # automatic logging unless asked not to (mainly for various testing purpose) if not context.get('mail_create_nolog'): @@ -261,7 +261,7 @@ class mail_thread(osv.AbstractModel): # Perform write, update followers result = super(mail_thread, self).write(cr, uid, ids, values, context=context) - self.message_subscribe_from_parent(cr, uid, ids, values.keys(), context=context) + self.message_auto_subscribe(cr, uid, ids, values.keys(), context=context) # Perform the tracking if tracked_fields: @@ -1069,7 +1069,24 @@ class mail_thread(osv.AbstractModel): self.check_access_rights(cr, uid, 'write') return self.write(cr, SUPERUSER_ID, ids, {'message_follower_ids': [(3, pid) for pid in partner_ids]}, context=context) - def message_subscribe_from_parent(self, cr, uid, ids, updated_fields, context=None): + def _message_get_auto_subscribe_fields(self, cr, uid, updated_fields, auto_follow_fields=['user_id'], context=None): + """ Returns the list of relational fields linking to res.users that should + trigger an auto subscribe. The default list checks for the fields + - called 'user_id' + - linking to res.users + - with track_visibility set + In OpenERP V7, this is sufficent for all major addon such as opportunity, + project, issue, recruitment, sale. + Override this method if a custom behavior is needed about fields + that automatically subscribe users. + """ + user_field_lst = [] + for name, column_info in self._all_columns.items(): + if name in auto_follow_fields and name in updated_fields and getattr(column_info.column, 'track_visibility', False) and column_info.column._obj == 'res.users': + user_field_lst.append(name) + return user_field_lst + + def message_auto_subscribe(self, cr, uid, ids, updated_fields, context=None): """ 1. fetch project subtype related to task (parent_id.res_model = 'project.task') 2. for each project subtype: subscribe the follower to the task @@ -1077,13 +1094,16 @@ class mail_thread(osv.AbstractModel): subtype_obj = self.pool.get('mail.message.subtype') follower_obj = self.pool.get('mail.followers') + # fetch auto_follow_fields + user_field_lst = self._message_get_auto_subscribe_fields(cr, uid, updated_fields, context=context) + # fetch related record subtypes related_subtype_ids = subtype_obj.search(cr, uid, ['|', ('res_model', '=', False), ('parent_id.res_model', '=', self._name)], context=context) subtypes = subtype_obj.browse(cr, uid, related_subtype_ids, context=context) default_subtypes = [subtype for subtype in subtypes if subtype.res_model == False] related_subtypes = [subtype for subtype in subtypes if subtype.res_model != False] relation_fields = set([subtype.relation_field for subtype in subtypes if subtype.relation_field != False]) - if not related_subtypes or not any(relation in updated_fields for relation in relation_fields): + if (not related_subtypes or not any(relation in updated_fields for relation in relation_fields)) and not user_field_lst: return True for record in self.browse(cr, uid, ids, context=context): @@ -1105,20 +1125,24 @@ class mail_thread(osv.AbstractModel): for follower in follower_obj.browse(cr, SUPERUSER_ID, follower_ids, context=context): new_followers.setdefault(follower.partner_id.id, set()).add(subtype.parent_id.id) - if not parent_res_id or not parent_model: - continue + if parent_res_id and parent_model: + for subtype in default_subtypes: + follower_ids = follower_obj.search(cr, SUPERUSER_ID, [ + ('res_model', '=', parent_model), + ('res_id', '=', parent_res_id), + ('subtype_ids', 'in', [subtype.id]) + ], context=context) + for follower in follower_obj.browse(cr, SUPERUSER_ID, follower_ids, context=context): + new_followers.setdefault(follower.partner_id.id, set()).add(subtype.id) - for subtype in default_subtypes: - follower_ids = follower_obj.search(cr, SUPERUSER_ID, [ - ('res_model', '=', parent_model), - ('res_id', '=', parent_res_id), - ('subtype_ids', 'in', [subtype.id]) - ], context=context) - for follower in follower_obj.browse(cr, SUPERUSER_ID, follower_ids, context=context): - new_followers.setdefault(follower.partner_id.id, set()).add(subtype.id) + # add followers coming from res.users relational fields that are tracked + user_ids = [getattr(record, name).id for name in user_field_lst if getattr(record, name)] + for partner_id in [user.partner_id.id for user in self.pool.get('res.users').browse(cr, SUPERUSER_ID, user_ids, context=context)]: + new_followers.setdefault(partner_id, None) for pid, subtypes in new_followers.items(): - self.message_subscribe(cr, uid, [record.id], [pid], list(subtypes), context=context) + subtypes = list(subtypes) if subtypes is not None else None + self.message_subscribe(cr, uid, [record.id], [pid], subtypes, context=context) return True #------------------------------------------------------ diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js index e3986a390d6..0b3bddffde1 100644 --- a/addons/mail/static/src/js/mail.js +++ b/addons/mail/static/src/js/mail.js @@ -105,7 +105,7 @@ openerp.mail = function (session) { // As it only looks at the extension it is quite approximative. filetype: function(url){ url = url.filename || url; - var tokens = url.split('.'); + var tokens = (url+'').split('.'); if(tokens.length <= 1){ return 'unknown'; } @@ -218,7 +218,7 @@ openerp.mail = function (session) { this.author_id = datasets.author_id || false, this.attachment_ids = datasets.attachment_ids || [], this.partner_ids = datasets.partner_ids || []; - this._date = datasets.date; + this.date = datasets.date; this.format_data(); @@ -232,19 +232,20 @@ openerp.mail = function (session) { else { this.options.show_read = this.to_read; this.options.show_unread = !this.to_read; - this.options.rerender = true; - this.options.toggle_read = true; } + this.options.rerender = true; + this.options.toggle_read = true; } - this.parent_thread = parent.messages != undefined ? parent : this.options.root_thread; + this.parent_thread = typeof parent.on_message_detroy == 'function' ? parent : this.options.root_thread; this.thread = false; }, /* Convert date, timerelative and avatar in displayable data. */ format_data: function () { //formating and add some fields for render - if (this._date) { - this.timerelative = $.timeago(this._date+"Z"); + this.date = this.date ? session.web.str_to_datetime(this.date) : false; + if (this.date && new Date().getTime()-this.date.getTime() < 7*24*60*60*1000) { + this.timerelative = $.timeago(this.date); } if (this.type == 'email' && (!this.author_id || !this.author_id[0])) { this.avatar = ('/mail/static/src/img/email_icon.png'); @@ -253,7 +254,7 @@ openerp.mail = function (session) { } else { this.avatar = mail.ChatterUtils.get_image(this.session, 'res.users', 'image_small', this.session.uid); } - if (this.author_id) { + if (this.author_id && this.author_id[1]) { var email = this.author_id[1].match(/(.*)<(.*@.*)>/); if (!email) { this.author_id.push(_.str.escapeHTML(this.author_id[1]), '', this.author_id[1]); @@ -271,7 +272,7 @@ openerp.mail = function (session) { var attach = this.attachment_ids[l]; if (!attach.formating) { attach.url = mail.ChatterUtils.get_attachment_url(this.session, this.id, attach.id); - attach.filetype = mail.ChatterUtils.filetype(attach.filename); + attach.filetype = mail.ChatterUtils.filetype(attach.filename || attach.name); attach.name = mail.ChatterUtils.breakword(attach.name || attach.filename); attach.formating = true; } @@ -1605,7 +1606,8 @@ openerp.mail = function (session) { this.node.params = _.extend({ 'display_indented_thread': -1, 'show_reply_button': false, - 'show_read_unread_button': false, + 'show_read_unread_button': true, + 'read_action': 'unread', 'show_record_name': false, 'show_compact_message': 1, }, this.node.params); diff --git a/addons/mail/static/src/js/mail_followers.js b/addons/mail/static/src/js/mail_followers.js index 9f88116acc7..03351c24ac2 100644 --- a/addons/mail/static/src/js/mail_followers.js +++ b/addons/mail/static/src/js/mail_followers.js @@ -216,9 +216,12 @@ openerp_mail_followers = function(session, mail) { display_subtypes:function (data) { var self = this; var subtype_list_ul = this.$('.oe_subtype_list'); - subtype_list_ul.empty(); - var records = data[this.view.datarecord.id || this.view.dataset.ids[0]].message_subtype_data; + var records = []; var nb_subtype = 0; + subtype_list_ul.empty(); + if (this.view.datarecord.id) { + records = data[this.view.datarecord.id].message_subtype_data; + } _(records).each(function (record) {nb_subtype++;}); if (nb_subtype > 1) { this.$('hr').show(); diff --git a/addons/mail/static/src/xml/mail.xml b/addons/mail/static/src/xml/mail.xml index 63f8a10658f..4693adeb1ee 100644 --- a/addons/mail/static/src/xml/mail.xml +++ b/addons/mail/static/src/xml/mail.xml @@ -246,7 +246,7 @@ • - + • diff --git a/addons/marketing_campaign_crm_demo/i18n/sl.po b/addons/marketing_campaign_crm_demo/i18n/sl.po new file mode 100644 index 00000000000..6320ec24afb --- /dev/null +++ b/addons/marketing_campaign_crm_demo/i18n/sl.po @@ -0,0 +1,220 @@ +# Slovenian translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-02-03 11:36+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Slovenian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-04 05:12+0000\n" +"X-Generator: Launchpad (build 16462)\n" + +#. module: marketing_campaign_crm_demo +#: model:email.template,body_html:marketing_campaign_crm_demo.email_template_8 +msgid "" +"

Hello,

\n" +"

Thanks for showing interest and for subscribing to technical " +"training.

\n" +" If any further information required kindly revert back.I really " +"appreciate your co-operation on this.

\n" +"

If any further information is required, do not hesitate to " +"reply to this message.

\n" +"

Regards,OpenERP Team,

" +msgstr "" +"

Hello,

\n" +"

Thanks for showing interest and for subscribing to technical " +"training.

\n" +" If any further information required kindly revert back.I really " +"appreciate your co-operation on this.

\n" +"

If any further information is required, do not hesitate to " +"reply to this message.

\n" +"

Regards,OpenERP Team,

" + +#. module: marketing_campaign_crm_demo +#: model:ir.actions.report.xml,name:marketing_campaign_crm_demo.mc_crm_lead_demo_report +msgid "Marketing campaign demo report" +msgstr "Marketing campaign demo report" + +#. module: marketing_campaign_crm_demo +#: model:email.template,subject:marketing_campaign_crm_demo.email_template_8 +msgid "Thanks for subscribing to technical training" +msgstr "Thanks for subscribing to technical training" + +#. module: marketing_campaign_crm_demo +#: model:email.template,body_html:marketing_campaign_crm_demo.email_template_3 +msgid "" +"

Hello,

\n" +"

Thanks for showing interest and for subscribing to the " +"OpenERP Discovery Day.

\n" +"

If any further information is required, do not hesitate to " +"reply to this message.

\n" +"

Regards,OpenERP Team,

" +msgstr "" +"

Hello,

\n" +"

Thanks for showing interest and for subscribing to the " +"OpenERP Discovery Day.

\n" +"

If any further information is required, do not hesitate to " +"reply to this message.

\n" +"

Regards,OpenERP Team,

" + +#. module: marketing_campaign_crm_demo +#: report:crm.lead.demo:0 +msgid "Company :" +msgstr "Company :" + +#. module: marketing_campaign_crm_demo +#: model:email.template,subject:marketing_campaign_crm_demo.email_template_4 +msgid "Thanks for buying the OpenERP book" +msgstr "Thanks for buying the OpenERP book" + +#. module: marketing_campaign_crm_demo +#: model:email.template,body_html:marketing_campaign_crm_demo.email_template_6 +msgid "" +"

Hello,

\n" +"

We have very good offer that might suit you.\n" +" For our silver partners,We are paid technical training on " +"june,2010.

\n" +"

If any further information is required, do not hesitate to " +"reply to this message.

\n" +"

Regards,OpenERP Team,

" +msgstr "" +"

Hello,

\n" +"

We have very good offer that might suit you.\n" +" For our silver partners,We are paid technical training on " +"june,2010.

\n" +"

If any further information is required, do not hesitate to " +"reply to this message.

\n" +"

Regards,OpenERP Team,

" + +#. module: marketing_campaign_crm_demo +#: model:email.template,subject:marketing_campaign_crm_demo.email_template_1 +msgid "Thanks for showing interest in OpenERP" +msgstr "Thanks for showing interest in OpenERP" + +#. module: marketing_campaign_crm_demo +#: model:ir.actions.server,name:marketing_campaign_crm_demo.action_dummy +msgid "Dummy Action" +msgstr "Dummy Action" + +#. module: marketing_campaign_crm_demo +#: report:crm.lead.demo:0 +msgid "Partner :" +msgstr "Partner :" + +#. module: marketing_campaign_crm_demo +#: model:email.template,body_html:marketing_campaign_crm_demo.email_template_2 +msgid "" +"

Hello,

\n" +"

We have very good offer that might suit you.\n" +" We suggest you subscribe to the OpenERP Discovery Day on May " +"2010.

\n" +"

If any further information is required, do not hesitate to " +"reply to this message.

\n" +"

Regards,OpenERP Team,

" +msgstr "" +"

Hello,

\n" +"

We have very good offer that might suit you.\n" +" We suggest you subscribe to the OpenERP Discovery Day on May " +"2010.

\n" +"

If any further information is required, do not hesitate to " +"reply to this message.

\n" +"

Regards,OpenERP Team,

" + +#. module: marketing_campaign_crm_demo +#: model:email.template,body_html:marketing_campaign_crm_demo.email_template_5 +msgid "" +"

Hello,

\n" +"

We have very good offer that might suit you.\n" +" For our gold partners,We are arranging free technical training " +"on june,2010.

\n" +"

If any further information is required, do not hesitate to " +"reply to this message.

\n" +"

Regards,OpenERP Team,

" +msgstr "" +"

Hello,

\n" +"

We have very good offer that might suit you.\n" +" For our gold partners,We are arranging free technical training " +"on june,2010.

\n" +"

If any further information is required, do not hesitate to " +"reply to this message.

\n" +"

Regards,OpenERP Team,

" + +#. module: marketing_campaign_crm_demo +#: model:email.template,subject:marketing_campaign_crm_demo.email_template_2 +msgid "Propose to subscribe to the OpenERP Discovery Day on May 2010" +msgstr "Propose to subscribe to the OpenERP Discovery Day on May 2010" + +#. module: marketing_campaign_crm_demo +#: model:email.template,subject:marketing_campaign_crm_demo.email_template_3 +msgid "Thanks for subscribing to the OpenERP Discovery Day" +msgstr "Thanks for subscribing to the OpenERP Discovery Day" + +#. module: marketing_campaign_crm_demo +#: model:email.template,subject:marketing_campaign_crm_demo.email_template_7 +msgid "Propose gold partnership to silver partners" +msgstr "Propose gold partnership to silver partners" + +#. module: marketing_campaign_crm_demo +#: model:email.template,subject:marketing_campaign_crm_demo.email_template_6 +msgid "Propose paid training to Silver partners" +msgstr "Propose paid training to Silver partners" + +#. module: marketing_campaign_crm_demo +#: model:email.template,body_html:marketing_campaign_crm_demo.email_template_4 +msgid "" +"

Hello,

\n" +"

Thanks for showing interest and buying the OpenERP book.

\n" +" If any further information required kindly revert back.\n" +"

Regards,OpenERP Team,

" +msgstr "" +"

Hello,

\n" +"

Thanks for showing interest and buying the OpenERP book.

\n" +" If any further information required kindly revert back.\n" +"

Regards,OpenERP Team,

" + +#. module: marketing_campaign_crm_demo +#: model:email.template,body_html:marketing_campaign_crm_demo.email_template_7 +msgid "" +"

Hello,

\n" +"

We have very good offer that might suit you.\n" +" For our silver partners, we are offering Gold partnership.

\n" +"

If any further information is required, do not hesitate to " +"reply to this message.

\n" +"

Regards,OpenERP Team,

" +msgstr "" +"

Hello,

\n" +"

We have very good offer that might suit you.\n" +" For our silver partners, we are offering Gold partnership.

\n" +"

If any further information is required, do not hesitate to " +"reply to this message.

\n" +"

Regards,OpenERP Team,

" + +#. module: marketing_campaign_crm_demo +#: model:email.template,subject:marketing_campaign_crm_demo.email_template_5 +msgid "Propose a free technical training to Gold partners" +msgstr "Propose a free technical training to Gold partners" + +#. module: marketing_campaign_crm_demo +#: model:email.template,body_html:marketing_campaign_crm_demo.email_template_1 +msgid "" +"

Hello,

\n" +"

Thanks for the genuine interest you have shown in " +"OpenERP.

\n" +"

If any further information is required, do not hesitate to " +"reply to this message.

\n" +"

Regards,OpenERP Team,

" +msgstr "" +"

Hello,

\n" +"

Thanks for the genuine interest you have shown in " +"OpenERP.

\n" +"

If any further information is required, do not hesitate to " +"reply to this message.

\n" +"

Regards,OpenERP Team,

" diff --git a/addons/membership/wizard/membership_invoice.py b/addons/membership/wizard/membership_invoice.py index 85a9cc0c85b..2425cd648ea 100644 --- a/addons/membership/wizard/membership_invoice.py +++ b/addons/membership/wizard/membership_invoice.py @@ -52,9 +52,16 @@ class membership_invoice(osv.osv_memory): 'amount': data.member_price } invoice_list = partner_obj.create_membership_invoice(cr, uid, context.get('active_ids', []), datas=datas, context=context) - - res = mod_obj.get_object_reference(cr, uid, 'account', 'view_account_invoice_filter') - + + try: + search_view_id = mod_obj.get_object_reference(cr, uid, 'account', 'view_account_invoice_filter')[1] + except ValueError: + search_view_id = False + try: + form_view_id = mod_obj.get_object_reference(cr, uid, 'account', 'invoice_form')[1] + except ValueError: + form_view_id = False + return { 'domain': [('id', 'in', invoice_list)], 'name': 'Membership Invoices', @@ -62,7 +69,8 @@ class membership_invoice(osv.osv_memory): 'view_mode': 'tree,form', 'res_model': 'account.invoice', 'type': 'ir.actions.act_window', - 'search_view_id': res and res[1] or False + 'views': [(False, 'tree'), (form_view_id, 'form')], + 'search_view_id': search_view_id, } membership_invoice() diff --git a/addons/mrp/__openerp__.py b/addons/mrp/__openerp__.py index 66806c4f350..6e025ae2d90 100644 --- a/addons/mrp/__openerp__.py +++ b/addons/mrp/__openerp__.py @@ -28,7 +28,7 @@ 'category': 'Manufacturing', 'sequence': 18, 'summary': 'Manufacturing Orders, Bill of Materials, Routing', - 'images': ['images/bill_of_materials.jpeg', 'images/manufacturing_order.jpeg', 'images/planning_manufacturing_order.jpeg', 'images/production_analysis.jpeg', 'images/production_dashboard.jpeg','images/routings.jpeg','images/work_centers.jpeg'], + 'images': ['images/bill_of_materials.jpeg', 'images/manufacturing_order.jpeg', 'images/planning_manufacturing_order.jpeg', 'images/manufacturing_analysis.jpeg', 'images/production_dashboard.jpeg','images/routings.jpeg','images/work_centers.jpeg'], 'depends': ['product','procurement', 'stock', 'resource', 'purchase','process'], 'description': """ Manage the Manufacturing process in OpenERP diff --git a/addons/note/__openerp__.py b/addons/note/__openerp__.py index 797270637e2..2653c558923 100644 --- a/addons/note/__openerp__.py +++ b/addons/note/__openerp__.py @@ -57,6 +57,11 @@ Notes can be found in the 'Home' menu. 'css': [ 'static/src/css/note.css', ], + 'images': [ + 'images/note_kanban.jpeg', + 'images/note.jpeg', + 'images/categories_tree.jpeg' + ], 'installable': True, 'application': True, 'auto_install': False, diff --git a/addons/note/i18n/tr.po b/addons/note/i18n/tr.po new file mode 100644 index 00000000000..69fa8edffde --- /dev/null +++ b/addons/note/i18n/tr.po @@ -0,0 +1,282 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:04+0000\n" +"PO-Revision-Date: 2013-02-04 14:15+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-05 04:44+0000\n" +"X-Generator: Launchpad (build 16468)\n" + +#. module: note +#: field:note.note,memo:0 +msgid "Note Content" +msgstr "" + +#. module: note +#: view:note.stage:0 +msgid "Stages of Notes" +msgstr "" + +#. module: note +#: model:note.stage,name:note.demo_note_stage_04 +#: model:note.stage,name:note.note_stage_02 +msgid "This Week" +msgstr "" + +#. module: note +#: model:ir.model,name:note.model_base_config_settings +msgid "base.config.settings" +msgstr "" + +#. module: note +#: model:ir.model,name:note.model_note_tag +msgid "Note Tag" +msgstr "" + +#. module: note +#: model:res.groups,name:note.group_note_fancy +msgid "Notes / Fancy mode" +msgstr "" + +#. module: note +#: model:ir.model,name:note.model_note_note +#: view:note.note:0 +msgid "Note" +msgstr "" + +#. module: note +#: view:note.note:0 +msgid "Group By..." +msgstr "" + +#. module: note +#: field:note.note,message_follower_ids:0 +msgid "Followers" +msgstr "" + +#. module: note +#: model:ir.actions.act_window,help:note.action_note_note +msgid "" +"

\n" +" Click to add a personal note.\n" +"

\n" +" Use notes to organize personal tasks or notes. All\n" +" notes are private; no one else will be able to see them. " +"However\n" +" you can share some notes with other people by inviting " +"followers\n" +" on the note. (Useful for meeting minutes, especially if\n" +" you activate the pad feature for collaborative writings).\n" +"

\n" +" You can customize how you process your notes/tasks by adding,\n" +" removing or modifying columns.\n" +"

\n" +" " +msgstr "" + +#. module: note +#: model:note.stage,name:note.demo_note_stage_01 +#: model:note.stage,name:note.note_stage_01 +msgid "Today" +msgstr "" + +#. module: note +#: model:ir.model,name:note.model_res_users +msgid "Users" +msgstr "" + +#. module: note +#: view:note.note:0 +msgid "í" +msgstr "" + +#. module: note +#: view:note.stage:0 +msgid "Stage of Notes" +msgstr "" + +#. module: note +#: field:note.note,message_unread:0 +msgid "Unread Messages" +msgstr "" + +#. module: note +#: field:note.note,current_partner_id:0 +msgid "unknown" +msgstr "" + +#. module: note +#: view:note.note:0 +msgid "By sticky note Category" +msgstr "" + +#. module: note +#: help:note.note,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" + +#. module: note +#: field:note.stage,name:0 +msgid "Stage Name" +msgstr "" + +#. module: note +#: field:note.note,message_is_follower:0 +msgid "Is a Follower" +msgstr "" + +#. module: note +#: model:note.stage,name:note.demo_note_stage_02 +msgid "Tomorrow" +msgstr "" + +#. module: note +#: view:note.note:0 +#: field:note.note,open:0 +msgid "Active" +msgstr "" + +#. module: note +#: help:note.stage,user_id:0 +msgid "Owner of the note stage." +msgstr "" + +#. module: note +#: model:ir.ui.menu,name:note.menu_notes_stage +msgid "Categories" +msgstr "" + +#. module: note +#: view:note.note:0 +#: field:note.note,stage_id:0 +msgid "Stage" +msgstr "" + +#. module: note +#: field:note.tag,name:0 +msgid "Tag Name" +msgstr "" + +#. module: note +#: field:note.note,message_ids:0 +msgid "Messages" +msgstr "" + +#. module: note +#: view:base.config.settings:0 +#: model:ir.actions.act_window,name:note.action_note_note +#: model:ir.ui.menu,name:note.menu_note_notes +#: view:note.note:0 +#: model:note.stage,name:note.note_stage_04 +msgid "Notes" +msgstr "" + +#. module: note +#: model:note.stage,name:note.demo_note_stage_03 +#: model:note.stage,name:note.note_stage_03 +msgid "Later" +msgstr "" + +#. module: note +#: model:ir.model,name:note.model_note_stage +msgid "Note Stage" +msgstr "" + +#. module: note +#: field:note.note,message_summary:0 +msgid "Summary" +msgstr "" + +#. module: note +#: field:note.note,stage_ids:0 +msgid "Stages of Users" +msgstr "" + +#. module: note +#: field:note.note,name:0 +msgid "Note Summary" +msgstr "" + +#. module: note +#: model:ir.actions.act_window,name:note.action_note_stage +#: view:note.note:0 +msgid "Stages" +msgstr "" + +#. module: note +#: help:note.note,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: note +#: view:note.note:0 +msgid "Delete" +msgstr "" + +#. module: note +#: field:note.note,color:0 +msgid "Color Index" +msgstr "" + +#. module: note +#: field:note.note,sequence:0 +#: field:note.stage,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: note +#: field:note.note,tag_ids:0 +msgid "Tags" +msgstr "" + +#. module: note +#: view:note.note:0 +msgid "Archive" +msgstr "" + +#. module: note +#: field:base.config.settings,module_note_pad:0 +msgid "Use collaborative pads (etherpad)" +msgstr "" + +#. module: note +#: help:note.note,message_summary:0 +msgid "" +"Holds the Chatter summary (number of messages, ...). This summary is " +"directly in html format in order to be inserted in kanban views." +msgstr "" + +#. module: note +#: field:base.config.settings,group_note_fancy:0 +msgid "Use fancy layouts for notes" +msgstr "" + +#. module: note +#: field:note.stage,user_id:0 +msgid "Owner" +msgstr "" + +#. module: note +#: help:note.stage,sequence:0 +msgid "Used to order the note stages" +msgstr "" + +#. module: note +#: field:note.note,date_done:0 +msgid "Date done" +msgstr "" + +#. module: note +#: field:note.stage,fold:0 +msgid "Folded by Default" +msgstr "" diff --git a/addons/note/note.py b/addons/note/note.py index 7de91e4703a..2d95b15107a 100644 --- a/addons/note/note.py +++ b/addons/note/note.py @@ -29,7 +29,7 @@ class note_stage(osv.osv): _columns = { 'name': fields.char('Stage Name', translate=True, required=True), 'sequence': fields.integer('Sequence', help="Used to order the note stages"), - 'user_id': fields.many2one('res.users', 'Owner', help="Owner of the note stage.", required=True), + 'user_id': fields.many2one('res.users', 'Owner', help="Owner of the note stage.", required=True, ondelete='cascade'), 'fold': fields.boolean('Folded by Default'), } _order = 'sequence asc' @@ -112,7 +112,7 @@ class note_note(osv.osv): 'date_done': fields.date('Date done'), 'color': fields.integer('Color Index'), 'tag_ids' : fields.many2many('note.tag','note_tags_rel','note_id','tag_id','Tags'), - 'current_partner_id' : fields.function(_get_my_current_partner), + 'current_partner_id' : fields.function(_get_my_current_partner, type="many2one", relation='res.partner', string="Owner"), } _defaults = { 'open' : 1, diff --git a/addons/note_pad/i18n/tr.po b/addons/note_pad/i18n/tr.po new file mode 100644 index 00000000000..b6289a2f9fe --- /dev/null +++ b/addons/note_pad/i18n/tr.po @@ -0,0 +1,28 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-02-04 14:15+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-05 04:44+0000\n" +"X-Generator: Launchpad (build 16468)\n" + +#. module: note_pad +#: model:ir.model,name:note_pad.model_note_note +msgid "Note" +msgstr "" + +#. module: note_pad +#: field:note.note,note_pad_url:0 +msgid "Pad Url" +msgstr "" diff --git a/addons/pad/pad.py b/addons/pad/pad.py index 12fa8254d00..90f5354054c 100644 --- a/addons/pad/pad.py +++ b/addons/pad/pad.py @@ -24,7 +24,7 @@ class pad_common(osv.osv_memory): # make sure pad server in the form of http://hostname if not pad["server"]: - return '' + return pad if not pad["server"].startswith('http'): pad["server"] = 'http://' + pad["server"] pad["server"] = pad["server"].rstrip('/') @@ -96,7 +96,7 @@ class pad_common(osv.osv_memory): field = v.column if hasattr(field,'pad_content_field'): pad = self.pad_generate_url(cr, uid, context) - default[k] = pad['url'] + default[k] = pad.get('url') return super(pad_common, self).copy(cr, uid, id, default, context) # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/point_of_sale/__openerp__.py b/addons/point_of_sale/__openerp__.py index d68bd240c4f..cb05cef46c3 100644 --- a/addons/point_of_sale/__openerp__.py +++ b/addons/point_of_sale/__openerp__.py @@ -48,7 +48,7 @@ Main Features * Refund previous sales """, 'author': 'OpenERP SA', - 'images': ['images/cash_registers.jpeg', 'images/pos_analysis.jpeg','images/register_analysis.jpeg','images/sale_order_pos.jpeg','images/product_pos.jpeg'], + 'images': ['images/pos_touch_screen.jpeg', 'images/pos_session.jpeg', 'images/pos_analysis.jpeg','images/sale_order_pos.jpeg','images/product_pos.jpeg'], 'depends': ['sale_stock'], 'data': [ 'security/point_of_sale_security.xml', diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py index 6835576d253..e1fe577c922 100644 --- a/addons/point_of_sale/point_of_sale.py +++ b/addons/point_of_sale/point_of_sale.py @@ -858,8 +858,7 @@ class pos_order(osv.osv): inv_line['price_unit'] = line.price_unit inv_line['discount'] = line.discount inv_line['name'] = inv_name - inv_line['invoice_line_tax_id'] = ('invoice_line_tax_id' in inv_line)\ - and [(6, 0, inv_line['invoice_line_tax_id'])] or [] + inv_line['invoice_line_tax_id'] = [(6, 0, [x.id for x in line.product_id.taxes_id] )] inv_line_ref.create(cr, uid, inv_line, context=context) inv_ref.button_reset_taxes(cr, uid, [inv_id], context=context) wf_service.trg_validate(uid, 'pos.order', order.id, 'invoice', cr) @@ -1161,7 +1160,6 @@ class pos_order_line(osv.osv): prod = self.pool.get('product.product').browse(cr, uid, product, context=context) - taxes = prod.taxes_id price = price_unit * (1 - (discount or 0.0) / 100.0) taxes = account_tax_obj.compute_all(cr, uid, prod.taxes_id, price, qty, product=prod, partner=False) diff --git a/addons/point_of_sale/static/src/css/pos.css b/addons/point_of_sale/static/src/css/pos.css index 2c086032ec3..d9a4d6d00a9 100644 --- a/addons/point_of_sale/static/src/css/pos.css +++ b/addons/point_of_sale/static/src/css/pos.css @@ -233,7 +233,9 @@ font-style: italic; cursor:pointer; } - +.point-of-sale .oe_pos_synch-notification.oe_inactive{ + cursor: default; +} .point-of-sale .oe_pos_synch-notification .oe_status_red{ display:inline-block; cursor:pointer; @@ -542,7 +544,9 @@ background: -webkit-linear-gradient(-90deg,rgba(255,255,255,0),rgba(255,255,255,1), rgba(255,255,255,1)); background: -moz-linear-gradient(-90deg,rgba(255,255,255,0),rgba(255,255,255,1), rgba(255,255,255,1)); background: -ms-linear-gradient(-90deg,rgba(255,255,255,0),rgba(255,255,255,1), rgba(255,255,255,1)); - background: linear-gradient(-90deg,rgba(255,255,255,0),rgba(255,255,255,1), rgba(255,255,255,1)); + /* for some reason the -90deg orientation doesn't match the -webkit-linear-gradient. It should be 180deg here. + * webkit also insists on rendering *both* gradients instead of only the native one. So it doesn't looks right. ugh. + background: linear-gradient(-90deg,rgba(255,255,255,0),rgba(255,255,255,1), rgba(255,255,255,1)); */ /*background:#FFF;*/ padding: 3px; padding-top: 15px; @@ -607,7 +611,9 @@ background: -webkit-linear-gradient(-90deg,rgba(255,255,255,0),rgba(255,255,255,1), rgba(255,255,255,1)); background: -moz-linear-gradient(-90deg,rgba(255,255,255,0),rgba(255,255,255,1), rgba(255,255,255,1)); background: -ms-linear-gradient(-90deg,rgba(255,255,255,0),rgba(255,255,255,1), rgba(255,255,255,1)); + /* troublesome in latest webkit background: linear-gradient(-90deg,rgba(255,255,255,0),rgba(255,255,255,1), rgba(255,255,255,1)); + */ /*background:#FFF;*/ padding: 3px; padding-top:15px; @@ -991,12 +997,20 @@ margin-bottom:10px; } .point-of-sale .order .summary .line{ + float: right; margin-right:15px; + margin-left: 15px; padding-top:5px; border-top: solid 2px; border-color:#777; } +.point-of-sale .order .summary .line .subentry{ + font-size: 10px; + font-weight: normal; + text-align: center; +} .point-of-sale .order .summary .line.empty{ + text-align: right; border-color:#BBB; color:#999; } diff --git a/addons/point_of_sale/static/src/js/db.js b/addons/point_of_sale/static/src/js/db.js index 666c61919da..2be58d6ce97 100644 --- a/addons/point_of_sale/static/src/js/db.js +++ b/addons/point_of_sale/static/src/js/db.js @@ -40,6 +40,10 @@ function openerp_pos_db(instance, module){ //cache the data in memory to avoid roundtrips to the localstorage this.cache = {}; + this.product_by_id = {}; + this.product_by_ean13 = {}; + this.product_by_category_id = {}; + this.category_by_id = {}; this.root_category_id = 0; this.category_products = {}; @@ -49,6 +53,7 @@ function openerp_pos_db(instance, module){ this.category_search_string = {}; this.packagings_by_id = {}; this.packagings_by_product_id = {}; + this.packagings_by_ean13 = {}; }, /* returns the category object from its id. If you pass a list of id as parameters, you get * a list of category objects. @@ -137,7 +142,6 @@ function openerp_pos_db(instance, module){ /* saves a record store to the database */ save: function(store,data){ var str_data = JSON.stringify(data); - console.log('Storing '+ Math.round(str_data.length/1024.0)+' KB of data to store: '+store); localStorage[this.name + '_' + store] = JSON.stringify(data); this.cache[store] = data; }, @@ -153,8 +157,7 @@ function openerp_pos_db(instance, module){ return str + '\n'; }, add_products: function(products){ - var stored_products = this.load('products',{}); - var stored_categories = this.load('categories',{}); + var stored_categories = this.product_by_category_id; if(!products instanceof Array){ products = [products]; @@ -187,10 +190,11 @@ function openerp_pos_db(instance, module){ } this.category_search_string[ancestor] += search_string; } - stored_products[product.id] = product; + this.product_by_id[product.id] = product; + if(product.ean13){ + this.product_by_ean13[product.ean13] = product; + } } - this.save('products',stored_products); - this.save('categories',stored_categories); }, add_packagings: function(packagings){ for(var i = 0, len = packagings.length; i < len; i++){ @@ -200,6 +204,9 @@ function openerp_pos_db(instance, module){ this.packagings_by_product_id[pack.product_id[0]] = []; } this.packagings_by_product_id[pack.product_id[0]].push(pack); + if(pack.ean13){ + this.packagings_by_ean13[pack.ean13] = pack; + } } }, /* removes all the data from the database. TODO : being able to selectively remove data */ @@ -219,31 +226,24 @@ function openerp_pos_db(instance, module){ return count; }, get_product_by_id: function(id){ - return this.load('products',{})[id]; + return this.product_by_id[id]; }, get_product_by_ean13: function(ean13){ - var products = this.load('products',{}); - for(var i in products){ - if( products[i] && products[i].ean13 === ean13){ - return products[i]; - } + if(this.product_by_ean13[ean13]){ + return this.product_by_ean13[ean13]; } - for(var p in this.packagings_by_id){ - var pack = this.packagings_by_id[p]; - if( pack.ean === ean13){ - return products[pack.product_id[0]]; - } + var pack = this.packagings_by_ean13[ean13]; + if(pack){ + return this.product_by_id[pack.product_id[0]]; } return undefined; }, get_product_by_category: function(category_id){ - var stored_categories = this.load('categories',{}); - var stored_products = this.load('products',{}); - var product_ids = stored_categories[category_id]; + var product_ids = this.product_by_category_id[category_id]; var list = []; if (product_ids) { for (var i = 0, len = Math.min(product_ids.length, this.limit); i < len; i++) { - list.push(stored_products[product_ids[i]]); + list.push(this.product_by_id[product_ids[i]]); } } return list; @@ -275,12 +275,9 @@ function openerp_pos_db(instance, module){ }, remove_order: function(order_id){ var orders = this.load('orders',[]); - console.log('Remove order:',order_id); - console.log('Order count:',orders.length); orders = _.filter(orders, function(order){ return order.id !== order_id; }); - console.log('Order count:',orders.length); this.save('orders',orders); }, get_orders: function(){ diff --git a/addons/point_of_sale/static/src/js/models.js b/addons/point_of_sale/static/src/js/models.js index 5f2f523d18f..5a4f7c8cefb 100644 --- a/addons/point_of_sale/static/src/js/models.js +++ b/addons/point_of_sale/static/src/js/models.js @@ -1,6 +1,24 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sale var QWeb = instance.web.qweb; + // rounds a value with a fixed number of decimals. + // round(3.141492,2) -> 3.14 + function round(value,decimals){ + var mult = Math.pow(10,decimals || 0); + return Math.round(value*mult)/mult; + } + window.round = round; + + // rounds a value with decimal form precision + // round(3.141592,0.025) ->3.125 + function round_pr(value,precision){ + if(!precision || precision < 0){ + throw new Error('round_pr(): needs a precision greater than zero, got '+precision+' instead'); + } + return Math.round(value / precision) * precision; + } + window.round_pr = round_pr; + // The PosModel contains the Point Of Sale's representation of the backend. // Since the PoS must work in standalone ( Without connection to the server ) @@ -24,8 +42,7 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal this.proxy = new module.ProxyDevice(); // used to communicate to the hardware devices via a local proxy this.db = new module.PosLS(); // a database used to store the products and categories this.db.clear('products','categories'); - this.debug = jQuery.deparam(jQuery.param.querystring()).debug !== undefined; //debug mode - + this.debug = jQuery.deparam(jQuery.param.querystring()).debug !== undefined; //debug mode // default attributes values. If null, it will be loaded below. this.set({ @@ -101,8 +118,9 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal }).then(function(company_partners){ self.get('company').contact_address = company_partners[0].contact_address; - return self.fetch('res.currency',['symbol','position'],[['id','=',self.get('company').currency_id[0]]]); + return self.fetch('res.currency',['symbol','position','rounding','accuracy'],[['id','=',self.get('company').currency_id[0]]]); }).then(function(currencies){ + console.log('Currency:',currencies[0]); self.set('currency',currencies[0]); return self.fetch('product.uom', null, null); @@ -117,7 +135,7 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal return self.fetch('product.packaging', null, null); }).then(function(packagings){ self.set('product.packaging',packagings); - + return self.fetch('res.users', ['name','ean13'], [['ean13', '!=', false]]); }).then(function(users){ self.set('user_list',users); @@ -212,7 +230,6 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal // logs the usefull posmodel data to the console for debug purposes log_loaded_data: function(){ console.log('PosModel data has been loaded:'); - console.log('PosModel: categories:',this.get('categories')); console.log('PosModel: units:',this.get('units')); console.log('PosModel: bank_statements:',this.get('bank_statements')); console.log('PosModel: journals:',this.get('journals')); @@ -340,19 +357,26 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal this.product = options.product; this.price = options.product.get('price'); this.quantity = 1; + this.quantityStr = '1'; this.discount = 0; + this.discountStr = '0'; this.type = 'unit'; this.selected = false; }, // sets a discount [0,100]% set_discount: function(discount){ - this.discount = Math.max(0,Math.min(100,discount)); + var disc = Math.min(Math.max(parseFloat(discount) || 0, 0),100); + this.discount = disc; + this.discountStr = '' + disc; this.trigger('change'); }, // returns the discount [0,100]% get_discount: function(){ return this.discount; }, + get_discount_str: function(){ + return this.discountStr; + }, get_product_type: function(){ return this.type; }, @@ -360,13 +384,18 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal // product's unity of measure properties. Quantities greater than zero will not get // rounded to zero set_quantity: function(quantity){ - if(_.isNaN(quantity)){ + if(quantity === 'remove'){ this.order.removeOrderline(this); - }else if(quantity !== undefined){ - this.quantity = Math.max(0,quantity); + return; + }else{ + var quant = Math.max(parseFloat(quantity) || 0, 0); var unit = this.get_unit(); - if(unit && this.quantity > 0 ){ - this.quantity = Math.max(unit.rounding, Math.round(quantity / unit.rounding) * unit.rounding); + if(unit){ + this.quantity = Math.max(unit.rounding, Math.round(quant / unit.rounding) * unit.rounding); + this.quantityStr = this.quantity.toFixed(Math.max(0,Math.ceil(Math.log(1.0 / unit.rounding) / Math.log(10)))); + }else{ + this.quantity = quant; + this.quantityStr = '' + this.quantity; } } this.trigger('change'); @@ -375,6 +404,17 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal get_quantity: function(){ return this.quantity; }, + get_quantity_str: function(){ + return this.quantityStr; + }, + get_quantity_str_with_unit: function(){ + var unit = this.get_unit(); + if(unit && unit.name !== 'Unit(s)'){ + return this.quantityStr + ' ' + unit.name; + }else{ + return this.quantityStr; + } + }, // return the unit of measure of the product get_unit: function(){ var unit_id = (this.product.get('uos_id') || this.product.get('uom_id')); @@ -391,15 +431,6 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal get_product: function(){ return this.product; }, - // return the base price of this product (for this orderline) - get_price: function(){ - return this.price; - }, - // changes the base price of the product for this orderline - set_price: function(price){ - this.price = price; - this.trigger('change'); - }, // selects or deselects this orderline set_selected: function(selected){ this.selected = selected; @@ -430,7 +461,7 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal export_as_JSON: function() { return { qty: this.get_quantity(), - price_unit: this.get_price(), + price_unit: this.get_unit_price(), discount: this.get_discount(), product_id: this.get_product().get('id'), }; @@ -440,9 +471,10 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal return { quantity: this.get_quantity(), unit_name: this.get_unit().name, - price: this.get_price(), + price: this.get_unit_price(), discount: this.get_discount(), product_name: this.get_product().get('name'), + price_display : this.get_display_price(), price_with_tax : this.get_price_with_tax(), price_without_tax: this.get_price_without_tax(), tax: this.get_tax(), @@ -450,6 +482,19 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal product_description_sale: this.get_product().get('description_sale'), }; }, + // changes the base price of the product for this orderline + set_unit_price: function(price){ + this.price = round(parseFloat(price) || 0, 2); + this.trigger('change'); + }, + get_unit_price: function(){ + var rounding = this.pos.get('currency').rounding; + return round_pr(this.price,rounding); + }, + get_display_price: function(){ + var rounding = this.pos.get('currency').rounding; + return round_pr(round_pr(this.get_unit_price() * this.get_quantity(),rounding) * (1- this.get_discount()/100.0),rounding); + }, get_price_without_tax: function(){ return this.get_all_prices().priceWithoutTax; }, @@ -459,9 +504,10 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal get_tax: function(){ return this.get_all_prices().tax; }, - get_all_prices: function() { + get_all_prices: function(){ var self = this; - var base = this.get_quantity() * this.price * (1 - (this.get_discount() / 100)); + var currency_rounding = this.pos.get('currency').rounding; + var base = round_pr(this.get_quantity() * this.get_unit_price() * (1.0 - (this.get_discount() / 100.0)), currency_rounding); var totalTax = base; var totalNoTax = base; @@ -475,12 +521,13 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal if (tax.price_include) { var tmp; if (tax.type === "percent") { - tmp = base - (base / (1 + tax.amount)); + tmp = base - round_pr(base / (1 + tax.amount),currency_rounding); } else if (tax.type === "fixed") { - tmp = tax.amount * self.get_quantity(); + tmp = round_pr(tax.amount * self.get_quantity(),currency_rounding); } else { throw "This type of tax is not supported by the point of sale: " + tax.type; } + tmp = round_pr(tmp,currency_rounding); taxtotal += tmp; totalNoTax -= tmp; } else { @@ -492,6 +539,7 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal } else { throw "This type of tax is not supported by the point of sale: " + tax.type; } + tmp = round_pr(tmp,currency_rounding); taxtotal += tmp; totalTax += tmp; } @@ -516,7 +564,7 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal }, //sets the amount of money on this payment line set_amount: function(value){ - this.amount = value; + this.amount = parseFloat(value) || 0; this.trigger('change'); }, // returns the amount of money on this paymentline @@ -585,7 +633,7 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal line.set_quantity(options.quantity); } if(options.price !== undefined){ - line.set_price(options.price); + line.set_unit_price(options.price); } var last_orderline = this.getLastOrderline(); @@ -614,14 +662,19 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal getName: function() { return this.get('name'); }, - getTotal: function() { + getSubtotal : function(){ + return (this.get('orderLines')).reduce((function(sum, orderLine){ + return sum + orderLine.get_display_price(); + }), 0); + }, + getTotalTaxIncluded: function() { return (this.get('orderLines')).reduce((function(sum, orderLine) { return sum + orderLine.get_price_with_tax(); }), 0); }, getDiscountTotal: function() { return (this.get('orderLines')).reduce((function(sum, orderLine) { - return sum + (orderLine.get_price() * (orderLine.get_discount()/100) * orderLine.get_quantity()); + return sum + (orderLine.get_unit_price() * (orderLine.get_discount()/100) * orderLine.get_quantity()); }), 0); }, getTotalTaxExcluded: function() { @@ -640,10 +693,10 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal }), 0); }, getChange: function() { - return this.getPaidTotal() - this.getTotal(); + return this.getPaidTotal() - this.getTotalTaxIncluded(); }, getDueLeft: function() { - return this.getTotal() - this.getPaidTotal(); + return this.getTotalTaxIncluded() - this.getPaidTotal(); }, // sets the type of receipt 'receipt'(default) or 'invoice' set_receipt_type: function(type){ @@ -699,10 +752,12 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal return { orderlines: orderlines, paymentlines: paymentlines, - total_with_tax: this.getTotal(), + subtotal: this.getSubtotal(), + total_with_tax: this.getTotalTaxIncluded(), total_without_tax: this.getTotalTaxExcluded(), total_tax: this.getTax(), total_paid: this.getPaidTotal(), + total_discount: this.getDiscountTotal(), change: this.getChange(), name : this.getName(), client: client ? client.name : null , @@ -744,7 +799,7 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal return { name: this.getName(), amount_paid: this.getPaidTotal(), - amount_total: this.getTotal(), + amount_total: this.getTotalTaxIncluded(), amount_tax: this.getTax(), amount_return: this.getChange(), lines: orderLines, @@ -801,20 +856,19 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal buffer: (this.get('buffer')) + newChar }); } - this.updateTarget(); + this.trigger('set_value',this.get('buffer')); }, deleteLastChar: function() { - var tempNewBuffer = this.get('buffer').slice(0, -1); - - if(!tempNewBuffer){ - this.set({ buffer: "0" }); - this.killTarget(); - }else{ - if (isNaN(tempNewBuffer)) { - tempNewBuffer = "0"; + if(this.get('buffer') === ""){ + if(this.get('mode') === 'quantity'){ + this.trigger('set_value','remove'); + }else{ + this.trigger('set_value',this.get('buffer')); } - this.set({ buffer: tempNewBuffer }); - this.updateTarget(); + }else{ + var newBuffer = this.get('buffer').slice(0,-1) || ""; + this.set({ buffer: newBuffer }); + this.trigger('set_value',this.get('buffer')); } }, switchSign: function() { @@ -823,7 +877,7 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal this.set({ buffer: oldBuffer[0] === '-' ? oldBuffer.substr(1) : "-" + oldBuffer }); - this.updateTarget(); + this.trigger('set_value',this.get('buffer')); }, changeMode: function(newMode) { this.set({ @@ -837,15 +891,8 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal mode: "quantity" }); }, - updateTarget: function() { - var bufferContent, params; - bufferContent = this.get('buffer'); - if (bufferContent && !isNaN(bufferContent)) { - this.trigger('set_value', parseFloat(bufferContent)); - } - }, - killTarget: function(){ - this.trigger('set_value',Number.NaN); + resetValue: function(){ + this.set({buffer:'0'}); }, }); } diff --git a/addons/point_of_sale/static/src/js/screens.js b/addons/point_of_sale/static/src/js/screens.js index f8e3382c242..eca4a3c5915 100644 --- a/addons/point_of_sale/static/src/js/screens.js +++ b/addons/point_of_sale/static/src/js/screens.js @@ -368,7 +368,6 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa module.ChooseReceiptPopupWidget = module.PopUpWidget.extend({ template:'ChooseReceiptPopupWidget', show: function(){ - console.log('show'); this._super(); this.renderElement(); var self = this; @@ -603,7 +602,6 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa // initiates the connection to the payment terminal and starts the update requests this.start = function(){ var def = new $.Deferred(); - console.log("START"); self.pos.proxy.payment_request(self.pos.get('selectedOrder').getDueLeft()) .done(function(ack){ if(ack === 'ok'){ @@ -613,7 +611,6 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa }else{ console.error('unknown payment request return value:',ack); } - console.log("START_END"); def.resolve(); }); return def; @@ -621,10 +618,8 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa // gets updated status from the payment terminal and performs the appropriate consequences this.update = function(){ - console.log("UPDATE"); var def = new $.Deferred(); if(self.canceled){ - console.log("UPDATE_END"); return def.resolve(); } self.pos.proxy.payment_status() @@ -656,7 +651,6 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa }else{ console.error('unknown status value:',status.status); } - console.log("UPDATE_END"); def.resolve(); }); return def; @@ -664,14 +658,12 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa // cancels a payment. this.cancel = function(){ - console.log("CANCEL"); if(!self.paid && !self.canceled){ self.canceled = true; self.pos.proxy.payment_cancel(); self.pos_widget.screen_selector.set_current_screen(self.previous_screen); self.queue.clear(); } - console.log("CANCEL_END"); return (new $.Deferred()).resolve(); } @@ -865,6 +857,7 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa this.bindPaymentLineEvents(); this.bind_orderline_events(); this.paymentlinewidgets = []; + this.focusedLine = null; }, show: function(){ this._super(); @@ -894,6 +887,7 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa }); this.updatePaymentSummary(); + this.line_refocus(); }, close: function(){ this._super(); @@ -931,17 +925,30 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa this.bind_orderline_events(); this.renderElement(); }, + line_refocus: function(lineWidget){ + if(lineWidget){ + if(this.focusedLine !== lineWidget){ + this.focusedLine = lineWidget; + } + } + if(this.focusedLine){ + this.focusedLine.focus(); + } + }, addPaymentLine: function(newPaymentLine) { var self = this; - var l = new module.PaymentlineWidget(null, { - payment_line: newPaymentLine + var l = new module.PaymentlineWidget(this, { + payment_line: newPaymentLine, }); l.on('delete_payment_line', self, function(r) { self.deleteLine(r); }); l.appendTo(this.$('#paymentlines')); this.paymentlinewidgets.push(l); - this.$('.paymentline-amount input:last').focus(); + if(this.numpadState){ + this.numpadState.resetValue(); + } + this.line_refocus(l); }, renderElement: function() { this._super(); @@ -958,25 +965,26 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa }, deleteLine: function(lineWidget) { this.currentPaymentLines.remove([lineWidget.payment_line]); + lineWidget.destroy(); }, updatePaymentSummary: function() { var currentOrder = this.pos.get('selectedOrder'); var paidTotal = currentOrder.getPaidTotal(); - var dueTotal = currentOrder.getTotal(); + var dueTotal = currentOrder.getTotalTaxIncluded(); var remaining = dueTotal > paidTotal ? dueTotal - paidTotal : 0; var change = paidTotal > dueTotal ? paidTotal - dueTotal : 0; - this.$('#payment-due-total').html(dueTotal.toFixed(2)); - this.$('#payment-paid-total').html(paidTotal.toFixed(2)); - this.$('#payment-remaining').html(remaining.toFixed(2)); - this.$('#payment-change').html(change.toFixed(2)); - if((currentOrder.selected_orderline == undefined)) - remaining = 1 + this.$('#payment-due-total').html(this.format_currency(dueTotal)); + this.$('#payment-paid-total').html(this.format_currency(paidTotal)); + this.$('#payment-remaining').html(this.format_currency(remaining)); + this.$('#payment-change').html(this.format_currency(change)); + if(currentOrder.selected_orderline === undefined){ + remaining = 1; // What is this ? + } if(this.pos_widget.action_bar){ this.pos_widget.action_bar.set_button_disabled('validation', remaining > 0); } - this.$('.paymentline-amount input:last').focus(); }, set_numpad_state: function(numpadState) { if (this.numpadState) { @@ -998,5 +1006,4 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa this.currentPaymentLines.last().set_amount(val); }, }); - } diff --git a/addons/point_of_sale/static/src/js/widget_base.js b/addons/point_of_sale/static/src/js/widget_base.js index 0aa0a44e7e7..124be4e9f82 100644 --- a/addons/point_of_sale/static/src/js/widget_base.js +++ b/addons/point_of_sale/static/src/js/widget_base.js @@ -22,14 +22,20 @@ function openerp_pos_basewidget(instance, module){ //module is instance.point_of if(this.pos && this.pos.get('currency')){ this.currency = this.pos.get('currency'); }else{ - this.currency = {symbol: '$', position: 'after'}; + this.currency = {symbol: '$', position: 'after', rounding: 0.01}; } + var decimals = Math.max(0,Math.ceil(Math.log(1.0 / this.currency.rounding) / Math.log(10))); + this.format_currency = function(amount){ + if(typeof amount === 'number'){ + amount = Math.round(amount*100)/100; + amount = amount.toFixed(decimals); + } if(this.currency.position === 'after'){ - return Math.round(amount*100)/100 + ' ' + this.currency.symbol; + return amount + ' ' + this.currency.symbol; }else{ - return this.currency.symbol + ' ' + Math.round(amount*100)/100; + return this.currency.symbol + ' ' + amount; } } diff --git a/addons/point_of_sale/static/src/js/widgets.js b/addons/point_of_sale/static/src/js/widgets.js index 39ac2529a76..874c387ea23 100644 --- a/addons/point_of_sale/static/src/js/widgets.js +++ b/addons/point_of_sale/static/src/js/widgets.js @@ -186,7 +186,7 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa }else if( mode === 'discount'){ order.getSelectedLine().set_discount(val); }else if( mode === 'price'){ - order.getSelectedLine().set_price(val); + order.getSelectedLine().set_unit_price(val); } } else { this.pos.get('selectedOrder').destroy(); @@ -269,8 +269,10 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa }, update_summary: function(){ var order = this.pos.get('selectedOrder'); - var total = order ? order.getTotal() : 0; - this.$('.summary .value.total').html(this.format_currency(total)); + var total = order ? order.getTotalTaxIncluded() : 0; + var taxes = order ? total - order.getTotalTaxExcluded() : 0; + this.$('.summary .total > .value').html(this.format_currency(total)); + this.$('.summary .total .subentry .value').html(this.format_currency(taxes)); }, set_display_mode: function(mode){ if(this.display_mode !== mode){ @@ -311,24 +313,34 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa }, changeAmount: function(event) { var newAmount = event.currentTarget.value; - if (newAmount && !isNaN(newAmount)) { - this.amount = parseFloat(newAmount); - this.payment_line.set_amount(this.amount); + var amount = parseFloat(newAmount); + if(!isNaN(amount)){ + this.amount = amount; + this.payment_line.set_amount(amount); } }, changedAmount: function() { - if (this.amount !== this.payment_line.get_amount()) + if (this.amount !== this.payment_line.get_amount()){ this.renderElement(); + } }, renderElement: function() { var self = this; this.name = this.payment_line.get_cashregister().get('journal_id')[1]; this._super(); - this.$('input').keyup(_.bind(this.changeAmount, this)); + this.$('input').keyup(function(event){ + self.changeAmount(event); + }); this.$('.delete-payment-line').click(function() { self.trigger('delete_payment_line', self); }); }, + focus: function(){ + var val = this.$('input')[0].value; + this.$('input')[0].focus(); + this.$('input')[0].value = val; + this.$('input')[0].select(); + }, }); module.OrderButtonWidget = module.PosBaseWidget.extend({ @@ -606,20 +618,15 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa if(this.scrollbar){ this.scrollbar.destroy(); } - - this.pos.get('products') - .chain() - .map(function(product) { - var product = new module.ProductWidget(self, { - model: product, - weight: self.weight, - click_product_action: self.click_product_action, - }) - self.productwidgets.push(product); - return product; - }) - .invoke('appendTo', this.$('.product-list')); - + var products = this.pos.get('products').models || []; + for(var i = 0, len = products.length; i < len; i++){ + var product = new module.ProductWidget(self, { + model: products[i], + click_product_action: this.click_product_action, + }); + this.productwidgets.push(product); + product.appendTo(this.$('.product-list')); + } this.scrollbar = new module.ScrollbarWidget(this,{ target_widget: this, target_selector: '.product-list-scroller', diff --git a/addons/point_of_sale/static/src/xml/pos.xml b/addons/point_of_sale/static/src/xml/pos.xml index 41a061e78b4..3da76ec12d8 100644 --- a/addons/point_of_sale/static/src/xml/pos.xml +++ b/addons/point_of_sale/static/src/xml/pos.xml @@ -48,11 +48,17 @@
-
- -
-
-
+ +
+ +
+
+
+ +
+
+
+
@@ -214,11 +220,7 @@ Total: - - - - - +
@@ -227,31 +229,19 @@ Paid: - - - - - +
Remaining: - - - - - +
Change: - - - - - +
@@ -431,9 +421,13 @@
- - Total: 0.00 € - +
+
+ Total: 0.00 € +
Taxes: 0.00€
+
+
+
@@ -500,26 +494,26 @@ - +
    - +
  • - + at - + /
  • - +
  • With a - % + % discount
  • @@ -571,33 +565,36 @@ Shop:

    - +
    - - + +
    - With a % discount + With a % discount
    - + - +

    +
    Subtotal: + +
    Tax: - +
    Discount: - +
    Total: - +

    @@ -607,14 +604,14 @@ - +
    Change: - +
    diff --git a/addons/portal/i18n/hu.po b/addons/portal/i18n/hu.po index 471c3f1c6c0..47b646dafc7 100644 --- a/addons/portal/i18n/hu.po +++ b/addons/portal/i18n/hu.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2011-07-11 09:51+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2013-02-05 19:25+0000\n" +"Last-Translator: krnkris \n" "Language-Team: Hungarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-22 06:05+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-02-06 05:15+0000\n" +"X-Generator: Launchpad (build 16468)\n" #. module: portal #: view:portal.payment.acquirer:0 @@ -41,59 +41,59 @@ msgstr "" #. module: portal #: model:mail.group,name:portal.company_jobs msgid "Company Jobs" -msgstr "" +msgstr "Vállalati feladatok" #. module: portal #: view:portal.payment.acquirer:0 msgid "amount: the total amount to pay, as a float" -msgstr "" +msgstr "összeg: a teljes fizetendő mennyiség, mind összegezve" #. module: portal #: view:portal.wizard.user:0 msgid "Contacts" -msgstr "" +msgstr "Kapcsolatok" #. module: portal #: view:share.wizard:0 #: field:share.wizard,group_ids:0 msgid "Existing groups" -msgstr "" +msgstr "Már létező csoportok" #. module: portal #: view:res.groups:0 msgid "Portal Groups" -msgstr "" +msgstr "Portál csoportok" #. module: portal #: field:portal.wizard,welcome_message:0 msgid "Invitation Message" -msgstr "" +msgstr "Meghívó szövege" #. module: portal #: view:res.groups:0 msgid "Non-Portal Groups" -msgstr "" +msgstr "Nem portál csoportok" #. module: portal #: code:addons/portal/wizard/share_wizard.py:54 #, python-format msgid "Please select at least one group to share with" -msgstr "" +msgstr "Kérem legalább egy csoport kiválasztását akivel megosztja" #. module: portal #: view:share.wizard:0 msgid "Details" -msgstr "" +msgstr "Részletek" #. module: portal #: model:ir.ui.menu,name:portal.portal_orders msgid "Quotations and Sales Orders" -msgstr "" +msgstr "Árajánlatok és vevői megrendelések" #. module: portal #: view:portal.payment.acquirer:0 msgid "reference: the reference number of the document to pay" -msgstr "" +msgstr "referencia: a fizetni kívánt dokumentum referencia száma" #. module: portal #: help:portal.payment.acquirer,visible:0 @@ -101,16 +101,18 @@ msgid "" "Make this payment acquirer available in portal forms (Customer invoices, " "etc.)" msgstr "" +"Ez a fizetési igénylő legyen elérhető a portál űrlapokon (Vevők számlái, " +"stb.)" #. module: portal #: model:ir.model,name:portal.model_share_wizard msgid "Share Wizard" -msgstr "" +msgstr "Megosztás varázsló" #. module: portal #: field:portal.wizard.user,email:0 msgid "Email" -msgstr "" +msgstr "E-mail" #. module: portal #: model:ir.actions.client,help:portal.action_news @@ -120,6 +122,10 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" Önnek nincsenek olvasatlan hírek a vállalattól.\n" +"

    \n" +" " #. module: portal #: code:addons/portal/wizard/portal_wizard.py:194 @@ -127,17 +133,18 @@ msgstr "" msgid "" "You must have an email address in your User Preferences to send emails." msgstr "" +"Kell lennie egy e-mail címének a felhasználói űrlapján az e-mail küldéséhez." #. module: portal #: model:ir.actions.client,name:portal.action_jobs #: model:ir.ui.menu,name:portal.portal_jobs msgid "Jobs" -msgstr "" +msgstr "Feladatok" #. module: portal #: field:portal.wizard,user_ids:0 msgid "Users" -msgstr "" +msgstr "Felhasználók" #. module: portal #: code:addons/portal/acquirer.py:82 @@ -149,7 +156,7 @@ msgstr "" #: code:addons/portal/acquirer.py:77 #, python-format msgid "No online payment acquirers configured" -msgstr "" +msgstr "Nincs online fizetési igénylő beállítva" #. module: portal #: view:portal.payment.acquirer:0 @@ -191,7 +198,7 @@ msgstr "" #: field:res.groups,is_portal:0 #: model:res.groups,name:portal.group_portal msgid "Portal" -msgstr "" +msgstr "Portál" #. module: portal #: code:addons/portal/wizard/portal_wizard.py:34 @@ -202,12 +209,12 @@ msgstr "" #. module: portal #: model:res.groups,name:portal.group_anonymous msgid "Anonymous" -msgstr "" +msgstr "Névtelenül" #. module: portal #: field:portal.wizard.user,in_portal:0 msgid "In Portal" -msgstr "" +msgstr "Portálon" #. module: portal #: model:ir.actions.client,name:portal.action_news diff --git a/addons/portal_anonymous/i18n/hu.po b/addons/portal_anonymous/i18n/hu.po new file mode 100644 index 00000000000..ef0a535fd27 --- /dev/null +++ b/addons/portal_anonymous/i18n/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-02-01 10:21+0000\n" +"Last-Translator: krnkris \n" +"Language-Team: Hungarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-02 05:07+0000\n" +"X-Generator: Launchpad (build 16462)\n" + +#. module: portal_anonymous +#. openerp-web +#: code:addons/portal_anonymous/static/src/xml/portal_anonymous.xml:8 +#, python-format +msgid "Login" +msgstr "Bejelentkezés" diff --git a/addons/portal_claim/i18n/hu.po b/addons/portal_claim/i18n/hu.po new file mode 100644 index 00000000000..db762e63536 --- /dev/null +++ b/addons/portal_claim/i18n/hu.po @@ -0,0 +1,44 @@ +# Hungarian translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-02-01 10:25+0000\n" +"Last-Translator: krnkris \n" +"Language-Team: Hungarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-02 05:07+0000\n" +"X-Generator: Launchpad (build 16462)\n" + +#. module: portal_claim +#: model:ir.actions.act_window,help:portal_claim.crm_case_categ_claim0 +msgid "" +"

    \n" +" Click to register a new claim. \n" +"

    \n" +" You can track your claims from this menu and the action we\n" +" will take.\n" +"

    \n" +" " +msgstr "" +"

    \n" +" Kattintson új reklamáció rögzítéséhez. \n" +"

    \n" +" Ebből a menüből nyomon követheti a reklamációkat és a " +"lépéseket\n" +" amiket tenni kell.\n" +"

    \n" +" " + +#. module: portal_claim +#: model:ir.actions.act_window,name:portal_claim.crm_case_categ_claim0 +#: model:ir.ui.menu,name:portal_claim.portal_after_sales_claims +msgid "Claims" +msgstr "Reklamációk" diff --git a/addons/portal_claim/i18n/tr.po b/addons/portal_claim/i18n/tr.po new file mode 100644 index 00000000000..8003735e8f1 --- /dev/null +++ b/addons/portal_claim/i18n/tr.po @@ -0,0 +1,36 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-02-04 14:17+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-05 04:44+0000\n" +"X-Generator: Launchpad (build 16468)\n" + +#. module: portal_claim +#: model:ir.actions.act_window,help:portal_claim.crm_case_categ_claim0 +msgid "" +"

    \n" +" Click to register a new claim. \n" +"

    \n" +" You can track your claims from this menu and the action we\n" +" will take.\n" +"

    \n" +" " +msgstr "" + +#. module: portal_claim +#: model:ir.actions.act_window,name:portal_claim.crm_case_categ_claim0 +#: model:ir.ui.menu,name:portal_claim.portal_after_sales_claims +msgid "Claims" +msgstr "" diff --git a/addons/portal_crm/i18n/tr.po b/addons/portal_crm/i18n/tr.po new file mode 100644 index 00000000000..09d4a54250c --- /dev/null +++ b/addons/portal_crm/i18n/tr.po @@ -0,0 +1,546 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-02-04 14:17+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-05 04:44+0000\n" +"X-Generator: Launchpad (build 16468)\n" + +#. module: portal_crm +#: selection:portal_crm.crm_contact_us,type:0 +msgid "Lead" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,title:0 +msgid "Title" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,probability:0 +msgid "Success Rate (%)" +msgstr "" + +#. module: portal_crm +#: view:portal_crm.crm_contact_us:0 +msgid "Contact us" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,date_action:0 +msgid "Next Action Date" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,fax:0 +msgid "Fax" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,zip:0 +msgid "Zip" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,message_unread:0 +msgid "Unread Messages" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,company_id:0 +msgid "Company" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,day_open:0 +msgid "Days to Open" +msgstr "" + +#. module: portal_crm +#: view:portal_crm.crm_contact_us:0 +msgid "Thank you for your interest, we'll respond to your request shortly." +msgstr "" + +#. module: portal_crm +#: selection:portal_crm.crm_contact_us,priority:0 +msgid "Highest" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,mobile:0 +msgid "Mobile" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,description:0 +msgid "Notes" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,message_ids:0 +msgid "Messages" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,color:0 +msgid "Color Index" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,partner_latitude:0 +msgid "Geo Latitude" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,partner_name:0 +msgid "Customer Name" +msgstr "" + +#. module: portal_crm +#: selection:portal_crm.crm_contact_us,state:0 +msgid "Cancelled" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,channel_id:0 +msgid "Communication channel (mail, direct, phone, ...)" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,type_id:0 +msgid "Campaign" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,ref:0 +msgid "Reference" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,date_action_next:0 +#: field:portal_crm.crm_contact_us,title_action:0 +msgid "Next Action" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,message_summary:0 +msgid "" +"Holds the Chatter summary (number of messages, ...). This summary is " +"directly in html format in order to be inserted in kanban views." +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,partner_id:0 +msgid "Partner" +msgstr "" + +#. module: portal_crm +#: model:ir.actions.act_window,name:portal_crm.action_contact_us +msgid "Contact Us" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,name:0 +msgid "Subject" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,opt_out:0 +msgid "Opt-Out" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,priority:0 +msgid "Priority" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,state_id:0 +msgid "State" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,message_follower_ids:0 +msgid "Followers" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,partner_id:0 +msgid "Linked partner (optional). Usually created when converting the lead." +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,payment_mode:0 +msgid "Payment Mode" +msgstr "" + +#. module: portal_crm +#: selection:portal_crm.crm_contact_us,state:0 +msgid "New" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,type:0 +msgid "Type" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,email_from:0 +msgid "Email" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,channel_id:0 +msgid "Channel" +msgstr "" + +#. module: portal_crm +#: view:portal_crm.crm_contact_us:0 +msgid "Name" +msgstr "" + +#. module: portal_crm +#: selection:portal_crm.crm_contact_us,priority:0 +msgid "Lowest" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,create_date:0 +msgid "Creation Date" +msgstr "" + +#. module: portal_crm +#: view:portal_crm.crm_contact_us:0 +msgid "Close" +msgstr "" + +#. module: portal_crm +#: selection:portal_crm.crm_contact_us,state:0 +msgid "Pending" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,type:0 +msgid "Type is used to separate Leads and Opportunities" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,categ_ids:0 +msgid "Categories" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,stage_id:0 +msgid "Stage" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,user_login:0 +msgid "User Login" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,opt_out:0 +msgid "" +"If opt-out is checked, this contact has refused to receive emails or " +"unsubscribed to a campaign." +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,contact_name:0 +msgid "Contact Name" +msgstr "" + +#. module: portal_crm +#: model:ir.ui.menu,name:portal_crm.portal_company_contact +msgid "Contact" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,partner_address_email:0 +msgid "Partner Contact Email" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,planned_revenue:0 +msgid "Expected Revenue" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,task_ids:0 +msgid "Tasks" +msgstr "" + +#. module: portal_crm +#: view:portal_crm.crm_contact_us:0 +msgid "Contact form" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,company_currency:0 +msgid "Currency" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,write_date:0 +msgid "Update Date" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,date_deadline:0 +msgid "Expected Closing" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,ref2:0 +msgid "Reference 2" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,user_email:0 +msgid "User Email" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,date_open:0 +msgid "Opened" +msgstr "" + +#. module: portal_crm +#: selection:portal_crm.crm_contact_us,state:0 +msgid "In Progress" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,partner_name:0 +msgid "" +"The name of the future partner company that will be created while converting " +"the lead into opportunity" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,planned_cost:0 +msgid "Planned Costs" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,date_deadline:0 +msgid "Estimate of the date on which the opportunity will be won." +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,email_cc:0 +msgid "" +"These email addresses will be added to the CC field of all inbound and " +"outbound emails for this record before being sent. Separate multiple email " +"addresses with a comma" +msgstr "" + +#. module: portal_crm +#: selection:portal_crm.crm_contact_us,priority:0 +msgid "Low" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,date_closed:0 +#: selection:portal_crm.crm_contact_us,state:0 +msgid "Closed" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,date_assign:0 +msgid "Assignation Date" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,state:0 +msgid "Status" +msgstr "" + +#. module: portal_crm +#: selection:portal_crm.crm_contact_us,priority:0 +msgid "Normal" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,email_cc:0 +msgid "Global CC" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,street2:0 +msgid "Street2" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,id:0 +msgid "ID" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,phone:0 +msgid "Phone" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,message_is_follower:0 +msgid "Is a Follower" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,active:0 +msgid "Active" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,user_id:0 +msgid "Salesperson" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,day_close:0 +msgid "Days to Close" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,company_ids:0 +msgid "Companies" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,message_summary:0 +msgid "Summary" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,section_id:0 +msgid "" +"When sending mails, the default email address is taken from the sales team." +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,partner_address_name:0 +msgid "Partner Contact Name" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,partner_longitude:0 +msgid "Geo Longitude" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,date_assign:0 +msgid "Last date this case was forwarded/assigned to a partner" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,email_from:0 +msgid "Email address of the contact" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,city:0 +msgid "City" +msgstr "" + +#. module: portal_crm +#: view:portal_crm.crm_contact_us:0 +msgid "Submit" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,function:0 +msgid "Function" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,referred:0 +msgid "Referred By" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,partner_assigned_id:0 +msgid "Assigned Partner" +msgstr "" + +#. module: portal_crm +#: selection:portal_crm.crm_contact_us,type:0 +msgid "Opportunity" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,partner_assigned_id:0 +msgid "Partner this case has been forwarded/assigned to." +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,country_id:0 +msgid "Country" +msgstr "" + +#. module: portal_crm +#: view:portal_crm.crm_contact_us:0 +msgid "Thank you" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,state:0 +msgid "" +"The Status is set to 'Draft', when a case is created. If the case is in " +"progress the Status is set to 'Open'. When the case is over, the Status is " +"set to 'Done'. If the case needs to be reviewed then the Status is set to " +"'Pending'." +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,type_id:0 +msgid "" +"From which campaign (seminar, marketing campaign, mass mailing, ...) did " +"this contact come from?" +msgstr "" + +#. module: portal_crm +#: selection:portal_crm.crm_contact_us,priority:0 +msgid "High" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,section_id:0 +msgid "Sales Team" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,street:0 +msgid "Street" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,date_action_last:0 +msgid "Last Action" +msgstr "" + +#. module: portal_crm +#: model:ir.model,name:portal_crm.model_portal_crm_crm_contact_us +msgid "Contact form for the portal" +msgstr "" diff --git a/addons/portal_event/i18n/hu.po b/addons/portal_event/i18n/hu.po new file mode 100644 index 00000000000..f81e2080ca6 --- /dev/null +++ b/addons/portal_event/i18n/hu.po @@ -0,0 +1,59 @@ +# Hungarian translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-02-05 19:15+0000\n" +"Last-Translator: krnkris \n" +"Language-Team: Hungarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-06 05:15+0000\n" +"X-Generator: Launchpad (build 16468)\n" + +#. module: portal_event +#: view:event.event:0 +msgid "Portal Settings" +msgstr "Portál beállítások" + +#. module: portal_event +#: model:ir.actions.act_window,help:portal_event.action_event_view +msgid "There are no public events." +msgstr "Nincsenek nyilvános, közösségi rendezvények." + +#. module: portal_event +#: selection:event.event,visibility:0 +msgid "Private" +msgstr "Privát" + +#. module: portal_event +#: model:ir.model,name:portal_event.model_event_event +msgid "Event" +msgstr "Rendezvény" + +#. module: portal_event +#: model:ir.actions.act_window,name:portal_event.action_event_view +#: model:ir.ui.menu,name:portal_event.portal_company_events +msgid "Events" +msgstr "Rendezvények" + +#. module: portal_event +#: field:event.event,visibility:0 +msgid "Visibility" +msgstr "Láthatóság" + +#. module: portal_event +#: help:event.event,visibility:0 +msgid "Event's visibility in the portal's contact page" +msgstr "Rendezvények láthatósága a portál kapcsolati oldalon" + +#. module: portal_event +#: selection:event.event,visibility:0 +msgid "Public" +msgstr "Nyilvános" diff --git a/addons/portal_event/i18n/tr.po b/addons/portal_event/i18n/tr.po new file mode 100644 index 00000000000..c7d1eef466b --- /dev/null +++ b/addons/portal_event/i18n/tr.po @@ -0,0 +1,59 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-02-04 14:17+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-05 04:44+0000\n" +"X-Generator: Launchpad (build 16468)\n" + +#. module: portal_event +#: view:event.event:0 +msgid "Portal Settings" +msgstr "" + +#. module: portal_event +#: model:ir.actions.act_window,help:portal_event.action_event_view +msgid "There are no public events." +msgstr "" + +#. module: portal_event +#: selection:event.event,visibility:0 +msgid "Private" +msgstr "" + +#. module: portal_event +#: model:ir.model,name:portal_event.model_event_event +msgid "Event" +msgstr "" + +#. module: portal_event +#: model:ir.actions.act_window,name:portal_event.action_event_view +#: model:ir.ui.menu,name:portal_event.portal_company_events +msgid "Events" +msgstr "" + +#. module: portal_event +#: field:event.event,visibility:0 +msgid "Visibility" +msgstr "" + +#. module: portal_event +#: help:event.event,visibility:0 +msgid "Event's visibility in the portal's contact page" +msgstr "" + +#. module: portal_event +#: selection:event.event,visibility:0 +msgid "Public" +msgstr "" diff --git a/addons/portal_hr_employees/i18n/hu.po b/addons/portal_hr_employees/i18n/hu.po new file mode 100644 index 00000000000..aa26781e906 --- /dev/null +++ b/addons/portal_hr_employees/i18n/hu.po @@ -0,0 +1,95 @@ +# Hungarian translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-02-01 10:47+0000\n" +"Last-Translator: krnkris \n" +"Language-Team: Hungarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-02 05:07+0000\n" +"X-Generator: Launchpad (build 16462)\n" + +#. module: portal_hr_employees +#: view:hr.employee:0 +msgid "Coach" +msgstr "Tréner" + +#. module: portal_hr_employees +#: model:ir.actions.act_window,name:portal_hr_employees.action_team +#: view:portal_crm.crm_contact_us:0 +msgid "Our Team" +msgstr "Csoportunk" + +#. module: portal_hr_employees +#: view:hr.employee:0 +msgid "Group By..." +msgstr "Csoportosítás ezzel..." + +#. module: portal_hr_employees +#: view:hr.employee:0 +msgid "Company" +msgstr "Vállalat" + +#. module: portal_hr_employees +#: selection:hr.employee,visibility:0 +msgid "Public" +msgstr "Nyilvános" + +#. module: portal_hr_employees +#: help:hr.employee,visibility:0 +msgid "Employee's visibility in the portal's contact page" +msgstr "alkalmazottak láthatósága a portál kapcsolati oldalán" + +#. module: portal_hr_employees +#: selection:hr.employee,visibility:0 +msgid "Private" +msgstr "Privát" + +#. module: portal_hr_employees +#: view:hr.employee:0 +msgid "Manager" +msgstr "Menedzser" + +#. module: portal_hr_employees +#: model:ir.model,name:portal_hr_employees.model_hr_employee +msgid "Employee" +msgstr "Alkalmazott" + +#. module: portal_hr_employees +#: view:hr.employee:0 +msgid "Job" +msgstr "Munka" + +#. module: portal_hr_employees +#: field:hr.employee,visibility:0 +msgid "Visibility" +msgstr "Láthatóság" + +#. module: portal_hr_employees +#: field:hr.employee,public_info:0 +msgid "Public Info" +msgstr "Nyilvános információ" + +#. module: portal_hr_employees +#: model:ir.model,name:portal_hr_employees.model_portal_crm_crm_contact_us +msgid "Contact form for the portal" +msgstr "Kapcsolati lap a portálhoz" + +#. module: portal_hr_employees +#: view:hr.employee:0 +msgid "Department" +msgstr "Osztály, részleg" + +#. module: portal_hr_employees +#: view:hr.employee:0 +#: field:portal_crm.crm_contact_us,employee_ids:0 +msgid "Employees" +msgstr "Alkalmazottak" diff --git a/addons/portal_hr_employees/i18n/tr.po b/addons/portal_hr_employees/i18n/tr.po new file mode 100644 index 00000000000..1dd553c1b83 --- /dev/null +++ b/addons/portal_hr_employees/i18n/tr.po @@ -0,0 +1,95 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-02-04 14:17+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-05 04:44+0000\n" +"X-Generator: Launchpad (build 16468)\n" + +#. module: portal_hr_employees +#: view:hr.employee:0 +msgid "Coach" +msgstr "" + +#. module: portal_hr_employees +#: model:ir.actions.act_window,name:portal_hr_employees.action_team +#: view:portal_crm.crm_contact_us:0 +msgid "Our Team" +msgstr "" + +#. module: portal_hr_employees +#: view:hr.employee:0 +msgid "Group By..." +msgstr "" + +#. module: portal_hr_employees +#: view:hr.employee:0 +msgid "Company" +msgstr "" + +#. module: portal_hr_employees +#: selection:hr.employee,visibility:0 +msgid "Public" +msgstr "" + +#. module: portal_hr_employees +#: help:hr.employee,visibility:0 +msgid "Employee's visibility in the portal's contact page" +msgstr "" + +#. module: portal_hr_employees +#: selection:hr.employee,visibility:0 +msgid "Private" +msgstr "" + +#. module: portal_hr_employees +#: view:hr.employee:0 +msgid "Manager" +msgstr "" + +#. module: portal_hr_employees +#: model:ir.model,name:portal_hr_employees.model_hr_employee +msgid "Employee" +msgstr "" + +#. module: portal_hr_employees +#: view:hr.employee:0 +msgid "Job" +msgstr "" + +#. module: portal_hr_employees +#: field:hr.employee,visibility:0 +msgid "Visibility" +msgstr "" + +#. module: portal_hr_employees +#: field:hr.employee,public_info:0 +msgid "Public Info" +msgstr "" + +#. module: portal_hr_employees +#: model:ir.model,name:portal_hr_employees.model_portal_crm_crm_contact_us +msgid "Contact form for the portal" +msgstr "" + +#. module: portal_hr_employees +#: view:hr.employee:0 +msgid "Department" +msgstr "" + +#. module: portal_hr_employees +#: view:hr.employee:0 +#: field:portal_crm.crm_contact_us,employee_ids:0 +msgid "Employees" +msgstr "" diff --git a/addons/portal_project/i18n/hu.po b/addons/portal_project/i18n/hu.po new file mode 100644 index 00000000000..44af27a1652 --- /dev/null +++ b/addons/portal_project/i18n/hu.po @@ -0,0 +1,37 @@ +# Hungarian translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-02-01 10:44+0000\n" +"Last-Translator: krnkris \n" +"Language-Team: Hungarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-02 05:07+0000\n" +"X-Generator: Launchpad (build 16462)\n" + +#. module: portal_project +#: model:ir.actions.act_window,help:portal_project.open_view_project +msgid "" +"

    \n" +" Click to start a new project.\n" +"

    \n" +" " +msgstr "" +"

    \n" +" Kattintson új projekt létrehozásához.\n" +"

    \n" +" " + +#. module: portal_project +#: model:ir.actions.act_window,name:portal_project.open_view_project +#: model:ir.ui.menu,name:portal_project.portal_services_projects +msgid "Projects" +msgstr "Projektek" diff --git a/addons/portal_project/i18n/tr.po b/addons/portal_project/i18n/tr.po new file mode 100644 index 00000000000..0f3dfff62a2 --- /dev/null +++ b/addons/portal_project/i18n/tr.po @@ -0,0 +1,33 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-02-04 14:19+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-05 04:44+0000\n" +"X-Generator: Launchpad (build 16468)\n" + +#. module: portal_project +#: model:ir.actions.act_window,help:portal_project.open_view_project +msgid "" +"

    \n" +" Click to start a new project.\n" +"

    \n" +" " +msgstr "" + +#. module: portal_project +#: model:ir.actions.act_window,name:portal_project.open_view_project +#: model:ir.ui.menu,name:portal_project.portal_services_projects +msgid "Projects" +msgstr "" diff --git a/addons/portal_project_issue/i18n/hu.po b/addons/portal_project_issue/i18n/hu.po new file mode 100644 index 00000000000..679cc372f1f --- /dev/null +++ b/addons/portal_project_issue/i18n/hu.po @@ -0,0 +1,48 @@ +# Hungarian translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-02-01 10:43+0000\n" +"Last-Translator: krnkris \n" +"Language-Team: Hungarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-02 05:07+0000\n" +"X-Generator: Launchpad (build 16462)\n" + +#. module: portal_project_issue +#: view:project.issue:0 +msgid "Creation:" +msgstr "Létrehozás:" + +#. module: portal_project_issue +#: model:ir.actions.act_window,help:portal_project_issue.project_issue_categ_act0 +msgid "" +"

    \n" +" Click to create an issue.\n" +"

    \n" +" You can track your issues from this menu and the action we\n" +" will take.\n" +"

    \n" +" " +msgstr "" +"

    \n" +" Kattintson egy bejelentés létrehozásához.\n" +"

    \n" +" Ebből a menüből nyomon követheti a bejelentéseit és azt, " +"hogy\n" +" mit fog tenni.\n" +"

    \n" +" " + +#. module: portal_project_issue +#: model:ir.actions.act_window,name:portal_project_issue.project_issue_categ_act0 +msgid "Issues" +msgstr "Bejelentések" diff --git a/addons/portal_project_issue/i18n/tr.po b/addons/portal_project_issue/i18n/tr.po new file mode 100644 index 00000000000..461d646c2bf --- /dev/null +++ b/addons/portal_project_issue/i18n/tr.po @@ -0,0 +1,40 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-02-04 14:19+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-05 04:44+0000\n" +"X-Generator: Launchpad (build 16468)\n" + +#. module: portal_project_issue +#: view:project.issue:0 +msgid "Creation:" +msgstr "" + +#. module: portal_project_issue +#: model:ir.actions.act_window,help:portal_project_issue.project_issue_categ_act0 +msgid "" +"

    \n" +" Click to create an issue.\n" +"

    \n" +" You can track your issues from this menu and the action we\n" +" will take.\n" +"

    \n" +" " +msgstr "" + +#. module: portal_project_issue +#: model:ir.actions.act_window,name:portal_project_issue.project_issue_categ_act0 +msgid "Issues" +msgstr "" diff --git a/addons/portal_sale/i18n/hu.po b/addons/portal_sale/i18n/hu.po new file mode 100644 index 00000000000..90679b4ec72 --- /dev/null +++ b/addons/portal_sale/i18n/hu.po @@ -0,0 +1,555 @@ +# Hungarian translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-02-01 10:41+0000\n" +"Last-Translator: krnkris \n" +"Language-Team: Hungarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-02 05:07+0000\n" +"X-Generator: Launchpad (build 16462)\n" + +#. module: portal_sale +#: model:ir.model,name:portal_sale.model_account_config_settings +msgid "account.config.settings" +msgstr "account.config.settings" + +#. module: portal_sale +#: model:ir.actions.act_window,help:portal_sale.portal_action_invoices +msgid "We haven't sent you any invoice." +msgstr "Nem küldtünk semmilyen számlát." + +#. module: portal_sale +#: model:email.template,report_name:portal_sale.email_template_edi_sale +msgid "" +"${(object.name or '').replace('/','_')}_${object.state == 'draft' and " +"'draft' or ''}" +msgstr "" +"${(object.name or '').replace('/','_')}_${object.state == 'draft' and " +"'draft' or ''}" + +#. module: portal_sale +#: model:res.groups,name:portal_sale.group_payment_options +msgid "View Online Payment Options" +msgstr "Online fizetési lehetőségek megtekintése" + +#. module: portal_sale +#: field:account.config.settings,group_payment_options:0 +msgid "Show payment buttons to employees too" +msgstr "A munkavállalóknak is mutassa a fizetés gombot" + +#. module: portal_sale +#: model:email.template,subject:portal_sale.email_template_edi_sale +msgid "" +"${object.company_id.name} ${object.state in ('draft', 'sent') and " +"'Quotation' or 'Order'} (Ref ${object.name or 'n/a' })" +msgstr "" +"${object.company_id.name} ${object.state in ('draft', 'sent') and " +"'Quotation' or 'Order'} (Ref ${object.name or 'n/a' })" + +#. module: portal_sale +#: model:ir.actions.act_window,help:portal_sale.action_quotations_portal +msgid "We haven't sent you any quotation." +msgstr "Nem küldtünk semmilyen árajánlatot." + +#. module: portal_sale +#: model:ir.ui.menu,name:portal_sale.portal_sales_orders +msgid "Sales Orders" +msgstr "Vevői megrendelések" + +#. module: portal_sale +#: model:res.groups,comment:portal_sale.group_payment_options +msgid "" +"Members of this group see the online payment options\n" +"on Sale Orders and Customer Invoices. These options are meant for customers " +"who are accessing\n" +"their documents through the portal." +msgstr "" +"Ennek a csoportnak a tagjai látják az online fizetési lehetőségeket\n" +"a vevői megrendeléseken és vevők számláin. Ezek a lehetőségek azoknak a " +"vevőknek szólnak akik elérhetik\n" +"a dokumentumaikat a portálon keresztül." + +#. module: portal_sale +#: model:email.template,body_html:portal_sale.email_template_edi_sale +msgid "" +"\n" +"
    \n" +"\n" +"

    Hello ${object.partner_id.name},

    \n" +" \n" +"

    Here is your ${object.state in ('draft', 'sent') and 'quotation' or " +"'order confirmation'} from ${object.company_id.name}:

    \n" +"\n" +"

    \n" +"   REFERENCES
    \n" +"   Order number: ${object.name}
    \n" +"   Order total: ${object.amount_total} " +"${object.pricelist_id.currency_id.name}
    \n" +"   Order date: ${object.date_order}
    \n" +" % if object.origin:\n" +"   Order reference: ${object.origin}
    \n" +" % endif\n" +" % if object.client_order_ref:\n" +"   Your reference: ${object.client_order_ref}
    \n" +" % endif\n" +" % if object.user_id:\n" +"   Your contact: ${object.user_id.name}\n" +" % endif\n" +"

    \n" +"\n" +" <% set signup_url = object.get_signup_url() %>\n" +" % if signup_url:\n" +"

    \n" +" You can access this document and pay online via our Customer Portal:\n" +"

    \n" +" View ${object.state in ('draft', 'sent') " +"and 'Quotation' or 'Order'}\n" +" % endif\n" +"\n" +" % if object.paypal_url:\n" +"
    \n" +"

    It is also possible to directly pay with Paypal:

    \n" +" \n" +" \n" +" \n" +" % endif\n" +"\n" +"
    \n" +"

    If you have any question, do not hesitate to contact us.

    \n" +"

    Thank you for choosing ${object.company_id.name or 'us'}!

    \n" +"
    \n" +"
    \n" +"
    \n" +"

    \n" +" ${object.company_id.name}

    \n" +"
    \n" +"
    \n" +" \n" +" % if object.company_id.street:\n" +" ${object.company_id.street}
    \n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}
    \n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}
    \n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % " +"object.company_id.state_id.name) or ''} ${object.company_id.country_id.name " +"or ''}
    \n" +" % endif\n" +"
    \n" +" % if object.company_id.phone:\n" +"
    \n" +" Phone:  ${object.company_id.phone}\n" +"
    \n" +" % endif\n" +" % if object.company_id.website:\n" +"
    \n" +" Web : ${object.company_id.website}\n" +"
    \n" +" % endif\n" +"

    \n" +"
    \n" +"
    \n" +" " +msgstr "" +"\n" +"
    \n" +"\n" +"

    Tisztelt ${object.partner_id.name},

    \n" +" \n" +"

    Ez itt a ${object.state in ('draft', 'sent') and 'quotation' or " +"'order confirmation'} ${object.company_id.name} vállalattól:

    \n" +"\n" +"

    \n" +"   REFERENCES
    \n" +"   Megrendelés száma: ${object.name}
    \n" +"   Teljes megrendelés: ${object.amount_total} " +"${object.pricelist_id.currency_id.name}
    \n" +"   Megrendelés dátuma: ${object.date_order}
    \n" +" % if object.origin:\n" +"   Megrendelés hivatkozása: ${object.origin}
    \n" +" % endif\n" +" % if object.client_order_ref:\n" +"   Az Ön hivatkozása: ${object.client_order_ref}
    \n" +" % endif\n" +" % if object.user_id:\n" +"   Az Ön kapcsolata: ${object.user_id.name}\n" +" % endif\n" +"

    \n" +"\n" +" <% set signup_url = object.get_signup_url() %>\n" +" % if signup_url:\n" +"

    \n" +" Elérheti ezt a dokumentumot és fizethet online a Vásárlói portálunkon:\n" +"

    \n" +" View ${object.state in ('draft', 'sent') " +"and 'Quotation' or 'Order'}\n" +" % endif\n" +"\n" +" % if object.paypal_url:\n" +"
    \n" +"

    Lehetősége van közvetlen Paypal fizetésre:

    \n" +" \n" +" \n" +" \n" +" % endif\n" +"\n" +"
    \n" +"

    Egyéb felmerülő kérdésekben forduljon bizalommal hozzánk.

    \n" +"

    Köszönjük, hogy minket választott ${object.company_id.name or " +"'us'}!

    \n" +"
    \n" +"
    \n" +"
    \n" +"

    \n" +" ${object.company_id.name}

    \n" +"
    \n" +"
    \n" +" \n" +" % if object.company_id.street:\n" +" ${object.company_id.street}
    \n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}
    \n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}
    \n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % " +"object.company_id.state_id.name) or ''} ${object.company_id.country_id.name " +"or ''}
    \n" +" % endif\n" +"
    \n" +" % if object.company_id.phone:\n" +"
    \n" +" Phone:  ${object.company_id.phone}\n" +"
    \n" +" % endif\n" +" % if object.company_id.website:\n" +"
    \n" +" Web : ${object.company_id.website}\n" +"
    \n" +" % endif\n" +"

    \n" +"
    \n" +"
    \n" +" " + +#. module: portal_sale +#: model:email.template,report_name:portal_sale.email_template_edi_invoice +msgid "" +"Invoice_${(object.number or '').replace('/','_')}_${object.state == 'draft' " +"and 'draft' or ''}" +msgstr "" +"Invoice_${(object.number or '').replace('/','_')}_${object.state == 'draft' " +"and 'draft' or ''}" + +#. module: portal_sale +#: model:email.template,subject:portal_sale.email_template_edi_invoice +msgid "${object.company_id.name} Invoice (Ref ${object.number or 'n/a' })" +msgstr "${object.company_id.name} Invoice (Ref ${object.number or 'n/a' })" + +#. module: portal_sale +#: model:ir.model,name:portal_sale.model_mail_mail +msgid "Outgoing Mails" +msgstr "Kimenő levelek" + +#. module: portal_sale +#: model:ir.actions.act_window,name:portal_sale.action_quotations_portal +#: model:ir.ui.menu,name:portal_sale.portal_quotations +msgid "Quotations" +msgstr "Árajánlatok" + +#. module: portal_sale +#: model:ir.model,name:portal_sale.model_sale_order +msgid "Sales Order" +msgstr "Vevői megrendelés" + +#. module: portal_sale +#: field:account.invoice,portal_payment_options:0 +#: field:sale.order,portal_payment_options:0 +msgid "Portal Payment Options" +msgstr "Fizetési feltételek a portálon" + +#. module: portal_sale +#: help:account.config.settings,group_payment_options:0 +msgid "" +"Show online payment options on Sale Orders and Customer Invoices to " +"employees. If not checked, these options are only visible to portal users." +msgstr "" +"Mutassa a munkavállalóknak a fizetési feltételeket a vevői megrendeléseken " +"és vevői számlákon. ha nincs bejelölve, ezek a lehetőségek kizárólag a " +"portál felhasználóknak láthatóak." + +#. module: portal_sale +#: model:ir.actions.act_window,name:portal_sale.portal_action_invoices +#: model:ir.ui.menu,name:portal_sale.portal_invoices +msgid "Invoices" +msgstr "Számlák" + +#. module: portal_sale +#: view:account.config.settings:0 +msgid "Configure payment acquiring methods" +msgstr "Fizetési beszedési mód beállítása" + +#. module: portal_sale +#: model:email.template,body_html:portal_sale.email_template_edi_invoice +msgid "" +"\n" +"
    \n" +"\n" +"

    Hello ${object.partner_id.name},

    \n" +"\n" +"

    A new invoice is available for you:

    \n" +" \n" +"

    \n" +"   REFERENCES
    \n" +"   Invoice number: ${object.number}
    \n" +"   Invoice total: ${object.amount_total} " +"${object.currency_id.name}
    \n" +"   Invoice date: ${object.date_invoice}
    \n" +" % if object.origin:\n" +"   Order reference: ${object.origin}
    \n" +" % endif\n" +" % if object.user_id:\n" +"   Your contact: ${object.user_id.name}\n" +" % endif\n" +"

    \n" +"\n" +" <% set signup_url = object.get_signup_url() %>\n" +" % if signup_url:\n" +"

    \n" +" You can access the invoice document and pay online via our Customer " +"Portal:\n" +"

    \n" +" View Invoice\n" +" % endif\n" +" \n" +" % if object.paypal_url:\n" +"
    \n" +"

    It is also possible to directly pay with Paypal:

    \n" +" \n" +" \n" +" \n" +" % endif\n" +" \n" +"
    \n" +"

    If you have any question, do not hesitate to contact us.

    \n" +"

    Thank you for choosing ${object.company_id.name or 'us'}!

    \n" +"
    \n" +"
    \n" +"
    \n" +"

    \n" +" ${object.company_id.name}

    \n" +"
    \n" +"
    \n" +" \n" +" % if object.company_id.street:\n" +" ${object.company_id.street}
    \n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}
    \n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}
    \n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % " +"object.company_id.state_id.name) or ''} ${object.company_id.country_id.name " +"or ''}
    \n" +" % endif\n" +"
    \n" +" % if object.company_id.phone:\n" +"
    \n" +" Phone:  ${object.company_id.phone}\n" +"
    \n" +" % endif\n" +" % if object.company_id.website:\n" +"
    \n" +" Web : ${object.company_id.website}\n" +"
    \n" +" % endif\n" +"

    \n" +"
    \n" +"
    \n" +" " +msgstr "" +"\n" +"
    \n" +"\n" +"

    Tisztelt${object.partner_id.name},

    \n" +"\n" +"

    Egy új számla készült Önöknek:

    \n" +" \n" +"

    \n" +"   REFERENCES
    \n" +"   Számla száma: ${object.number}
    \n" +"   Összesen kiszámlázott: ${object.amount_total} " +"${object.currency_id.name}
    \n" +"   Számla dátuma: ${object.date_invoice}
    \n" +" % if object.origin:\n" +"   Számla hivatkozás: ${object.origin}
    \n" +" % endif\n" +" % if object.user_id:\n" +"   Ön kapcsolata: ${object.user_id.name}\n" +" % endif\n" +"

    \n" +"\n" +" <% set signup_url = object.get_signup_url() %>\n" +" % if signup_url:\n" +"

    \n" +" Elérheti a számla dokumentumot és fizethet online az ügyfél " +"portálunkon:\n" +"

    \n" +" Számla megtekintése\n" +" % endif\n" +" \n" +" % if object.paypal_url:\n" +"
    \n" +"

    Lehetőség van közvetlen Paypal fizetésre:

    \n" +" \n" +" \n" +" \n" +" % endif\n" +" \n" +"
    \n" +"

    További felmerülő kérdésekben állunk szíves rendelkezésükre.

    \n" +"

    Köszönjük, hogy minket választott ${object.company_id.name or " +"'us'}!

    \n" +"
    \n" +"
    \n" +"
    \n" +"

    \n" +" ${object.company_id.name}

    \n" +"
    \n" +"
    \n" +" \n" +" % if object.company_id.street:\n" +" ${object.company_id.street}
    \n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}
    \n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}
    \n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % " +"object.company_id.state_id.name) or ''} ${object.company_id.country_id.name " +"or ''}
    \n" +" % endif\n" +"
    \n" +" % if object.company_id.phone:\n" +"
    \n" +" Phone:  ${object.company_id.phone}\n" +"
    \n" +" % endif\n" +" % if object.company_id.website:\n" +"
    \n" +" Web : ${object.company_id.website}\n" +"
    \n" +" % endif\n" +"

    \n" +"
    \n" +"
    \n" +" " + +#. module: portal_sale +#: model:ir.actions.act_window,help:portal_sale.action_orders_portal +msgid "We haven't sent you any sales order." +msgstr "Nem küldtünk semmilyen megrendelést." + +#. module: portal_sale +#: model:ir.model,name:portal_sale.model_account_invoice +msgid "Invoice" +msgstr "Számla" + +#. module: portal_sale +#: model:ir.actions.act_window,name:portal_sale.action_orders_portal +msgid "Sale Orders" +msgstr "Vevői rendelések" diff --git a/addons/portal_sale/i18n/tr.po b/addons/portal_sale/i18n/tr.po new file mode 100644 index 00000000000..491a6f93f54 --- /dev/null +++ b/addons/portal_sale/i18n/tr.po @@ -0,0 +1,344 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-02-04 14:20+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-05 04:44+0000\n" +"X-Generator: Launchpad (build 16468)\n" + +#. module: portal_sale +#: model:ir.model,name:portal_sale.model_account_config_settings +msgid "account.config.settings" +msgstr "" + +#. module: portal_sale +#: model:ir.actions.act_window,help:portal_sale.portal_action_invoices +msgid "We haven't sent you any invoice." +msgstr "" + +#. module: portal_sale +#: model:email.template,report_name:portal_sale.email_template_edi_sale +msgid "" +"${(object.name or '').replace('/','_')}_${object.state == 'draft' and " +"'draft' or ''}" +msgstr "" + +#. module: portal_sale +#: model:res.groups,name:portal_sale.group_payment_options +msgid "View Online Payment Options" +msgstr "" + +#. module: portal_sale +#: field:account.config.settings,group_payment_options:0 +msgid "Show payment buttons to employees too" +msgstr "" + +#. module: portal_sale +#: model:email.template,subject:portal_sale.email_template_edi_sale +msgid "" +"${object.company_id.name} ${object.state in ('draft', 'sent') and " +"'Quotation' or 'Order'} (Ref ${object.name or 'n/a' })" +msgstr "" + +#. module: portal_sale +#: model:ir.actions.act_window,help:portal_sale.action_quotations_portal +msgid "We haven't sent you any quotation." +msgstr "" + +#. module: portal_sale +#: model:ir.ui.menu,name:portal_sale.portal_sales_orders +msgid "Sales Orders" +msgstr "" + +#. module: portal_sale +#: model:res.groups,comment:portal_sale.group_payment_options +msgid "" +"Members of this group see the online payment options\n" +"on Sale Orders and Customer Invoices. These options are meant for customers " +"who are accessing\n" +"their documents through the portal." +msgstr "" + +#. module: portal_sale +#: model:email.template,body_html:portal_sale.email_template_edi_sale +msgid "" +"\n" +"
    \n" +"\n" +"

    Hello ${object.partner_id.name},

    \n" +" \n" +"

    Here is your ${object.state in ('draft', 'sent') and 'quotation' or " +"'order confirmation'} from ${object.company_id.name}:

    \n" +"\n" +"

    \n" +"   REFERENCES
    \n" +"   Order number: ${object.name}
    \n" +"   Order total: ${object.amount_total} " +"${object.pricelist_id.currency_id.name}
    \n" +"   Order date: ${object.date_order}
    \n" +" % if object.origin:\n" +"   Order reference: ${object.origin}
    \n" +" % endif\n" +" % if object.client_order_ref:\n" +"   Your reference: ${object.client_order_ref}
    \n" +" % endif\n" +" % if object.user_id:\n" +"   Your contact: ${object.user_id.name}\n" +" % endif\n" +"

    \n" +"\n" +" <% set signup_url = object.get_signup_url() %>\n" +" % if signup_url:\n" +"

    \n" +" You can access this document and pay online via our Customer Portal:\n" +"

    \n" +" View ${object.state in ('draft', 'sent') " +"and 'Quotation' or 'Order'}\n" +" % endif\n" +"\n" +" % if object.paypal_url:\n" +"
    \n" +"

    It is also possible to directly pay with Paypal:

    \n" +" \n" +" \n" +" \n" +" % endif\n" +"\n" +"
    \n" +"

    If you have any question, do not hesitate to contact us.

    \n" +"

    Thank you for choosing ${object.company_id.name or 'us'}!

    \n" +"
    \n" +"
    \n" +"
    \n" +"

    \n" +" ${object.company_id.name}

    \n" +"
    \n" +"
    \n" +" \n" +" % if object.company_id.street:\n" +" ${object.company_id.street}
    \n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}
    \n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}
    \n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % " +"object.company_id.state_id.name) or ''} ${object.company_id.country_id.name " +"or ''}
    \n" +" % endif\n" +"
    \n" +" % if object.company_id.phone:\n" +"
    \n" +" Phone:  ${object.company_id.phone}\n" +"
    \n" +" % endif\n" +" % if object.company_id.website:\n" +"
    \n" +" Web : ${object.company_id.website}\n" +"
    \n" +" % endif\n" +"

    \n" +"
    \n" +"
    \n" +" " +msgstr "" + +#. module: portal_sale +#: model:email.template,report_name:portal_sale.email_template_edi_invoice +msgid "" +"Invoice_${(object.number or '').replace('/','_')}_${object.state == 'draft' " +"and 'draft' or ''}" +msgstr "" + +#. module: portal_sale +#: model:email.template,subject:portal_sale.email_template_edi_invoice +msgid "${object.company_id.name} Invoice (Ref ${object.number or 'n/a' })" +msgstr "" + +#. module: portal_sale +#: model:ir.model,name:portal_sale.model_mail_mail +msgid "Outgoing Mails" +msgstr "" + +#. module: portal_sale +#: model:ir.actions.act_window,name:portal_sale.action_quotations_portal +#: model:ir.ui.menu,name:portal_sale.portal_quotations +msgid "Quotations" +msgstr "" + +#. module: portal_sale +#: model:ir.model,name:portal_sale.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: portal_sale +#: field:account.invoice,portal_payment_options:0 +#: field:sale.order,portal_payment_options:0 +msgid "Portal Payment Options" +msgstr "" + +#. module: portal_sale +#: help:account.config.settings,group_payment_options:0 +msgid "" +"Show online payment options on Sale Orders and Customer Invoices to " +"employees. If not checked, these options are only visible to portal users." +msgstr "" + +#. module: portal_sale +#: model:ir.actions.act_window,name:portal_sale.portal_action_invoices +#: model:ir.ui.menu,name:portal_sale.portal_invoices +msgid "Invoices" +msgstr "" + +#. module: portal_sale +#: view:account.config.settings:0 +msgid "Configure payment acquiring methods" +msgstr "" + +#. module: portal_sale +#: model:email.template,body_html:portal_sale.email_template_edi_invoice +msgid "" +"\n" +"
    \n" +"\n" +"

    Hello ${object.partner_id.name},

    \n" +"\n" +"

    A new invoice is available for you:

    \n" +" \n" +"

    \n" +"   REFERENCES
    \n" +"   Invoice number: ${object.number}
    \n" +"   Invoice total: ${object.amount_total} " +"${object.currency_id.name}
    \n" +"   Invoice date: ${object.date_invoice}
    \n" +" % if object.origin:\n" +"   Order reference: ${object.origin}
    \n" +" % endif\n" +" % if object.user_id:\n" +"   Your contact: ${object.user_id.name}\n" +" % endif\n" +"

    \n" +"\n" +" <% set signup_url = object.get_signup_url() %>\n" +" % if signup_url:\n" +"

    \n" +" You can access the invoice document and pay online via our Customer " +"Portal:\n" +"

    \n" +" View Invoice\n" +" % endif\n" +" \n" +" % if object.paypal_url:\n" +"
    \n" +"

    It is also possible to directly pay with Paypal:

    \n" +" \n" +" \n" +" \n" +" % endif\n" +" \n" +"
    \n" +"

    If you have any question, do not hesitate to contact us.

    \n" +"

    Thank you for choosing ${object.company_id.name or 'us'}!

    \n" +"
    \n" +"
    \n" +"
    \n" +"

    \n" +" ${object.company_id.name}

    \n" +"
    \n" +"
    \n" +" \n" +" % if object.company_id.street:\n" +" ${object.company_id.street}
    \n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}
    \n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}
    \n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % " +"object.company_id.state_id.name) or ''} ${object.company_id.country_id.name " +"or ''}
    \n" +" % endif\n" +"
    \n" +" % if object.company_id.phone:\n" +"
    \n" +" Phone:  ${object.company_id.phone}\n" +"
    \n" +" % endif\n" +" % if object.company_id.website:\n" +"
    \n" +" Web : ${object.company_id.website}\n" +"
    \n" +" % endif\n" +"

    \n" +"
    \n" +"
    \n" +" " +msgstr "" + +#. module: portal_sale +#: model:ir.actions.act_window,help:portal_sale.action_orders_portal +msgid "We haven't sent you any sales order." +msgstr "" + +#. module: portal_sale +#: model:ir.model,name:portal_sale.model_account_invoice +msgid "Invoice" +msgstr "" + +#. module: portal_sale +#: model:ir.actions.act_window,name:portal_sale.action_orders_portal +msgid "Sale Orders" +msgstr "" diff --git a/addons/process/i18n/hu.po b/addons/process/i18n/hu.po index fd4bd6b2f18..5a0cf81a6d2 100644 --- a/addons/process/i18n/hu.po +++ b/addons/process/i18n/hu.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2011-02-04 15:08+0000\n" -"Last-Translator: Krisztian Eyssen \n" +"PO-Revision-Date: 2013-02-01 10:21+0000\n" +"Last-Translator: krnkris \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-12-22 05:27+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-02-02 05:07+0000\n" +"X-Generator: Launchpad (build 16462)\n" #. module: process #: model:ir.model,name:process.model_process_node @@ -40,7 +40,7 @@ msgstr "Kapcsolódó menü" #. module: process #: selection:process.node,kind:0 msgid "Status" -msgstr "" +msgstr "Állapot" #. module: process #: field:process.transition,action_ids:0 @@ -138,7 +138,7 @@ msgstr "Munkafolyamat átmenetek" #: code:addons/process/static/src/xml/process.xml:39 #, python-format msgid "Last modified by:" -msgstr "" +msgstr "Utoljára módosította:" #. module: process #: field:process.transition.action,action:0 @@ -150,7 +150,7 @@ msgstr "Művelet ID" #: code:addons/process/static/src/xml/process.xml:7 #, python-format msgid "Process View" -msgstr "" +msgstr "Folyamat nézet" #. module: process #: model:ir.model,name:process.model_process_transition @@ -198,7 +198,7 @@ msgstr "Átmenetek indítása" #: code:addons/process/static/src/xml/process.xml:54 #, python-format msgid "Related:" -msgstr "" +msgstr "Kapcsolódó:" #. module: process #: view:process.node:0 @@ -214,14 +214,14 @@ msgstr "Megjegyzések" #: code:addons/process/static/src/xml/process.xml:88 #, python-format msgid "Edit Process" -msgstr "" +msgstr "Folymat szerkesztés" #. module: process #. openerp-web #: code:addons/process/static/src/xml/process.xml:39 #, python-format msgid "N/A" -msgstr "" +msgstr "Nem elérhető" #. module: process #: view:process.process:0 @@ -253,7 +253,7 @@ msgstr "Művelet" #: code:addons/process/static/src/xml/process.xml:67 #, python-format msgid "Select Process" -msgstr "" +msgstr "Folyamat kiválasztása" #. module: process #: field:process.condition,model_states:0 @@ -340,7 +340,7 @@ msgstr "Csomópont típusa" #: code:addons/process/static/src/xml/process.xml:42 #, python-format msgid "Subflows:" -msgstr "" +msgstr "Alfolyamatok:" #. module: process #: view:process.node:0 @@ -353,7 +353,7 @@ msgstr "Kimenő átmenetek" #: code:addons/process/static/src/xml/process.xml:36 #, python-format msgid "Notes:" -msgstr "" +msgstr "Mejegyzés" #. module: process #: selection:process.node,kind:0 @@ -377,7 +377,7 @@ msgstr "Tárgy módszer" #: code:addons/process/static/src/xml/process.xml:77 #, python-format msgid "Select" -msgstr "" +msgstr "Kiválasztás" #~ msgid "State" #~ msgstr "Állapot" diff --git a/addons/procurement/i18n/hu.po b/addons/procurement/i18n/hu.po index 7939157cc0e..f01420e2415 100644 --- a/addons/procurement/i18n/hu.po +++ b/addons/procurement/i18n/hu.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2011-02-04 15:02+0000\n" -"Last-Translator: Krisztian Eyssen \n" +"PO-Revision-Date: 2013-02-05 19:13+0000\n" +"Last-Translator: krnkris \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-12-22 05:59+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-02-06 05:14+0000\n" +"X-Generator: Launchpad (build 16468)\n" #. module: procurement #: model:ir.ui.menu,name:procurement.menu_stock_sched @@ -24,7 +24,7 @@ msgstr "Ütemezések" #. module: procurement #: model:ir.model,name:procurement.model_make_procurement msgid "Make Procurements" -msgstr "" +msgstr "Beszerzések létrehozása" #. module: procurement #: help:procurement.order.compute.all,automatic:0 @@ -33,6 +33,9 @@ msgid "" "under 0. You should probably not use this option, we suggest using a MTO " "configuration on products." msgstr "" +"Automatikus beszerzést kapcsol az összes 0 alatti virtuális raktárú " +"termékre. Nem kellene használnia ezt a lehetőséget, ha használja a " +"Rendelésre feladás beállítást ehhez a termékhez." #. module: procurement #: view:stock.warehouse.orderpoint:0 @@ -43,6 +46,7 @@ msgstr "Csoportosítás..." #: help:stock.warehouse.orderpoint,procurement_draft_ids:0 msgid "Draft procurement of the product and location of that orderpoint" msgstr "" +"A termékre és termékhelyre tervezet beszerzés, ehhez a megrendelési ponthoz." #. module: procurement #: view:product.product:0 @@ -50,6 +54,8 @@ msgid "" "required quantities are always\n" " available" msgstr "" +"igényelt mennyiség mindig\n" +" elérhető" #. module: procurement #: view:product.product:0 @@ -59,6 +65,11 @@ msgid "" "inventory, you should\n" " create others rules like orderpoints." msgstr "" +"Ha nincs elegendő elérhető mennyiség, a kiszállítási kézbesítési bizonylat " +"új\n" +" termékekre fog várni. A készlet kielégítésére, " +"más szabályokat\n" +" kell létrehoznia, mint megrendelési pontok." #. module: procurement #: field:procurement.order,procure_method:0 @@ -69,7 +80,7 @@ msgstr "Beszerzési módszer" #. module: procurement #: selection:product.template,supply_method:0 msgid "Manufacture" -msgstr "" +msgstr "Gyártás" #. module: procurement #: model:process.process,name:procurement.process_process_serviceproductprocess0 @@ -79,12 +90,12 @@ msgstr "Szolgáltatás" #. module: procurement #: model:ir.actions.act_window,name:procurement.action_procurement_compute msgid "Compute Stock Minimum Rules Only" -msgstr "" +msgstr "Szükséglet számítás minimum készlet szabály szerint" #. module: procurement #: view:stock.warehouse.orderpoint:0 msgid "Rules" -msgstr "" +msgstr "Szabályok" #. module: procurement #: field:procurement.order,company_id:0 @@ -95,7 +106,7 @@ msgstr "Vállalat" #. module: procurement #: field:procurement.order,product_uos_qty:0 msgid "UoS Quantity" -msgstr "" +msgstr "Eladási mértékegység menynisége" #. module: procurement #: view:procurement.order:0 @@ -105,7 +116,7 @@ msgstr "Ok" #. module: procurement #: view:procurement.order.compute:0 msgid "Compute Procurements" -msgstr "" +msgstr "Beszerzés számítás" #. module: procurement #: field:procurement.order,message:0 @@ -115,12 +126,12 @@ msgstr "Legutolsó hiba" #. module: procurement #: field:stock.warehouse.orderpoint,product_min_qty:0 msgid "Minimum Quantity" -msgstr "" +msgstr "Minimum mennyiség" #. module: procurement #: help:mrp.property,composition:0 msgid "Not used in computations, for information purpose only." -msgstr "" +msgstr "Nem használt a számításhoz, csak információként szolgál." #. module: procurement #: field:stock.warehouse.orderpoint,procurement_id:0 @@ -137,36 +148,42 @@ msgid "" "will generate a procurement request to increase the stock up to the maximum " "quantity." msgstr "" +"Minimum készlet szabályt tud meghatározni, így az OpenERP automatikusan " +"fogja létrehozni a gyártási megrendelés tervezeteket vagy beszerzési " +"megrendeléseket a raktárkészlet alapján. Ha egyszer a terméknek a virtuális " +"készlete (= készleten lévő mínusz minden visszaigazolt megrendelés és " +"lefoglalások) a minimum mennyiség alatt vannak, OpenERP beszerzési igényt " +"fog generálni a raktárkészlet növeléséhez egészen a maximum mennyiségig." #. module: procurement #: field:procurement.order,message_ids:0 msgid "Messages" -msgstr "" +msgstr "Üzenetek" #. module: procurement #: help:procurement.order,message:0 msgid "Exception occurred while computing procurement orders." -msgstr "" +msgstr "Kizárás történt a beszerzés számítása közben." #. module: procurement #: view:product.product:0 msgid "Products" -msgstr "" +msgstr "Termékek" #. module: procurement #: selection:procurement.order,state:0 msgid "Cancelled" -msgstr "" +msgstr "Visszavont" #. module: procurement #: view:procurement.order:0 msgid "Permanent Procurement Exceptions" -msgstr "" +msgstr "Állandó beszerzés kizárások" #. module: procurement #: help:procurement.order,message_unread:0 msgid "If checked new messages require your attention." -msgstr "" +msgstr "Ha be van jelölve, akkor figyelje az új üzeneteket." #. module: procurement #: view:procurement.order.compute.all:0 @@ -181,13 +198,13 @@ msgstr "Készletmozgás" #. module: procurement #: view:product.product:0 msgid "Stockable products" -msgstr "" +msgstr "Raktározható termékek" #. module: procurement #: code:addons/procurement/procurement.py:137 #, python-format msgid "Invalid Action!" -msgstr "" +msgstr "Érvénytelen lépés!" #. module: procurement #: help:procurement.order,message_summary:0 @@ -195,6 +212,8 @@ msgid "" "Holds the Chatter summary (number of messages, ...). This summary is " "directly in html format in order to be inserted in kanban views." msgstr "" +"A chettelés összegzést megállítja (üzenetek száma,...). Ez az összegzés " +"direkt HTML formátumú ahhoz hogy beilleszthető legyen a kanban nézetekbe." #. module: procurement #: selection:procurement.order,state:0 @@ -204,7 +223,7 @@ msgstr "Kész" #. module: procurement #: field:procurement.order.compute.all,automatic:0 msgid "Automatic orderpoint" -msgstr "" +msgstr "Automatikus megrendelés pontja" #. module: procurement #: model:ir.actions.act_window,help:procurement.procurement_exceptions @@ -223,6 +242,20 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" Beszerzési megrendelés képviseli a termékek bizonyos " +"mennyiségi igényét, egy megadott időben, a megadott helyen. Vevői " +"megrendelések tipikus forrásai a beszerzési megrendeléseknek (de ezek " +"különálló dokumentumok). A beszerzési paraméterektől és a termék " +"beállításától függően, a beszerzési motor kísérletet tesz a kérésnek eleget " +"tenni a termék készletről való visszahívásával, a termék beszállítótól való " +"rendelésével, vagy egy gyártási megrendelés kiállításával, stb. Egy " +"beszerzési kifogás történhet ha a rendszer nem talál módot az igény " +"kielégítésére. Egyes kifogások saját maguktól megoldódnak automatikusan, de " +"mások kézi beavatkozást igényelnek (ezeket egy sajátos hiba üzenet " +"azonosítja).\n" +"

    \n" +" " #. module: procurement #: selection:procurement.order,state:0 @@ -248,7 +281,7 @@ msgstr "Megerősítés" #. module: procurement #: view:stock.warehouse.orderpoint:0 msgid "Quantity Multiple" -msgstr "" +msgstr "Mennyiség sokszorozás" #. module: procurement #: help:procurement.order,origin:0 @@ -256,11 +289,13 @@ msgid "" "Reference of the document that created this Procurement.\n" "This is automatically completed by OpenERP." msgstr "" +"Ezt a beszerzést létrehozó dokumentumnak a hivatkozása.\n" +"Ezt az OpenERP automatikusan kitöltötte." #. module: procurement #: view:stock.warehouse.orderpoint:0 msgid "Procurement Orders to Process" -msgstr "" +msgstr "Beszerzési utasítások végrehajtásra" #. module: procurement #: model:ir.model,name:procurement.model_stock_warehouse_orderpoint @@ -271,7 +306,7 @@ msgstr "Minimum készlet szabály" #: code:addons/procurement/procurement.py:369 #, python-format msgid "Procurement '%s' is in exception: " -msgstr "" +msgstr "Beszerzés '%s' kifogásolva van: " #. module: procurement #: field:procurement.order,priority:0 @@ -281,7 +316,7 @@ msgstr "Prioritás" #. module: procurement #: view:stock.warehouse.orderpoint:0 msgid "Reordering Rules Search" -msgstr "" +msgstr "Újrerendelési szabályok keresése" #. module: procurement #: selection:procurement.order,state:0 @@ -291,7 +326,7 @@ msgstr "Várakozó" #. module: procurement #: field:procurement.order,message_follower_ids:0 msgid "Followers" -msgstr "" +msgstr "Követők" #. module: procurement #: field:procurement.order,location_id:0 @@ -321,17 +356,17 @@ msgstr "Legjobb ár (még nem aktív!)" #: code:addons/procurement/schedulers.py:110 #, python-format msgid "PROC %d: from stock - %3.2f %-5s - %s" -msgstr "" +msgstr "PROC %d: raktárról - %3.2f %-5s - %s" #. module: procurement #: model:ir.model,name:procurement.model_procurement_order_compute msgid "Compute Procurement" -msgstr "" +msgstr "Beszerzés számítás" #. module: procurement #: field:res.company,schedule_range:0 msgid "Scheduler Range Days" -msgstr "" +msgstr "Ütemterv tartomány nanjai" #. module: procurement #: view:make.procurement:0 @@ -359,6 +394,7 @@ msgstr "Mennyiség" #, python-format msgid "Not enough stock and no minimum orderpoint rule defined." msgstr "" +"Nincs definiálva elegendő készlet és mimimum megrendelés pontja szabály." #. module: procurement #: field:make.procurement,uom_id:0 @@ -370,7 +406,7 @@ msgstr "Mértékegység" #: selection:procurement.order,procure_method:0 #: selection:product.template,procure_method:0 msgid "Make to Stock" -msgstr "" +msgstr "Beszerzés készletből" #. module: procurement #: model:ir.actions.act_window,help:procurement.procurement_action @@ -392,6 +428,23 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" Kattintson beszerzési megrendelés létrehozásához. \n" +"

    \n" +" A beszerzési megrendelést a konkrét helyen és konkrét " +"termék\n" +" igényének rögzítésére használják. A beszerzési " +"megrendelések\n" +" általában automatikusan létrehozottak megrendelésekből, " +"kihúzási \n" +" logisztikából vagy minimum készlet szabályokból.\n" +"

    \n" +" Beszerzési megrendelés visszaigazolása után, automatikusan\n" +" létrehozza a szükséges műveleteket az igény kielégítéséhez: " +"beszerzési\n" +" megrendelés javaslat, gyártási megrendelés, stb.\n" +"

    \n" +" " #. module: procurement #: help:procurement.order,procure_method:0 @@ -399,6 +452,8 @@ msgid "" "If you encode manually a Procurement, you probably want to use a make to " "order method." msgstr "" +"Ha kézzel viszi be a beszerzési megrendelést, akkor biztosan a készlet a " +"gyártásból módszert használja." #. module: procurement #: model:ir.ui.menu,name:procurement.menu_stock_procurement @@ -411,6 +466,8 @@ msgid "" "use the available\n" " inventory" msgstr "" +"használja az elérhető\n" +" készletet" #. module: procurement #: model:ir.model,name:procurement.model_procurement_order @@ -427,7 +484,7 @@ msgstr "Beszerzési megrendelések" #. module: procurement #: view:procurement.order:0 msgid "To Fix" -msgstr "" +msgstr "Rögzít" #. module: procurement #: view:procurement.order:0 @@ -437,33 +494,33 @@ msgstr "Kivételek" #. module: procurement #: model:process.node,note:procurement.process_node_serviceonorder0 msgid "Assignment from Production or Purchase Order." -msgstr "" +msgstr "Ellátás gyártási vagy beszerzési megrendelésből." #. module: procurement #: model:ir.model,name:procurement.model_mrp_property msgid "Property" -msgstr "" +msgstr "Tulajdonság" #. module: procurement #: model:ir.actions.act_window,name:procurement.act_make_procurement #: view:make.procurement:0 msgid "Procurement Request" -msgstr "" +msgstr "Beszerzési igény" #. module: procurement #: view:procurement.orderpoint.compute:0 msgid "Compute Stock" -msgstr "" +msgstr "Készlet számítás" #. module: procurement #: field:stock.warehouse.orderpoint,procurement_draft_ids:0 msgid "Related Procurement Orders" -msgstr "" +msgstr "Kapcsolódó beszerzési megrendelések" #. module: procurement #: field:procurement.order,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "Olvasatlan üzenetek" #. module: procurement #: selection:mrp.property,composition:0 @@ -483,6 +540,15 @@ msgid "" " It is in 'Waiting'. status when the procurement is waiting for another one " "to finish." msgstr "" +"Ha egy beszerzést rögzít akkor annak állapota a 'Terv' lesz.\n" +" Ha a beszerzés visszaigazolt, az állapot be lesz állítva mint " +"'Visszaigazolt'. \n" +"A visszaigazolás után az állapot be lesz állítva mint 'Folyamatban'.\n" +" Ha valamilyen kifogás van a megrendelésben az állapot be lesz állítva mint " +"'Kifogásolva'.\n" +" Miután a kifogás meg lett oldva és eltávolítva az állapot be lesz állítva " +"mint 'Kész'.\n" +" 'Várakozik' állapotban van, ha a beszerzés egy másik befejezésére vár." #. module: procurement #: help:stock.warehouse.orderpoint,active:0 @@ -490,6 +556,8 @@ msgid "" "If the active field is set to False, it will allow you to hide the " "orderpoint without removing it." msgstr "" +"Ha az aktív mező hamisra állított, akkor lehetősége van a megrendelési " +"pontot eltüntetni, annak törlése nélkül." #. module: procurement #: view:product.product:0 @@ -499,17 +567,23 @@ msgid "" "procurement method as\n" " 'Make to Stock'." msgstr "" +"Ha értékesíti ezt a szolgáltatást, nem lesz különösebb kapcsolás " +"végrehajtva\n" +" szállítva lesz a vevőnek, a beszerzési módban " +"beállítottak szerint mint\n" +" 'Beszerzés készletből'." #. module: procurement #: help:procurement.orderpoint.compute,automatic:0 msgid "If the stock of a product is under 0, it will act like an orderpoint" msgstr "" +"Ha a termék készlete 0 alatti, akkor az úgy működik mint megrendelési pont" #. module: procurement #: field:procurement.order,product_uom:0 #: field:stock.warehouse.orderpoint,product_uom:0 msgid "Product Unit of Measure" -msgstr "" +msgstr "Termék mértékegysége" #. module: procurement #: constraint:stock.warehouse.orderpoint:0 @@ -517,6 +591,8 @@ msgid "" "You have to select a product unit of measure in the same category than the " "default unit of measure of the product" msgstr "" +"Ki kell választania a termék mértékegységét ugyanabból a kategóriából mint a " +"termék alapértelmezett mértékegysége" #. module: procurement #: view:procurement.order:0 @@ -529,6 +605,8 @@ msgid "" "as it's a consumable (as a result of this, the quantity\n" " on hand may become negative)." msgstr "" +"mivel ez fogyasztási cikk (ennek eredményeképpen, a készlet\n" +" mennyiség negatív lehet ezután)." #. module: procurement #: field:procurement.order,note:0 @@ -542,6 +620,9 @@ msgid "" "OpenERP generates a procurement to bring the forecasted quantity to the Max " "Quantity." msgstr "" +"Ha a virtuális készlet kevesebb lesz mint az ehhez a mezőhöz tartozó Min " +"mennyiség, OpenERP generálni fog egy beszerzést ahhoz, hogy az előzetes " +"mennyiséget Max mennyiségbe emelje." #. module: procurement #: selection:procurement.order,state:0 @@ -553,12 +634,12 @@ msgstr "Tervezet" #: model:ir.ui.menu,name:procurement.menu_stock_proc_schedulers #: view:procurement.order.compute.all:0 msgid "Run Schedulers" -msgstr "" +msgstr "Ütemezők futtatása" #. module: procurement #: view:procurement.order.compute:0 msgid "This wizard will schedule procurements." -msgstr "" +msgstr "Ez a varázsló ütemezni fogja a beszerzéseket" #. module: procurement #: view:procurement.order:0 @@ -569,12 +650,12 @@ msgstr "Állapot" #. module: procurement #: selection:product.template,supply_method:0 msgid "Buy" -msgstr "" +msgstr "Vásárlás" #. module: procurement #: view:product.product:0 msgid "for the delivery order." -msgstr "" +msgstr "a megrendeléshez." #. module: procurement #: selection:procurement.order,priority:0 @@ -588,22 +669,25 @@ msgid "" "will be generated, depending on the product type. \n" "Buy: When procuring the product, a purchase order will be generated." msgstr "" +"Gyártás: Ha a terméket gyártja, egy gyártási megrendelés vagy munka " +"megrendelés lesz generálva, a termék típusától függően. \n" +"Vásárlás: Ha beszerezi a terméket, egy megrendelés lesz generálva." #. module: procurement #: field:stock.warehouse.orderpoint,product_max_qty:0 msgid "Maximum Quantity" -msgstr "" +msgstr "Maximális mennyiség" #. module: procurement #: field:procurement.order,message_is_follower:0 msgid "Is a Follower" -msgstr "" +msgstr "Ez egy követő" #. module: procurement #: code:addons/procurement/procurement.py:366 #, python-format msgid "Not enough stock." -msgstr "" +msgstr "Nincs elég készlet." #. module: procurement #: field:stock.warehouse.orderpoint,active:0 @@ -622,6 +706,8 @@ msgid "" "Please check the quantity in procurement order(s) for the product \"%s\", it " "should not be 0 or less!" msgstr "" +"Kérem ellenőrizze a beszerzési megrendelése(ke)n a mennyiséget erre a " +"termékre \"%s\", nem lehet 0 vagy kisebb!" #. module: procurement #: field:procurement.order,date_planned:0 @@ -639,17 +725,20 @@ msgid "" "When you sell this product, a delivery order will be created.\n" " OpenERP will consider that the" msgstr "" +"Ha értékesíti ezt a terméket, egy kézbesítési kiszállítási jegy lesz " +"létrehozva.\n" +" OpenERP úgy fogja tekinteni mint" #. module: procurement #: code:addons/procurement/schedulers.py:133 #, python-format msgid "Automatic OP: %s" -msgstr "" +msgstr "Automatikus megrendelési pont: %s" #. module: procurement #: model:ir.model,name:procurement.model_procurement_orderpoint_compute msgid "Automatic Order Point" -msgstr "" +msgstr "Automatikus megrendelési pont" #. module: procurement #: field:stock.warehouse.orderpoint,qty_multiple:0 @@ -659,7 +748,7 @@ msgstr "Rendelési egység" #. module: procurement #: help:stock.warehouse.orderpoint,qty_multiple:0 msgid "The procurement quantity will be rounded up to this multiple." -msgstr "" +msgstr "A beszerzési mennyiség kerekítve lesz eddig a sokszorosig." #. module: procurement #: model:ir.model,name:procurement.model_res_company @@ -674,17 +763,17 @@ msgstr "Extra információ" #. module: procurement #: field:procurement.order,message_summary:0 msgid "Summary" -msgstr "" +msgstr "Összegzés" #. module: procurement #: sql_constraint:stock.warehouse.orderpoint:0 msgid "Qty Multiple must be greater than zero." -msgstr "" +msgstr "Mennyiség sokszorosnak nagyobbnak kell lenninie mint nulla." #. module: procurement #: selection:stock.warehouse.orderpoint,logic:0 msgid "Order to Max" -msgstr "" +msgstr "Maximumig rendelés" #. module: procurement #: field:procurement.order,date_close:0 @@ -694,7 +783,7 @@ msgstr "Lezárás dátuma" #. module: procurement #: view:res.company:0 msgid "Logistics" -msgstr "" +msgstr "Logisztika" #. module: procurement #: help:product.template,procure_method:0 @@ -703,11 +792,15 @@ msgid "" "for replenishment. \n" "Make to Order: When needed, the product is purchased or produced." msgstr "" +"Beszerzés készletből: Ha szükség van rá, a termék a raktár készletről vagy " +"megvárja a feltöltést. \n" +"Beszerzés megrendelésből/vásárlásból: Ha szükség van rá, a termék meg lesz " +"vásárolva vagy termelve lesz." #. module: procurement #: field:mrp.property,composition:0 msgid "Properties composition" -msgstr "" +msgstr "Összetételek tulajdonságai" #. module: procurement #: code:addons/procurement/procurement.py:310 @@ -720,7 +813,7 @@ msgstr "Elégtelen adat !" #: field:mrp.property,group_id:0 #: field:mrp.property.group,name:0 msgid "Property Group" -msgstr "" +msgstr "Tulajdonságcsoport" #. module: procurement #: view:stock.warehouse.orderpoint:0 @@ -735,7 +828,7 @@ msgstr "Beszerzések" #. module: procurement #: view:procurement.order:0 msgid "Run Procurement" -msgstr "" +msgstr "Beszerzés fut" #. module: procurement #: selection:procurement.order,state:0 @@ -749,12 +842,12 @@ msgstr "Kész" #: view:procurement.order.compute.all:0 #: view:procurement.orderpoint.compute:0 msgid "Cancel" -msgstr "" +msgstr "Mégsem" #. module: procurement #: field:stock.warehouse.orderpoint,logic:0 msgid "Reordering Mode" -msgstr "" +msgstr "Újrarendelési mód" #. module: procurement #: field:procurement.order,origin:0 @@ -770,7 +863,7 @@ msgstr "Nem sürgős" #: model:ir.actions.act_window,name:procurement.product_open_orderpoint #: view:product.product:0 msgid "Orderpoints" -msgstr "" +msgstr "Megrendelési pont" #. module: procurement #: help:stock.warehouse.orderpoint,product_max_qty:0 @@ -779,11 +872,14 @@ msgid "" "procurement to bring the forecasted quantity to the Quantity specified as " "Max Quantity." msgstr "" +"Ha a virtuális készlet a Min mennyiség alá csökken, OpenERP beszerzést " +"generál, hogy visszaállítsa az előrejelzett mennyiséget a Max mennyiségben " +"beállított értékre." #. module: procurement #: model:ir.model,name:procurement.model_procurement_order_compute_all msgid "Compute all schedulers" -msgstr "" +msgstr "Összes ütemező futtatása" #. module: procurement #: view:procurement.order:0 @@ -793,7 +889,7 @@ msgstr "Később" #. module: procurement #: view:board.board:0 msgid "Procurements in Exception" -msgstr "" +msgstr "Beszerzések kifogásolásban" #. module: procurement #: model:ir.actions.act_window,name:procurement.procurement_action5 @@ -802,7 +898,7 @@ msgstr "" #: model:ir.ui.menu,name:procurement.menu_stock_procurement_action #: view:procurement.order:0 msgid "Procurement Exceptions" -msgstr "" +msgstr "Beszerzési kifogások" #. module: procurement #: field:product.product,orderpoint_ids:0 @@ -819,11 +915,17 @@ msgid "" "order or\n" " a new task." msgstr "" +"Ennek kitöltésével erre a termékre beszerzési igényt indít.\n" +" A termék beállítása szerint, kapcsolhat egy " +"beszerzési\n" +" megrendelés tervet, egy gyártási megrendelést vagy " +"egy\n" +" új munkát." #. module: procurement #: field:procurement.order,close_move:0 msgid "Close Move at end" -msgstr "" +msgstr "A beszerzés végén bezárja" #. module: procurement #: view:procurement.order:0 @@ -859,19 +961,19 @@ msgstr "Sürgős" #. module: procurement #: selection:procurement.order,state:0 msgid "Running" -msgstr "" +msgstr "Folyamatban" #. module: procurement #: model:process.node,name:procurement.process_node_serviceonorder0 #: selection:procurement.order,procure_method:0 #: selection:product.template,procure_method:0 msgid "Make to Order" -msgstr "Rendelésre gyártás/vásárlás" +msgstr "Beszerzés megrendelésből/vásárlásból" #. module: procurement #: field:product.template,supply_method:0 msgid "Supply Method" -msgstr "" +msgstr "Ellátás módja" #. module: procurement #: field:procurement.order,move_id:0 @@ -886,12 +988,12 @@ msgstr "A beszerzési út függ a termék típusától." #. module: procurement #: view:product.product:0 msgid "When you sell this product, OpenERP will" -msgstr "" +msgstr "Ha értékesíti ezt a terméket, akkor az OpenERP fogja" #. module: procurement #: view:procurement.order:0 msgid "Temporary Procurement Exceptions" -msgstr "" +msgstr "Ideiglenes beszerzési kifogások" #. module: procurement #: field:mrp.property,name:0 @@ -911,13 +1013,15 @@ msgstr "max." #: model:ir.ui.menu,name:procurement.menu_stock_order_points #: view:stock.warehouse.orderpoint:0 msgid "Reordering Rules" -msgstr "" +msgstr "Újrarendelési szabályok" #. module: procurement #: code:addons/procurement/procurement.py:138 #, python-format msgid "Cannot delete Procurement Order(s) which are in %s state." msgstr "" +"Nem tudja törölni a beszerzési megrendelés(eke)t melyek a %s állapotban " +"vannak." #. module: procurement #: field:procurement.order,product_uos:0 @@ -927,13 +1031,15 @@ msgstr "Termék eladási egysége" #. module: procurement #: model:ir.model,name:procurement.model_product_template msgid "Product Template" -msgstr "" +msgstr "Terméksablon" #. module: procurement #: view:procurement.orderpoint.compute:0 msgid "" "Wizard checks all the stock minimum rules and generate procurement order." msgstr "" +"A varázsló ellenőrzi az összes raktár készlet minimum szabályt és beszerzési " +"megrendelést generál." #. module: procurement #: view:procurement.order:0 @@ -947,6 +1053,9 @@ msgid "" "procurements. All procurements that are not between today and today+range " "are skipped for future computation." msgstr "" +"Ez az az időkeret amit az időzítő elemez a beszerezés számításánál. Azok a " +"beszerzések melyek nincsenek a mai nap és a mai nap + tartomány között, azok " +"át lesznek lépve és ki lesznek számolva a jövőben." #. module: procurement #: selection:procurement.order,priority:0 @@ -956,22 +1065,22 @@ msgstr "Nagyon sürgős" #. module: procurement #: field:procurement.orderpoint.compute,automatic:0 msgid "Automatic Orderpoint" -msgstr "" +msgstr "Automatikus megrendelési pont" #. module: procurement #: help:procurement.order,message_ids:0 msgid "Messages and communication history" -msgstr "" +msgstr "Üzenetek és kommunikáció történet" #. module: procurement #: view:procurement.order:0 msgid "Procurement started late" -msgstr "" +msgstr "A beszerzés később indult" #. module: procurement #: selection:mrp.property,composition:0 msgid "min" -msgstr "" +msgstr "perc" #. module: procurement #: view:make.procurement:0 @@ -979,30 +1088,30 @@ msgstr "" #: view:procurement.order.compute.all:0 #: view:procurement.orderpoint.compute:0 msgid "or" -msgstr "" +msgstr "vagy" #. module: procurement #: code:addons/procurement/schedulers.py:134 #, python-format msgid "SCHEDULER" -msgstr "" +msgstr "ÜTEMEZŐ" #. module: procurement #: view:product.product:0 msgid "Request Procurement" -msgstr "" +msgstr "Beszerzési igény" #. module: procurement #: code:addons/procurement/schedulers.py:87 #, python-format msgid "PROC %d: on order - %3.2f %-5s - %s" -msgstr "" +msgstr "PROC %d: megrendelésen - %3.2f %-5s - %s" #. module: procurement #: code:addons/procurement/procurement.py:338 #, python-format msgid "Products reserved from stock." -msgstr "" +msgstr "Termék a raktárkészletről foglalva." #~ msgid "Configuration" #~ msgstr "Beállítások" diff --git a/addons/procurement/procurement.py b/addons/procurement/procurement.py index 50efe0f500e..1ccc08236c7 100644 --- a/addons/procurement/procurement.py +++ b/addons/procurement/procurement.py @@ -103,7 +103,7 @@ class procurement_order(osv.osv): readonly=True, required=True, help="If you encode manually a Procurement, you probably want to use" \ " a make to order method."), 'note': fields.text('Note'), - 'message': fields.char('Latest error', size=124, help="Exception occurred while computing procurement orders."), + 'message': fields.char('Latest error', help="Exception occurred while computing procurement orders."), 'state': fields.selection([ ('draft','Draft'), ('cancel','Cancelled'), @@ -367,10 +367,22 @@ class procurement_order(osv.osv): if message: message = _("Procurement '%s' is in exception: ") % (procurement.name) + message - cr.execute('update procurement_order set message=%s where id=%s', (message, procurement.id)) + #temporary context passed in write to prevent an infinite loop + ctx_wkf = dict(context or {}) + ctx_wkf['workflow.trg_write.%s' % self._name] = False + self.write(cr, uid, [procurement.id], {'message': message},context=ctx_wkf) self.message_post(cr, uid, [procurement.id], body=message, context=context) return ok + def _workflow_trigger(self, cr, uid, ids, trigger, context=None): + """ Don't trigger workflow for the element specified in trigger + """ + wkf_op_key = 'workflow.%s.%s' % (trigger, self._name) + if context and not context.get(wkf_op_key, True): + # make sure we don't have a trigger loop while processing triggers + return + return super(procurement_order,self)._workflow_trigger(cr, uid, ids, trigger, context=context) + def action_produce_assign_service(self, cr, uid, ids, context=None): """ Changes procurement state to Running. @return: True diff --git a/addons/product/i18n/hu.po b/addons/product/i18n/hu.po index f5161ada752..3848766dac0 100644 --- a/addons/product/i18n/hu.po +++ b/addons/product/i18n/hu.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev_rc3\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2013-01-31 20:09+0000\n" +"PO-Revision-Date: 2013-02-01 10:19+0000\n" "Last-Translator: krnkris \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: 2013-02-01 04:47+0000\n" -"X-Generator: Launchpad (build 16455)\n" +"X-Launchpad-Export-Date: 2013-02-02 05:07+0000\n" +"X-Generator: Launchpad (build 16462)\n" #. module: product #: field:product.packaging,rows:0 @@ -2280,6 +2280,8 @@ msgid "" "A category of the view type is a virtual category that can be used as the " "parent of another category to create a hierarchical structure." msgstr "" +"A nézet típus kategóriája virtuális kategória, ami felhasználható mint a " +"többi kategória szülő kategóriája, a hierarchikus szerkezet létrehozásához." #. module: product #: selection:product.ul,type:0 @@ -2292,6 +2294,8 @@ msgid "" "Specify a template if this rule only applies to one product template. Keep " "empty otherwise." msgstr "" +"Határozzon meg egy sablont, ha ez a szabály csak egy termék sablonhoz " +"tartozik. Egyébként hagyja üresen." #. module: product #: model:product.template,description:product.product_product_2_product_template @@ -2299,6 +2303,9 @@ msgid "" "This type of service include assistance for security questions, system " "configuration requirements, implementation or special needs." msgstr "" +"Ez a típusú szolgáltatás tartalmaz segítségnyújtást a biztonsági " +"kérdésekhez, rendszer beállítási igényekhez, végrehajtáshoz vagy speciális " +"igényekhez." #. module: product #: field:product.product,image:0 @@ -2318,6 +2325,10 @@ msgid "" "2GB RAM\n" "HDD SH-1" msgstr "" +"19\" LCD Monitor\n" +"Processzor Core i5 2.70 Ghz\n" +"2GB RAM\n" +"HDD SH-1" #. module: product #: view:product.template:0 @@ -2327,17 +2338,17 @@ msgstr "Leírások" #. module: product #: model:res.groups,name:product.group_stock_packaging msgid "Manage Product Packaging" -msgstr "" +msgstr "Termék csomagolás szervezése" #. module: product #: model:product.category,name:product.product_category_2 msgid "Internal" -msgstr "" +msgstr "Belső" #. module: product #: model:product.template,name:product.product_product_45_product_template msgid "Router R430" -msgstr "" +msgstr "Router R430" #. module: product #: help:product.packaging,sequence:0 @@ -2357,6 +2368,8 @@ msgid "" "At least one pricelist has no active version !\n" "Please create or activate one." msgstr "" +"Legalább egy árlistának nincs aktív változata!\n" +"Kérem hozzon létre vagy aktiváljon egyet." #. module: product #: field:product.pricelist.item,price_max_margin:0 @@ -2400,6 +2413,22 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" Kattintson árlista létrehozásához.\n" +"

    \n" +" Az árlista szabályokat tartalmaz a vásárlói ár " +"meghatározásának\n" +" kiszámításához. Az alapértelmezett árlistának csak egy " +"szabálya van; \n" +" használja a termék lapon meghatározott költség árat, így ne " +"kell törődnie a\n" +" beszállítói árlistákkal, ha nagyon egyszerű igényei vannak.\n" +"

    \n" +" De be tud olvasni komplex árlistát is a beszállítóitól\n" +" ami a megrendelt mennyiségektől vagy az érvényes\n" +" akciós áraktól függhet.\n" +"

    \n" +" " #. module: product #: selection:product.template,mes_type:0 @@ -2424,7 +2453,7 @@ msgstr "Min. árrés" #. module: product #: model:res.groups,name:product.group_uom msgid "Manage Multiple Units of Measure" -msgstr "" +msgstr "Mértékegységek szervezése" #. module: product #: help:product.packaging,weight:0 @@ -2434,7 +2463,7 @@ msgstr "A teljes csomag, raklap vagy doboz tömege." #. module: product #: view:product.uom:0 msgid "e.g: 1 * (this unit) = ratio * (reference unit)" -msgstr "" +msgstr "e.g: 1 * (e az egység) = arány * (referencia egység)" #. module: product #: model:product.template,description:product.product_product_25_product_template @@ -2444,6 +2473,10 @@ msgid "" "Standard-1294P Processor\n" "QWERTY keyboard" msgstr "" +"17\" Monitor\n" +"4GB RAM\n" +"Standard-1294P Processzor\n" +"QWERTY billentyűzet" #. module: product #: field:product.category,sequence:0 @@ -2459,11 +2492,13 @@ msgid "" "Average delay in days to produce this product. In the case of multi-level " "BOM, the manufacturing lead times of the components will be added." msgstr "" +"Átlag késés napokban, ennek a terméknek az előállításához. Több lépcsős " +"anyagjegyzék (BOM) esetén, az alkatrészek gyártási ideje is hozzá lesz adva." #. module: product #: model:product.template,name:product.product_assembly_product_template msgid "Assembly Service Cost" -msgstr "" +msgstr "Összeszerelés szolgáltatás költsége" #. module: product #: model:ir.model,name:product.model_product_pricelist_item @@ -2481,11 +2516,19 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" Kattintson egy új mértékegység hozzáadásához.\n" +"

    \n" +" Meg kell határoznia egy konvertálási arány tényezőt az \n" +" ugyanahhoz a kategóriához tartozó különböző\n" +" mértékegységekhez.\n" +"

    \n" +" " #. module: product #: model:product.template,name:product.product_product_11_product_template msgid "Mouse, Laser" -msgstr "" +msgstr "Egér, lézeres" #. module: product #: view:product.template:0 @@ -2534,21 +2577,24 @@ msgid "" "image, with aspect ratio preserved. Use this field anywhere a small image is " "required." msgstr "" +"Kis-méretű kép a termékről. Automatikusan át lesz alakítva mint 64x64px " +"képpontos kép, az arányt megtartva. Használja ezt a mezőt mindenhol ahol kis " +"képre van szükség." #. module: product #: model:product.template,name:product.product_product_40_product_template msgid "Windows 7 Professional" -msgstr "" +msgstr "Windows 8 Professional" #. module: product #: selection:product.uom,uom_type:0 msgid "Reference Unit of Measure for this category" -msgstr "" +msgstr "Ennek a kategóriának a referencia mértékegysége" #. module: product #: field:product.supplierinfo,product_uom:0 msgid "Supplier Unit of Measure" -msgstr "" +msgstr "Beszállító mértékegysége" #. module: product #: view:product.product:0 @@ -2559,7 +2605,7 @@ msgstr "Termékváltozat" #. module: product #: model:product.template,name:product.product_product_6_product_template msgid "15” LCD Monitor" -msgstr "" +msgstr "15” LCD Monitor" #. module: product #: code:addons/product/pricelist.py:376 @@ -2588,6 +2634,20 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" Kattintson árlista létrehouzásához.\n" +"

    \n" +" Az árlista szabályokat tartalmaz a termékek eladási árának\n" +" megbecsült kiszámításához.\n" +"

    \n" +" Az árlistának lehet több verziója (2013, 2014, 2013 Februári " +"akció,\n" +" stb.) és minden verziónak lehet egy pár szabálya.\n" +" (p.l. a termék kategória értékesítési ára a vevő felé alapul " +"veheti a\n" +" beszállítói árat 1.80-al megszorozva).\n" +"

    \n" +" " #. module: product #: model:ir.model,name:product.model_product_template @@ -2612,7 +2672,7 @@ msgstr "Termékkategória" #. module: product #: model:product.template,description:product.product_product_19_product_template msgid "On demand hard-disk having capacity based on requirement." -msgstr "" +msgstr "A keresett meghajtó egységnek a kapacitása az igényen alapul." #. module: product #: selection:product.template,state:0 @@ -2622,7 +2682,7 @@ msgstr "Életciklus vége" #. module: product #: model:product.template,name:product.product_product_15_product_template msgid "RAM SR3" -msgstr "" +msgstr "RAM SR3" #. module: product #: help:product.product,packaging:0 @@ -2664,11 +2724,13 @@ msgid "" "Conversion between Units of Measure can only occur if they belong to the " "same category. The conversion will be made based on the ratios." msgstr "" +"A mértékegységek átváltása csak akkor lehetséges, ha ugyanabba a kategóriába " +"tartoznak. Az átváltás az arányszámok alapján történik." #. module: product #: constraint:product.category:0 msgid "Error ! You cannot create recursive categories." -msgstr "" +msgstr "Hiba! Nem tud ismétlődő kategóriát létrehozni." #. module: product #: help:product.product,image_medium:0 @@ -2677,16 +2739,20 @@ msgid "" "128x128px image, with aspect ratio preserved, only when the image exceeds " "one of those sizes. Use this field in form views or some kanban views." msgstr "" +"Közepes-méretű kép a termékről. Automatikusan át lesz méretezve mint " +"128x128px képpontos kép, a méretarányt megtartva, csak akkor, ha a kép egyik " +"mérete túllépi az értéket. Használja ezt a lap/forma nézeteken vagy egyes " +"kanban nézetben." #. module: product #: view:product.uom:0 msgid "e.g: 1 * (reference unit) = ratio * (this unit)" -msgstr "" +msgstr "e.g: 1 * (referencia egység) = arány * (ezaz egység)" #. module: product #: help:product.supplierinfo,qty:0 msgid "This is a quantity which is converted into Default Unit of Measure." -msgstr "" +msgstr "Ez az a mennyiség amit átvált az alapértelmezett mértékegységre." #. module: product #: help:product.template,volume:0 diff --git a/addons/product/i18n/tr.po b/addons/product/i18n/tr.po index f30bf84ec7c..35ccae91a77 100644 --- a/addons/product/i18n/tr.po +++ b/addons/product/i18n/tr.po @@ -1,20 +1,20 @@ # Translation of OpenERP Server. # This file contains the translation of the following modules: -# * product +# * product # msgid "" msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev_rc3\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-05-10 17:24+0000\n" -"Last-Translator: Arif Aydogmus \n" -"Language-Team: \n" +"PO-Revision-Date: 2013-02-06 02:02+0000\n" +"Last-Translator: Ediz Duman \n" +"Language-Team: Turkish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-22 05:41+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-02-06 05:14+0000\n" +"X-Generator: Launchpad (build 16468)\n" #. module: product #: field:product.packaging,rows:0 @@ -24,7 +24,7 @@ msgstr "Katman Sayısı" #. module: product #: help:product.pricelist.item,base:0 msgid "Base price for computation." -msgstr "" +msgstr "Hesaplama için baz fiyat." #. module: product #: help:product.product,seller_qty:0 @@ -44,12 +44,12 @@ msgstr "Gelen" #. module: product #: view:product.product:0 msgid "Product Name" -msgstr "" +msgstr "Ürün Adı" #. module: product #: view:product.template:0 msgid "Second Unit of Measure" -msgstr "" +msgstr "İkinci Ölçü Birimi" #. module: product #: help:res.partner,property_product_pricelist:0 @@ -63,12 +63,12 @@ msgstr "" #. module: product #: field:product.product,seller_qty:0 msgid "Supplier Quantity" -msgstr "Tedarikçi tarafındaki adet" +msgstr "Tedarikçi Miktarı" #. module: product #: selection:product.template,mes_type:0 msgid "Fixed" -msgstr "Sabitlendi" +msgstr "Sabit" #. module: product #: model:product.template,name:product.product_product_10_product_template @@ -108,12 +108,12 @@ msgstr "" #: code:addons/product/product.py:208 #, python-format msgid "Warning!" -msgstr "" +msgstr "Uyarı!" #. module: product #: field:product.product,image_small:0 msgid "Small-sized image" -msgstr "" +msgstr "Küçük boyutlu resim" #. module: product #: code:addons/product/product.py:176 @@ -143,7 +143,7 @@ msgstr "" #. module: product #: field:product.price_list,price_list:0 msgid "PriceList" -msgstr "Fiyat Listesi" +msgstr "FiyatListesi" #. module: product #: model:product.template,name:product.product_product_4_product_template @@ -175,13 +175,13 @@ msgstr "Standart Fiyat" #: model:product.pricelist.type,name:product.pricelist_type_sale #: field:res.partner,property_product_pricelist:0 msgid "Sale Pricelist" -msgstr "Satış Fiyat Listesi" +msgstr "Satış FiyatListesi" #. module: product #: view:product.template:0 #: field:product.template,type:0 msgid "Product Type" -msgstr "Ürün Tipi" +msgstr "Ürün Türü" #. module: product #: code:addons/product/product.py:412 @@ -199,7 +199,7 @@ msgstr "" #. module: product #: field:product.category,parent_id:0 msgid "Parent Category" -msgstr "Ana Kategori" +msgstr "Üst Kategori" #. module: product #: model:product.template,description:product.product_product_33_product_template @@ -247,7 +247,7 @@ msgstr "" #. module: product #: field:product.product,seller_id:0 msgid "Main Supplier" -msgstr "Ana Tedarikçi" +msgstr "Ana Tedarikçiler" #. module: product #: model:ir.actions.act_window,name:product.product_ul_form_action @@ -257,7 +257,7 @@ msgstr "Ana Tedarikçi" #: view:product.product:0 #: view:product.ul:0 msgid "Packaging" -msgstr "Sevkiyat Paketlemesi" +msgstr "Paketleme" #. module: product #: help:product.product,active:0 @@ -302,7 +302,7 @@ msgstr "" #: view:product.template:0 #: field:product.template,state:0 msgid "Status" -msgstr "Durum" +msgstr "Durumu" #. module: product #: help:product.template,categ_id:0 @@ -318,7 +318,7 @@ msgstr "Giden" #: model:product.price.type,name:product.list_price #: field:product.product,lst_price:0 msgid "Public Price" -msgstr "Satış Fiyatı" +msgstr "Genel Fiyatı" #. module: product #: field:product.price_list,qty5:0 @@ -353,7 +353,7 @@ msgstr "" #. module: product #: field:product.supplierinfo,product_name:0 msgid "Supplier Product Name" -msgstr "Tedarikçi tarafındaki ürün adı" +msgstr "Tedarikçi Ürün Adı" #. module: product #: view:product.pricelist:0 @@ -374,7 +374,7 @@ msgstr "Paket uzunluğu" #. module: product #: field:product.product,message_summary:0 msgid "Summary" -msgstr "" +msgstr "Özet" #. module: product #: help:product.template,weight_net:0 @@ -426,12 +426,12 @@ msgstr "Yükseklik" #. module: product #: view:product.product:0 msgid "Procurements" -msgstr "" +msgstr "Tedarikler" #. module: product #: model:res.groups,name:product.group_mrp_properties msgid "Manage Properties of Product" -msgstr "" +msgstr "Ürün Özellikleri Yönetimi" #. module: product #: help:product.uom,factor:0 @@ -469,7 +469,7 @@ msgstr "Miktar-4" #. module: product #: view:res.partner:0 msgid "Sales & Purchases" -msgstr "Satışlar & Satınalmalar" +msgstr "Satışlar & SatınAlmalar" #. module: product #: model:product.template,name:product.product_product_44_product_template @@ -489,7 +489,7 @@ msgstr "" #. module: product #: field:product.template,mes_type:0 msgid "Measure Type" -msgstr "Ölçü Tipi" +msgstr "Ölçü Türü" #. module: product #: model:product.template,name:product.product_product_32_product_template @@ -499,7 +499,7 @@ msgstr "" #. module: product #: model:product.uom,name:product.product_uom_day msgid "Day(s)" -msgstr "" +msgstr "Gün(ler)" #. module: product #: help:product.product,incoming_qty:0 @@ -525,7 +525,7 @@ msgstr "" #. module: product #: model:ir.model,name:product.model_product_uom_categ msgid "Product uom categ" -msgstr "Ürün Birim Grubu" +msgstr "Ürün uom kategori" #. module: product #: model:product.ul,name:product.product_ul_box @@ -535,12 +535,12 @@ msgstr "Kutu 20x20x20" #. module: product #: field:product.template,warranty:0 msgid "Warranty" -msgstr "" +msgstr "Garanti" #. module: product #: view:product.pricelist.item:0 msgid "Price Computation" -msgstr "Fiyat Hesaplaması" +msgstr "Fiyat Hesaplama" #. module: product #: constraint:product.product:0 @@ -552,7 +552,7 @@ msgstr "" #. module: product #: model:res.groups,name:product.group_purchase_pricelist msgid "Purchase Pricelists" -msgstr "" +msgstr "SatınAlma FiyatListeleri" #. module: product #: model:product.template,name:product.product_product_5_product_template @@ -573,7 +573,7 @@ msgstr "Paket genişliği" #: code:addons/product/product.py:361 #, python-format msgid "Unit of Measure categories Mismatch!" -msgstr "" +msgstr "Ölçü Birimi kategori Uyuşmazlığı!" #. module: product #: model:product.template,name:product.product_product_36_product_template @@ -583,22 +583,22 @@ msgstr "" #. module: product #: selection:product.category,type:0 msgid "View" -msgstr "Görüntüle" +msgstr "Görünüm" #. module: product #: model:ir.actions.act_window,name:product.product_template_action_tree msgid "Product Templates" -msgstr "Ürün Kartı Şablonu" +msgstr "Ürün Şablonu" #. module: product #: field:product.category,parent_left:0 msgid "Left Parent" -msgstr "Sol Üst Öğe" +msgstr "Sol Üst" #. module: product #: help:product.pricelist.item,price_max_margin:0 msgid "Specify the maximum amount of margin over the base price." -msgstr "" +msgstr "Taban fiyat üzerinden marjı maksimum miktarı belirtin." #. module: product #: constraint:product.pricelist.item:0 @@ -610,17 +610,17 @@ msgstr "" #. module: product #: view:product.price_list:0 msgid "or" -msgstr "" +msgstr "veya" #. module: product #: constraint:product.packaging:0 msgid "Error: Invalid ean code" -msgstr "Hata: Geçersiz barkod" +msgstr "Hata: Geçersiz ean kodu" #. module: product #: field:product.pricelist.item,min_quantity:0 msgid "Min. Quantity" -msgstr "Min. Adet" +msgstr "Min. Miktar" #. module: product #: model:product.template,name:product.product_product_12_product_template @@ -640,7 +640,7 @@ msgstr "Fiyat Türü" #. module: product #: view:product.pricelist.item:0 msgid "Max. Margin" -msgstr "En Fazla Kar" +msgstr "Mak. Marjı" #. module: product #: view:product.pricelist.item:0 @@ -705,7 +705,7 @@ msgstr "" #. module: product #: field:product.product,ean13:0 msgid "EAN13 Barcode" -msgstr "" +msgstr "EAN13 Barkodu" #. module: product #: model:ir.actions.act_window,name:product.action_product_price_list @@ -719,12 +719,12 @@ msgstr "Fiyat Listesi" #. module: product #: field:product.product,virtual_available:0 msgid "Forecasted Quantity" -msgstr "" +msgstr "Tahmini Miktar" #. module: product #: view:product.product:0 msgid "Purchase" -msgstr "" +msgstr "SatınAlama" #. module: product #: model:product.template,name:product.product_product_33_product_template @@ -739,7 +739,7 @@ msgstr "Tedarikçiler" #. module: product #: model:res.groups,name:product.group_sale_pricelist msgid "Sales Pricelists" -msgstr "" +msgstr "Satış FiyatListesi" #. module: product #: view:product.pricelist.item:0 @@ -781,7 +781,7 @@ msgstr "Bitiş Tarihi" #. module: product #: model:product.uom,name:product.product_uom_litre msgid "Liter(s)" -msgstr "" +msgstr "Litre(ler)" #. module: product #: view:product.price_list:0 @@ -793,7 +793,7 @@ msgstr "Yazdır" #: field:product.ul,type:0 #: field:product.uom,uom_type:0 msgid "Type" -msgstr "Tipi" +msgstr "Türü" #. module: product #: model:ir.actions.act_window,name:product.product_pricelist_action2 @@ -801,12 +801,12 @@ msgstr "Tipi" #: model:ir.ui.menu,name:product.menu_product_pricelist_action2 #: model:ir.ui.menu,name:product.menu_product_pricelist_main msgid "Pricelists" -msgstr "Fiyat Listeleri" +msgstr "FiyatListeleri" #. module: product #: field:product.product,partner_ref:0 msgid "Customer ref" -msgstr "Müşteri ref." +msgstr "Müşteri ref" #. module: product #: field:product.pricelist.type,key:0 @@ -819,7 +819,7 @@ msgstr "Anahtar" #: field:product.product,pricelist_id:0 #: view:product.supplierinfo:0 msgid "Pricelist" -msgstr "Fiyat Listesi" +msgstr "FiyatListesi" #. module: product #: model:product.uom,name:product.product_uom_hour @@ -834,7 +834,7 @@ msgstr "Geliştirilmekte" #. module: product #: model:ir.model,name:product.model_res_partner msgid "Partner" -msgstr "Cari" +msgstr "Partner" #. module: product #: model:process.transition,note:product.process_transition_supplierofproduct0 @@ -858,7 +858,7 @@ msgstr "" #. module: product #: view:product.template:0 msgid "days" -msgstr "" +msgstr "günler" #. module: product #: model:process.node,name:product.process_node_supplier0 @@ -872,7 +872,7 @@ msgstr "Tedarikçi Bilgisi" #: report:product.pricelist:0 #: field:product.pricelist,currency_id:0 msgid "Currency" -msgstr "Para Birimi" +msgstr "ParaBirimi" #. module: product #: model:product.template,name:product.product_product_46_product_template @@ -891,12 +891,12 @@ msgstr "" #: model:ir.ui.menu,name:product.menu_product_category_action_form #: view:product.category:0 msgid "Product Categories" -msgstr "Ürün Kategorisi" +msgstr "Ürün Kategorleri" #. module: product #: view:product.template:0 msgid "Procurement & Locations" -msgstr "Satınalma & Lokasyonlar" +msgstr "Tedarik & Lokasyonları" #. module: product #: model:product.template,name:product.product_product_20_product_template @@ -911,17 +911,17 @@ msgstr "Toplam Paket Ağırlığı" #. module: product #: help:product.packaging,code:0 msgid "The code of the transport unit." -msgstr "Nakliye birim kodu" +msgstr "Nakliye birim kodu." #. module: product #: view:product.price.type:0 msgid "Products Price Type" -msgstr "Ürün Fiyat Tipi" +msgstr "Ürün Fiyat Türü" #. module: product #: field:product.product,message_is_follower:0 msgid "Is a Follower" -msgstr "" +msgstr "Bir Takipçi mi" #. module: product #: field:product.product,price_extra:0 @@ -945,7 +945,7 @@ msgstr "" #: view:product.template:0 #: field:product.template,description_purchase:0 msgid "Purchase Description" -msgstr "Satın Alma Açıklaması" +msgstr "SatınAlma Açıklaması" #. module: product #: constraint:product.pricelist.version:0 @@ -1002,7 +1002,7 @@ msgstr "" #. module: product #: model:ir.model,name:product.model_product_ul msgid "Shipping Unit" -msgstr "Nakliye Birimi" +msgstr "Sevkiyat Birimi" #. module: product #: model:product.template,name:product.product_product_35_product_template @@ -1012,7 +1012,7 @@ msgstr "" #. module: product #: field:pricelist.partnerinfo,suppinfo_id:0 msgid "Partner Information" -msgstr "Cari Bilgisi" +msgstr "Partner Bilgisi" #. module: product #: model:ir.actions.act_window,help:product.product_normal_action_sell @@ -1054,22 +1054,22 @@ msgstr "" #: view:product.product:0 #: view:product.template:0 msgid "Information" -msgstr "Bilgi" +msgstr "Bilgisi" #. module: product #: view:product.pricelist.item:0 msgid "Products Listprices Items" -msgstr "Ürünler Liste fiyatları Öğeler" +msgstr "Ürünler ListeFiyat Öğeleri" #. module: product #: view:product.packaging:0 msgid "Other Info" -msgstr "Diğer Bilgiler" +msgstr "Diğer Bilgisi" #. module: product #: field:product.pricelist.version,items_id:0 msgid "Price List Items" -msgstr "Fiyat Listesi Kalemleri" +msgstr "FiyatListe Öğeleri" #. module: product #: field:pricelist.partnerinfo,price:0 @@ -1079,12 +1079,12 @@ msgstr "Birim Fiyat" #. module: product #: field:product.category,parent_right:0 msgid "Right Parent" -msgstr "Sağ Üst Öğe" +msgstr "Sağ Üst" #. module: product #: field:product.product,price:0 msgid "Price" -msgstr "" +msgstr "Fiyat" #. module: product #: field:product.pricelist.item,price_surcharge:0 @@ -1095,7 +1095,7 @@ msgstr "Fiyat artırımı" #: field:product.product,code:0 #: field:product.product,default_code:0 msgid "Internal Reference" -msgstr "" +msgstr "Dahili Referansı" #. module: product #: model:product.template,name:product.product_product_8_product_template @@ -1127,17 +1127,17 @@ msgstr "Adı" #. module: product #: model:product.category,name:product.product_category_4 msgid "Computers" -msgstr "" +msgstr "Bigisayarlar" #. module: product #: help:product.product,message_ids:0 msgid "Messages and communication history" -msgstr "" +msgstr "Mesajlar ve iletişim geçmişi" #. module: product #: model:product.uom,name:product.product_uom_kgm msgid "kg" -msgstr "Kg" +msgstr "kg" #. module: product #: selection:product.template,state:0 @@ -1147,12 +1147,12 @@ msgstr "Artık Kullanılmıyor (Demode Olmuş)" #. module: product #: model:product.uom,name:product.product_uom_km msgid "km" -msgstr "Km" +msgstr "km" #. module: product #: field:product.template,standard_price:0 msgid "Cost" -msgstr "" +msgstr "Maliyet" #. module: product #: help:product.category,sequence:0 @@ -1163,7 +1163,7 @@ msgstr "Ürün kategorilerini gösterirken sıra numarası verir" #. module: product #: model:product.uom,name:product.product_uom_dozen msgid "Dozen(s)" -msgstr "" +msgstr "Düzine(ler)" #. module: product #: field:product.uom,factor:0 @@ -1202,13 +1202,13 @@ msgstr "Satış Birimi" #. module: product #: field:product.product,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "Okunmamış mesajlar" #. module: product #: model:ir.actions.act_window,name:product.product_uom_categ_form_action #: model:ir.ui.menu,name:product.menu_product_uom_categ_form_action msgid "Unit of Measure Categories" -msgstr "" +msgstr "Kategori Ölçü Birimleri" #. module: product #: help:product.product,seller_id:0 @@ -1224,7 +1224,7 @@ msgstr "Hizmetler" #. module: product #: help:product.product,ean13:0 msgid "International Article Number used for product identification." -msgstr "" +msgstr "Uluslararası Makale numarası ürün tanımlama için kullanılır." #. module: product #: model:ir.actions.act_window,help:product.product_category_action @@ -1258,7 +1258,7 @@ msgstr "" #: model:ir.ui.menu,name:product.prod_config_main #: view:product.product:0 msgid "Products" -msgstr "Stok Kartları" +msgstr "Ürünler" #. module: product #: model:product.template,description:product.product_product_32_product_template @@ -1274,12 +1274,12 @@ msgstr "Palet ya da kutudaki kat sayısı" #. module: product #: help:product.pricelist.item,price_min_margin:0 msgid "Specify the minimum amount of margin over the base price." -msgstr "" +msgstr "Taban fiyat üzerinden marjı asgari miktarını belirtin." #. module: product #: field:product.template,weight_net:0 msgid "Net Weight" -msgstr "Net ağırlık" +msgstr "Net Ağırlık" #. module: product #: view:product.packaging:0 @@ -1304,7 +1304,7 @@ msgstr "" #. module: product #: view:product.product:0 msgid "Inventory" -msgstr "" +msgstr "Envanter" #. module: product #: field:product.product,seller_info_id:0 @@ -1315,7 +1315,7 @@ msgstr "Tedarikçi Bilgisi" #: code:addons/product/product.py:729 #, python-format msgid "%s (copy)" -msgstr "" +msgstr "%s (kopya)" #. module: product #: model:product.template,name:product.product_product_2_product_template @@ -1333,12 +1333,12 @@ msgstr "" #: model:ir.ui.menu,name:product.next_id_16 #: view:product.uom:0 msgid "Units of Measure" -msgstr "Birimi" +msgstr "Ölçü Birimi" #. module: product #: field:product.supplierinfo,min_qty:0 msgid "Minimal Quantity" -msgstr "Min. Miktar" +msgstr "Minimum Miktar" #. module: product #: help:product.supplierinfo,product_code:0 @@ -1373,7 +1373,7 @@ msgstr "" #: view:product.product:0 #: selection:product.template,type:0 msgid "Consumable" -msgstr "Sarf Malzemesi" +msgstr "Tüketilebilir" #. module: product #: help:product.price.type,currency_id:0 @@ -1393,7 +1393,7 @@ msgstr "" #. module: product #: view:product.template:0 msgid "Procurement" -msgstr "Satınalma" +msgstr "Tedarik" #. module: product #: model:product.template,name:product.product_product_23_product_template @@ -1404,12 +1404,12 @@ msgstr "" #: view:product.product:0 #: view:product.template:0 msgid "Weights" -msgstr "Ağırlık Bilgisi" +msgstr "Ağırlıklar" #. module: product #: view:product.product:0 msgid "Description for Quotations" -msgstr "" +msgstr "Teklifin Açıklaması" #. module: product #: help:pricelist.partnerinfo,price:0 @@ -1421,28 +1421,28 @@ msgstr "" #. module: product #: field:product.template,uom_po_id:0 msgid "Purchase Unit of Measure" -msgstr "Satınalma Ölçü Birimi" +msgstr "SatınAlma Ölçü Birimi" #. module: product #: view:product.product:0 msgid "Group by..." -msgstr "Grupla ..." +msgstr "Grupla İle ..." #. module: product #: field:product.product,image_medium:0 msgid "Medium-sized image" -msgstr "" +msgstr "Orta ölçekli resim" #. module: product #: selection:product.ul,type:0 #: model:product.uom.categ,name:product.product_uom_categ_unit msgid "Unit" -msgstr "Adet" +msgstr "Birim" #. module: product #: field:product.pricelist.version,date_start:0 msgid "Start Date" -msgstr "Baş. Tarihi" +msgstr "Başlam Tarihi" #. module: product #: model:product.template,name:product.product_product_38_product_template @@ -1457,7 +1457,7 @@ msgstr "cm" #. module: product #: model:ir.model,name:product.model_product_uom msgid "Product Unit of Measure" -msgstr "Stok Birimi" +msgstr "Ürün Ölçü Birimi" #. module: product #: model:ir.actions.act_window,help:product.product_pricelist_action @@ -1486,7 +1486,7 @@ msgstr "" #. module: product #: view:product.pricelist:0 msgid "Products Price" -msgstr "" +msgstr "Ürünlerin Fiyatı" #. module: product #: model:product.template,description:product.product_product_26_product_template @@ -1505,7 +1505,7 @@ msgstr "Yuvarlama Hassasiyeti" #. module: product #: view:product.product:0 msgid "Consumable products" -msgstr "" +msgstr "Sarf ürünler" #. module: product #: model:product.template,name:product.product_product_21_product_template @@ -1535,7 +1535,7 @@ msgstr "" #: field:product.product,active:0 #: field:product.uom,active:0 msgid "Active" -msgstr "Aktif" +msgstr "Etkin" #. module: product #: field:product.product,price_margin:0 @@ -1545,12 +1545,12 @@ msgstr "Değişken Fiyat Marjı" #. module: product #: field:product.pricelist,name:0 msgid "Pricelist Name" -msgstr "Fiyat Listesi Adı" +msgstr "FiyatListesi Adı" #. module: product #: model:product.category,name:product.product_category_1 msgid "Saleable" -msgstr "" +msgstr "Satılabilir" #. module: product #: sql_constraint:product.uom:0 @@ -1606,7 +1606,7 @@ msgstr "Bütün stok hareketleri için kullanılan öntanımlı ölçü birimi" #. module: product #: view:product.product:0 msgid "Sales" -msgstr "" +msgstr "Satışlar" #. module: product #: model:ir.actions.act_window,help:product.product_uom_categ_form_action @@ -1633,12 +1633,12 @@ msgstr "" #. module: product #: selection:product.uom,uom_type:0 msgid "Smaller than the reference Unit of Measure" -msgstr "" +msgstr "Ölçü referans Birimi daha küçük" #. module: product #: model:product.pricelist,name:product.list0 msgid "Public Pricelist" -msgstr "Genel Fiyat Listesi" +msgstr "Genel FiyatListesi" #. module: product #: field:product.supplierinfo,product_code:0 @@ -1676,12 +1676,12 @@ msgstr "Ürün" #. module: product #: view:product.product:0 msgid "Price:" -msgstr "" +msgstr "Fiyat:" #. module: product #: field:product.template,weight:0 msgid "Gross Weight" -msgstr "Bürüt ağırlık" +msgstr "Bürüt Ağırlık" #. module: product #: help:product.packaging,qty:0 @@ -1691,13 +1691,13 @@ msgstr "Palete veya kutuya koyabileceğiniz toplam ürün sayısı" #. module: product #: field:product.product,variants:0 msgid "Variants" -msgstr "Değişkenler" +msgstr "Varyantlar" #. module: product #: model:ir.actions.act_window,name:product.product_category_action #: model:ir.ui.menu,name:product.menu_products_category msgid "Products by Category" -msgstr "Kategori Bazında Ürün" +msgstr "Ürün Kategorileri" #. module: product #: model:product.template,name:product.product_product_16_product_template @@ -1717,12 +1717,12 @@ msgstr "Ürün tedarikçilerine öncelik atar" #. module: product #: constraint:product.pricelist.item:0 msgid "Error! The minimum margin should be lower than the maximum margin." -msgstr "" +msgstr "Hata!Minimum kenar boşluğu maksimum marjı daha düşük olmalıdır." #. module: product #: model:res.groups,name:product.group_uos msgid "Manage Secondary Unit of Measure" -msgstr "" +msgstr "İkinci Ölçü Birimi Yönetimi" #. module: product #: help:product.uom,rounding:0 @@ -1734,7 +1734,7 @@ msgstr "" #. module: product #: view:product.pricelist.item:0 msgid "Rounding Method" -msgstr "Yuvarlama yöntemi" +msgstr "Yuvarlama Yöntemi" #. module: product #: model:ir.actions.report.xml,name:product.report_product_label @@ -1754,7 +1754,7 @@ msgstr "" #. module: product #: selection:product.uom,uom_type:0 msgid "Bigger than the reference Unit of Measure" -msgstr "" +msgstr "Ölçü referans Birimi daha büyük" #. module: product #: model:product.template,name:product.product_product_consultant_product_template @@ -1765,7 +1765,7 @@ msgstr "Hizmet" #. module: product #: view:product.template:0 msgid "Internal Description" -msgstr "" +msgstr "Dahili Açıklama" #. module: product #: model:product.template,name:product.product_product_48_product_template @@ -1783,7 +1783,7 @@ msgstr "" #: code:addons/product/product.py:208 #, python-format msgid "Cannot change the category of existing Unit of Measure '%s'." -msgstr "" +msgstr "Mevcut Ölçü Birimi kategorisi değiştirilemiyor '%s'." #. module: product #: help:product.packaging,height:0 @@ -1813,13 +1813,13 @@ msgstr "" #. module: product #: view:product.product:0 msgid "Default Unit of Measure" -msgstr "Varsayılan Ölçü Birimi" +msgstr "Öntanımlı Ölçü Birimi" #. module: product #: code:addons/product/pricelist.py:377 #, python-format msgid "Partner section of the product form" -msgstr "Ürün formunun İş ortağı bölümü" +msgstr "Ürün formu Partner bölümü" #. module: product #: help:product.price.type,name:0 @@ -1839,18 +1839,18 @@ msgstr "Bu ürün push/pull akış tiplerine örnek olarak ayarlanmıştır" #. module: product #: field:product.product,message_ids:0 msgid "Messages" -msgstr "" +msgstr "Mesajlar" #. module: product #: model:product.uom,name:product.product_uom_unit msgid "Unit(s)" -msgstr "" +msgstr "Birim(ler)" #. module: product #: code:addons/product/product.py:176 #, python-format msgid "Error!" -msgstr "" +msgstr "Hata!" #. module: product #: field:product.packaging,length:0 @@ -1865,13 +1865,13 @@ msgstr "Uzunluk / Mesafe" #. module: product #: model:product.category,name:product.product_category_8 msgid "Components" -msgstr "" +msgstr "Yorumlar" #. module: product #: model:ir.model,name:product.model_product_pricelist_type #: field:product.pricelist,type:0 msgid "Pricelist Type" -msgstr "Fiyat Listesi Tipi" +msgstr "FiyatListesi Türü" #. module: product #: model:product.category,name:product.product_category_6 @@ -1902,7 +1902,7 @@ msgstr "Üretim Tedarik Süresi" #. module: product #: field:product.supplierinfo,pricelist_ids:0 msgid "Supplier Pricelist" -msgstr "Tedarikçi Fiyat Listesi" +msgstr "Tedarikçi FiyatListesi" #. module: product #: field:product.pricelist.item,base:0 @@ -1948,14 +1948,14 @@ msgstr "" #. module: product #: model:product.template,description_sale:product.product_product_44_product_template msgid "Full featured image editing software." -msgstr "" +msgstr "Tam özellikli resim düzenleme yazılımı." #. module: product #: model:ir.model,name:product.model_product_pricelist_version #: view:product.pricelist:0 #: view:product.pricelist.version:0 msgid "Pricelist Version" -msgstr "Fiyat Listesi Versiyonu" +msgstr "FiyatListesi Versiyonu" #. module: product #: view:product.pricelist.item:0 @@ -1970,12 +1970,12 @@ msgstr "" #. module: product #: field:product.product,message_follower_ids:0 msgid "Followers" -msgstr "" +msgstr "Takipçiler" #. module: product #: view:product.product:0 msgid "Sale Conditions" -msgstr "" +msgstr "Satış Koşulları" #. module: product #: view:product.packaging:0 @@ -1991,7 +1991,7 @@ msgstr "Fiyat Listesi Adı" #. module: product #: view:product.product:0 msgid "Description for Suppliers" -msgstr "" +msgstr "Tedarikçi Açıklaması" #. module: product #: field:product.supplierinfo,delay:0 @@ -2001,7 +2001,7 @@ msgstr "Teslimat Süresi" #. module: product #: view:product.product:0 msgid "months" -msgstr "" +msgstr "aylar" #. module: product #: help:product.uom,active:0 @@ -2078,12 +2078,12 @@ msgstr "" #. module: product #: view:product.product:0 msgid "Context..." -msgstr "İçerik..." +msgstr "Bağlam..." #. module: product #: field:product.packaging,ul:0 msgid "Type of Package" -msgstr "Paket Tipi" +msgstr "Paket Türü" #. module: product #: help:product.category,type:0 @@ -2119,7 +2119,7 @@ msgstr "Görüntü" #. module: product #: view:product.uom.categ:0 msgid "Units of Measure categories" -msgstr "Ölçü Birimi Kategorileri" +msgstr "Ölçü Birimi kategorileri" #. module: product #: model:product.template,description_sale:product.product_product_4_product_template @@ -2138,12 +2138,12 @@ msgstr "Açıklamalar" #. module: product #: model:res.groups,name:product.group_stock_packaging msgid "Manage Product Packaging" -msgstr "" +msgstr "Ürün Ambalajı Yönet" #. module: product #: model:product.category,name:product.product_category_2 msgid "Internal" -msgstr "" +msgstr "Dahili" #. module: product #: model:product.template,name:product.product_product_45_product_template @@ -2231,12 +2231,12 @@ msgstr "Maliyet Fiyatı" #. module: product #: field:product.pricelist.item,price_min_margin:0 msgid "Min. Price Margin" -msgstr "En az fiyat marjı" +msgstr "Min. Fiyat Marjı" #. module: product #: model:res.groups,name:product.group_uom msgid "Manage Multiple Units of Measure" -msgstr "" +msgstr "Çoklu Ölçü Birmi Yönet" #. module: product #: help:product.packaging,weight:0 @@ -2263,7 +2263,7 @@ msgstr "" #: field:product.pricelist.item,sequence:0 #: field:product.supplierinfo,sequence:0 msgid "Sequence" -msgstr "Sıra No" +msgstr "Sıralama" #. module: product #: help:product.template,produce_delay:0 @@ -2280,7 +2280,7 @@ msgstr "Montaj Hizmeti Maliyeti" #. module: product #: model:ir.model,name:product.model_product_pricelist_item msgid "Pricelist item" -msgstr "Fiyat Listesi Ögesi" +msgstr "FiyatListesi öğesi" #. module: product #: model:ir.actions.act_window,help:product.product_uom_form_action @@ -2307,7 +2307,7 @@ msgstr "Gecikmeler" #. module: product #: field:product.category,type:0 msgid "Category Type" -msgstr "Kategori Tipi" +msgstr "Kategori Türü" #. module: product #: model:process.node,note:product.process_node_product0 @@ -2326,7 +2326,7 @@ msgstr "Açıklama" #. module: product #: field:product.packaging,ean:0 msgid "EAN" -msgstr "Barkod" +msgstr "EAN" #. module: product #: view:product.pricelist.item:0 @@ -2355,12 +2355,12 @@ msgstr "" #. module: product #: selection:product.uom,uom_type:0 msgid "Reference Unit of Measure for this category" -msgstr "" +msgstr "Bu kategori için Ölçü referans Birimi" #. module: product #: field:product.supplierinfo,product_uom:0 msgid "Supplier Unit of Measure" -msgstr "" +msgstr "Tedarikçi Ölçü Birimi" #. module: product #: view:product.product:0 @@ -2378,7 +2378,7 @@ msgstr "" #: field:product.pricelist.item,base_pricelist_id:0 #, python-format msgid "Other Pricelist" -msgstr "Diğer Fiyat Listesi" +msgstr "Diğer FiyatListesi" #. module: product #: model:ir.actions.act_window,help:product.product_pricelist_action2 @@ -2450,7 +2450,7 @@ msgstr "" #: model:ir.ui.menu,name:product.menu_product_pricelist_action #: field:product.pricelist,version_id:0 msgid "Pricelist Versions" -msgstr "Fiyat Listesi Versiyonları" +msgstr "FiyatListesi Versiyonları" #. module: product #: help:product.pricelist.item,price_round:0 @@ -2507,7 +2507,7 @@ msgstr "Hacim m³" #. module: product #: field:product.pricelist.item,price_discount:0 msgid "Price Discount" -msgstr "Fiyat İskontosu" +msgstr "Fiyat İndirimi" #~ msgid "Net weight" #~ msgstr "Net ağırlık" diff --git a/addons/product_expiry/i18n/hu.po b/addons/product_expiry/i18n/hu.po index e17aefdcbd5..20b071aac7c 100644 --- a/addons/product_expiry/i18n/hu.po +++ b/addons/product_expiry/i18n/hu.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2013-01-28 00:43+0000\n" +"PO-Revision-Date: 2013-02-01 09:31+0000\n" "Last-Translator: krnkris \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: 2013-01-29 05:20+0000\n" -"X-Generator: Launchpad (build 16451)\n" +"X-Launchpad-Export-Date: 2013-02-02 05:07+0000\n" +"X-Generator: Launchpad (build 16462)\n" #. module: product_expiry #: model:product.template,name:product_expiry.product_product_from_product_template @@ -132,6 +132,8 @@ msgid "" "When a new a Serial Number is issued, this is the number of days before the " "goods may become dangerous and must not be consumed." msgstr "" +"Ha egy szériaszám hozzáadásra került, akkor ez a szám annak a napoknak a " +"száma mielőtt a termék fogyaszthatatlanná válik és veszélyes lesz." #. module: product_expiry #: field:stock.production.lot,alert_date:0 @@ -144,6 +146,8 @@ msgid "" "This is the date on which the goods with this Serial Number start " "deteriorating, without being dangerous yet." msgstr "" +"Ez az a dátum amikor az ezzel a szériaszámmal ellátott áru elkezd romlani, " +"anélkül, hogy az még veszélyes lenne." #. module: product_expiry #: help:stock.production.lot,life_date:0 @@ -151,11 +155,13 @@ msgid "" "This is the date on which the goods with this Serial Number may become " "dangerous and must not be consumed." msgstr "" +"Ez az a dátum amikor az ezzel a szériaszámmal ellátott áru veszélyes lesz és " +"nem szabad fogyasztani." #. module: product_expiry #: field:product.product,alert_time:0 msgid "Product Alert Time" -msgstr "" +msgstr "Termék riasztási idő" #~ msgid "Production lot" #~ msgstr "Gyártási tétel" diff --git a/addons/product_expiry/i18n/zh_TW.po b/addons/product_expiry/i18n/zh_TW.po index b2ca14ada07..e4d900eee93 100644 --- a/addons/product_expiry/i18n/zh_TW.po +++ b/addons/product_expiry/i18n/zh_TW.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: 2013-02-01 04:47+0000\n" -"X-Generator: Launchpad (build 16455)\n" +"X-Launchpad-Export-Date: 2013-02-02 05:07+0000\n" +"X-Generator: Launchpad (build 16462)\n" #. module: product_expiry #: model:product.template,name:product_expiry.product_product_from_product_template diff --git a/addons/product_manufacturer/i18n/zh_TW.po b/addons/product_manufacturer/i18n/zh_TW.po index f77deaf5e43..5b090a2270d 100644 --- a/addons/product_manufacturer/i18n/zh_TW.po +++ b/addons/product_manufacturer/i18n/zh_TW.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: 2013-02-01 04:47+0000\n" -"X-Generator: Launchpad (build 16455)\n" +"X-Launchpad-Export-Date: 2013-02-02 05:07+0000\n" +"X-Generator: Launchpad (build 16462)\n" #. module: product_manufacturer #: field:product.product,manufacturer_pref:0 diff --git a/addons/project/__openerp__.py b/addons/project/__openerp__.py index 85e33be777a..c0a516cf555 100644 --- a/addons/project/__openerp__.py +++ b/addons/project/__openerp__.py @@ -33,7 +33,10 @@ 'images/project_task_tree.jpeg', 'images/project_task.jpeg', 'images/project.jpeg', - 'images/task_analysis.jpeg' + 'images/task_analysis.jpeg', + 'images/project_kanban.jpeg', + 'images/task_kanban.jpeg', + 'images/task_stages.jpeg' ], 'depends': [ 'base_setup', diff --git a/addons/project/project_data.xml b/addons/project/project_data.xml index 56a21342d9e..025327d70b3 100644 --- a/addons/project/project_data.xml +++ b/addons/project/project_data.xml @@ -94,16 +94,19 @@ Task Blocked project.task + Task blocked Task Done project.task + Task closed Stage Changed project.task + Stage changed diff --git a/addons/project_issue/i18n/zh_TW.po b/addons/project_issue/i18n/zh_TW.po index 4b039047ead..c9b1bc6bf48 100644 --- a/addons/project_issue/i18n/zh_TW.po +++ b/addons/project_issue/i18n/zh_TW.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: 2013-02-01 04:47+0000\n" -"X-Generator: Launchpad (build 16455)\n" +"X-Launchpad-Export-Date: 2013-02-02 05:07+0000\n" +"X-Generator: Launchpad (build 16462)\n" #. module: project_issue #: model:project.category,name:project_issue.project_issue_category_03 diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index b0b7193b7aa..8eb7281cd24 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -501,6 +501,7 @@ class project_issue(base_stage, osv.osv): 'description': desc, 'email_from': msg.get('from'), 'email_cc': msg.get('cc'), + 'partner_id': msg.get('author_id', False), 'user_id': False, } if msg.get('priority'): diff --git a/addons/project_issue/project_issue_data.xml b/addons/project_issue/project_issue_data.xml index 55ec90b430d..591e6c04878 100644 --- a/addons/project_issue/project_issue_data.xml +++ b/addons/project_issue/project_issue_data.xml @@ -59,16 +59,19 @@ Access all issues from the top Project menu, and access the issues of a specific Issue Blocked project.issue + Issue blocked Issue Closed project.issue + Issue closed Stage Changed project.issue + Stage changed diff --git a/addons/project_long_term/i18n/sl.po b/addons/project_long_term/i18n/sl.po new file mode 100644 index 00000000000..9902b0baf81 --- /dev/null +++ b/addons/project_long_term/i18n/sl.po @@ -0,0 +1,503 @@ +# Slovenian translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-02-03 11:39+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Slovenian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-04 05:12+0000\n" +"X-Generator: Launchpad (build 16462)\n" + +#. module: project_long_term +#: help:project.phase,constraint_date_end:0 +msgid "force the phase to finish before this date" +msgstr "" + +#. module: project_long_term +#: view:project.phase:0 +#: selection:project.phase,state:0 +msgid "In Progress" +msgstr "V teku" + +#. module: project_long_term +#: field:account.analytic.account,use_phases:0 +#: model:ir.actions.act_window,name:project_long_term.act_project_phases +#: view:project.project:0 +msgid "Phases" +msgstr "Faze" + +#. module: project_long_term +#: model:ir.actions.act_window,name:project_long_term.act_resouce_allocation +#: model:ir.ui.menu,name:project_long_term.menu_resouce_allocation +#: view:project.phase:0 +#: view:project.user.allocation:0 +msgid "Team Planning" +msgstr "" + +#. module: project_long_term +#: field:project.phase,user_ids:0 +msgid "Assigned Users" +msgstr "" + +#. module: project_long_term +#: view:project.phase:0 +#: field:project.phase,next_phase_ids:0 +msgid "Next Phases" +msgstr "" + +#. module: project_long_term +#: model:ir.model,name:project_long_term.model_project_user_allocation +msgid "Phase User Allocation" +msgstr "" + +#. module: project_long_term +#: view:project.phase:0 +msgid "Project's Tasks" +msgstr "" + +#. module: project_long_term +#: model:ir.actions.act_window,help:project_long_term.action_project_compute_phases +msgid "" +"To schedule phases of all or a specified project. It then open a gantt " +"view.\n" +" " +msgstr "" + +#. module: project_long_term +#: field:project.phase,task_ids:0 +msgid "Project Tasks" +msgstr "Naloge projekta" + +#. module: project_long_term +#: model:ir.actions.act_window,name:project_long_term.action_project_compute_phases +#: model:ir.ui.menu,name:project_long_term.menu_compute_phase +#: view:project.compute.phases:0 +msgid "Schedule Phases" +msgstr "" + +#. module: project_long_term +#: view:project.phase:0 +#: field:project.phase,state:0 +msgid "Status" +msgstr "Status" + +#. module: project_long_term +#: field:project.compute.phases,target_project:0 +msgid "Action" +msgstr "Dejanje" + +#. module: project_long_term +#: view:project.phase:0 +msgid "Start Phase" +msgstr "" + +#. module: project_long_term +#: model:ir.model,name:project_long_term.model_project_task +msgid "Task" +msgstr "Naloga" + +#. module: project_long_term +#: view:project.phase:0 +msgid "Draft" +msgstr "Osnutek" + +#. module: project_long_term +#: view:project.compute.phases:0 +#: view:project.compute.tasks:0 +msgid "C_ompute" +msgstr "" + +#. module: project_long_term +#: view:project.phase:0 +#: selection:project.phase,state:0 +msgid "New" +msgstr "Novo" + +#. module: project_long_term +#: field:project.phase,product_uom:0 +msgid "Duration Unit of Measure" +msgstr "" + +#. module: project_long_term +#: model:ir.ui.menu,name:project_long_term.menu_view_resource_calendar_leaves +msgid "Resource Leaves" +msgstr "Odsotnost virov" + +#. module: project_long_term +#: view:project.phase:0 +#: selection:project.phase,state:0 +msgid "Pending" +msgstr "Na čakanju" + +#. module: project_long_term +#: help:project.phase,progress:0 +msgid "Computed based on related tasks" +msgstr "" + +#. module: project_long_term +#: view:project.phase:0 +msgid "In Progress Phases" +msgstr "" + +#. module: project_long_term +#: code:addons/project_long_term/project_long_term.py:140 +#, python-format +msgid "%s (copy)" +msgstr "%s (kopija)" + +#. module: project_long_term +#: code:addons/project_long_term/wizard/project_compute_phases.py:48 +#, python-format +msgid "Please specify a project to schedule." +msgstr "" + +#. module: project_long_term +#: view:project.phase:0 +#: view:project.user.allocation:0 +msgid "Group By..." +msgstr "Združeno po..." + +#. module: project_long_term +#: view:project.phase:0 +msgid "Remaining Hours" +msgstr "Preostale ure" + +#. module: project_long_term +#: field:project.phase,constraint_date_start:0 +msgid "Minimum Start Date" +msgstr "" + +#. module: project_long_term +#: help:project.phase,product_uom:0 +msgid "" +"Unit of Measure (Unit of Measure) is the unit of measurement for Duration" +msgstr "" + +#. module: project_long_term +#: help:project.phase,user_ids:0 +msgid "" +"The resources on the project can be computed automatically by the scheduler." +msgstr "" + +#. module: project_long_term +#: field:project.phase,sequence:0 +msgid "Sequence" +msgstr "Zaporedje" + +#. module: project_long_term +#: help:account.analytic.account,use_phases:0 +msgid "Check this field if you plan to use phase-based scheduling" +msgstr "" + +#. module: project_long_term +#: help:project.phase,state:0 +msgid "" +"If the phase is created the status 'Draft'.\n" +" If the phase is started, the status becomes 'In Progress'.\n" +" If review is needed the phase is in 'Pending' status. " +" \n" +" If the phase is over, the status is set to 'Done'." +msgstr "" + +#. module: project_long_term +#: field:project.phase,progress:0 +msgid "Progress" +msgstr "Potek" + +#. module: project_long_term +#: model:ir.ui.menu,name:project_long_term.menu_pm_users_project1 +#: model:ir.ui.menu,name:project_long_term.menu_view_resource +msgid "Resources" +msgstr "Viri" + +#. module: project_long_term +#: view:project.phase:0 +msgid "My Projects" +msgstr "Moji projekti" + +#. module: project_long_term +#: view:project.project:0 +#: view:project.user.allocation:0 +msgid "Phase" +msgstr "Faza" + +#. module: project_long_term +#: help:project.phase,duration:0 +msgid "By default in days" +msgstr "" + +#. module: project_long_term +#: model:ir.ui.menu,name:project_long_term.menu_view_resource_calendar +msgid "Working Time" +msgstr "Delovni čas" + +#. module: project_long_term +#: view:project.phase:0 +msgid "Pending Phases" +msgstr "" + +#. module: project_long_term +#: help:project.user.allocation,date_start:0 +msgid "Starting Date" +msgstr "Začetni datum" + +#. module: project_long_term +#: view:project.phase:0 +msgid "Related Tasks" +msgstr "" + +#. module: project_long_term +#: view:project.phase:0 +msgid "Start Month" +msgstr "" + +#. module: project_long_term +#: field:project.phase,date_end:0 +#: field:project.user.allocation,date_end:0 +msgid "End Date" +msgstr "Končni datum" + +#. module: project_long_term +#: model:ir.model,name:project_long_term.model_project_compute_tasks +msgid "Project Compute Tasks" +msgstr "" + +#. module: project_long_term +#: model:ir.actions.act_window,help:project_long_term.act_project_phase +msgid "" +"A project can be split into the different phases. For each phase, you can " +"define your users allocation, describe different tasks and link your phase " +"to previous and next phases, add date constraints for the automated " +"scheduling. Use the long term planning in order to planify your available " +"users, convert your phases into a series of tasks when you start working on " +"the project." +msgstr "" + +#. module: project_long_term +#: selection:project.compute.phases,target_project:0 +msgid "Compute a Single Project" +msgstr "" + +#. module: project_long_term +#: view:project.phase:0 +#: field:project.phase,previous_phase_ids:0 +msgid "Previous Phases" +msgstr "" + +#. module: project_long_term +#: view:project.phase:0 +msgid "New Phases" +msgstr "" + +#. module: project_long_term +#: view:project.phase:0 +msgid "Tasks Details" +msgstr "" + +#. module: project_long_term +#: field:project.project,phase_count:0 +msgid "Open Phases" +msgstr "" + +#. module: project_long_term +#: help:project.phase,date_end:0 +msgid "" +" It's computed by the scheduler according to the start date and the duration." +msgstr "" + +#. module: project_long_term +#: constraint:project.phase:0 +msgid "Loops in phases not allowed" +msgstr "" + +#. module: project_long_term +#: view:project.user.allocation:0 +#: field:project.user.allocation,user_id:0 +msgid "User" +msgstr "Uporabnik" + +#. module: project_long_term +#: model:ir.model,name:project_long_term.model_project_project +#: field:project.compute.phases,project_id:0 +#: field:project.compute.tasks,project_id:0 +#: view:project.phase:0 +#: field:project.phase,project_id:0 +#: view:project.task:0 +#: view:project.user.allocation:0 +#: field:project.user.allocation,project_id:0 +msgid "Project" +msgstr "Projekt" + +#. module: project_long_term +#: view:project.compute.phases:0 +#: view:project.compute.tasks:0 +#: view:project.phase:0 +msgid "Cancel" +msgstr "Prekliči" + +#. module: project_long_term +#: view:project.phase:0 +msgid "Project Users" +msgstr "" + +#. module: project_long_term +#: model:ir.model,name:project_long_term.model_project_phase +#: view:project.phase:0 +#: view:project.task:0 +#: field:project.task,phase_id:0 +#: field:project.user.allocation,phase_id:0 +msgid "Project Phase" +msgstr "" + +#. module: project_long_term +#: model:ir.ui.menu,name:project_long_term.menu_phase_schedule +msgid "Scheduling" +msgstr "Razporejanje" + +#. module: project_long_term +#: constraint:project.phase:0 +msgid "Phase start-date must be lower than phase end-date." +msgstr "" + +#. module: project_long_term +#: selection:project.phase,state:0 +msgid "Cancelled" +msgstr "Preklicano" + +#. module: project_long_term +#: view:project.phase:0 +msgid "Total Hours" +msgstr "Ure skupaj" + +#. module: project_long_term +#: model:ir.model,name:project_long_term.model_project_compute_phases +msgid "Project Compute Phases" +msgstr "" + +#. module: project_long_term +#: field:project.phase,date_start:0 +#: field:project.user.allocation,date_start:0 +msgid "Start Date" +msgstr "Začetni datum" + +#. module: project_long_term +#: view:project.phase:0 +msgid "Constraints" +msgstr "Omejitve" + +#. module: project_long_term +#: help:project.phase,sequence:0 +msgid "Gives the sequence order when displaying a list of phases." +msgstr "" + +#. module: project_long_term +#: model:ir.actions.act_window,name:project_long_term.project_phase_task_list +msgid "Tasks" +msgstr "Naloge" + +#. module: project_long_term +#: help:project.user.allocation,date_end:0 +msgid "Ending Date" +msgstr "Končni datum" + +#. module: project_long_term +#: code:addons/project_long_term/wizard/project_compute_phases.py:48 +#, python-format +msgid "Error!" +msgstr "Napaka!" + +#. module: project_long_term +#: help:project.phase,date_start:0 +msgid "" +"It's computed by the scheduler according the project date or the end date of " +"the previous phase." +msgstr "" + +#. module: project_long_term +#: model:ir.actions.act_window,name:project_long_term.act_project_phase +#: model:ir.actions.act_window,name:project_long_term.act_project_phase_list +#: model:ir.ui.menu,name:project_long_term.menu_project_phase +#: model:ir.ui.menu,name:project_long_term.menu_project_phase_list +#: view:project.phase:0 +#: field:project.project,phase_ids:0 +msgid "Project Phases" +msgstr "" + +#. module: project_long_term +#: help:project.phase,constraint_date_start:0 +msgid "force the phase to start after this date" +msgstr "" + +#. module: project_long_term +#: view:project.phase:0 +msgid "Month" +msgstr "Mesec" + +#. module: project_long_term +#: model:ir.model,name:project_long_term.model_account_analytic_account +msgid "Analytic Account" +msgstr "Analitični konto" + +#. module: project_long_term +#: field:project.phase,constraint_date_end:0 +msgid "Deadline" +msgstr "Rok" + +#. module: project_long_term +#: view:project.user.allocation:0 +msgid "Project User Allocation" +msgstr "" + +#. module: project_long_term +#: model:ir.actions.act_window,name:project_long_term.action_project_compute_tasks +#: model:ir.ui.menu,name:project_long_term.menu_compute_tasks +#: view:project.compute.tasks:0 +msgid "Schedule Tasks" +msgstr "" + +#. module: project_long_term +#: view:project.phase:0 +#: selection:project.phase,state:0 +msgid "Done" +msgstr "Končano" + +#. module: project_long_term +#: selection:project.compute.phases,target_project:0 +msgid "Compute All My Projects" +msgstr "" + +#. module: project_long_term +#: field:project.phase,user_force_ids:0 +msgid "Force Assigned Users" +msgstr "" + +#. module: project_long_term +#: view:project.phase:0 +#: field:project.phase,duration:0 +msgid "Duration" +msgstr "" + +#. module: project_long_term +#: view:project.user.allocation:0 +msgid "Users" +msgstr "" + +#. module: project_long_term +#: field:project.phase,name:0 +msgid "Name" +msgstr "" + +#. module: project_long_term +#: view:project.compute.phases:0 +#: view:project.compute.tasks:0 +msgid "or" +msgstr "" diff --git a/addons/purchase/purchase_data.xml b/addons/purchase/purchase_data.xml index 72c3f5ab044..ceb43ba281a 100644 --- a/addons/purchase/purchase_data.xml +++ b/addons/purchase/purchase_data.xml @@ -52,10 +52,12 @@ RFQ Confirmed + purchase.order RFQ Approved + purchase.order diff --git a/addons/sale/res_config.py b/addons/sale/res_config.py index 44733be3e39..a693fd11024 100644 --- a/addons/sale/res_config.py +++ b/addons/sale/res_config.py @@ -19,10 +19,14 @@ # ############################################################################## +import logging + from openerp.osv import fields, osv from openerp import pooler from openerp.tools.translate import _ +_logger = logging.getLogger(__name__) + class sale_configuration(osv.osv_memory): _inherit = 'sale.config.settings' @@ -81,8 +85,12 @@ Example: Product: this product is deprecated, do not purchase more than 5. user = self.pool.get('res.users').browse(cr, uid, uid, context) res['time_unit'] = user.company_id.project_time_mode_id.id else: - product = ir_model_data.get_object(cr, uid, 'product', 'product_product_consultant') - res['time_unit'] = product.uom_id.id + try: + product = ir_model_data.get_object(cr, uid, 'product', 'product_product_consultant') + res['time_unit'] = product.uom_id.id + except ValueError: + # keep default value in that case + _logger.warning("Product with xml_id 'product.product_product_consultant' not found") return res def _get_default_time_unit(self, cr, uid, context=None): @@ -98,16 +106,11 @@ Example: Product: this product is deprecated, do not purchase more than 5. wizard = self.browse(cr, uid, ids)[0] if wizard.time_unit: - product = False try: product = ir_model_data.get_object(cr, uid, 'product', 'product_product_consultant') - except: - #product with xml_id product_product_consultant has not been found. Don't do anything except logging the exception - import logging - _logger = logging.getLogger(__name__) - _logger.warning("Warning, product with xml_id 'product_product_consultant' hasn't been found") - if product: product.write({'uom_id': wizard.time_unit.id, 'uom_po_id': wizard.time_unit.id}) + except ValueError: + _logger.warning("Product with xml_id 'product.product_product_consultant' not found, UoMs not updated!") if wizard.module_project and wizard.time_unit: user = self.pool.get('res.users').browse(cr, uid, uid, context) diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 8636e2393da..04dc49059b8 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -898,7 +898,6 @@ class sale_order_line(osv.osv): elif uom: # whether uos is set or not default_uom = product_obj.uom_id and product_obj.uom_id.id q = product_uom_obj._compute_qty(cr, uid, uom, qty, default_uom) - result['product_uom'] = default_uom if product_obj.uos_id: result['product_uos'] = product_obj.uos_id.id result['product_uos_qty'] = qty * product_obj.uos_coeff diff --git a/addons/sale/sale_data.xml b/addons/sale/sale_data.xml index 8a6b1a8cbe3..c9d3d2348df 100644 --- a/addons/sale/sale_data.xml +++ b/addons/sale/sale_data.xml @@ -34,11 +34,13 @@ Quotation send sale.order + Quotation send Sales Order Confirmed sale.order + Quotation confirmed diff --git a/addons/sale/test/sale_order_demo.yml b/addons/sale/test/sale_order_demo.yml index 7e5a223e8b0..75e17ebeb02 100644 --- a/addons/sale/test/sale_order_demo.yml +++ b/addons/sale/test/sale_order_demo.yml @@ -14,3 +14,23 @@ !assert {model: sale.order, id: sale.sale_order_test1, string: The onchange function of product was not correctly triggered}: - order_line[0].name == u'[LCD17] 17\u201d LCD Monitor' - order_line[0].price_unit == 1350.0 + - order_line[0].product_uom_qty == 8 + - order_line[0].product_uom.id == ref('product.product_uom_unit') + +- + I create another sale order +- + !record {model: sale.order, id: sale_order_test2}: + partner_id: base.res_partner_2 + order_line: + - product_id: product.product_product_7 + product_uom_qty: 16 + product_uom: product.product_uom_dozen +- + I verify that the onchange was correctly triggered +- + !assert {model: sale.order, id: sale.sale_order_test2, string: The onchange function of product was not correctly triggered}: + - order_line[0].name == u'[LCD17] 17\u201d LCD Monitor' + - order_line[0].price_unit == 1350.0 * 12 + - order_line[0].product_uom.id == ref('product.product_uom_dozen') + - order_line[0].product_uom_qty == 16 \ No newline at end of file diff --git a/addons/stock/res_config_view.xml b/addons/stock/res_config_view.xml index 9cc8553f4ea..3de3104a970 100644 --- a/addons/stock/res_config_view.xml +++ b/addons/stock/res_config_view.xml @@ -91,7 +91,7 @@