diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py index e9cd0ed2254..8c3eda5bbae 100644 --- a/addons/account/__openerp__.py +++ b/addons/account/__openerp__.py @@ -142,7 +142,6 @@ module named account_voucher. 'test/account_change_currency.yml', 'test/chart_of_account.yml', 'test/account_period_close.yml', - 'test/account_fiscalyear_close_state.yml', 'test/account_use_model.yml', 'test/account_validate_account_move.yml', 'test/account_fiscalyear_close.yml', @@ -150,6 +149,7 @@ module named account_voucher. 'test/account_cash_statement.yml', 'test/test_edi_invoice.yml', 'test/account_report.yml', + 'test/account_fiscalyear_close_state.yml', #last test, as it will definitively close the demo fiscalyear ], 'installable': True, 'active': False, diff --git a/addons/account/account.py b/addons/account/account.py index bb9c95a404f..20799938afd 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -881,7 +881,7 @@ class account_fiscalyear(osv.osv): for fy in self.browse(cr, uid, ids, context=context): ds = datetime.strptime(fy.date_start, '%Y-%m-%d') period_obj.create(cr, uid, { - 'name': _('Opening Period'), + 'name': "%s %s" % (_('Opening Period'), ds.strftime('%Y')), 'code': ds.strftime('00/%Y'), 'date_start': ds, 'date_stop': ds, diff --git a/addons/account/account_bank_statement.py b/addons/account/account_bank_statement.py index 57472e228ef..85d9805eb32 100644 --- a/addons/account/account_bank_statement.py +++ b/addons/account/account_bank_statement.py @@ -30,10 +30,12 @@ class account_bank_statement(osv.osv): def create(self, cr, uid, vals, context=None): seq = 0 if 'line_ids' in vals: + new_line_ids = [] for line in vals['line_ids']: seq += 1 line[2]['sequence'] = seq - vals[seq - 1] = line + new_line_ids += tuple(line) + vals['line_ids'] = new_line_ids return super(account_bank_statement, self).create(cr, uid, vals, context=context) def write(self, cr, uid, ids, vals, context=None): diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py index 27881bf1280..fcd630ea78b 100644 --- a/addons/account/account_invoice.py +++ b/addons/account/account_invoice.py @@ -207,7 +207,7 @@ class account_invoice(osv.osv): help=' * The \'Draft\' state is used when a user is encoding a new and unconfirmed Invoice. \ \n* The \'Pro-forma\' when invoice is in Pro-forma state,invoice does not have an invoice number. \ \n* The \'Open\' state is used when user create invoice,a invoice number is generated.Its in open state till user does not pay invoice. \ - \n* The \'Paid\' state is set automatically when invoice is paid.\ + \n* The \'Paid\' state is set automatically when the invoice is paid. Its related journal entries may or may not be reconciled. \ \n* The \'Cancelled\' state is used when user cancel invoice.'), 'date_invoice': fields.date('Invoice Date', readonly=True, states={'draft':[('readonly',False)]}, select=True, help="Keep empty to use the current date"), 'date_due': fields.date('Due Date', states={'paid':[('readonly',True)], 'open':[('readonly',True)], 'close':[('readonly',True)]}, select=True, @@ -257,7 +257,7 @@ class account_invoice(osv.osv): 'account.invoice': (lambda self, cr, uid, ids, c={}: ids, None, 50), # Check if we can remove ? 'account.move.line': (_get_invoice_from_line, None, 50), 'account.move.reconcile': (_get_invoice_from_reconcile, None, 50), - }, help="The Journal Entry of the invoice have been totally reconciled with one or several Journal Entries of payment."), + }, help="It indicates that the invoice has been paid and the journal entry of the invoice has been reconciled with one or several journal entries of payment."), 'partner_bank_id': fields.many2one('res.partner.bank', 'Bank Account', help='Bank Account Number, Company bank account if Invoice is customer or supplier refund, otherwise Partner bank account number.', readonly=True, states={'draft':[('readonly',False)]}), 'move_lines':fields.function(_get_lines, type='many2many', relation='account.move.line', string='Entry Lines'), diff --git a/addons/account/i18n/ar.po b/addons/account/i18n/ar.po index 3b5edf1e87d..faecaa6fe04 100644 --- a/addons/account/i18n/ar.po +++ b/addons/account/i18n/ar.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: 2011-01-11 11:14+0000\n" -"PO-Revision-Date: 2011-11-15 03:49+0000\n" +"PO-Revision-Date: 2011-12-04 22:14+0000\n" "Last-Translator: kifcaliph \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: 2011-11-16 05:21+0000\n" -"X-Generator: Launchpad (build 14291)\n" +"X-Launchpad-Export-Date: 2011-12-05 05:22+0000\n" +"X-Generator: Launchpad (build 14418)\n" #. module: account #: model:process.transition,name:account.process_transition_supplierreconcilepaid0 @@ -24,7 +24,7 @@ msgstr "نظام الدفع" #. module: account #: view:account.journal:0 msgid "Other Configuration" -msgstr "تعديلات أخرى" +msgstr "إعدادات أخرى" #. module: account #: code:addons/account/wizard/account_open_closed_fiscalyear.py:40 @@ -193,7 +193,7 @@ msgstr "مصدر الحساب" #. module: account #: model:ir.actions.act_window,name:account.act_acc_analytic_acc_5_report_hr_timesheet_invoice_journal msgid "All Analytic Entries" -msgstr "كل السندات التحليلية" +msgstr "كل القيود التحليلية" #. module: account #: model:ir.actions.act_window,name:account.action_view_created_invoice_dashboard @@ -607,6 +607,8 @@ msgid "" "If you unreconciliate transactions, you must also verify all the actions " "that are linked to those transactions because they will not be disable" msgstr "" +"إذا قمت إلغاء تسوية العمليات، عليك أيضاً التحقق من كل الإجراءات المتعلقة لكل " +"هذه المعاملات لأنهم لن يتم إيقافها" #. module: account #: view:analytic.entries.report:0 @@ -631,12 +633,12 @@ msgstr "سجل مركزي" #. module: account #: sql_constraint:account.sequence.fiscalyear:0 msgid "Main Sequence must be different from current !" -msgstr "" +msgstr "المسلسل الرئيسي لابد أن يختلف من الحالي !" #. module: account #: field:account.invoice.tax,tax_amount:0 msgid "Tax Code Amount" -msgstr "" +msgstr "مبلغ رمز الضريبة" #. module: account #: code:addons/account/account.py:2779 @@ -648,7 +650,7 @@ msgstr "" #. module: account #: help:account.bank.statement,balance_end_real:0 msgid "closing balance entered by the cashbox verifier" -msgstr "" +msgstr "رصيد الإغلاق من محقق النقدية" #. module: account #: view:account.period:0 @@ -688,7 +690,7 @@ msgstr "الشركة يجب ان تكون واحدة لجميع المدخلات #: model:ir.actions.act_window,name:account.action_aged_receivable #, python-format msgid "Receivable Accounts" -msgstr "حسابات القبض" +msgstr "حسابات مدينة" #. module: account #: model:ir.model,name:account.model_account_report_general_ledger @@ -756,7 +758,7 @@ msgstr "نوع" #. module: account #: model:ir.model,name:account.model_account_subscription_line msgid "Account Subscription Line" -msgstr "" +msgstr "خط إشتراك الحساب" #. module: account #: help:account.invoice,reference:0 @@ -818,6 +820,8 @@ msgid "" "Can not %s invoice which is already reconciled, invoice should be " "unreconciled first. You can only Refund this invoice" msgstr "" +"لا يمكن لفاتورة %s حيث تمت تسويتها، يجب إلغاء التسوية أولاً. يمكنك رد " +"الفاتورة فقط." #. module: account #: model:ir.actions.act_window,name:account.action_subscription_form_new @@ -840,7 +844,7 @@ msgstr "الشريك التالي للموازنة" msgid "" "You can not do this modification on a confirmed entry ! Please note that you " "can just change some non important fields !" -msgstr "" +msgstr "لا يمكنك التعديلات لقيد مؤكد ! يمكنك تحرير بعض الحقول غير المهمة فقط" #. module: account #: view:account.invoice.report:0 @@ -937,7 +941,7 @@ msgstr "مشتريات" #. module: account #: field:account.model,lines_id:0 msgid "Model Entries" -msgstr "" +msgstr "نموذج للقيود" #. module: account #: field:account.account,code:0 @@ -985,7 +989,7 @@ msgstr "اسم الحساب" #: field:account.chart.template,property_reserve_and_surplus_account:0 #: field:res.company,property_reserve_and_surplus_account:0 msgid "Reserve and Profit/Loss Account" -msgstr "" +msgstr "حساب الإحتياطي و الربح و الخسارة" #. module: account #: field:report.account.receivable,name:0 @@ -1020,7 +1024,7 @@ msgstr "" #. module: account #: view:account.tax:0 msgid "Applicability Options" -msgstr "" +msgstr "خيارات التطابق" #. module: account #: report:account.partner.balance:0 @@ -1080,7 +1084,7 @@ msgstr "" #. module: account #: selection:account.move.line,centralisation:0 msgid "Credit Centralisation" -msgstr "" +msgstr "مركزية الدين" #. module: account #: model:ir.actions.act_window,help:account.action_invoice_tree2 @@ -1112,12 +1116,12 @@ msgstr "رمز الضرائب" #. module: account #: field:account.account,currency_mode:0 msgid "Outgoing Currencies Rate" -msgstr "" +msgstr "معدل العملات الصادرة" #. module: account #: help:account.move.line,move_id:0 msgid "The move of this entry line." -msgstr "" +msgstr "الحركة لخط هذا القيد" #. module: account #: field:account.move.line.reconcile,trans_nbr:0 @@ -1143,7 +1147,7 @@ msgstr "لا يمكنك تعديل/مسح يومية بقيود لهذه الف #: help:account.invoice,origin:0 #: help:account.invoice.line,origin:0 msgid "Reference of the document that produced this invoice." -msgstr "" +msgstr "مرجع المستند لهذه الفاتورة" #. module: account #: view:account.analytic.line:0 @@ -1253,7 +1257,7 @@ msgstr "رصيد أول المدة" #. module: account #: view:account.invoice:0 msgid "Reset to Draft" -msgstr "" +msgstr "إعادة التعيين لمسودة" #. module: account #: view:wizard.multi.charts.accounts:0 @@ -1335,7 +1339,7 @@ msgstr "بحث الضرائب" #. module: account #: model:ir.model,name:account.model_account_analytic_cost_ledger msgid "Account Analytic Cost Ledger" -msgstr "" +msgstr "حساب تحليل تكاليف الأستاذ" #. module: account #: view:account.model:0 @@ -1429,7 +1433,7 @@ msgstr "المحاسبة الإنجليزية" #: selection:account.fiscalyear,state:0 #: selection:account.period,state:0 msgid "Closed" -msgstr "" +msgstr "مغلق" #. module: account #: model:ir.ui.menu,name:account.menu_finance_recurrent_entries @@ -1485,7 +1489,7 @@ msgstr "ذهاب للشريك التالي" #. module: account #: view:account.bank.statement:0 msgid "Search Bank Statements" -msgstr "بحث كشوف حسابات المصرف" +msgstr "بحث كشوف حساب المصرف" #. module: account #: sql_constraint:account.model.line:0 @@ -1498,7 +1502,7 @@ msgstr "" #: view:account.chart.template:0 #: field:account.chart.template,property_account_payable:0 msgid "Payable Account" -msgstr "حساب الدائن" +msgstr "حساب الدائنون" #. module: account #: field:account.tax,account_paid_id:0 @@ -1554,7 +1558,7 @@ msgstr "فاتورة" #: model:process.node,note:account.process_node_analytic0 #: model:process.node,note:account.process_node_analyticcost0 msgid "Analytic costs to invoice" -msgstr "تحليل التكاليف للفاتورة" +msgstr "تكاليف تحليلية للفاتورة" #. module: account #: view:ir.sequence:0 @@ -1603,7 +1607,7 @@ msgstr "" #: field:account.partner.ledger,initial_balance:0 #: field:account.report.general.ledger,initial_balance:0 msgid "Include initial balances" -msgstr "" +msgstr "ضم الأرصدة المبدئية" #. module: account #: field:account.tax.code,sum:0 @@ -1618,7 +1622,7 @@ msgstr "" #. module: account #: view:account.change.currency:0 msgid "This wizard will change the currency of the invoice" -msgstr "" +msgstr "هذا المعالج لتغيير العملة للفاتورة" #. module: account #: model:ir.actions.act_window,help:account.action_account_chart @@ -1631,13 +1635,13 @@ msgstr "" #. module: account #: constraint:account.fiscalyear:0 msgid "Error! You cannot define overlapping fiscal years" -msgstr "" +msgstr "خطأ! لا يمكنك تعريف سنوات مالية متداخلة" #. module: account #: code:addons/account/account_move_line.py:808 #, python-format msgid "The account is not defined to be reconciled !" -msgstr "" +msgstr "لم يعرف الحساب لتسويته !" #. module: account #: field:account.cashbox.line,pieces:0 @@ -1649,7 +1653,7 @@ msgstr "قيم" msgid "" "If the active field is set to False, it will allow you to hide the journal " "period without removing it." -msgstr "" +msgstr "إذا كان الحقل" #. module: account #: view:res.partner:0 @@ -1706,7 +1710,7 @@ msgstr "مرجع العميل" #: code:addons/account/account_cash_statement.py:328 #, python-format msgid "User %s does not have rights to access %s journal !" -msgstr "" +msgstr "المستخدم %s ليس لديه صلاحيات الكتابة و التحرير ليومية %s!" #. module: account #: help:account.period,special:0 @@ -1727,7 +1731,7 @@ msgstr "" #: code:addons/account/account.py:499 #, python-format msgid "You cannot deactivate an account that contains account moves." -msgstr "" +msgstr "لا يمكنك إلغاء نشاط حساب إذا كان يحتوي علي حركات حساب." #. module: account #: field:account.move.line.reconcile,credit:0 @@ -1852,7 +1856,7 @@ msgstr "حساب الإحتياطي و الأرباح و الخسائر" #. module: account #: help:account.bank.statement,balance_end:0 msgid "Closing balance based on Starting Balance and Cash Transactions" -msgstr "" +msgstr "رصيد الإغلاق بناءاً علي رصيد أول المدة و معاملات النقدية" #. module: account #: model:process.node,note:account.process_node_reconciliation0 @@ -1937,7 +1941,7 @@ msgstr "إلغاء تسوية القيود" #. module: account #: field:account.move.reconcile,line_partial_ids:0 msgid "Partial Entry lines" -msgstr "" +msgstr "سطور لقيود جزئية" #. module: account #: view:account.fiscalyear:0 @@ -2287,7 +2291,7 @@ msgstr "تمركز المدين" #: view:account.invoice.confirm:0 #: model:ir.actions.act_window,name:account.action_account_invoice_confirm msgid "Confirm Draft Invoices" -msgstr "" +msgstr "تأكيد الفواتير المسودة" #. module: account #: field:account.entries.report,day:0 @@ -2481,7 +2485,7 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_bank_statement_tree #: model:ir.ui.menu,name:account.menu_bank_statement_tree msgid "Bank Statements" -msgstr "كشوف حسابات البنك" +msgstr "كشوف حساب البنك" #. module: account #: selection:account.tax.template,applicable_type:0 @@ -2571,7 +2575,7 @@ msgstr "" #: code:addons/account/wizard/account_use_model.py:81 #, python-format msgid "You have to define an analytic journal on the '%s' journal!" -msgstr "" +msgstr "عليك بتعريف يومية تحليلية في يومية '%s' !" #. module: account #: view:account.invoice.tax:0 @@ -2863,7 +2867,7 @@ msgstr "" #. module: account #: field:account.move.line,analytic_lines:0 msgid "Analytic lines" -msgstr "" +msgstr "سطور تحليلية" #. module: account #: model:process.node,name:account.process_node_electronicfile0 @@ -2873,7 +2877,7 @@ msgstr "ملف إالكتروني" #. module: account #: view:res.partner:0 msgid "Customer Credit" -msgstr "" +msgstr "دين العميل" #. module: account #: model:ir.model,name:account.model_account_tax_code_template @@ -3000,7 +3004,7 @@ msgstr "الشركاء الباقيين" #: view:account.subscription:0 #: field:account.subscription,lines_id:0 msgid "Subscription Lines" -msgstr "" +msgstr "خطوط الإشتراك" #. module: account #: selection:account.analytic.journal,type:0 @@ -3274,7 +3278,7 @@ msgstr "شجرة الحسابات" #. module: account #: view:account.tax.chart:0 msgid "(If you do not select period it will take all open periods)" -msgstr "" +msgstr "( إذا لم تختار فترة فسيتم أخذ كل الفترات المفتوحة )" #. module: account #: field:account.journal,centralisation:0 @@ -3441,7 +3445,7 @@ msgstr "الكمية" #. module: account #: field:account.invoice.report,address_contact_id:0 msgid "Contact Address Name" -msgstr "" +msgstr "اسم عنوان جهة الإتصال" #. module: account #: field:account.move.line,blocked:0 @@ -3451,7 +3455,7 @@ msgstr "تقاضي" #. module: account #: view:account.analytic.line:0 msgid "Search Analytic Lines" -msgstr "" +msgstr "بحث الخطوط التحليلية" #. module: account #: field:res.partner,property_account_payable:0 @@ -3548,7 +3552,7 @@ msgstr "اسم" #. module: account #: model:ir.model,name:account.model_account_aged_trial_balance msgid "Account Aged Trial balance Report" -msgstr "" +msgstr "ميزان المراجعة للحسابات المعمرة" #. module: account #: field:account.move.line,date:0 @@ -3990,7 +3994,7 @@ msgstr "إحصائيات الفواتير" #. module: account #: model:process.transition,note:account.process_transition_paymentorderreconcilation0 msgid "Bank statements are entered in the system." -msgstr "" +msgstr "كشوف حسابات البنك تم إدخالها في النظام." #. module: account #: code:addons/account/wizard/account_reconcile.py:133 @@ -4034,7 +4038,7 @@ msgstr "طباعة الفاتورة" #. module: account #: view:account.tax.template:0 msgid "Credit Notes" -msgstr "" +msgstr "أوراق دائنة" #. module: account #: code:addons/account/account.py:2067 @@ -4136,7 +4140,7 @@ msgstr "" #. module: account #: help:account.partner.ledger,reconcil:0 msgid "Consider reconciled entries" -msgstr "" +msgstr "نظر القيود المسواه" #. module: account #: model:ir.actions.act_window,name:account.action_validate_account_move_line @@ -4162,7 +4166,7 @@ msgstr "" #: constraint:account.account:0 #: constraint:account.tax.code:0 msgid "Error ! You can not create recursive accounts." -msgstr "" +msgstr "خطأ ! لا يمكن إنشاء حسابات تكرارية." #. module: account #: constraint:account.account:0 @@ -4213,7 +4217,7 @@ msgstr "" #: code:addons/account/invoice.py:73 #, python-format msgid "You must define an analytic journal of type '%s' !" -msgstr "" +msgstr "عليك بتعريف يومية تحليلية في يومية '%s' !" #. module: account #: code:addons/account/account.py:1397 @@ -4245,7 +4249,7 @@ msgstr "" #. module: account #: report:account.account.balance.landscape:0 msgid "Account Balance -" -msgstr "" +msgstr "رصيد الحساب -" #. module: account #: field:account.automatic.reconcile,date1:0 @@ -4344,7 +4348,7 @@ msgstr "" #. module: account #: model:process.transition,note:account.process_transition_suppliercustomerinvoice0 msgid "Draft invoices are validated. " -msgstr "" +msgstr "تم التحقق للفواتير المؤقتة. " #. module: account #: view:account.bank.statement:0 @@ -4416,7 +4420,7 @@ msgstr "" #: code:addons/account/wizard/account_report_common.py:126 #, python-format msgid "Error" -msgstr "" +msgstr "خطأ" #. module: account #: field:account.analytic.Journal.report,date2:0 @@ -4510,7 +4514,7 @@ msgstr "" #: code:addons/account/account.py:940 #, python-format msgid "Start period should be smaller then End period" -msgstr "" +msgstr "بداية الفترة يجب أن تكون أقل من نهاية الفترة" #. module: account #: selection:account.automatic.reconcile,power:0 @@ -4629,7 +4633,7 @@ msgstr "" #: code:addons/account/account.py:1167 #, python-format msgid "Integrity Error !" -msgstr "" +msgstr "خطأ بالسلامة !" #. module: account #: field:account.tax.template,description:0 @@ -4815,12 +4819,12 @@ msgstr "" #. module: account #: view:account.move.line:0 msgid "Debit/Credit" -msgstr "" +msgstr "مدين / دائن" #. module: account #: view:report.hr.timesheet.invoice.journal:0 msgid "Analytic Entries Stats" -msgstr "" +msgstr "إحصائيات القيود التحليلية" #. module: account #: model:ir.actions.act_window,name:account.action_account_tax_code_template_form @@ -4939,7 +4943,7 @@ msgstr "" #: code:addons/account/wizard/account_move_journal.py:63 #, python-format msgid "Configuration Error !" -msgstr "" +msgstr "خطأ في الإعدادات!" #. module: account #: help:account.partner.reconcile.process,to_reconcile:0 @@ -4952,12 +4956,12 @@ msgstr "" #. module: account #: view:account.subscription.line:0 msgid "Subscription lines" -msgstr "" +msgstr "خطوط الإشتراك" #. module: account #: field:account.entries.report,quantity:0 msgid "Products Quantity" -msgstr "" +msgstr "كمية المنتجات" #. module: account #: view:account.entries.report:0 @@ -4966,14 +4970,14 @@ msgstr "" #: selection:account.move,state:0 #: view:account.move.line:0 msgid "Unposted" -msgstr "" +msgstr "غير مرحله" #. module: account #: view:account.change.currency:0 #: model:ir.actions.act_window,name:account.action_account_change_currency #: model:ir.model,name:account.model_account_change_currency msgid "Change Currency" -msgstr "" +msgstr "تغيير العملة" #. module: account #: model:process.node,note:account.process_node_accountingentries0 @@ -4984,7 +4988,7 @@ msgstr "" #. module: account #: view:account.invoice:0 msgid "Payment Date" -msgstr "" +msgstr "تاريخ الدفع" #. module: account #: selection:account.automatic.reconcile,power:0 @@ -4997,7 +5001,7 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_analytic_open #: model:ir.ui.menu,name:account.account_analytic_def_account msgid "Analytic Accounts" -msgstr "" +msgstr "حسابات تحليلية" #. module: account #: help:account.account.type,report_type:0 @@ -5024,7 +5028,7 @@ msgstr "" #: field:account.model.line,amount_currency:0 #: field:account.move.line,amount_currency:0 msgid "Amount Currency" -msgstr "" +msgstr "مبلغ العملة" #. module: account #: code:addons/account/wizard/account_validate_account_move.py:39 @@ -5057,7 +5061,7 @@ msgstr "" #. module: account #: view:account.move.line:0 msgid "Number (Move)" -msgstr "" +msgstr "رقم (حركة)" #. module: account #: view:account.invoice.refund:0 @@ -5108,7 +5112,7 @@ msgstr "" #: field:account.print.journal,amount_currency:0 #: field:account.report.general.ledger,amount_currency:0 msgid "With Currency" -msgstr "" +msgstr "مع العملة" #. module: account #: view:account.bank.statement:0 @@ -5134,7 +5138,7 @@ msgstr "" #. module: account #: view:board.board:0 msgid "Aged Receivables" -msgstr "" +msgstr "الديون المشكوك في تحصيلها" #. module: account #: model:ir.actions.act_window,name:account.action_account_automatic_reconcile @@ -5186,7 +5190,7 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_account_analytic_journal_form #: model:ir.ui.menu,name:account.account_def_analytic_journal msgid "Analytic Journals" -msgstr "" +msgstr "يوميات تحليلية" #. module: account #: field:account.account,child_id:0 @@ -5203,12 +5207,12 @@ msgstr "" #. module: account #: field:res.partner,debit:0 msgid "Total Payable" -msgstr "" +msgstr "إجمالي مستحق الدفع" #. module: account #: model:ir.actions.act_window,name:account.action_account_analytic_account_line_extended_form msgid "account.analytic.line.extended" -msgstr "" +msgstr "account.analytic.line.extended" #. module: account #: selection:account.bank.statement.line,type:0 @@ -5269,7 +5273,7 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_account_state_open #: model:ir.model,name:account.model_account_state_open msgid "Account State Open" -msgstr "" +msgstr "فتح حالة الحساب" #. module: account #: report:account.analytic.account.quantity_cost_ledger:0 @@ -5323,7 +5327,7 @@ msgstr "" #: field:report.account.sales,period_id:0 #: field:report.account_type.sales,period_id:0 msgid "Force Period" -msgstr "" +msgstr "قوة الفترة" #. module: account #: view:account.invoice.report:0 @@ -5335,7 +5339,7 @@ msgstr "" #: code:addons/account/wizard/account_change_currency.py:60 #, python-format msgid "New currency is not confirured properly !" -msgstr "" +msgstr "العملة الجديدة لم يتم ضبطها بشكل صحيح !" #. module: account #: field:account.aged.trial.balance,filter:0 @@ -5354,7 +5358,7 @@ msgstr "" #: field:account.report.general.ledger,filter:0 #: field:account.vat.declaration,filter:0 msgid "Filter by" -msgstr "" +msgstr "ترشيح بـ" #. module: account #: code:addons/account/account_move_line.py:1131 @@ -5379,7 +5383,7 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_account_general_journal #: model:ir.model,name:account.model_account_general_journal msgid "Account General Journal" -msgstr "" +msgstr "حساب اليومية العامة" #. module: account #: code:addons/account/report/common_report_header.py:100 @@ -5403,7 +5407,7 @@ msgstr "" #. module: account #: field:account.payment.term.line,days:0 msgid "Number of Days" -msgstr "" +msgstr "عدد الأيام" #. module: account #: selection:account.automatic.reconcile,power:0 @@ -5437,7 +5441,7 @@ msgstr "" #: report:account.analytic.account.cost_ledger:0 #: report:account.analytic.account.quantity_cost_ledger:0 msgid "Printing date" -msgstr "" +msgstr "تاريخ الطباعة" #. module: account #: selection:account.account.type,close_method:0 @@ -5455,7 +5459,7 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_invoice_tree3 #: model:ir.ui.menu,name:account.menu_action_invoice_tree3 msgid "Customer Refunds" -msgstr "" +msgstr "رد للعملاء" #. module: account #: view:account.payment.term.line:0 @@ -5465,7 +5469,7 @@ msgstr "" #. module: account #: field:account.journal.period,name:0 msgid "Journal-Period Name" -msgstr "" +msgstr "اسم الفترة لليومية" #. module: account #: field:account.invoice.tax,factor_base:0 @@ -5501,7 +5505,7 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_analytic_entries_report #: model:ir.ui.menu,name:account.menu_action_analytic_entries_report msgid "Analytic Entries Analysis" -msgstr "" +msgstr "تحليل القيود التحليلية" #. module: account #: selection:account.aged.trial.balance,direction_selection:0 @@ -5511,7 +5515,7 @@ msgstr "" #. module: account #: view:account.analytic.line:0 msgid "Analytic Entry" -msgstr "" +msgstr "قيد تحليلي" #. module: account #: view:res.company:0 @@ -5738,7 +5742,7 @@ msgstr "" #. module: account #: field:account.journal,default_credit_account_id:0 msgid "Default Credit Account" -msgstr "" +msgstr "حساب الدائنون الإفتراضي" #. module: account #: view:account.installer:0 @@ -5748,7 +5752,7 @@ msgstr "" #. module: account #: view:account.payment.term.line:0 msgid " number of days: 30" -msgstr "" +msgstr " عدد الأيام: 30" #. module: account #: help:account.analytic.line,currency_id:0 @@ -5793,18 +5797,18 @@ msgstr "" #. module: account #: view:project.account.analytic.line:0 msgid "View Account Analytic Lines" -msgstr "" +msgstr "عرض خطوط الحساب التحليلي" #. module: account #: selection:account.account.type,report_type:0 msgid "Balance Sheet (Liability Accounts)" -msgstr "" +msgstr "الميزانية (لحسابات الأصول)" #. module: account #: field:account.invoice,internal_number:0 #: field:report.invoice.created,number:0 msgid "Invoice Number" -msgstr "" +msgstr "رقم الفاتورة" #. module: account #: help:account.tax,include_base_amount:0 @@ -5822,7 +5826,7 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_account_analytic_invert_balance #: model:ir.actions.report.xml,name:account.account_analytic_account_inverted_balance msgid "Inverted Analytic Balance" -msgstr "" +msgstr "الرصيد التحليلي المعكوس" #. module: account #: field:account.tax.template,applicable_type:0 @@ -5854,7 +5858,7 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_account_analytic_journal_open_form #: model:ir.ui.menu,name:account.account_analytic_journal_entries msgid "Analytic Journal Items" -msgstr "" +msgstr "عناصر اليومية التحليلية" #. module: account #: view:account.fiscalyear.close:0 @@ -5900,7 +5904,7 @@ msgstr "" #: code:addons/account/wizard/account_report_aged_partner_balance.py:57 #, python-format msgid "Enter a Start date !" -msgstr "" +msgstr "أدخل تاريخ البدء !" #. module: account #: report:account.invoice:0 @@ -5918,7 +5922,7 @@ msgstr "" #. module: account #: field:account.bank.statement,move_line_ids:0 msgid "Entry lines" -msgstr "" +msgstr "سطور القيود" #. module: account #: field:account.move.line,centralisation:0 @@ -5988,7 +5992,7 @@ msgstr "" #: model:ir.actions.report.xml,name:account.analytic_journal_print #: model:ir.model,name:account.model_account_analytic_journal msgid "Analytic Journal" -msgstr "" +msgstr "يومية تحليلية" #. module: account #: view:account.entries.report:0 @@ -6037,7 +6041,7 @@ msgstr "" #. module: account #: model:ir.model,name:account.model_analytic_entries_report msgid "Analytic Entries Statistics" -msgstr "" +msgstr "إحصائيات القيود التحليلية" #. module: account #: code:addons/account/account_analytic_line.py:143 @@ -6049,7 +6053,7 @@ msgstr "" #. module: account #: view:account.use.model:0 msgid "Create manual recurring entries in a chosen journal." -msgstr "" +msgstr "إنشاء قيد يومية تكرارية يدوياً في يومية مختارة." #. module: account #: code:addons/account/account.py:1393 @@ -6087,7 +6091,7 @@ msgstr "" #: code:addons/account/account_move_line.py:1003 #, python-format msgid "Total debit" -msgstr "" +msgstr "إجمالي الخصم" #. module: account #: code:addons/account/account_move_line.py:781 @@ -6193,7 +6197,7 @@ msgstr "" #. module: account #: selection:account.journal.period,state:0 msgid "Printed" -msgstr "" +msgstr "مطبوع" #. module: account #: view:account.analytic.line:0 @@ -6290,7 +6294,7 @@ msgstr "" #: code:addons/account/wizard/account_change_currency.py:65 #, python-format msgid "Currnt currency is not confirured properly !" -msgstr "" +msgstr "العملة الجديدة لم يتم ضبطها بشكل صحيح !" #. module: account #: model:ir.model,name:account.model_account_move_reconcile @@ -6310,7 +6314,7 @@ msgstr "" #: model:ir.actions.report.xml,name:account.account_general_ledger #: model:ir.ui.menu,name:account.menu_general_ledger msgid "General Ledger" -msgstr "" +msgstr "الأستاذ العام" #. module: account #: model:process.transition,note:account.process_transition_paymentorderbank0 @@ -6358,7 +6362,7 @@ msgstr "" #: report:account.invoice:0 #: report:account.partner.balance:0 msgid "Total:" -msgstr "" +msgstr "الإجمالي:" #. module: account #: code:addons/account/account.py:2050 @@ -6401,7 +6405,7 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_invoice_tree1 #: model:ir.ui.menu,name:account.menu_action_invoice_tree1 msgid "Customer Invoices" -msgstr "فواتير العميل" +msgstr "فواتير العملاء" #. module: account #: field:account.move.line.reconcile,writeoff:0 @@ -6411,7 +6415,7 @@ msgstr "" #. module: account #: view:account.analytic.line:0 msgid "Sales" -msgstr "" +msgstr "المبيعات" #. module: account #: view:account.journal.column:0 @@ -6460,7 +6464,7 @@ msgstr "" #. module: account #: model:ir.actions.act_window,name:account.act_account_acount_move_line_open_unreconciled msgid "Unreconciled Entries" -msgstr "" +msgstr "قيود غير مسواه" #. module: account #: model:ir.ui.menu,name:account.menu_menu_Bank_process @@ -6491,7 +6495,7 @@ msgstr "" #: view:analytic.entries.report:0 #: field:analytic.entries.report,product_uom_id:0 msgid "Product UOM" -msgstr "" +msgstr "وحدة قياس المنتج" #. module: account #: model:ir.actions.act_window,help:account.action_view_bank_statement_tree @@ -6528,7 +6532,7 @@ msgstr "" #: view:account.move:0 #: view:account.move.line:0 msgid "Analytic Lines" -msgstr "" +msgstr "سطور تحليلية" #. module: account #: model:ir.actions.act_window,help:account.action_account_analytic_account_tree2 @@ -6579,7 +6583,7 @@ msgstr "" #. module: account #: field:account.account.template,parent_id:0 msgid "Parent Account Template" -msgstr "" +msgstr "قالب حساب رئيسي" #. module: account #: view:account.bank.statement:0 @@ -6638,7 +6642,7 @@ msgstr "" #. module: account #: help:res.partner,credit:0 msgid "Total amount this customer owes you." -msgstr "" +msgstr "إجمالي المبلغ المدين لهذا العميل لك." #. module: account #: model:ir.model,name:account.model_ir_sequence @@ -6660,12 +6664,12 @@ msgstr "" #: code:addons/account/report/account_partner_balance.py:115 #, python-format msgid "Unknown Partner" -msgstr "" +msgstr "شريك مجهول" #. module: account #: view:account.bank.statement:0 msgid "Opening Balance" -msgstr "" +msgstr "رصيد أول المدة" #. module: account #: help:account.journal,centralisation:0 @@ -6678,7 +6682,7 @@ msgstr "" #. module: account #: field:account.bank.statement,closing_date:0 msgid "Closed On" -msgstr "" +msgstr "إقفال يوم" #. module: account #: model:ir.model,name:account.model_account_bank_statement_line @@ -6875,7 +6879,7 @@ msgstr "" #. module: account #: view:account.move.line:0 msgid "Optional Information" -msgstr "" +msgstr "معلومات خيارية" #. module: account #: view:account.analytic.line:0 @@ -6914,13 +6918,13 @@ msgstr "" #: code:addons/account/installer.py:432 #, python-format msgid "Sales Journal" -msgstr "" +msgstr "يومية المبيعات" #. module: account #: code:addons/account/wizard/account_move_journal.py:104 #, python-format msgid "Open Journal Items !" -msgstr "" +msgstr "فتح عناصر اليومية !" #. module: account #: model:ir.model,name:account.model_account_invoice_tax @@ -6937,7 +6941,7 @@ msgstr "" #: view:product.product:0 #: view:product.template:0 msgid "Sales Properties" -msgstr "" +msgstr "خصائص المبيعات" #. module: account #: model:ir.ui.menu,name:account.menu_manual_reconcile @@ -6947,7 +6951,7 @@ msgstr "" #. module: account #: report:account.overdue:0 msgid "Total amount due:" -msgstr "" +msgstr "إجمالي المبلغ المستحق:" #. module: account #: field:account.analytic.chart,to_date:0 @@ -6986,7 +6990,7 @@ msgstr "" #: code:addons/account/report/account_partner_balance.py:304 #, python-format msgid "Payable Accounts" -msgstr "" +msgstr "حسابات الدائنون" #. module: account #: model:ir.model,name:account.model_account_chart_template @@ -7044,7 +7048,7 @@ msgstr "" #. module: account #: model:ir.model,name:account.model_account_bs_report msgid "Account Balance Sheet Report" -msgstr "" +msgstr "تقرير الميزانية للحسابات" #. module: account #: help:account.tax,price_include:0 @@ -7062,7 +7066,7 @@ msgstr "" #. module: account #: view:report.account_type.sales:0 msgid "Sales by Account type" -msgstr "" +msgstr "المبيعات حسب نوع الحساب" #. module: account #: help:account.invoice,move_id:0 @@ -7087,7 +7091,7 @@ msgstr "" #. module: account #: view:account.payment.term.line:0 msgid " number of days: 14" -msgstr "" +msgstr " عدد الأيام: 14" #. module: account #: view:analytic.entries.report:0 @@ -7108,7 +7112,7 @@ msgstr "أصل" #. module: account #: field:account.installer.modules,account_analytic_plans:0 msgid "Multiple Analytic Plans" -msgstr "" +msgstr "خطط تحليلية متعددة" #. module: account #: help:account.payment.term.line,days2:0 @@ -7178,7 +7182,7 @@ msgstr "" #: code:addons/account/invoice.py:720 #, python-format msgid "Warning !" -msgstr "" +msgstr "تحذير !" #. module: account #: field:account.entries.report,move_line_state:0 @@ -7195,7 +7199,7 @@ msgstr "" #: view:account.subscription.generate:0 #: model:ir.model,name:account.model_account_subscription_generate msgid "Subscription Compute" -msgstr "" +msgstr "حساب الإشتراك" #. module: account #: report:account.move.voucher:0 @@ -7229,7 +7233,7 @@ msgstr "" #. module: account #: help:account.change.currency,currency_id:0 msgid "Select a currency to apply on the invoice" -msgstr "" +msgstr "اختر عملة للفاتورة" #. module: account #: code:addons/account/wizard/account_invoice_refund.py:100 @@ -7241,7 +7245,7 @@ msgstr "" #: code:addons/account/invoice.py:787 #, python-format msgid "No Invoice Lines !" -msgstr "" +msgstr "لا سطور للفاتورة !" #. module: account #: view:account.bank.statement:0 @@ -7261,7 +7265,7 @@ msgstr "" #: field:account.subscription,state:0 #: field:report.invoice.created,state:0 msgid "State" -msgstr "" +msgstr "الحالة" #. module: account #: help:account.open.closed.fiscalyear,fyear_id:0 @@ -7324,7 +7328,7 @@ msgstr "" #. module: account #: report:account.analytic.account.inverted.balance:0 msgid "Inverted Analytic Balance -" -msgstr "" +msgstr "رصيد تحليلي معكوس -" #. module: account #: view:account.move.bank.reconcile:0 @@ -7357,7 +7361,7 @@ msgstr "" #: view:account.invoice:0 #: field:account.invoice,comment:0 msgid "Additional Information" -msgstr "" +msgstr "معلومات أضافية" #. module: account #: view:account.installer:0 @@ -7368,7 +7372,7 @@ msgstr "" #: view:account.invoice.report:0 #: field:account.invoice.report,residual:0 msgid "Total Residual" -msgstr "" +msgstr "إجمالي المتبقي" #. module: account #: model:process.node,note:account.process_node_invoiceinvoice0 @@ -7480,7 +7484,7 @@ msgstr "" #. module: account #: report:account.invoice:0 msgid "Net Total:" -msgstr "" +msgstr "صافي الإجمالي:" #. module: account #: model:ir.ui.menu,name:account.menu_finance_generic_reporting @@ -7553,7 +7557,7 @@ msgstr "" #. module: account #: field:account.account,company_currency_id:0 msgid "Company Currency" -msgstr "" +msgstr "عملة الشركة" #. module: account #: model:process.node,name:account.process_node_paymententries0 @@ -7585,12 +7589,12 @@ msgstr "" #. module: account #: model:ir.model,name:account.model_account_analytic_inverted_balance msgid "Account Analytic Inverted Balance" -msgstr "" +msgstr "رصيد للحساب التحليلي المعكوس" #. module: account #: model:ir.model,name:account.model_account_common_report msgid "Account Common Report" -msgstr "" +msgstr "تقرير مشترك للحساب" #. module: account #: model:process.transition,name:account.process_transition_filestatement0 @@ -7612,13 +7616,13 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_account_type_form #: model:ir.ui.menu,name:account.menu_action_account_type_form msgid "Account Types" -msgstr "" +msgstr "أنواع الحساب" #. module: account #: code:addons/account/invoice.py:897 #, python-format msgid "Cannot create invoice move on centralised journal" -msgstr "" +msgstr "لا يمكن إنشاء حركة فاتورة حيث اليومية مركزية" #. module: account #: field:account.account.type,report_type:0 @@ -7643,17 +7647,17 @@ msgstr "" #: view:account.chart.template:0 #: field:account.chart.template,property_account_receivable:0 msgid "Receivable Account" -msgstr "" +msgstr "حساب المدينون" #. module: account #: view:account.bank.statement:0 msgid "CashBox Balance" -msgstr "" +msgstr "رصيد صندوق النقدية" #. module: account #: model:ir.model,name:account.model_account_fiscalyear_close_state msgid "Fiscalyear Close state" -msgstr "" +msgstr "حالة إغلاق السنة المالية" #. module: account #: field:account.invoice.refund,journal_id:0 @@ -7673,7 +7677,7 @@ msgstr "" #: report:pl.account:0 #: report:pl.account.horizontal:0 msgid "Filter By" -msgstr "" +msgstr "ترشيح بـ" #. module: account #: model:ir.actions.act_window,help:account.action_invoice_tree1 @@ -7689,7 +7693,7 @@ msgstr "" #: view:board.board:0 #: model:ir.actions.act_window,name:account.action_company_analysis_tree msgid "Company Analysis" -msgstr "" +msgstr "تحليل الشركة" #. module: account #: help:account.invoice,account_id:0 @@ -7706,14 +7710,14 @@ msgstr "" #. module: account #: model:ir.model,name:account.model_account_payment_term_line msgid "Payment Term Line" -msgstr "" +msgstr "سطر شروط السداد" #. module: account #: code:addons/account/account.py:2794 #: code:addons/account/installer.py:452 #, python-format msgid "Purchase Journal" -msgstr "" +msgstr "يومية المشتريات" #. module: account #: view:account.invoice.refund:0 @@ -7723,17 +7727,17 @@ msgstr "" #. module: account #: field:account.invoice.line,price_subtotal:0 msgid "Subtotal" -msgstr "" +msgstr "المجموع الفرعي" #. module: account #: view:account.vat.declaration:0 msgid "Print Tax Statement" -msgstr "" +msgstr "طباعة كشف الضريبة" #. module: account #: view:account.model.line:0 msgid "Journal Entry Model Line" -msgstr "" +msgstr "خط نموذج قيد اليومية" #. module: account #: view:account.invoice:0 @@ -7742,7 +7746,7 @@ msgstr "" #: field:account.invoice.report,date_due:0 #: field:report.invoice.created,date_due:0 msgid "Due Date" -msgstr "" +msgstr "تاريخ الإستحقاق" #. module: account #: model:ir.ui.menu,name:account.menu_account_supplier @@ -7759,12 +7763,12 @@ msgstr "" #. module: account #: view:account.journal:0 msgid "Accounts Type Allowed (empty for no control)" -msgstr "" +msgstr "أنواع الحسابات المسموحة (فارغ للغير رقابية)" #. module: account #: view:res.partner:0 msgid "Supplier Accounting Properties" -msgstr "" +msgstr "خصائص محاسبة المورد" #. module: account #: help:account.move.line,amount_residual:0 @@ -7776,23 +7780,23 @@ msgstr "" #. module: account #: view:account.payment.term.line:0 msgid " valuation: balance" -msgstr "" +msgstr " التقييم: رصيد" #. module: account #: view:account.tax.code:0 msgid "Statistics" -msgstr "" +msgstr "إحصائيات" #. module: account #: field:account.analytic.chart,from_date:0 #: field:project.account.analytic.line,from_date:0 msgid "From" -msgstr "" +msgstr "من" #. module: account #: model:ir.model,name:account.model_account_fiscalyear_close msgid "Fiscalyear Close" -msgstr "" +msgstr "إغلاق السنة المالية" #. module: account #: sql_constraint:account.account:0 @@ -7802,18 +7806,18 @@ msgstr "" #. module: account #: model:ir.actions.act_window,name:account.act_account_journal_2_account_invoice_opened msgid "Unpaid Invoices" -msgstr "" +msgstr "فواتير غير مدفوعة" #. module: account #: field:account.move.line.reconcile,debit:0 msgid "Debit amount" -msgstr "" +msgstr "المبلغ المدين" #. module: account #: view:board.board:0 #: model:ir.actions.act_window,name:account.action_treasory_graph msgid "Treasury" -msgstr "" +msgstr "الخزينة" #. module: account #: view:account.aged.trial.balance:0 @@ -7824,7 +7828,7 @@ msgstr "" #: view:account.analytic.inverted.balance:0 #: view:account.common.report:0 msgid "Print" -msgstr "" +msgstr "طباعة" #. module: account #: view:account.journal:0 @@ -7836,30 +7840,30 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_account_analytic_chart #: model:ir.ui.menu,name:account.menu_action_analytic_account_tree2 msgid "Chart of Analytic Accounts" -msgstr "" +msgstr "شجرة الحسابات التحليلية" #. module: account #: model:ir.ui.menu,name:account.menu_configuration_misc msgid "Miscellaneous" -msgstr "" +msgstr "متفرقات" #. module: account #: help:res.partner,debit:0 msgid "Total amount you have to pay to this supplier." -msgstr "" +msgstr "إجمالي المبلغ الواجب دفعه لهذا المورد." #. module: account #: model:process.node,name:account.process_node_analytic0 #: model:process.node,name:account.process_node_analyticcost0 msgid "Analytic Costs" -msgstr "" +msgstr "تكاليف تحليلية" #. module: account #: field:account.analytic.journal,name:0 #: report:account.general.journal:0 #: field:account.journal,name:0 msgid "Journal Name" -msgstr "" +msgstr "اسم اليومية" #. module: account #: help:account.invoice,internal_number:0 @@ -7880,12 +7884,12 @@ msgstr "" #: code:addons/account/account_move_line.py:1214 #, python-format msgid "Bad account!" -msgstr "" +msgstr "حساب سئ!" #. module: account #: help:account.chart,fiscalyear:0 msgid "Keep empty for all open fiscal years" -msgstr "" +msgstr "اتركه فارغ لكل السنوات المالية المفتوحة" #. module: account #: code:addons/account/account_move_line.py:1056 @@ -7926,7 +7930,7 @@ msgstr "" #: field:report.account_type.sales,currency_id:0 #: field:report.invoice.created,currency_id:0 msgid "Currency" -msgstr "" +msgstr "عملة" #. module: account #: help:account.bank.statement.line,sequence:0 @@ -7954,12 +7958,12 @@ msgstr "" #. module: account #: model:ir.actions.act_window,name:account.act_account_acount_move_line_reconcile_open msgid "Reconciled entries" -msgstr "" +msgstr "قيود مسواه" #. module: account #: field:account.invoice,address_contact_id:0 msgid "Contact Address" -msgstr "" +msgstr "عنوان جهة الإتصال" #. module: account #: help:account.invoice,state:0 @@ -7977,34 +7981,34 @@ msgstr "" #. module: account #: field:account.invoice.refund,period:0 msgid "Force period" -msgstr "" +msgstr "قوة الفترة" #. module: account #: model:ir.model,name:account.model_account_partner_balance msgid "Print Account Partner Balance" -msgstr "" +msgstr "طباعة رصيد حساب الشريك" #. module: account #: field:res.partner,contract_ids:0 msgid "Contracts" -msgstr "" +msgstr "عقود" #. module: account #: field:account.cashbox.line,ending_id:0 #: field:account.cashbox.line,starting_id:0 #: field:account.entries.report,reconcile_id:0 msgid "unknown" -msgstr "" +msgstr "مجهول" #. module: account #: field:account.fiscalyear.close,journal_id:0 msgid "Opening Entries Journal" -msgstr "" +msgstr "يومية القيود الإفتتاحية" #. module: account #: model:process.transition,note:account.process_transition_customerinvoice0 msgid "Draft invoices are checked, validated and printed." -msgstr "" +msgstr "تم التعليم و التحقق و طباعة الفواتير المؤقتة" #. module: account #: help:account.chart.template,property_reserve_and_surplus_account:0 @@ -8017,12 +8021,12 @@ msgstr "" #. module: account #: field:account.invoice,reference_type:0 msgid "Reference Type" -msgstr "" +msgstr "نوع المرجع" #. module: account #: view:account.analytic.cost.ledger.journal.report:0 msgid "Cost Ledger for period" -msgstr "" +msgstr "أستاذ التكاليف لفترة" #. module: account #: help:account.tax,child_depend:0 @@ -8035,12 +8039,12 @@ msgstr "" #. module: account #: selection:account.tax,applicable_type:0 msgid "Given by Python Code" -msgstr "" +msgstr "معطي بلغة البايثون" #. module: account #: field:account.analytic.journal,code:0 msgid "Journal Code" -msgstr "" +msgstr "رمز اليومية" #. module: account #: help:account.tax.code,sign:0 @@ -8055,19 +8059,19 @@ msgstr "" #: field:account.move.line,amount_residual:0 #: field:account.move.line,amount_residual_currency:0 msgid "Residual Amount" -msgstr "" +msgstr "المبلغ المتبقي" #. module: account #: field:account.invoice,move_lines:0 #: field:account.move.reconcile,line_id:0 msgid "Entry Lines" -msgstr "" +msgstr "سطور القيود" #. module: account #: model:ir.actions.act_window,name:account.action_open_journal_button #: model:ir.actions.act_window,name:account.action_validate_account_move msgid "Open Journal" -msgstr "" +msgstr "فتح اليومية" #. module: account #: report:account.analytic.account.journal:0 @@ -8079,14 +8083,14 @@ msgstr "" #: report:account.analytic.account.journal:0 #: report:account.analytic.account.quantity_cost_ledger:0 msgid "Period from" -msgstr "" +msgstr "من الفترة" #. module: account #: code:addons/account/account.py:2817 #: code:addons/account/installer.py:476 #, python-format msgid "Sales Refund Journal" -msgstr "" +msgstr "يومية رد المبيعات" #. module: account #: code:addons/account/account.py:927 @@ -8101,12 +8105,12 @@ msgstr "" #: view:account.move.line:0 #: view:account.payment.term:0 msgid "Information" -msgstr "" +msgstr "معلومات" #. module: account #: model:process.node,note:account.process_node_bankstatement0 msgid "Registered payment" -msgstr "" +msgstr "دفع مسجل" #. module: account #: view:account.fiscalyear.close.state:0 @@ -8116,7 +8120,7 @@ msgstr "" #. module: account #: view:account.analytic.line:0 msgid "Product Information" -msgstr "" +msgstr "معلومات المنتج" #. module: account #: report:account.analytic.account.journal:0 @@ -8124,34 +8128,34 @@ msgstr "" #: view:account.move.line:0 #: model:ir.ui.menu,name:account.next_id_40 msgid "Analytic" -msgstr "" +msgstr "تحليلي" #. module: account #: model:process.node,name:account.process_node_invoiceinvoice0 #: model:process.node,name:account.process_node_supplierinvoiceinvoice0 msgid "Create Invoice" -msgstr "" +msgstr "إنشاء فاتورة" #. module: account #: field:account.installer,purchase_tax:0 msgid "Purchase Tax(%)" -msgstr "" +msgstr "ضريبة المشتريات (%)" #. module: account #: code:addons/account/invoice.py:787 #, python-format msgid "Please create some invoice lines." -msgstr "" +msgstr "قم بإنشاء سطور للفاتورة." #. module: account #: report:account.overdue:0 msgid "Dear Sir/Madam," -msgstr "" +msgstr "عزيزي سيدي / سيدتي،" #. module: account #: view:account.installer.modules:0 msgid "Configure Your Accounting Application" -msgstr "" +msgstr "إعداد التطبيق المحاسبي الخاص بك" #. module: account #: code:addons/account/account.py:2820 @@ -8180,12 +8184,12 @@ msgstr "" #: field:account.period,date_stop:0 #: model:ir.ui.menu,name:account.menu_account_end_year_treatments msgid "End of Period" -msgstr "" +msgstr "نهاية الفترة" #. module: account #: field:account.installer.modules,account_followup:0 msgid "Followups Management" -msgstr "" +msgstr "إدارة المتابعة" #. module: account #: report:account.account.balance:0 @@ -8203,7 +8207,7 @@ msgstr "" #: report:pl.account:0 #: report:pl.account.horizontal:0 msgid "Start Period" -msgstr "" +msgstr "بداية الفترة" #. module: account #: code:addons/account/account.py:2333 @@ -8214,12 +8218,12 @@ msgstr "" #. module: account #: field:account.aged.trial.balance,direction_selection:0 msgid "Analysis Direction" -msgstr "" +msgstr "إتجاه التحليل" #. module: account #: field:res.partner,ref_companies:0 msgid "Companies that refers to partner" -msgstr "" +msgstr "شركات تشير إلي شركاء" #. module: account #: view:account.journal:0 @@ -8228,14 +8232,14 @@ msgstr "" #: field:account.journal.view,name:0 #: model:ir.model,name:account.model_account_journal_view msgid "Journal View" -msgstr "" +msgstr "عرض اليومية" #. module: account #: view:account.move.line:0 #: code:addons/account/account_move_line.py:1006 #, python-format msgid "Total credit" -msgstr "" +msgstr "إجمالي الإئتمان" #. module: account #: model:process.transition,note:account.process_transition_suppliervalidentries0 @@ -8253,17 +8257,17 @@ msgstr "" #. module: account #: report:account.overdue:0 msgid "Best regards." -msgstr "" +msgstr "مع خالص التحيات." #. module: account #: view:account.invoice:0 msgid "Unpaid" -msgstr "" +msgstr "غير مدفوعة" #. module: account #: report:account.overdue:0 msgid "Document: Customer account statement" -msgstr "" +msgstr "مستند: كشف حساب عميل" #. module: account #: constraint:account.move.line:0 @@ -8274,7 +8278,7 @@ msgstr "" #: code:addons/account/wizard/account_change_currency.py:71 #, python-format msgid "Current currency is not confirured properly !" -msgstr "" +msgstr "العملة الجديدة لم يتم ضبطها بشكل صحيح !" #. module: account #: model:ir.actions.act_window,help:account.action_invoice_tree4 @@ -8288,23 +8292,23 @@ msgstr "" #. module: account #: view:account.account.template:0 msgid "Receivale Accounts" -msgstr "" +msgstr "حسابات المدينون" #. module: account #: report:account.move.voucher:0 msgid "Particulars" -msgstr "" +msgstr "أفراد" #. module: account #: selection:account.account.type,report_type:0 msgid "Profit & Loss (Income Accounts)" -msgstr "" +msgstr "الأرباح و الخسائر (حسابات الدخل)" #. module: account #: view:account.tax:0 #: view:account.tax.template:0 msgid "Keep empty to use the income account" -msgstr "" +msgstr "لإستخدام حساب الدخل اتركه فارغ" #. module: account #: field:account.account,balance:0 @@ -8334,12 +8338,12 @@ msgstr "" #: field:report.account.receivable,balance:0 #: field:report.aged.receivable,balance:0 msgid "Balance" -msgstr "" +msgstr "الرصيد" #. module: account #: model:process.node,note:account.process_node_supplierbankstatement0 msgid "Manually or automatically entered in the system" -msgstr "" +msgstr "تم إدخاله يدوي أو تلقائي في النظام" #. module: account #: report:account.account.balance:0 @@ -8353,22 +8357,22 @@ msgstr "" #: report:pl.account:0 #: report:pl.account.horizontal:0 msgid "Display Account" -msgstr "" +msgstr "عرض الحساب" #. module: account #: report:account.tax.code.entries:0 msgid "(" -msgstr "" +msgstr "(" #. module: account #: selection:account.invoice.refund,filter_refund:0 msgid "Modify" -msgstr "" +msgstr "تعديل" #. module: account #: view:account.account.type:0 msgid "Closing Method" -msgstr "" +msgstr "إسلوب الإغلاق" #. module: account #: model:ir.actions.act_window,help:account.action_account_partner_balance @@ -8382,25 +8386,25 @@ msgstr "" #: selection:account.account.template,type:0 #: selection:account.entries.report,type:0 msgid "Payable" -msgstr "" +msgstr "مدفوعات" #. module: account #: view:report.account.sales:0 #: view:report.account_type.sales:0 #: view:report.hr.timesheet.invoice.journal:0 msgid "This Year" -msgstr "" +msgstr "هذا العام" #. module: account #: view:board.board:0 msgid "Account Board" -msgstr "" +msgstr "لوحة الحسابات" #. module: account #: view:account.model:0 #: field:account.model,legend:0 msgid "Legend" -msgstr "" +msgstr "الدليل" #. module: account #: model:ir.actions.act_window,help:account.action_account_moves_sale @@ -8416,23 +8420,23 @@ msgstr "" #: code:addons/account/account_bank_statement.py:391 #, python-format msgid "Cannot delete bank statement(s) which are already confirmed !" -msgstr "" +msgstr "لا يمكن حذف هذا كشف / كشوف حساب البنك التي تم تأكيدها" #. module: account #: code:addons/account/wizard/account_automatic_reconcile.py:152 #, python-format msgid "You must select accounts to reconcile" -msgstr "" +msgstr "يجب إختيار الحسابات للتسوية" #. module: account #: model:ir.actions.act_window,name:account.action_account_receivable_graph msgid "Balance by Type of Account" -msgstr "" +msgstr "الرصيد حسب نوع الحساب" #. module: account #: model:process.transition,note:account.process_transition_entriesreconcile0 msgid "Accounting entries are the first input of the reconciliation." -msgstr "" +msgstr "قيود المحاسبة هي أول المدخلات للتسوية." #. module: account #: model:ir.actions.act_window,help:account.action_account_period_form @@ -8448,7 +8452,7 @@ msgstr "" #. module: account #: report:account.move.voucher:0 msgid "Receiver's Signature" -msgstr "" +msgstr "إمضاء المستلم" #. module: account #: report:account.general.ledger:0 @@ -8456,13 +8460,13 @@ msgstr "" #: report:account.third_party_ledger:0 #: report:account.third_party_ledger_other:0 msgid "Filters By" -msgstr "" +msgstr "ترشيح بـ" #. module: account #: model:process.node,note:account.process_node_manually0 #: model:process.transition,name:account.process_transition_invoicemanually0 msgid "Manual entry" -msgstr "" +msgstr "قيد يدوي" #. module: account #: report:account.general.ledger:0 @@ -8470,7 +8474,7 @@ msgstr "" #: field:account.move.line,move_id:0 #: field:analytic.entries.report,move_id:0 msgid "Move" -msgstr "" +msgstr "نقل" #. module: account #: code:addons/account/account_move_line.py:1128 @@ -8486,7 +8490,7 @@ msgstr "" #. module: account #: model:ir.actions.act_window,name:account.act_account_journal_2_account_bank_statement msgid "Bank statements" -msgstr "" +msgstr "كشوف حساب البنك" #. module: account #: help:account.addtmpl.wizard,cparent_id:0 @@ -8497,7 +8501,7 @@ msgstr "" #. module: account #: selection:account.model.line,date_maturity:0 msgid "Date of the day" -msgstr "" +msgstr "تاريخ اليوم" #. module: account #: code:addons/account/wizard/account_move_bank_reconcile.py:49 @@ -8510,18 +8514,18 @@ msgstr "" #. module: account #: view:account.move.line.reconcile:0 msgid "Reconciliation transactions" -msgstr "" +msgstr "معاملات التسوية" #. module: account #: model:ir.actions.act_window,name:account.action_account_common_menu msgid "Common Report" -msgstr "" +msgstr "تقرير مشترك" #. module: account #: view:account.account:0 #: field:account.account,child_consol_ids:0 msgid "Consolidated Children" -msgstr "" +msgstr "فرعي موحد" #. module: account #: code:addons/account/wizard/account_fiscalyear_close.py:82 @@ -8536,7 +8540,7 @@ msgstr "" #: model:process.transition,name:account.process_transition_paymentorderbank0 #: model:process.transition,name:account.process_transition_paymentreconcile0 msgid "Payment entries" -msgstr "" +msgstr "قيود المدفوعات" #. module: account #: selection:account.entries.report,month:0 @@ -8545,22 +8549,22 @@ msgstr "" #: selection:report.account.sales,month:0 #: selection:report.account_type.sales,month:0 msgid "July" -msgstr "" +msgstr "يوليو/تموز" #. module: account #: view:account.account:0 msgid "Chart of accounts" -msgstr "" +msgstr "شجرة الحسابات" #. module: account #: field:account.subscription.line,subscription_id:0 msgid "Subscription" -msgstr "" +msgstr "الإشتراك" #. module: account #: model:ir.model,name:account.model_account_analytic_balance msgid "Account Analytic Balance" -msgstr "" +msgstr "رصيد الحساب التحليلي" #. module: account #: report:account.account.balance:0 @@ -8578,7 +8582,7 @@ msgstr "" #: report:pl.account:0 #: report:pl.account.horizontal:0 msgid "End Period" -msgstr "" +msgstr "نهاية الفترة" #. module: account #: field:account.aged.trial.balance,chart_account_id:0 @@ -8597,22 +8601,22 @@ msgstr "" #: field:account.report.general.ledger,chart_account_id:0 #: field:account.vat.declaration,chart_account_id:0 msgid "Chart of account" -msgstr "" +msgstr "شجرة الحساب" #. module: account #: field:account.move.line,date_maturity:0 msgid "Due date" -msgstr "" +msgstr "تاريخ الإستحقاق" #. module: account #: view:account.move.journal:0 msgid "Standard entries" -msgstr "" +msgstr "القيود المعيارية" #. module: account #: model:ir.model,name:account.model_account_subscription msgid "Account Subscription" -msgstr "" +msgstr "إشتراك الحساب" #. module: account #: code:addons/account/invoice.py:717 @@ -8625,7 +8629,7 @@ msgstr "" #. module: account #: view:account.subscription:0 msgid "Entry Subscription" -msgstr "" +msgstr "إشتراك القيد" #. module: account #: report:account.account.balance:0 @@ -8655,30 +8659,30 @@ msgstr "" #: report:account.third_party_ledger_other:0 #: field:account.vat.declaration,date_from:0 msgid "Start Date" -msgstr "" +msgstr "تاريخ البدء" #. module: account #: model:process.node,name:account.process_node_supplierdraftinvoices0 msgid "Draft Invoices" -msgstr "" +msgstr "فواتير مؤقتة" #. module: account #: selection:account.account.type,close_method:0 #: view:account.entries.report:0 #: view:account.move.line:0 msgid "Unreconciled" -msgstr "" +msgstr "غير مسوي" #. module: account #: code:addons/account/invoice.py:804 #, python-format msgid "Bad total !" -msgstr "" +msgstr "إجمالي سئ!" #. module: account #: field:account.journal,sequence_id:0 msgid "Entry Sequence" -msgstr "" +msgstr "مسلسل القيد" #. module: account #: model:ir.actions.act_window,help:account.action_account_period_tree @@ -8695,28 +8699,28 @@ msgstr "" #. module: account #: view:account.analytic.account:0 msgid "Pending" -msgstr "" +msgstr "معلّق" #. module: account #: model:process.transition,name:account.process_transition_analyticinvoice0 #: model:process.transition,name:account.process_transition_supplieranalyticcost0 msgid "From analytic accounts" -msgstr "" +msgstr "من الحسابات التحليلية" #. module: account #: field:account.installer.modules,account_payment:0 msgid "Suppliers Payment Management" -msgstr "" +msgstr "إدارة مدفوعات الموردين" #. module: account #: field:account.period,name:0 msgid "Period Name" -msgstr "" +msgstr "اسم الفترة" #. module: account #: report:account.analytic.account.quantity_cost_ledger:0 msgid "Code/Date" -msgstr "" +msgstr "رمز / تاريخ" #. module: account #: field:account.account,active:0 @@ -8725,13 +8729,13 @@ msgstr "" #: field:account.payment.term,active:0 #: field:account.tax,active:0 msgid "Active" -msgstr "" +msgstr "نشِط" #. module: account #: code:addons/account/invoice.py:354 #, python-format msgid "Unknown Error" -msgstr "" +msgstr "خطأ غير معروف" #. module: account #: code:addons/account/account.py:1167 @@ -8752,19 +8756,19 @@ msgstr "" #. module: account #: field:account.period,special:0 msgid "Opening/Closing Period" -msgstr "" +msgstr "فتح / إغلاق الفترة" #. module: account #: field:account.account,currency_id:0 #: field:account.account.template,currency_id:0 #: field:account.bank.accounts.wizard,currency_id:0 msgid "Secondary Currency" -msgstr "" +msgstr "عملة ثانية" #. module: account #: model:ir.model,name:account.model_validate_account_move msgid "Validate Account Move" -msgstr "" +msgstr "التحقق من حركة الحساب" #. module: account #: field:account.account,credit:0 @@ -8789,7 +8793,7 @@ msgstr "" #: report:account.vat.declaration:0 #: field:report.account.receivable,credit:0 msgid "Credit" -msgstr "" +msgstr "دائن" #. module: account #: help:account.invoice.refund,journal_id:0 @@ -8802,18 +8806,18 @@ msgstr "" #. module: account #: report:account.move.voucher:0 msgid "Through :" -msgstr "" +msgstr "خلال :" #. module: account #: view:account.general.journal:0 #: model:ir.ui.menu,name:account.menu_account_general_journal msgid "General Journals" -msgstr "" +msgstr "اليوميات العامة" #. module: account #: view:account.model:0 msgid "Journal Entry Model" -msgstr "" +msgstr "نموذج قيد اليومية" #. module: account #: code:addons/account/wizard/account_use_model.py:44 @@ -8829,7 +8833,7 @@ msgstr "" #: field:account.invoice,number:0 #: field:account.move,name:0 msgid "Number" -msgstr "" +msgstr "رقم" #. module: account #: report:account.analytic.account.journal:0 @@ -8837,7 +8841,7 @@ msgstr "" #: selection:account.bank.statement.line,type:0 #: selection:account.journal,type:0 msgid "General" -msgstr "" +msgstr "عام" #. module: account #: selection:account.aged.trial.balance,filter:0 @@ -8880,12 +8884,12 @@ msgstr "" #: model:ir.ui.menu,name:account.next_id_23 #, python-format msgid "Periods" -msgstr "" +msgstr "فترات" #. module: account #: field:account.invoice.report,currency_rate:0 msgid "Currency Rate" -msgstr "" +msgstr "معدل العملة" #. module: account #: help:account.payment.term.line,value_amount:0 @@ -8899,12 +8903,12 @@ msgstr "" #: selection:report.account.sales,month:0 #: selection:report.account_type.sales,month:0 msgid "April" -msgstr "" +msgstr "أبريل/ نيسان" #. module: account #: view:account.move.line.reconcile.select:0 msgid "Open for Reconciliation" -msgstr "" +msgstr "مفتوح للتسوية" #. module: account #: field:account.account,parent_left:0 @@ -8927,13 +8931,13 @@ msgstr "" #. module: account #: field:account.installer,sale_tax:0 msgid "Sale Tax(%)" -msgstr "" +msgstr "ضريبة المبيعات (%)" #. module: account #: model:ir.actions.act_window,name:account.action_invoice_tree2 #: model:ir.ui.menu,name:account.menu_action_invoice_tree2 msgid "Supplier Invoices" -msgstr "فواتير الموردون" +msgstr "فواتير الموردين" #. module: account #: view:account.analytic.line:0 @@ -8949,7 +8953,7 @@ msgstr "فواتير الموردون" #: field:report.account.sales,product_id:0 #: field:report.account_type.sales,product_id:0 msgid "Product" -msgstr "" +msgstr "منتج" #. module: account #: model:ir.actions.act_window,help:account.action_validate_account_move @@ -8962,17 +8966,17 @@ msgstr "" #. module: account #: report:account.tax.code.entries:0 msgid ")" -msgstr "" +msgstr ")" #. module: account #: model:ir.model,name:account.model_account_period msgid "Account period" -msgstr "" +msgstr "فترة الحساب" #. module: account #: view:account.subscription:0 msgid "Remove Lines" -msgstr "" +msgstr "إزالة الخطوط" #. module: account #: view:account.report.general.ledger:0 @@ -8986,7 +8990,7 @@ msgstr "" #: selection:account.account.template,type:0 #: selection:account.entries.report,type:0 msgid "Regular" -msgstr "" +msgstr "عادي" #. module: account #: view:account.account:0 @@ -8995,7 +8999,7 @@ msgstr "" #: field:account.account.template,type:0 #: field:account.entries.report,type:0 msgid "Internal Type" -msgstr "" +msgstr "النوع الداخلي" #. module: account #: report:account.move.voucher:0 @@ -9005,14 +9009,14 @@ msgstr "" #. module: account #: model:ir.actions.act_window,name:account.action_subscription_form_running msgid "Running Subscriptions" -msgstr "" +msgstr "إدارة الإشتراكات" #. module: account #: view:report.account.sales:0 #: view:report.account_type.sales:0 #: view:report.hr.timesheet.invoice.journal:0 msgid "This Month" -msgstr "" +msgstr "هذا الشهر" #. module: account #: view:account.analytic.Journal.report:0 @@ -9021,7 +9025,7 @@ msgstr "" #: view:account.analytic.inverted.balance:0 #: model:ir.actions.act_window,name:account.action_account_partner_ledger msgid "Select Period" -msgstr "" +msgstr "اختر فترة" #. module: account #: view:account.entries.report:0 @@ -9031,7 +9035,7 @@ msgstr "" #: view:account.move.line:0 #: report:account.move.voucher:0 msgid "Posted" -msgstr "" +msgstr "مرحَلة" #. module: account #: report:account.account.balance:0 @@ -9060,24 +9064,24 @@ msgstr "" #: report:account.third_party_ledger_other:0 #: field:account.vat.declaration,date_to:0 msgid "End Date" -msgstr "" +msgstr "تاريخ الإنتهاء" #. module: account #: model:ir.actions.act_window,name:account.action_account_open_closed_fiscalyear #: model:ir.ui.menu,name:account.menu_wizard_account_open_closed_fiscalyear msgid "Cancel Opening Entries" -msgstr "" +msgstr "إلغاء القيود المفتوحة" #. module: account #: field:account.payment.term.line,days2:0 msgid "Day of the Month" -msgstr "" +msgstr "يوم من الشهر" #. module: account #: field:account.fiscal.position.tax,tax_src_id:0 #: field:account.fiscal.position.tax.template,tax_src_id:0 msgid "Tax Source" -msgstr "" +msgstr "مصدر الضريبة" #. module: account #: report:account.balancesheet:0 @@ -9085,23 +9089,23 @@ msgstr "" #: report:pl.account:0 #: report:pl.account.horizontal:0 msgid "Net Profit" -msgstr "" +msgstr "صافي الربح" #. module: account #: view:ir.sequence:0 msgid "Fiscal Year Sequences" -msgstr "" +msgstr "مسلسل السنوات المالية" #. module: account #: help:account.model,name:0 msgid "This is a model for recurring accounting entries" -msgstr "" +msgstr "هذا نموذج لقيود حسابات تكرارية" #. module: account #: code:addons/account/account_analytic_line.py:100 #, python-format msgid "There is no income account defined for this product: \"%s\" (id:%d)" -msgstr "" +msgstr "لا يوجد حساب دخل معرّف لهذا المنتج: \"%s\" (id:%d)" #. module: account #: report:account.general.ledger:0 @@ -9113,7 +9117,7 @@ msgstr "" #. module: account #: view:account.payment.term.line:0 msgid " value amount: 0.02" -msgstr "" +msgstr " قيمة المبلغ: 0.02" #. module: account #: view:account.fiscalyear:0 @@ -9135,13 +9139,13 @@ msgstr "" #: field:report.account_type.sales,amount_total:0 #: field:report.invoice.created,amount_total:0 msgid "Total" -msgstr "" +msgstr "الإجمالي" #. module: account #: code:addons/account/wizard/account_move_journal.py:97 #, python-format msgid "Journal: All" -msgstr "" +msgstr "اليومية: الكل" #. module: account #: field:account.account,company_id:0 @@ -9171,22 +9175,22 @@ msgstr "" #: field:analytic.entries.report,company_id:0 #: field:wizard.multi.charts.accounts,company_id:0 msgid "Company" -msgstr "" +msgstr "شركة" #. module: account #: model:ir.ui.menu,name:account.menu_action_subscription_form msgid "Define Recurring Entries" -msgstr "" +msgstr "تعريف قيود تكرارية" #. module: account #: field:account.entries.report,date_maturity:0 msgid "Date Maturity" -msgstr "" +msgstr "تاريخ الإستحقاق" #. module: account #: help:account.bank.statement,total_entry_encoding:0 msgid "Total cash transactions" -msgstr "" +msgstr "إجمالي معاملات النقدية" #. module: account #: help:account.partner.reconcile.process,today_reconciled:0 @@ -9199,7 +9203,7 @@ msgstr "" #. module: account #: view:account.fiscalyear:0 msgid "Create Monthly Periods" -msgstr "" +msgstr "إنشاء فترات شهرية" #. module: account #: field:account.tax.code.template,sign:0 @@ -9209,12 +9213,12 @@ msgstr "" #. module: account #: model:ir.model,name:account.model_account_balance_report msgid "Trial Balance Report" -msgstr "" +msgstr "تقرير ميزان المراجعة" #. module: account #: model:ir.actions.act_window,name:account.action_bank_statement_draft_tree msgid "Draft statements" -msgstr "" +msgstr "قوائم مؤقتة" #. module: account #: model:process.transition,note:account.process_transition_statemententries0 @@ -9225,7 +9229,7 @@ msgstr "" #. module: account #: view:account.invoice:0 msgid "Invoice lines" -msgstr "" +msgstr "سطور الفاتورة" #. module: account #: field:account.aged.trial.balance,period_to:0 @@ -9245,7 +9249,7 @@ msgstr "" #: field:account.report.general.ledger,period_to:0 #: field:account.vat.declaration,period_to:0 msgid "End period" -msgstr "" +msgstr "نهاية الفترة" #. module: account #: code:addons/account/account_move_line.py:738 @@ -9258,7 +9262,7 @@ msgstr "" #: code:addons/account/wizard/account_validate_account_move.py:61 #, python-format msgid "Warning" -msgstr "" +msgstr "تحذير" #. module: account #: help:product.category,property_account_expense_categ:0 @@ -9271,7 +9275,7 @@ msgstr "" #. module: account #: report:account.move.voucher:0 msgid "On Account of :" -msgstr "" +msgstr "علي حساب الـ" #. module: account #: view:account.automatic.reconcile:0 @@ -9282,17 +9286,17 @@ msgstr "حركة الإعدام" #. module: account #: model:process.node,note:account.process_node_paidinvoice0 msgid "Invoice's state is Done" -msgstr "" +msgstr "حالة الفاتورة تمت" #. module: account #: model:ir.model,name:account.model_report_account_sales msgid "Report of the Sales by Account" -msgstr "" +msgstr "تقرير المبيعات بالحساب" #. module: account #: model:ir.model,name:account.model_account_fiscal_position_account msgid "Accounts Fiscal Position" -msgstr "" +msgstr "المركز السنوي للحسابات" #. module: account #: report:account.invoice:0 @@ -9302,7 +9306,7 @@ msgstr "" #: model:process.process,name:account.process_process_supplierinvoiceprocess0 #: selection:report.invoice.created,type:0 msgid "Supplier Invoice" -msgstr "" +msgstr "فاتورة المورد" #. module: account #: field:account.account,debit:0 @@ -9327,12 +9331,12 @@ msgstr "" #: report:account.vat.declaration:0 #: field:report.account.receivable,debit:0 msgid "Debit" -msgstr "" +msgstr "مدين" #. module: account #: field:account.invoice,invoice_line:0 msgid "Invoice Lines" -msgstr "" +msgstr "سطور الفاتورة" #. module: account #: constraint:account.account.template:0 @@ -9350,28 +9354,28 @@ msgstr "" #. module: account #: view:account.subscription:0 msgid "Recurring" -msgstr "" +msgstr "متكرّر" #. module: account #: code:addons/account/account_move_line.py:805 #, python-format msgid "Entry is already reconciled" -msgstr "" +msgstr "قيد اليومية مسوي بالفعل" #. module: account #: model:ir.model,name:account.model_report_account_receivable msgid "Receivable accounts" -msgstr "" +msgstr "حسابات مدينة" #. module: account #: selection:account.model.line,date_maturity:0 msgid "Partner Payment Term" -msgstr "" +msgstr "شروط السداد للشريك" #. module: account #: field:temp.range,name:0 msgid "Range" -msgstr "" +msgstr "مدى" #. module: account #: code:addons/account/account_move_line.py:1246 @@ -9400,12 +9404,12 @@ msgstr "" #: report:pl.account:0 #: report:pl.account.horizontal:0 msgid "With movements" -msgstr "" +msgstr "مع حركات" #. module: account #: view:account.analytic.account:0 msgid "Account Data" -msgstr "" +msgstr "بيانات الحساب" #. module: account #: view:account.tax.code.template:0 @@ -9415,7 +9419,7 @@ msgstr "" #. module: account #: model:process.node,name:account.process_node_manually0 msgid "Manually" -msgstr "" +msgstr "يدوي" #. module: account #: selection:account.entries.report,month:0 @@ -9424,13 +9428,13 @@ msgstr "" #: selection:report.account.sales,month:0 #: selection:report.account_type.sales,month:0 msgid "December" -msgstr "" +msgstr "ديسمبر/ كانون الأول" #. module: account #: model:ir.actions.act_window,name:account.action_account_analytic_journal_tree #: model:ir.ui.menu,name:account.account_analytic_journal_print msgid "Print Analytic Journals" -msgstr "" +msgstr "طباعة اليوميات التحليلية" #. module: account #: view:account.analytic.line:0 @@ -9441,18 +9445,18 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_aged_receivable_graph #: view:report.aged.receivable:0 msgid "Aged Receivable" -msgstr "" +msgstr "الدين المشكوك في تحصيله" #. module: account #: field:account.tax,applicable_type:0 msgid "Applicability" -msgstr "" +msgstr "تطابق" #. module: account #: code:addons/account/wizard/account_move_journal.py:165 #, python-format msgid "This period is already closed !" -msgstr "" +msgstr "هذه الفترة مغلقة !" #. module: account #: help:account.move.line,currency_id:0 @@ -9468,12 +9472,12 @@ msgstr "" #. module: account #: model:ir.ui.menu,name:account.menu_finance_periodical_processing_billing msgid "Billing" -msgstr "" +msgstr "عمليات الفواتير" #. module: account #: view:account.account:0 msgid "Parent Account" -msgstr "" +msgstr "حساب رئيسي" #. module: account #: model:ir.actions.act_window,help:account.action_account_journal_form @@ -9489,24 +9493,24 @@ msgstr "" #. module: account #: model:ir.model,name:account.model_account_analytic_chart msgid "Account Analytic Chart" -msgstr "" +msgstr "حساب مخطط تحليلي" #. module: account #: help:account.invoice,residual:0 msgid "Remaining amount due." -msgstr "" +msgstr "المبلغ المتبقي المستحق" #. module: account #: model:ir.ui.menu,name:account.menu_finance_statistic_report_statement msgid "Statistic Reports" -msgstr "" +msgstr "تقارير إحصائية" #. module: account #: field:account.installer,progress:0 #: field:account.installer.modules,progress:0 #: field:wizard.multi.charts.accounts,progress:0 msgid "Configuration Progress" -msgstr "" +msgstr "سير الإعدادات" #. module: account #: view:account.fiscal.position.template:0 @@ -9517,7 +9521,7 @@ msgstr "" #: code:addons/account/invoice.py:346 #, python-format msgid "Invoice '%s' is waiting for validation." -msgstr "" +msgstr "الفاتورة '%s' منتظرة للتحقق." #. module: account #: selection:account.entries.report,month:0 @@ -9526,12 +9530,12 @@ msgstr "" #: selection:report.account.sales,month:0 #: selection:report.account_type.sales,month:0 msgid "November" -msgstr "" +msgstr "نوفمبر/تشرين الثاني" #. module: account #: model:ir.model,name:account.model_account_installer_modules msgid "account.installer.modules" -msgstr "" +msgstr "account.installer.modules" #. module: account #: help:account.invoice.line,account_id:0 @@ -9542,23 +9546,23 @@ msgstr "" #: code:addons/account/account_move_line.py:1117 #, python-format msgid "The date of your Journal Entry is not in the defined period!" -msgstr "" +msgstr "تاريخ قيد اليومية غير موجود بالفترة المعرفة!" #. module: account #: field:account.subscription,period_total:0 msgid "Number of Periods" -msgstr "" +msgstr "عدد الفترات" #. module: account #: report:account.general.journal:0 #: model:ir.actions.report.xml,name:account.account_general_journal msgid "General Journal" -msgstr "" +msgstr "اليومية العامة" #. module: account #: view:account.invoice:0 msgid "Search Invoice" -msgstr "" +msgstr "بحث الفواتير" #. module: account #: report:account.invoice:0 @@ -9597,7 +9601,7 @@ msgstr "مستندات المحاسبة" #. module: account #: model:ir.model,name:account.model_validate_account_move_lines msgid "Validate Account Move Lines" -msgstr "" +msgstr "خطوط التحقق من حركة الحساب" #. module: account #: model:ir.actions.act_window,name:account.action_account_analytic_cost_ledger_journal @@ -9857,10 +9861,6 @@ msgstr "خصوم" #~ msgid "Move line select" #~ msgstr "تحريك السطر المختار" -#, python-format -#~ msgid "The statement balance is incorrect !\n" -#~ msgstr "رصيد الكشف خطأ\n" - #~ msgid "Balance:" #~ msgstr "الرصيد:" @@ -9870,3 +9870,10 @@ msgstr "خصوم" #~ msgid "Balance Sheet (Assets Accounts)" #~ msgstr "الميزانية العمومية (حسابات الأصول)" + +#, python-format +#~ msgid "The statement balance is incorrect !\n" +#~ msgstr "رصيد الكشف خاطئ !\n" + +#~ msgid "Chart of Account" +#~ msgstr "شجرة الحساب" diff --git a/addons/account/project/analytic_account_demo.xml b/addons/account/project/analytic_account_demo.xml index 7cf5a59efc1..2661e67cd50 100644 --- a/addons/account/project/analytic_account_demo.xml +++ b/addons/account/project/analytic_account_demo.xml @@ -103,6 +103,7 @@ normal open + Seagate P2 @@ -111,6 +112,7 @@ open + Magasin BML 1 @@ -118,6 +120,7 @@ normal + CampToCamp @@ -127,6 +130,7 @@ + open @@ -135,13 +139,15 @@ normal + Asustek 4 normal - + + DistriPC @@ -149,6 +155,7 @@ normal + Sednacom @@ -158,6 +165,7 @@ normal + open @@ -168,6 +176,7 @@ normal + open @@ -178,6 +187,7 @@ normal + Desertic - Hispafuentes @@ -187,6 +197,7 @@ normal + OpenERP SA AT Work @@ -194,6 +205,7 @@ normal + Camp to Camp @@ -203,6 +215,7 @@ normal + open diff --git a/addons/account/project/project_view.xml b/addons/account/project/project_view.xml index cc05092688b..b495bc1dbca 100644 --- a/addons/account/project/project_view.xml +++ b/addons/account/project/project_view.xml @@ -8,11 +8,10 @@ tree - + - @@ -57,11 +56,10 @@ tree child_complete_ids - + - @@ -85,7 +83,7 @@ - + @@ -194,7 +192,7 @@ - + diff --git a/addons/account/report/account_print_invoice.rml b/addons/account/report/account_print_invoice.rml index db8f752a56d..9d4f2dbe174 100644 --- a/addons/account/report/account_print_invoice.rml +++ b/addons/account/report/account_print_invoice.rml @@ -162,11 +162,7 @@ [[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]] - [[ (o.address_invoice_id and o.address_invoice_id.street) or '' ]] - [[ (o.address_invoice_id and o.address_invoice_id.street2) or removeParentNode('para') ]] - [[ (o.address_invoice_id and o.address_invoice_id.zip) or '' ]] [[ (o.address_invoice_id and o.address_invoice_id.city) or '' ]] - [[ (o.address_invoice_id and o.address_invoice_id.state_id and o.address_invoice_id.state_id.name) or removeParentNode('para') ]] - [[ (o.address_invoice_id and o.address_invoice_id.country_id and o.address_invoice_id.country_id.name) or '' ]] + [[ display_address(o.address_invoice_id) ]] diff --git a/addons/account/security/account_security.xml b/addons/account/security/account_security.xml index 5c4c9a0a525..c928ff3c8fe 100644 --- a/addons/account/security/account_security.xml +++ b/addons/account/security/account_security.xml @@ -49,13 +49,6 @@ ['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])] - - Analytic journal multi-company - - - ['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])] - - Period multi-company diff --git a/addons/account/test/account_fiscalyear_close_state.yml b/addons/account/test/account_fiscalyear_close_state.yml index af4d05eba76..18c7dd570ed 100644 --- a/addons/account/test/account_fiscalyear_close_state.yml +++ b/addons/account/test/account_fiscalyear_close_state.yml @@ -1,31 +1,8 @@ - - - In order to check the Close a Fiscal Year wizard in OpenERP I first create a Fiscalyear -- - !record {model: account.fiscalyear, id: account_fiscalyear_fiscalyear0}: - code: !eval "'FY%s'% (datetime.now().year+1)" - company_id: base.main_company - date_start: !eval "'%s-01-01' %(datetime.now().year+1)" - date_stop: !eval "'%s-12-31' %(datetime.now().year+1)" - name: !eval "'Fiscal Year %s' %(datetime.now().year+1)" -- - I create monthly Periods for this fiscalyear -- - !python {model: account.fiscalyear}: | - self.create_period(cr, uid, [ref("account_fiscalyear_fiscalyear0")], {"lang": - 'en_US', "active_model": "ir.ui.menu", "active_ids": [ref("account.menu_action_account_fiscalyear_form")], - "tz": False, "active_id": ref("account.menu_action_account_fiscalyear_form"), - }) -- - I check that the fiscalyear state is "Draft" -- - !assert {model: account.fiscalyear, id: account_fiscalyear_fiscalyear0, string: Fiscal Year is in Draft state}: - - state == 'draft' -- - I run the Close a Fiscalyear wizard to close this fiscalyear + I run the Close a Fiscalyear wizard to close the demo fiscalyear - !record {model: account.fiscalyear.close.state, id: account_fiscalyear_close_state_0}: - fy_id: account_fiscalyear_fiscalyear0 + fy_id: data_fiscalyear - I clicked on Close States Button to close fiscalyear @@ -37,9 +14,6 @@ - I check that the fiscalyear state is now "Done" - - !assert {model: account.fiscalyear, id: account_fiscalyear_fiscalyear0, string: Fiscal Year is in Done state}: + !assert {model: account.fiscalyear, id: data_fiscalyear, string: Fiscal Year is in Done state}: - state == 'done' - - - diff --git a/addons/account_analytic_analysis/account_analytic_analysis.py b/addons/account_analytic_analysis/account_analytic_analysis.py index 36d62e32e63..2043c054420 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis.py +++ b/addons/account_analytic_analysis/account_analytic_analysis.py @@ -406,25 +406,25 @@ class account_analytic_account(osv.osv): 'ca_theorical': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Theoretical Revenue', help="Based on the costs you had on the project, what would have been the revenue if all these costs have been invoiced at the normal sale price provided by the pricelist.", digits_compute=dp.get_precision('Account')), - 'hours_quantity': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Hours Tot', - help="Number of hours you spent on the analytic account (from timesheet). It computes on all journal of type 'general'."), + 'hours_quantity': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Total Duration', + help="Number of time you spent on the analytic account (from timesheet). It computes quantities on all journal of type 'general'."), 'last_invoice_date': fields.function(_analysis_all, multi='analytic_analysis', type='date', string='Last Invoice Date', help="If invoice from the costs, this is the date of the latest invoiced."), 'last_worked_invoiced_date': fields.function(_analysis_all, multi='analytic_analysis', type='date', string='Date of Last Invoiced Cost', help="If invoice from the costs, this is the date of the latest work or cost that have been invoiced."), 'last_worked_date': fields.function(_analysis_all, multi='analytic_analysis', type='date', string='Date of Last Cost/Work', help="Date of the latest work done on this account."), - 'hours_qtt_non_invoiced': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Uninvoiced Hours', - help="Number of hours (from journal of type 'general') that can be invoiced if you invoice based on analytic account."), - 'hours_qtt_invoiced': fields.function(_hours_qtt_invoiced_calc, type='float', string='Invoiced Hours', - help="Number of hours that can be invoiced plus those that already have been invoiced."), - 'remaining_hours': fields.function(_remaining_hours_calc, type='float', string='Remaining Hours', - help="Computed using the formula: Maximum Quantity - Hours Tot."), + 'hours_qtt_non_invoiced': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Uninvoiced Time', + help="Number of time (hours/days) (from journal of type 'general') that can be invoiced if you invoice based on analytic account."), + 'hours_qtt_invoiced': fields.function(_hours_qtt_invoiced_calc, type='float', string='Invoiced Time', + help="Number of time (hours/days) that can be invoiced plus those that already have been invoiced."), + 'remaining_hours': fields.function(_remaining_hours_calc, type='float', string='Remaining Time', + help="Computed using the formula: Maximum Duration - Total Time"), 'remaining_ca': fields.function(_remaining_ca_calc, type='float', string='Remaining Revenue', help="Computed using the formula: Max Invoice Price - Invoiced Amount.", digits_compute=dp.get_precision('Account')), - 'revenue_per_hour': fields.function(_revenue_per_hour_calc, type='float', string='Revenue per Hours (real)', - help="Computed using the formula: Invoiced Amount / Hours Tot.", + 'revenue_per_hour': fields.function(_revenue_per_hour_calc, type='float', string='Revenue per Time (real)', + help="Computed using the formula: Invoiced Amount / Total Duration", digits_compute=dp.get_precision('Account')), 'real_margin': fields.function(_real_margin_calc, type='float', string='Real Margin', help="Computed using the formula: Invoiced Amount - Total Costs.", diff --git a/addons/account_analytic_analysis/account_analytic_analysis_view.xml b/addons/account_analytic_analysis/account_analytic_analysis_view.xml index c59717e8ad4..bae5a8b770c 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis_view.xml +++ b/addons/account_analytic_analysis/account_analytic_analysis_view.xml @@ -117,8 +117,8 @@ - + diff --git a/addons/account_asset/i18n/de.po b/addons/account_asset/i18n/de.po index 41ca6dd0fbe..5b6c044d3c2 100755 --- a/addons/account_asset/i18n/de.po +++ b/addons/account_asset/i18n/de.po @@ -8,31 +8,31 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2009-11-24 12:54+0000\n" -"PO-Revision-Date: 2011-07-12 12:04+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2011-11-29 08:00+0000\n" +"Last-Translator: Ferdinand @ Camptocamp \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-11-05 05:57+0000\n" -"X-Generator: Launchpad (build 14231)\n" +"X-Launchpad-Export-Date: 2011-11-30 05:27+0000\n" +"X-Generator: Launchpad (build 14404)\n" #. module: account_asset #: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_normal #: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_normal msgid "Open Assets" -msgstr "" +msgstr "Anlage (Entwurf)" #. module: account_asset #: field:account.asset.property,method_end:0 #: field:account.asset.property.history,method_end:0 msgid "Ending date" -msgstr "" +msgstr "Ende Datum" #. module: account_asset #: view:account.asset.asset:0 msgid "Depreciation board" -msgstr "" +msgstr "Abschreibungs-Tableau" #. module: account_asset #: view:account.asset.asset:0 @@ -45,61 +45,61 @@ msgstr "" #: model:ir.model,name:account_asset.model_account_asset_asset #: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_form msgid "Asset" -msgstr "" +msgstr "Anlagegüter" #. module: account_asset #: constraint:ir.actions.act_window:0 msgid "Invalid model name in the action definition." -msgstr "" +msgstr "Ungültiger Modellname in der Aktionsdefinition." #. module: account_asset #: selection:account.asset.property,method:0 msgid "Linear" -msgstr "" +msgstr "Linear" #. module: account_asset #: view:account.asset.asset:0 msgid "Change duration" -msgstr "" +msgstr "Verändere Lebensdauer" #. module: account_asset #: field:account.asset.asset,child_ids:0 msgid "Child assets" -msgstr "" +msgstr "untergeordnete Anlagengüter" #. module: account_asset #: field:account.asset.board,value_asset:0 msgid "Asset Value" -msgstr "" +msgstr "Anlagenwert" #. module: account_asset #: wizard_field:account.asset.modify,init,name:0 msgid "Reason" -msgstr "" +msgstr "Begründung" #. module: account_asset #: view:account.asset.asset:0 #: field:account.asset.asset,entry_ids:0 #: wizard_field:account.asset.compute,asset_compute,move_ids:0 msgid "Entries" -msgstr "" +msgstr "Buchungen" #. module: account_asset #: wizard_view:account.asset.compute,asset_compute:0 msgid "Generated entries" -msgstr "" +msgstr "erzeugte Buchungen" #. module: account_asset #: wizard_field:account.asset.modify,init,method_delay:0 #: field:account.asset.property,method_delay:0 #: field:account.asset.property.history,method_delay:0 msgid "Number of interval" -msgstr "" +msgstr "Anzahl der Intervalle" #. module: account_asset #: wizard_button:account.asset.compute,asset_compute,asset_open:0 msgid "Open entries" -msgstr "" +msgstr "offene Buchungen" #. module: account_asset #: view:account.asset.asset:0 @@ -108,102 +108,102 @@ msgstr "" #: model:ir.ui.menu,name:account_asset.menu_finance_Assets #: model:ir.ui.menu,name:account_asset.menu_finance_config_Assets msgid "Assets" -msgstr "" +msgstr "Anlagegüter" #. module: account_asset #: selection:account.asset.property,method:0 msgid "Progressive" -msgstr "" +msgstr "Progressiv" #. module: account_asset #: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_draft #: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_draft msgid "Draft Assets" -msgstr "" +msgstr "Anlagegüter (Entwurf)" #. module: account_asset #: wizard_view:account.asset.modify,init:0 #: wizard_field:account.asset.modify,init,note:0 #: view:account.asset.property.history:0 msgid "Notes" -msgstr "" +msgstr "Bemerkungen" #. module: account_asset #: view:account.asset.asset:0 msgid "Change history" -msgstr "" +msgstr "Bearbeitungshistorie" #. module: account_asset #: view:account.asset.asset:0 msgid "Depreciation entries" -msgstr "" +msgstr "Abschreibungsbuchungen" #. module: account_asset #: view:account.asset.asset:0 msgid "Methods" -msgstr "" +msgstr "Methoden" #. module: account_asset #: wizard_view:account.asset.modify,init:0 msgid "Asset properties to modify" -msgstr "" +msgstr "zu verändernde Anlagenmerkmale" #. module: account_asset #: field:account.asset.asset,partner_id:0 msgid "Partner" -msgstr "" +msgstr "Partner" #. module: account_asset #: wizard_field:account.asset.modify,init,method_period:0 #: field:account.asset.property,method_period:0 #: field:account.asset.property.history,method_period:0 msgid "Period per interval" -msgstr "" +msgstr "Perioden pro Intervall" #. module: account_asset #: view:account.asset.asset:0 msgid "Depreciation duration" -msgstr "" +msgstr "Abschreibungsdauer" #. module: account_asset #: field:account.asset.property,account_analytic_id:0 msgid "Analytic account" -msgstr "" +msgstr "Analytisches Konto" #. module: account_asset #: field:account.asset.property,state:0 msgid "State" -msgstr "" +msgstr "Status" #. module: account_asset #: view:account.asset.asset:0 msgid "Depreciation methods" -msgstr "" +msgstr "Abschreibungsmethode" #. module: account_asset #: view:account.asset.asset:0 msgid "Other information" -msgstr "" +msgstr "Andere Informationen" #. module: account_asset #: field:account.asset.board,value_asset_cumul:0 msgid "Cumul. value" -msgstr "" +msgstr "kummulierter Betrag" #. module: account_asset #: view:account.asset.property:0 msgid "Assets methods" -msgstr "" +msgstr "Anlagen Methoden" #. module: account_asset #: constraint:ir.ui.view:0 msgid "Invalid XML for View Architecture!" -msgstr "" +msgstr "Fehlerhafter XML-Code für diese Ansicht!" #. module: account_asset #: model:ir.model,name:account_asset.model_account_asset_property msgid "Asset property" -msgstr "" +msgstr "Anlagenmerkmale" #. module: account_asset #: wizard_view:account.asset.compute,asset_compute:0 @@ -212,30 +212,30 @@ msgstr "" #: model:ir.actions.wizard,name:account_asset.wizard_asset_compute #: model:ir.ui.menu,name:account_asset.menu_wizard_asset_compute msgid "Compute assets" -msgstr "" +msgstr "Berechne Anlagen" #. module: account_asset #: wizard_view:account.asset.modify,init:0 #: wizard_button:account.asset.modify,init,asset_modify:0 #: model:ir.actions.wizard,name:account_asset.wizard_asset_modify msgid "Modify asset" -msgstr "" +msgstr "Verändere Anlagegut" #. module: account_asset #: view:account.asset.asset:0 msgid "Confirm asset" -msgstr "" +msgstr "Anlagegut bestätigen" #. module: account_asset #: view:account.asset.property.history:0 #: model:ir.model,name:account_asset.model_account_asset_property_history msgid "Asset history" -msgstr "" +msgstr "Anlagenhistorie" #. module: account_asset #: field:account.asset.property,date:0 msgid "Date created" -msgstr "" +msgstr "Erstellungsdatum" #. module: account_asset #: model:ir.module.module,description:account_asset.module_meta_information @@ -252,211 +252,213 @@ msgstr "" #: field:account.asset.board,value_gross:0 #: field:account.asset.property,value_total:0 msgid "Gross value" -msgstr "" +msgstr "Anschaffungswert" #. module: account_asset #: selection:account.asset.property,method_time:0 msgid "Ending period" -msgstr "" +msgstr "Periodenende" #. module: account_asset #: field:account.asset.board,name:0 msgid "Asset name" -msgstr "" +msgstr "Anlagenname" #. module: account_asset #: view:account.asset.asset:0 msgid "Accounts information" -msgstr "" +msgstr "Konto Information" #. module: account_asset #: field:account.asset.asset,note:0 #: field:account.asset.category,note:0 #: field:account.asset.property.history,note:0 msgid "Note" -msgstr "" +msgstr "Notiz" #. module: account_asset #: selection:account.asset.asset,state:0 #: selection:account.asset.property,state:0 msgid "Draft" -msgstr "" +msgstr "Entwurf" #. module: account_asset #: field:account.asset.property,type:0 msgid "Depr. method type" -msgstr "" +msgstr "Abschreibungsmethode" #. module: account_asset #: field:account.asset.property,account_asset_id:0 msgid "Asset account" -msgstr "" +msgstr "Anlagenkonto" #. module: account_asset #: field:account.asset.property.history,asset_property_id:0 msgid "Method" -msgstr "" +msgstr "Methode" #. module: account_asset #: selection:account.asset.asset,state:0 msgid "Normal" -msgstr "" +msgstr "Normal" #. module: account_asset #: field:account.asset.property,method_progress_factor:0 msgid "Progressif factor" -msgstr "" +msgstr "Progressionsfaktor" #. module: account_asset #: field:account.asset.asset,localisation:0 msgid "Localisation" -msgstr "" +msgstr "Lokalisation" #. module: account_asset #: field:account.asset.property,method:0 msgid "Computation method" -msgstr "" +msgstr "Berechnungsmethode" #. module: account_asset #: field:account.asset.property,method_time:0 msgid "Time method" -msgstr "" +msgstr "Zeitmethode" #. module: account_asset #: field:account.asset.asset,active:0 msgid "Active" -msgstr "" +msgstr "Aktiv" #. module: account_asset #: field:account.asset.property.history,user_id:0 msgid "User" -msgstr "" +msgstr "Benutzer" #. module: account_asset #: field:account.asset.asset,property_ids:0 msgid "Asset method name" -msgstr "" +msgstr "Anlagenmethoden Bezeichnung" #. module: account_asset #: field:account.asset.asset,date:0 #: field:account.asset.property.history,date:0 msgid "Date" -msgstr "" +msgstr "Datum" #. module: account_asset #: field:account.asset.board,value_net:0 msgid "Net value" -msgstr "" +msgstr "Netto Wert" #. module: account_asset #: wizard_view:account.asset.close,init:0 #: model:ir.actions.wizard,name:account_asset.wizard_asset_close msgid "Close asset" -msgstr "" +msgstr "Anlagegut schliessen" #. module: account_asset #: field:account.asset.property,history_ids:0 msgid "History" -msgstr "" +msgstr "Verlauf" #. module: account_asset #: field:account.asset.property,account_actif_id:0 msgid "Depreciation account" -msgstr "" +msgstr "AfA-Konto" #. module: account_asset #: field:account.asset.asset,period_id:0 #: wizard_field:account.asset.compute,init,period_id:0 msgid "Period" -msgstr "" +msgstr "Periode" #. module: account_asset #: model:ir.actions.act_window,name:account_asset.action_account_asset_category_form #: model:ir.ui.menu,name:account_asset.menu_action_account_asset_category_form msgid "Asset Category" -msgstr "" +msgstr "Anlagenkategorie" #. module: account_asset #: wizard_button:account.asset.close,init,end:0 #: wizard_button:account.asset.compute,init,end:0 #: wizard_button:account.asset.modify,init,end:0 msgid "Cancel" -msgstr "" +msgstr "Abbrechen" #. module: account_asset #: selection:account.asset.asset,state:0 #: wizard_button:account.asset.compute,asset_compute,end:0 #: selection:account.asset.property,state:0 msgid "Close" -msgstr "" +msgstr "Schließen" #. module: account_asset #: selection:account.asset.property,state:0 msgid "Open" -msgstr "" +msgstr "Öffnen" #. module: account_asset #: constraint:ir.model:0 msgid "" "The Object name must start with x_ and not contain any special character !" msgstr "" +"Der Objektname muss mit \"x_\" beginnen und darf keine Sonderzeichen " +"beinhalten!" #. module: account_asset #: model:ir.module.module,shortdesc:account_asset.module_meta_information msgid "Asset management" -msgstr "" +msgstr "Anlagenbuchhaltung" #. module: account_asset #: view:account.asset.board:0 #: field:account.asset.property,board_ids:0 #: model:ir.model,name:account_asset.model_account_asset_board msgid "Asset board" -msgstr "" +msgstr "Anlagenspiegel" #. module: account_asset #: field:account.asset.asset,state:0 msgid "Global state" -msgstr "" +msgstr "Globaler Status" #. module: account_asset #: selection:account.asset.property,method_time:0 msgid "Delay" -msgstr "" +msgstr "Verzögerung" #. module: account_asset #: wizard_view:account.asset.close,init:0 msgid "General information" -msgstr "" +msgstr "Allgemeine Informationen" #. module: account_asset #: field:account.asset.property,journal_analytic_id:0 msgid "Analytic journal" -msgstr "" +msgstr "analytisches Journal" #. module: account_asset #: field:account.asset.property,name:0 msgid "Method name" -msgstr "" +msgstr "Methodenname" #. module: account_asset #: field:account.asset.property,journal_id:0 msgid "Journal" -msgstr "" +msgstr "Journal" #. module: account_asset #: field:account.asset.property.history,name:0 msgid "History name" -msgstr "" +msgstr "Verlauf Bezeichnung" #. module: account_asset #: view:account.asset.asset:0 msgid "Close method" -msgstr "" +msgstr "Abschlussmethode" #. module: account_asset #: field:account.asset.property,entry_asset_ids:0 msgid "Asset Entries" -msgstr "" +msgstr "Anlagen" #. module: account_asset #: field:account.asset.asset,category_id:0 @@ -464,66 +466,66 @@ msgstr "" #: field:account.asset.category,name:0 #: model:ir.model,name:account_asset.model_account_asset_category msgid "Asset category" -msgstr "" +msgstr "Analgenkategorie" #. module: account_asset #: view:account.asset.asset:0 msgid "Depreciation" -msgstr "" +msgstr "Abschreibung" #. module: account_asset #: field:account.asset.asset,code:0 #: field:account.asset.category,code:0 msgid "Asset code" -msgstr "" +msgstr "Kurzbezeichnung" #. module: account_asset #: field:account.asset.asset,value_total:0 msgid "Total value" -msgstr "" +msgstr "Gesamt Wert" #. module: account_asset #: selection:account.asset.asset,state:0 msgid "View" -msgstr "" +msgstr "Ansicht" #. module: account_asset #: view:account.asset.asset:0 msgid "General info" -msgstr "" +msgstr "Allgemeine Informationen" #. module: account_asset #: field:account.asset.asset,sequence:0 msgid "Sequence" -msgstr "" +msgstr "Sequenz" #. module: account_asset #: field:account.asset.property,value_residual:0 msgid "Residual value" -msgstr "" +msgstr "Buchwert" #. module: account_asset #: wizard_button:account.asset.close,init,asset_close:0 msgid "End of asset" -msgstr "" +msgstr "Ende des Anlagegutes" #. module: account_asset #: selection:account.asset.property,type:0 msgid "Direct" -msgstr "" +msgstr "Direkt" #. module: account_asset #: selection:account.asset.property,type:0 msgid "Indirect" -msgstr "" +msgstr "Indirekt" #. module: account_asset #: field:account.asset.asset,parent_id:0 msgid "Parent asset" -msgstr "" +msgstr "übergeordnetes Anlagegut" #. module: account_asset #: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_tree #: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_tree msgid "Asset Hierarchy" -msgstr "" +msgstr "Anlangenhierarchie" diff --git a/addons/account_asset/i18n/es_AR.po b/addons/account_asset/i18n/es_AR.po new file mode 100644 index 00000000000..9102ec58885 --- /dev/null +++ b/addons/account_asset/i18n/es_AR.po @@ -0,0 +1,529 @@ +# Spanish (Argentina) translation for openobject-addons +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2009-11-24 12:54+0000\n" +"PO-Revision-Date: 2011-11-30 23:41+0000\n" +"Last-Translator: Gustavo Earnshaw \n" +"Language-Team: Spanish (Argentina) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-12-02 04:47+0000\n" +"X-Generator: Launchpad (build 14414)\n" + +#. module: account_asset +#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_normal +#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_normal +msgid "Open Assets" +msgstr "" + +#. module: account_asset +#: field:account.asset.property,method_end:0 +#: field:account.asset.property.history,method_end:0 +msgid "Ending date" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Depreciation board" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +#: field:account.asset.asset,name:0 +#: field:account.asset.board,asset_id:0 +#: field:account.asset.property,asset_id:0 +#: field:account.invoice.line,asset_id:0 +#: field:account.move.line,asset_id:0 +#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_form +#: model:ir.model,name:account_asset.model_account_asset_asset +#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_form +msgid "Asset" +msgstr "" + +#. module: account_asset +#: constraint:ir.actions.act_window:0 +msgid "Invalid model name in the action definition." +msgstr "" + +#. module: account_asset +#: selection:account.asset.property,method:0 +msgid "Linear" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Change duration" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,child_ids:0 +msgid "Child assets" +msgstr "" + +#. module: account_asset +#: field:account.asset.board,value_asset:0 +msgid "Asset Value" +msgstr "valor de activos" + +#. module: account_asset +#: wizard_field:account.asset.modify,init,name:0 +msgid "Reason" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +#: field:account.asset.asset,entry_ids:0 +#: wizard_field:account.asset.compute,asset_compute,move_ids:0 +msgid "Entries" +msgstr "" + +#. module: account_asset +#: wizard_view:account.asset.compute,asset_compute:0 +msgid "Generated entries" +msgstr "" + +#. module: account_asset +#: wizard_field:account.asset.modify,init,method_delay:0 +#: field:account.asset.property,method_delay:0 +#: field:account.asset.property.history,method_delay:0 +msgid "Number of interval" +msgstr "" + +#. module: account_asset +#: wizard_button:account.asset.compute,asset_compute,asset_open:0 +msgid "Open entries" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list +#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list +#: model:ir.ui.menu,name:account_asset.menu_finance_Assets +#: model:ir.ui.menu,name:account_asset.menu_finance_config_Assets +msgid "Assets" +msgstr "" + +#. module: account_asset +#: selection:account.asset.property,method:0 +msgid "Progressive" +msgstr "" + +#. module: account_asset +#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_draft +#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_draft +msgid "Draft Assets" +msgstr "" + +#. module: account_asset +#: wizard_view:account.asset.modify,init:0 +#: wizard_field:account.asset.modify,init,note:0 +#: view:account.asset.property.history:0 +msgid "Notes" +msgstr "Notas" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Change history" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Depreciation entries" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Methods" +msgstr "" + +#. module: account_asset +#: wizard_view:account.asset.modify,init:0 +msgid "Asset properties to modify" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,partner_id:0 +msgid "Partner" +msgstr "" + +#. module: account_asset +#: wizard_field:account.asset.modify,init,method_period:0 +#: field:account.asset.property,method_period:0 +#: field:account.asset.property.history,method_period:0 +msgid "Period per interval" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Depreciation duration" +msgstr "" + +#. module: account_asset +#: field:account.asset.property,account_analytic_id:0 +msgid "Analytic account" +msgstr "" + +#. module: account_asset +#: field:account.asset.property,state:0 +msgid "State" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Depreciation methods" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Other information" +msgstr "" + +#. module: account_asset +#: field:account.asset.board,value_asset_cumul:0 +msgid "Cumul. value" +msgstr "" + +#. module: account_asset +#: view:account.asset.property:0 +msgid "Assets methods" +msgstr "" + +#. module: account_asset +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "" + +#. module: account_asset +#: model:ir.model,name:account_asset.model_account_asset_property +msgid "Asset property" +msgstr "" + +#. module: account_asset +#: wizard_view:account.asset.compute,asset_compute:0 +#: wizard_view:account.asset.compute,init:0 +#: wizard_button:account.asset.compute,init,asset_compute:0 +#: model:ir.actions.wizard,name:account_asset.wizard_asset_compute +#: model:ir.ui.menu,name:account_asset.menu_wizard_asset_compute +msgid "Compute assets" +msgstr "" + +#. module: account_asset +#: wizard_view:account.asset.modify,init:0 +#: wizard_button:account.asset.modify,init,asset_modify:0 +#: model:ir.actions.wizard,name:account_asset.wizard_asset_modify +msgid "Modify asset" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Confirm asset" +msgstr "" + +#. module: account_asset +#: view:account.asset.property.history:0 +#: model:ir.model,name:account_asset.model_account_asset_property_history +msgid "Asset history" +msgstr "" + +#. module: account_asset +#: field:account.asset.property,date:0 +msgid "Date created" +msgstr "" + +#. module: account_asset +#: model:ir.module.module,description:account_asset.module_meta_information +msgid "" +"Financial and accounting asset management.\n" +" Allows to define\n" +" * Asset category. \n" +" * Assets.\n" +" *Asset usage period and property.\n" +" " +msgstr "" + +#. module: account_asset +#: field:account.asset.board,value_gross:0 +#: field:account.asset.property,value_total:0 +msgid "Gross value" +msgstr "" + +#. module: account_asset +#: selection:account.asset.property,method_time:0 +msgid "Ending period" +msgstr "" + +#. module: account_asset +#: field:account.asset.board,name:0 +msgid "Asset name" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Accounts information" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,note:0 +#: field:account.asset.category,note:0 +#: field:account.asset.property.history,note:0 +msgid "Note" +msgstr "" + +#. module: account_asset +#: selection:account.asset.asset,state:0 +#: selection:account.asset.property,state:0 +msgid "Draft" +msgstr "" + +#. module: account_asset +#: field:account.asset.property,type:0 +msgid "Depr. method type" +msgstr "" + +#. module: account_asset +#: field:account.asset.property,account_asset_id:0 +msgid "Asset account" +msgstr "" + +#. module: account_asset +#: field:account.asset.property.history,asset_property_id:0 +msgid "Method" +msgstr "" + +#. module: account_asset +#: selection:account.asset.asset,state:0 +msgid "Normal" +msgstr "" + +#. module: account_asset +#: field:account.asset.property,method_progress_factor:0 +msgid "Progressif factor" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,localisation:0 +msgid "Localisation" +msgstr "" + +#. module: account_asset +#: field:account.asset.property,method:0 +msgid "Computation method" +msgstr "" + +#. module: account_asset +#: field:account.asset.property,method_time:0 +msgid "Time method" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,active:0 +msgid "Active" +msgstr "" + +#. module: account_asset +#: field:account.asset.property.history,user_id:0 +msgid "User" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,property_ids:0 +msgid "Asset method name" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,date:0 +#: field:account.asset.property.history,date:0 +msgid "Date" +msgstr "" + +#. module: account_asset +#: field:account.asset.board,value_net:0 +msgid "Net value" +msgstr "" + +#. module: account_asset +#: wizard_view:account.asset.close,init:0 +#: model:ir.actions.wizard,name:account_asset.wizard_asset_close +msgid "Close asset" +msgstr "" + +#. module: account_asset +#: field:account.asset.property,history_ids:0 +msgid "History" +msgstr "" + +#. module: account_asset +#: field:account.asset.property,account_actif_id:0 +msgid "Depreciation account" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,period_id:0 +#: wizard_field:account.asset.compute,init,period_id:0 +msgid "Period" +msgstr "" + +#. module: account_asset +#: model:ir.actions.act_window,name:account_asset.action_account_asset_category_form +#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_category_form +msgid "Asset Category" +msgstr "" + +#. module: account_asset +#: wizard_button:account.asset.close,init,end:0 +#: wizard_button:account.asset.compute,init,end:0 +#: wizard_button:account.asset.modify,init,end:0 +msgid "Cancel" +msgstr "" + +#. module: account_asset +#: selection:account.asset.asset,state:0 +#: wizard_button:account.asset.compute,asset_compute,end:0 +#: selection:account.asset.property,state:0 +msgid "Close" +msgstr "" + +#. module: account_asset +#: selection:account.asset.property,state:0 +msgid "Open" +msgstr "" + +#. module: account_asset +#: constraint:ir.model:0 +msgid "" +"The Object name must start with x_ and not contain any special character !" +msgstr "" + +#. module: account_asset +#: model:ir.module.module,shortdesc:account_asset.module_meta_information +msgid "Asset management" +msgstr "" + +#. module: account_asset +#: view:account.asset.board:0 +#: field:account.asset.property,board_ids:0 +#: model:ir.model,name:account_asset.model_account_asset_board +msgid "Asset board" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,state:0 +msgid "Global state" +msgstr "" + +#. module: account_asset +#: selection:account.asset.property,method_time:0 +msgid "Delay" +msgstr "" + +#. module: account_asset +#: wizard_view:account.asset.close,init:0 +msgid "General information" +msgstr "" + +#. module: account_asset +#: field:account.asset.property,journal_analytic_id:0 +msgid "Analytic journal" +msgstr "" + +#. module: account_asset +#: field:account.asset.property,name:0 +msgid "Method name" +msgstr "" + +#. module: account_asset +#: field:account.asset.property,journal_id:0 +msgid "Journal" +msgstr "" + +#. module: account_asset +#: field:account.asset.property.history,name:0 +msgid "History name" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Close method" +msgstr "" + +#. module: account_asset +#: field:account.asset.property,entry_asset_ids:0 +msgid "Asset Entries" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,category_id:0 +#: view:account.asset.category:0 +#: field:account.asset.category,name:0 +#: model:ir.model,name:account_asset.model_account_asset_category +msgid "Asset category" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "Depreciation" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,code:0 +#: field:account.asset.category,code:0 +msgid "Asset code" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,value_total:0 +msgid "Total value" +msgstr "" + +#. module: account_asset +#: selection:account.asset.asset,state:0 +msgid "View" +msgstr "" + +#. module: account_asset +#: view:account.asset.asset:0 +msgid "General info" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: account_asset +#: field:account.asset.property,value_residual:0 +msgid "Residual value" +msgstr "" + +#. module: account_asset +#: wizard_button:account.asset.close,init,asset_close:0 +msgid "End of asset" +msgstr "" + +#. module: account_asset +#: selection:account.asset.property,type:0 +msgid "Direct" +msgstr "" + +#. module: account_asset +#: selection:account.asset.property,type:0 +msgid "Indirect" +msgstr "" + +#. module: account_asset +#: field:account.asset.asset,parent_id:0 +msgid "Parent asset" +msgstr "" + +#. module: account_asset +#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_tree +#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_tree +msgid "Asset Hierarchy" +msgstr "" diff --git a/addons/account_invoice_layout/report/report_account_invoice_layout.rml b/addons/account_invoice_layout/report/report_account_invoice_layout.rml index c2dc0e036bb..1c31c4376c5 100644 --- a/addons/account_invoice_layout/report/report_account_invoice_layout.rml +++ b/addons/account_invoice_layout/report/report_account_invoice_layout.rml @@ -193,11 +193,7 @@ [[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]] - [[ (o.address_invoice_id and o.address_invoice_id.street) or '' ]] - [[ (o.address_invoice_id and o.address_invoice_id.street2) or removeParentNode('para') ]] - [[ (o.address_invoice_id and o.address_invoice_id.zip) or '' ]] [[ (o.address_invoice_id and o.address_invoice_id.city) or '' ]] - [[ (o.address_invoice_id and o.address_invoice_id.state_id and o.address_invoice_id.state_id.name) or removeParentNode('para') ]] - [[ (o.address_invoice_id and o.address_invoice_id.country_id and o.address_invoice_id.country_id.name) or '' ]] + [[ display_address(o.address_invoice_id) ]] diff --git a/addons/account_invoice_layout/report/special_message_invoice.rml b/addons/account_invoice_layout/report/special_message_invoice.rml index c6fc9d236fc..bfef662db85 100644 --- a/addons/account_invoice_layout/report/special_message_invoice.rml +++ b/addons/account_invoice_layout/report/special_message_invoice.rml @@ -197,11 +197,7 @@ [[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]] - [[ (o.address_invoice_id and o.address_invoice_id.street) or '' ]] - [[ (o.address_invoice_id and o.address_invoice_id.street2) or removeParentNode('para') ]] - [[ (o.address_invoice_id and o.address_invoice_id.zip) or '' ]] [[ (o.address_invoice_id and o.address_invoice_id.city) or '' ]] - [[ (o.address_invoice_id and o.address_invoice_id.state_id and o.address_invoice_id.state_id.name) or removeParentNode('para') ]] - [[ (o.address_invoice_id and o.address_invoice_id.country_id and o.address_invoice_id.country_id.name) or '' ]] + [[ display_address(o.address_invoice_id) ]] diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py index fd6dac9f90d..0de84a82ce0 100644 --- a/addons/account_voucher/account_voucher.py +++ b/addons/account_voucher/account_voucher.py @@ -958,6 +958,7 @@ class account_voucher(osv.osv): 'debit': diff < 0 and -diff or 0.0, 'amount_currency': company_currency <> current_currency and voucher_brw.writeoff_amount or False, 'currency_id': company_currency <> current_currency and current_currency or False, + 'analytic_account_id': voucher_brw.analytic_id and voucher_brw.analytic_id.id or False, } return move_line diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py index 114653d473e..3ea5cec848a 100644 --- a/addons/analytic/analytic.py +++ b/addons/analytic/analytic.py @@ -161,7 +161,7 @@ class account_analytic_account(osv.osv): 'debit': fields.function(_debit_credit_bal_qtty, type='float', string='Debit', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')), 'credit': fields.function(_debit_credit_bal_qtty, type='float', string='Credit', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')), 'quantity': fields.function(_debit_credit_bal_qtty, type='float', string='Quantity', multi='debit_credit_bal_qtty'), - 'quantity_max': fields.float('Maximum Quantity', help='Sets the higher limit of quantity of hours.'), + 'quantity_max': fields.float('Maximum Time', help='Sets the higher limit of quantity of hours.'), 'partner_id': fields.many2one('res.partner', 'Partner'), 'contact_id': fields.many2one('res.partner.address', 'Contact'), 'user_id': fields.many2one('res.users', 'Account Manager'), @@ -242,6 +242,13 @@ class account_analytic_account(osv.osv): res['value']['partner_id'] = partner return res + def onchange_partner_id(self, cr, uid, ids, partner, context=None): + partner_obj = self.pool.get('res.partner') + if not partner: + return {'value':{'contact_id': False}} + address = partner_obj.address_get(cr, uid, [partner], ['contact']) + return {'value':{'contact_id': address['contact']}} + def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100): if not args: args=[] diff --git a/addons/auction/report/buyer_form_report.rml b/addons/auction/report/buyer_form_report.rml index c917a931fd3..3421bf27d12 100644 --- a/addons/auction/report/buyer_form_report.rml +++ b/addons/auction/report/buyer_form_report.rml @@ -99,9 +99,7 @@ [[ o['partner'] and o['partner'].name or False]] - [[o['partner'] and o['partner'].address[0].street or False]] - [[o['partner'] and o['partner'].address[0].zip or False]][[o['partner'] and o['partner'].address[0].city or False]] - [[o['partner'] and o['partner'].address[0].country_id.name or False]] + [[o['partner'] and o['partner'].address and display_address(o['partner'].address[0]) ]] diff --git a/addons/auction/report/deposit_seller.rml b/addons/auction/report/deposit_seller.rml index 3adc1152067..518f1f441df 100644 --- a/addons/auction/report/deposit_seller.rml +++ b/addons/auction/report/deposit_seller.rml @@ -84,9 +84,7 @@ [[o.bord_vnd_id.partner_id.title]] [[o.bord_vnd_id.partner_id.name]] - [[o.bord_vnd_id.partner_id.address[0].street]] - [[o.bord_vnd_id.partner_id.address[0].zip]],[[o.bord_vnd_id.partner_id.address[0].city]] - [[o.bord_vnd_id.partner_id.address[0].country_id.name]] + [[o.bord_vnd_id.partner_id.address and display_address(o.bord_vnd_id.partner_id.address[0]) ]] diff --git a/addons/auction/report/seller_form_report.rml b/addons/auction/report/seller_form_report.rml index c2d724eb259..d9cc1adaadf 100644 --- a/addons/auction/report/seller_form_report.rml +++ b/addons/auction/report/seller_form_report.rml @@ -74,9 +74,7 @@ [[ o['partner'] and o['partner'].name or False]] - [[o['partner'] and o['partner'].address[0].street or False]] - [[o['partner'] and o['partner'].address[0].zip or False]][[o['partner'] and o['partner'].address[0].city or False]] - [[o['partner'] and o['partner'].address[0].country_id.name or False]] + [[ o['partner'] and o['partner'].address and display_address(o['partner'].address[0]) diff --git a/addons/crm/test/test_crm_recurrent_meeting_case2.yml b/addons/base_calendar/test/test_crm_recurrent_meeting_case2.yml similarity index 100% rename from addons/crm/test/test_crm_recurrent_meeting_case2.yml rename to addons/base_calendar/test/test_crm_recurrent_meeting_case2.yml diff --git a/addons/base_contact/base_contact_demo.xml b/addons/base_contact/base_contact_demo.xml index 393c318015c..35390caca77 100644 --- a/addons/base_contact/base_contact_demo.xml +++ b/addons/base_contact/base_contact_demo.xml @@ -146,7 +146,11 @@ - + + @@ -154,7 +158,11 @@ - + + @@ -162,7 +170,11 @@ - + + diff --git a/addons/base_contact/i18n/ar.po b/addons/base_contact/i18n/ar.po index 6264b1aa32d..e5610421181 100644 --- a/addons/base_contact/i18n/ar.po +++ b/addons/base_contact/i18n/ar.po @@ -7,104 +7,104 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2011-01-11 11:14+0000\n" -"PO-Revision-Date: 2009-02-03 06:25+0000\n" -"Last-Translator: <>\n" +"PO-Revision-Date: 2011-12-03 15:19+0000\n" +"Last-Translator: kifcaliph \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: 2011-11-05 05:04+0000\n" -"X-Generator: Launchpad (build 14231)\n" +"X-Launchpad-Export-Date: 2011-12-04 04:43+0000\n" +"X-Generator: Launchpad (build 14418)\n" #. module: base_contact #: field:res.partner.contact,title:0 msgid "Title" -msgstr "" +msgstr "اللقب" #. module: base_contact #: view:res.partner.address:0 msgid "# of Contacts" -msgstr "" +msgstr "عدد جهات الاتصال" #. module: base_contact #: field:res.partner.job,fax:0 msgid "Fax" -msgstr "" +msgstr "فاكس" #. module: base_contact #: view:base.contact.installer:0 msgid "title" -msgstr "" +msgstr "الاسم" #. module: base_contact #: help:res.partner.job,date_start:0 msgid "Start date of job(Joining Date)" -msgstr "" +msgstr "تاريخ الالتحاق بالوظيفة" #. module: base_contact #: view:base.contact.installer:0 msgid "Select the Option for Addresses Migration" -msgstr "" +msgstr "حدد الخيار لنقل العناوين" #. module: base_contact #: help:res.partner.job,function:0 msgid "Function of this contact with this partner" -msgstr "" +msgstr "مهمة جهة الاتصال هذه عند هذا الشريك" #. module: base_contact #: help:res.partner.job,state:0 msgid "Status of Address" -msgstr "" +msgstr "حالة العنوان" #. module: base_contact #: help:res.partner.job,name:0 msgid "" "You may enter Address first,Partner will be linked " "automatically if any." -msgstr "" +msgstr "يمكنك إدخال العنوان أولاً، وسيتمّ ربط الشريك تلقائياً إن وُجِد." #. module: base_contact #: help:res.partner.job,fax:0 msgid "Job FAX no." -msgstr "" +msgstr "فاكس العمل" #. module: base_contact #: field:res.partner.contact,mobile:0 msgid "Mobile" -msgstr "" +msgstr "الجوال" #. module: base_contact #: view:res.partner.contact:0 #: field:res.partner.contact,comment:0 msgid "Notes" -msgstr "" +msgstr "ملاحظات" #. module: base_contact #: model:process.node,note:base_contact.process_node_contacts0 msgid "People you work with." -msgstr "" +msgstr "أشخاص تعمل معهم." #. module: base_contact #: model:process.transition,note:base_contact.process_transition_functiontoaddress0 msgid "Define functions and address." -msgstr "" +msgstr "تعريف المهام والعنوان" #. module: base_contact #: help:res.partner.job,date_stop:0 msgid "Last date of job" -msgstr "" +msgstr "تاريخ ترك الوظيفة" #. module: base_contact #: view:base.contact.installer:0 #: field:base.contact.installer,migrate:0 msgid "Migrate" -msgstr "" +msgstr "نقل" #. module: base_contact #: view:res.partner.contact:0 #: field:res.partner.job,name:0 msgid "Partner" -msgstr "" +msgstr "الشريك" #. module: base_contact #: model:process.node,note:base_contact.process_node_function0 @@ -114,12 +114,12 @@ msgstr "" #. module: base_contact #: model:process.node,name:base_contact.process_node_partners0 msgid "Partners" -msgstr "" +msgstr "الشركاء" #. module: base_contact #: field:res.partner.job,state:0 msgid "State" -msgstr "" +msgstr "المحافظة" #. module: base_contact #: help:res.partner.contact,active:0 @@ -151,27 +151,42 @@ msgid "" "an other object.\n" " " msgstr "" +"\n" +" تمكنك هذه الوحدة البرمجية من إدارة جهات الاتصال بشكل كامل.\n" +" فهي تسمح لك بـتعرف:\n" +" * جهات اتصال غير ذات صلة بشريك،\n" +" * جهات اتصال ذات عناوين عمل متعددة (ربما لارتباطها بشركاء مختلفين)،\n" +" * جهات اتصال ذات مهام مختلفة لكل عنوان من عناوين وظائفها\n" +"\n" +" كذلك تضيف هذه الوحدة البرمجية عناصر جديدة إلى القائمة تحت\n" +" الشركاء / جهات الاتصال\n" +" الشركاء / المهام\n" +"\n" +" تنبه إلى أن هذه الوحدة البرمجية تقوم بتحويل العناوين الموجودة مسبقاً إلى " +"\"عناوين\" و \"جهات اتصال\"، مما يعني أن بعض حقول العناوين سيتم حذفها (مثل " +"اسم جهة الاتصال) لأنه من المفترض أن يتم تعريفها في كائن آخر.\n" +" " #. module: base_contact #: model:ir.module.module,shortdesc:base_contact.module_meta_information #: model:process.process,name:base_contact.process_process_basecontactprocess0 msgid "Base Contact" -msgstr "" +msgstr "جهة الاتصال الأساسية" #. module: base_contact #: field:res.partner.job,date_stop:0 msgid "Date Stop" -msgstr "" +msgstr "تاريخ التوقف" #. module: base_contact #: model:ir.actions.act_window,name:base_contact.action_res_partner_job msgid "Contact's Jobs" -msgstr "" +msgstr "الوظائف" #. module: base_contact #: view:res.partner:0 msgid "Categories" -msgstr "" +msgstr "الفئات" #. module: base_contact #: help:res.partner.job,sequence_partner:0 @@ -179,70 +194,72 @@ msgid "" "Order of importance of this job title in the list of job " "title of the linked partner" msgstr "" +"ترتيب المسمى الوظيفي هذا حسب الأهمية بين المسميات الوظيغية المستخدمة لدى " +"الشريك" #. module: base_contact #: field:res.partner.job,extension:0 msgid "Extension" -msgstr "" +msgstr "الامتداد" #. module: base_contact #: help:res.partner.job,extension:0 msgid "Internal/External extension phone number" -msgstr "" +msgstr "امتداد رقم الهاتف الداخلي/الخارجي" #. module: base_contact #: help:res.partner.job,phone:0 msgid "Job Phone no." -msgstr "" +msgstr "هاتف العمل" #. module: base_contact #: view:res.partner.contact:0 #: field:res.partner.contact,job_ids:0 msgid "Functions and Addresses" -msgstr "" +msgstr "المهام والعناوين" #. module: base_contact #: model:ir.model,name:base_contact.model_res_partner_contact #: field:res.partner.job,contact_id:0 msgid "Contact" -msgstr "" +msgstr "جهة الاتصال" #. module: base_contact #: help:res.partner.job,email:0 msgid "Job E-Mail" -msgstr "" +msgstr "البريد الإلكتروني للعمل" #. module: base_contact #: field:res.partner.job,sequence_partner:0 msgid "Partner Seq." -msgstr "" +msgstr "رقم الشريك" #. module: base_contact #: model:process.transition,name:base_contact.process_transition_functiontoaddress0 msgid "Function to address" -msgstr "" +msgstr "مهمة إلى عنوان" #. module: base_contact #: field:base.contact.installer,progress:0 msgid "Configuration Progress" -msgstr "" +msgstr "سير الإعدادات" #. module: base_contact #: field:res.partner.contact,name:0 msgid "Last Name" -msgstr "" +msgstr "اسم العائلة" #. module: base_contact #: view:res.partner:0 #: view:res.partner.contact:0 msgid "Communication" -msgstr "" +msgstr "التواصل" #. module: base_contact #: field:base.contact.installer,config_logo:0 #: field:res.partner.contact,photo:0 msgid "Image" -msgstr "" +msgstr "صورة" #. module: base_contact #: selection:res.partner.job,state:0 @@ -252,7 +269,7 @@ msgstr "" #. module: base_contact #: model:ir.model,name:base_contact.model_res_partner_address msgid "Partner Addresses" -msgstr "" +msgstr "عناوين الشريك" #. module: base_contact #: view:base.contact.installer:0 @@ -262,12 +279,12 @@ msgstr "" #. module: base_contact #: field:res.partner.job,sequence_contact:0 msgid "Contact Seq." -msgstr "" +msgstr "رقم جهة الاتصال" #. module: base_contact #: view:res.partner.address:0 msgid "Search Contact" -msgstr "" +msgstr "بحث جهة الإتصال" #. module: base_contact #: model:ir.actions.act_window,name:base_contact.action_partner_contact_form @@ -277,7 +294,7 @@ msgstr "" #: view:res.partner:0 #: field:res.partner.address,job_ids:0 msgid "Contacts" -msgstr "" +msgstr "جهات الاتصال" #. module: base_contact #: view:base.contact.installer:0 @@ -289,58 +306,58 @@ msgstr "" #. module: base_contact #: model:process.node,note:base_contact.process_node_addresses0 msgid "Working and private addresses." -msgstr "" +msgstr "عناوين العمل والعناوين الخاصة" #. module: base_contact #: help:res.partner.job,address_id:0 msgid "Address which is linked to the Partner" -msgstr "" +msgstr "العنوان المرتبط بالشريك" #. module: base_contact #: field:res.partner.job,function:0 msgid "Partner Function" -msgstr "" +msgstr "مهمة الشريك" #. module: base_contact #: help:res.partner.job,other:0 msgid "Additional phone field" -msgstr "" +msgstr "حقل هاتف إضافي" #. module: base_contact #: field:res.partner.contact,website:0 msgid "Website" -msgstr "" +msgstr "الموقع الإلكتروني" #. module: base_contact #: view:base.contact.installer:0 msgid "Otherwise these details will not be visible from address/contact." -msgstr "" +msgstr "وإلا فلن تظهر هذه التفاصيل في العنوان/جهة الاتصال." #. module: base_contact #: view:base.contact.installer:0 msgid "Configure" -msgstr "" +msgstr "ضبط الإعدادات" #. module: base_contact #: field:res.partner.contact,email:0 #: field:res.partner.job,email:0 msgid "E-Mail" -msgstr "" +msgstr "البريد الإلكتروني" #. module: base_contact #: model:ir.model,name:base_contact.model_base_contact_installer msgid "base.contact.installer" -msgstr "" +msgstr "base.contact.installer" #. module: base_contact #: view:res.partner.job:0 msgid "Contact Functions" -msgstr "" +msgstr "مهام جهة الاتصال" #. module: base_contact #: field:res.partner.job,phone:0 msgid "Phone" -msgstr "" +msgstr "هاتف" #. module: base_contact #: view:base.contact.installer:0 @@ -350,164 +367,164 @@ msgstr "" #. module: base_contact #: field:res.partner.contact,active:0 msgid "Active" -msgstr "" +msgstr "نشِط" #. module: base_contact #: field:res.partner.contact,function:0 msgid "Main Function" -msgstr "" +msgstr "المهمة الرئيسية" #. module: base_contact #: model:process.transition,note:base_contact.process_transition_partnertoaddress0 msgid "Define partners and their addresses." -msgstr "" +msgstr "تعريف الشركاء وعناوينهم" #. module: base_contact #: view:res.partner.contact:0 msgid "Seq." -msgstr "" +msgstr "رقم" #. module: base_contact #: field:res.partner.contact,lang_id:0 msgid "Language" -msgstr "" +msgstr "اللغة" #. module: base_contact #: view:res.partner.contact:0 msgid "Extra Information" -msgstr "" +msgstr "معلومات إضافية" #. module: base_contact #: model:process.node,note:base_contact.process_node_partners0 msgid "Companies you work with." -msgstr "" +msgstr "الشركات التي تتعامل معها." #. module: base_contact #: view:res.partner.contact:0 msgid "Partner Contact" -msgstr "" +msgstr "جهة الاتصال بالشريك" #. module: base_contact #: view:res.partner.contact:0 msgid "General" -msgstr "" +msgstr "عام" #. module: base_contact #: view:res.partner.contact:0 msgid "Photo" -msgstr "" +msgstr "صورة" #. module: base_contact #: field:res.partner.contact,birthdate:0 msgid "Birth Date" -msgstr "" +msgstr "تاريخ الميلاد" #. module: base_contact #: help:base.contact.installer,migrate:0 msgid "If you select this, all addresses will be migrated." -msgstr "" +msgstr "إذا اخترت هذا الخيار، سيتم نقل جميع العناوين." #. module: base_contact #: selection:res.partner.job,state:0 msgid "Current" -msgstr "" +msgstr "الحالي" #. module: base_contact #: field:res.partner.contact,first_name:0 msgid "First Name" -msgstr "" +msgstr "الاسم الأول" #. module: base_contact #: model:ir.model,name:base_contact.model_res_partner_job msgid "Contact Partner Function" -msgstr "" +msgstr "مهمة الشريك" #. module: base_contact #: field:res.partner.job,other:0 msgid "Other" -msgstr "" +msgstr "غير ذلك" #. module: base_contact #: model:process.node,name:base_contact.process_node_function0 msgid "Function" -msgstr "" +msgstr "المهمة" #. module: base_contact #: field:res.partner.address,job_id:0 #: field:res.partner.contact,job_id:0 msgid "Main Job" -msgstr "" +msgstr "الوظيفة الرئيسية" #. module: base_contact #: model:process.transition,note:base_contact.process_transition_contacttofunction0 msgid "Defines contacts and functions." -msgstr "" +msgstr "تعريف جهات الاتصال والمهام." #. module: base_contact #: model:process.transition,name:base_contact.process_transition_contacttofunction0 msgid "Contact to function" -msgstr "" +msgstr "جهة اتصال إلى مهمة" #. module: base_contact #: view:res.partner:0 #: field:res.partner.job,address_id:0 msgid "Address" -msgstr "" +msgstr "العنوان" #. module: base_contact #: field:res.partner.contact,country_id:0 msgid "Nationality" -msgstr "" +msgstr "الجنسية" #. module: base_contact #: model:ir.actions.act_window,name:base_contact.act_res_partner_jobs msgid "Open Jobs" -msgstr "" +msgstr "الوظائف المفتوحة" #. module: base_contact #: field:base.contact.installer,name:0 msgid "Name" -msgstr "" +msgstr "الاسم" #. module: base_contact #: view:base.contact.installer:0 msgid "You can migrate Partner's current addresses to the contact." -msgstr "" +msgstr "يمكنك نقل العناوين الحالية للشريك إلى جهة الاتصال" #. module: base_contact #: field:res.partner.contact,partner_id:0 msgid "Main Employer" -msgstr "" +msgstr "صاحب العمل الرئيسي" #. module: base_contact #: model:ir.actions.act_window,name:base_contact.action_base_contact_installer msgid "Address Migration" -msgstr "" +msgstr "نقل العنوان" #. module: base_contact #: view:res.partner:0 msgid "Postal Address" -msgstr "" +msgstr "العنوان البريدي" #. module: base_contact #: model:process.node,name:base_contact.process_node_addresses0 #: view:res.partner:0 msgid "Addresses" -msgstr "" +msgstr "العناوين" #. module: base_contact #: model:process.transition,name:base_contact.process_transition_partnertoaddress0 msgid "Partner to address" -msgstr "" +msgstr "شريك إلى عنوان" #. module: base_contact #: field:res.partner.job,date_start:0 msgid "Date Start" -msgstr "" +msgstr "تاريخ البدء" #. module: base_contact #: help:res.partner.job,sequence_contact:0 msgid "" "Order of importance of this address in the list of " "addresses of the linked contact" -msgstr "" +msgstr "ترتيب هذا العنوان حسب الأهمية بين عناوين جهة الاتصال" diff --git a/addons/base_contact/test/base_contact00.yml b/addons/base_contact/test/base_contact00.yml index c6a4ed9e057..775b5636caa 100644 --- a/addons/base_contact/test/base_contact00.yml +++ b/addons/base_contact/test/base_contact00.yml @@ -64,7 +64,7 @@ country_id: base.be first_name: Nicolas job_ids: - - address_id: base.main_address + - address_id: base.res_partner_address_1 function: CTO state: current - address_id: base.res_partner_address_3000 diff --git a/addons/base_report_designer/base_report_designer.py b/addons/base_report_designer/base_report_designer.py index 90c48f7f17c..46a6e1fe870 100644 --- a/addons/base_report_designer/base_report_designer.py +++ b/addons/base_report_designer/base_report_designer.py @@ -59,13 +59,21 @@ class report_xml(osv.osv): return True def report_get(self, cr, uid, report_id, context=None): + if context is None: + context = {} + # skip osv.fields.sanitize_binary_value() because we want the raw bytes in all cases + context.update(bin_raw=True) report = self.browse(cr, uid, report_id, context=context) - sxw_data=(report.report_sxw_content).encode("iso-8859-1", "replace") - rml_data= (report.report_rml_content).encode("iso-8859-1", "replace") + sxw_data = report.report_sxw_content + rml_data = report.report_rml_content + if isinstance(sxw_data, unicode): + sxw_data = sxw_data.encode("iso-8859-1", "replace") + if isinstance(rml_data, unicode): + rml_data = rml_data.encode("iso-8859-1", "replace") return { - 'file_type' : report.report_type, - 'report_sxw_content': report.report_sxw_content and base64.encodestring(sxw_data) or False, - 'report_rml_content': report.report_rml_content and base64.encodestring(rml_data) or False + 'file_type' : report.report_type, + 'report_sxw_content': sxw_data and base64.encodestring(sxw_data) or False, + 'report_rml_content': rml_data and base64.encodestring(rml_data) or False } report_xml() diff --git a/addons/base_setup/base_setup_views.xml b/addons/base_setup/base_setup_views.xml index 35d0c647892..d3536b10cf1 100644 --- a/addons/base_setup/base_setup_views.xml +++ b/addons/base_setup/base_setup_views.xml @@ -23,7 +23,7 @@ - + Add More Features ir.ui.menu diff --git a/addons/base_vat/__init__.py b/addons/base_vat/__init__.py index 43dbd0c1418..1d7c143b7dc 100644 --- a/addons/base_vat/__init__.py +++ b/addons/base_vat/__init__.py @@ -19,6 +19,7 @@ # ############################################################################## +import res_company import base_vat # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/addons/base_vat/__openerp__.py b/addons/base_vat/__openerp__.py index 5f7c1d2d86d..147eb47b9e2 100644 --- a/addons/base_vat/__openerp__.py +++ b/addons/base_vat/__openerp__.py @@ -33,6 +33,21 @@ be validated for all supported countries. The country is inferred from the 2-letter country code that prefixes the VAT number, e.g. ``BE0477472701`` will be validated using the Belgian rules. +There are two different levels of VAT number validation: + + * By default, a simple off-line check is performed using the known validation + rules for the country, usually a simple check digit. This is quick and + always available, but allows numbers that are perhaps not truly allocated, + or not valid anymore. + * When the "VAT VIES Check" option is enabled (in the configuration of the user's + Company), VAT numbers will be instead submitted to the online EU VIES + database, which will truly verify that the number is valid and currently + allocated to a EU company. This is a little bit slower than the simple + off-line check, requires an Internet connection, and may not be available + all the time. If the service is not available or does not support the + requested country (e.g. for non-EU countries), a simple check will be performed + instead. + Supported countries currently include EU countries, and a few non-EU countries such as Chile, Colombia, Mexico, Norway or Russia. For unsupported countries, only the country code will be validated. diff --git a/addons/base_vat/base_vat.py b/addons/base_vat/base_vat.py index ba858d10e64..02471f67442 100644 --- a/addons/base_vat/base_vat.py +++ b/addons/base_vat/base_vat.py @@ -61,27 +61,48 @@ class res_partner(osv.osv): vat_country, vat_number = vat[:2].lower(), vat[2:].replace(' ', '') return vat_country, vat_number - def check_vat(self, cr, uid, ids, context=None): + def simple_vat_check(self, cr, uid, country_code, vat_number, context=None): ''' Check the VAT number depending of the country. http://sima-pc.com/nif.php ''' - country_obj = self.pool.get('res.country') + check_func_name = 'check_vat_' + country_code + check_func = getattr(self, check_func_name, None) or \ + getattr(vatnumber, check_func_name, None) + if not check_func: + # No VAT validation available, default to check that the country code exists + res_country = self.pool.get('res.country') + return bool(res_country.search(cr, uid, [('code', '=ilike', country_code)], context=context)) + return check_func(vat_number) + + def vies_vat_check(self, cr, uid, country_code, vat_number, context=None): + try: + # Validate against VAT Information Exchange System (VIES) + # see also http://ec.europa.eu/taxation_customs/vies/ + return vatnumber.check_vies(country_code.upper()+vat_number) + except Exception: + # see http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl + # Fault code may contain INVALID_INPUT, SERVICE_UNAVAILABLE, MS_UNAVAILABLE, + # TIMEOUT or SERVER_BUSY. There is no way we can validate the input + # with VIES if any of these arise, including the first one (it means invalid + # country code or empty VAT number), so we fall back to the simple check. + return self.simple_vat_check(cr, uid, country_code, vat_number, context=context) + + def check_vat(self, cr, uid, ids, context=None): + user_company = self.pool.get('res.users').browse(cr, uid, uid).company_id + if user_company.vat_check_vies: + # force full VIES online check + check_func = self.vies_vat_check + else: + # quick and partial off-line checksum validation + check_func = self.simple_vat_check + for partner in self.browse(cr, uid, ids, context=context): if not partner.vat: continue vat_country, vat_number = self._split_vat(partner.vat) - check_func_name = 'check_vat_' + vat_country - check_func = getattr(self, check_func_name, None) or \ - getattr(vatnumber, check_func_name, None) - if not check_func: - # No VAT validation available, default to check that the country code - # exists. - if country_obj.search(cr, uid, [('code', 'ilike', vat_country)], context=context): - continue - # Country code not found, considered invalid + if not check_func(cr, uid, vat_country, vat_number, context=context): return False - return check_func(vat_number) return True def vat_change(self, cr, uid, ids, value, context=None): diff --git a/addons/base_vat/base_vat_view.xml b/addons/base_vat/base_vat_view.xml index 69a1870ea72..fa53906d667 100644 --- a/addons/base_vat/base_vat_view.xml +++ b/addons/base_vat/base_vat_view.xml @@ -7,12 +7,23 @@ res.partner - - - - - + + + + + + + + + + res.company.form.vat.inherit + res.company + + + + + diff --git a/addons/base_vat/res_company.py b/addons/base_vat/res_company.py new file mode 100644 index 00000000000..e7641db9c68 --- /dev/null +++ b/addons/base_vat/res_company.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Business Applications +# Copyright (c) 2011 OpenERP S.A. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from osv import osv, fields + +class res_company_vat (osv.osv): + _inherit = 'res.company' + _columns = { + 'vat_check_vies': fields.boolean('VIES VAT Check', + help="If checked, Partners VAT numbers will be fully validated against EU's VIES service " + "rather than via a simple format validation (checksum)."), + } + + \ No newline at end of file diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py index 54dfc335a2b..a98a0cbc6a4 100644 --- a/addons/crm/__openerp__.py +++ b/addons/crm/__openerp__.py @@ -118,18 +118,14 @@ Creates a dashboard for CRM that includes: 'crm_phonecall_demo.xml', ], 'test': [ - 'test/test_crm_lead.yml', - 'test/test_crm_meeting.yml', - 'test/test_crm_opportunity.yml', - 'test/test_crm_phonecall.yml', - 'test/test_crm_recurrent_meeting.yml', - 'test/test_crm_stage_changes.yml', - 'test/test_crm_recurrent_meeting_case2.yml', - 'test/test_crm_lead_case2.yml', - 'test/test_crm_opportunity_case2.yml', - 'test/test_crm_phonecall_case2.yml', - 'test/test_crm_partner2opportunity.yml', - 'test/test_crm_segmentation.yml', + 'test/process/communication_with_customer.yml', + 'test/process/lead2opportunity2win.yml', + 'test/process/merge_opportunity.yml', + 'test/process/cancel_lead.yml', + 'test/process/segmentation.yml', + 'test/ui/crm_demo.yml', + 'test/ui/duplicate_lead.yml', + 'test/ui/delete_lead.yml' ], 'installable': True, 'active': False, diff --git a/addons/crm/crm.py b/addons/crm/crm.py index 03cdb31832d..bee1e48ada2 100644 --- a/addons/crm/crm.py +++ b/addons/crm/crm.py @@ -468,10 +468,12 @@ class crm_case(crm_base): self._action(cr, uid, cases, state) return True + #DEAD Code def remind_partner(self, cr, uid, ids, context=None, attach=False): return self.remind_user(cr, uid, ids, context, attach, destination=False) + #DEAD Code def remind_user(self, cr, uid, ids, context=None, attach=False, destination=True): mail_message = self.pool.get('mail.message') for case in self.browse(cr, uid, ids, context=context): diff --git a/addons/crm/crm_demo.xml b/addons/crm/crm_demo.xml index 16ae0e73129..f345d86d030 100644 --- a/addons/crm/crm_demo.xml +++ b/addons/crm/crm_demo.xml @@ -1,6 +1,6 @@ - + @@ -12,5 +12,17 @@ + + Sales Marketing Department + Sales Marketing + + + + + OpenERP partners + True + + + diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index e74ce00d728..49272c97576 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -27,7 +27,7 @@ from tools.translate import _ from crm import crm_case import binascii import tools - +from mail.mail_message import to_email CRM_LEAD_PENDING_STATES = ( crm.AVAILABLE_STATES[2][0], # Cancelled @@ -206,6 +206,7 @@ class crm_lead(crm_case, osv.osv): 'stage_id': fields.many2one('crm.case.stage', 'Stage', domain="[('section_ids', '=', section_id)]"), 'color': fields.integer('Color Index'), 'partner_address_name': fields.related('partner_address_id', 'name', type='char', string='Partner Contact Name', readonly=True), + 'partner_address_email': fields.related('partner_address_id', 'email', type='char', string='Partner Contact Email', readonly=True), 'company_currency': fields.related('company_id', 'currency_id', 'symbol', type='char', string='Company Currency', readonly=True), 'user_email': fields.related('user_id', 'user_email', type='char', string='User Email', readonly=True), 'user_login': fields.related('user_id', 'login', type='char', string='User Login', readonly=True), @@ -351,36 +352,380 @@ class crm_lead(crm_case, osv.osv): """ return self.set_priority(cr, uid, ids, '3') - def convert_opportunity(self, cr, uid, ids, context=None): - """ Precomputation for converting lead to opportunity + + def _merge_data(self, cr, uid, ids, oldest, fields, context=None): + # prepare opportunity data into dictionary for merging + opportunities = self.browse(cr, uid, ids, context=context) + def _get_first_not_null(attr): + if hasattr(oldest, attr): + return getattr(oldest, attr) + for opportunity in opportunities: + if hasattr(opportunity, attr): + return getattr(opportunity, attr) + return False + + def _get_first_not_null_id(attr): + res = _get_first_not_null(attr) + return res and res.id or False + + def _concat_all(attr): + return ', '.join(filter(lambda x: x, [getattr(opportunity, attr) or '' for opportunity in opportunities if hasattr(opportunity, attr)])) + + data = {} + for field_name in fields: + field_info = self._all_columns.get(field_name) + if field_info is None: + continue + field = field_info.column + if field._type in ('many2many', 'one2many'): + continue + elif field._type == 'many2one': + data[field_name] = _get_first_not_null_id(field_name) # !! + elif field._type == 'text': + data[field_name] = _concat_all(field_name) #not lost + else: + data[field_name] = _get_first_not_null(field_name) #not lost + return data + + def _merge_find_oldest(self, cr, uid, ids, context=None): + if context is None: + context = {} + #TOCHECK: where pass 'convert' in context ? + if context.get('convert'): + ids = list(set(ids) - set(context.get('lead_ids', False)) ) + + #search opportunities order by create date + opportunity_ids = self.search(cr, uid, [('id', 'in', ids)], order='create_date' , context=context) + oldest_id = opportunity_ids[0] + return self.browse(cr, uid, oldest_id, context=context) + + def _mail_body_text(self, cr, uid, lead, fields, title=False, context=None): + body = [] + if title: + body.append("%s\n" % (title)) + for field_name in fields: + field_info = self._all_columns.get(field_name) + if field_info is None: + continue + field = field_info.column + value = None + + if field._type == 'selection': + if hasattr(field.selection, '__call__'): + key = field.selection(self, cr, uid, context=context) + else: + key = field.selection + value = dict(key).get(lead[field_name], lead[field_name]) + elif field._type == 'many2one': + if lead[field_name]: + value = lead[field_name].name_get()[0][1] + else: + value = lead[field_name] + + body.append("%s: %s" % (field.string, value or '')) + return "\n".join(body + ['---']) + + def _merge_notification(self, cr, uid, opportunity_id, opportunities, context=None): + #TOFIX: mail template should be used instead of fix body, subject text + details = [] + merge_message = _('Merged opportunities') + subject = [merge_message] + fields = ['name', 'partner_id', 'stage_id', 'section_id', 'user_id', 'categ_id', 'channel_id', 'company_id', 'contact_name', + 'email_from', 'phone', 'fax', 'mobile', 'state_id', 'description', 'probability', 'planned_revenue', + 'country_id', 'city', 'street', 'street2', 'zip'] + for opportunity in opportunities: + subject.append(opportunity.name) + title = "%s : %s" % (merge_message, opportunity.name) + details.append(self._mail_body_text(cr, uid, opportunity, fields, title=title, context=context)) + + subject = subject[0] + ", ".join(subject[1:]) + details = "\n\n".join(details) + return self.message_append(cr, uid, [opportunity_id], subject, body_text=details, context=context) + + def _merge_opportunity_history(self, cr, uid, opportunity_id, opportunities, context=None): + message = self.pool.get('mail.message') + for opportunity in opportunities: + for history in opportunity.message_ids: + message.write(cr, uid, history.id, { + 'res_id': opportunity_id, + 'subject' : _("From %s : %s") % (opportunity.name, history.subject) + }, context=context) + + return True + + def _merge_opportunity_attachments(self, cr, uid, opportunity_id, opportunities, context=None): + attachment = self.pool.get('ir.attachment') + + # return attachments of opportunity + def _get_attachments(opportunity_id): + attachment_ids = attachment.search(cr, uid, [('res_model', '=', self._name), ('res_id', '=', opportunity_id)], context=context) + return attachment.browse(cr, uid, attachment_ids, context=context) + + count = 1 + first_attachments = _get_attachments(opportunity_id) + for opportunity in opportunities: + attachments = _get_attachments(opportunity.id) + for first in first_attachments: + for attachment in attachments: + if attachment.name == first.name: + values = dict( + name = "%s (%s)" % (attachment.name, count,), + res_id = opportunity_id, + ) + attachment.write(values) + count+=1 + + return True + + def merge_opportunity(self, cr, uid, ids, context=None): + """ + To merge opportunities + :param ids: list of opportunities ids to merge + """ + if context is None: context = {} + + #TOCHECK: where pass lead_ids in context? + lead_ids = context and context.get('lead_ids', []) or [] + + if len(ids) <= 1: + raise osv.except_osv(_('Warning !'),_('Please select more than one opportunities.')) + + 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)) + oldest = self._merge_find_oldest(cr, uid, ids, context=context) + if ctx_opportunities : + first_opportunity = ctx_opportunities[0] + tail_opportunities = opportunities_list + else: + first_opportunity = opportunities_list[0] + tail_opportunities = opportunities_list[1:] + + fields = ['partner_id', 'title', 'name', 'categ_id', 'channel_id', 'city', 'company_id', 'contact_name', 'country_id', + 'partner_address_id', 'type_id', 'user_id', 'section_id', 'state_id', 'description', 'email', 'fax', 'mobile', + 'partner_name', 'phone', 'probability', 'planned_revenue', 'street', 'street2', 'zip', 'create_date', 'date_action_last', + 'date_action_next', 'email_from', 'email_cc', 'partner_name'] + + data = self._merge_data(cr, uid, ids, oldest, fields, context=context) + + # merge data into first opportunity + self.write(cr, uid, [first_opportunity.id], data, context=context) + + #copy message and attachements into the first opportunity + self._merge_opportunity_history(cr, uid, first_opportunity.id, tail_opportunities, context=context) + self._merge_opportunity_attachments(cr, uid, first_opportunity.id, tail_opportunities, context=context) + + #Notification about loss of information + self._merge_notification(cr, uid, first_opportunity, opportunities, 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): + crm_stage = self.pool.get('crm.case.stage') + contact_id = False + if customer: + contact_id = self.pool.get('res.partner').address_get(cr, uid, [customer.id])['default'] + if not section_id: + section_id = lead.section_id and lead.section_id.id or False + if section_id: + stage_ids = crm_stage.search(cr, uid, [('sequence','>=',1), ('section_ids','=', section_id)]) + else: + stage_ids = crm_stage.search(cr, uid, [('sequence','>=',1)]) + stage_id = stage_ids and stage_ids[0] or False + return { + 'planned_revenue': lead.planned_revenue, + 'probability': lead.probability, + 'name': lead.name, + 'partner_id': customer and customer.id or False, + 'user_id': (lead.user_id and lead.user_id.id), + 'type': 'opportunity', + 'stage_id': stage_id or False, + 'date_action': time.strftime('%Y-%m-%d %H:%M:%S'), + 'partner_address_id': contact_id + } + def _convert_opportunity_notification(self, cr, uid, lead, context=None): + success_message = _("Lead '%s' has been converted to an opportunity.") % lead.name + self.message_append(cr, uid, [lead.id], success_message, body_text=success_message, context=context) + self.log(cr, uid, lead.id, success_message) + self._send_mail_to_salesman(cr, uid, lead, context=context) + return True + + def convert_opportunity(self, cr, uid, ids, partner_id, user_ids=False, section_id=False, context=None): + partner = self.pool.get('res.partner') + mail_message = self.pool.get('mail.message') + customer = False + if partner_id: + customer = partner.browse(cr, uid, partner_id, context=context) + for lead in self.browse(cr, uid, ids, context=context): + if lead.state in ('done', 'cancel'): + continue + if user_ids or section_id: + self.allocate_salesman(cr, uid, [lead.id], user_ids, section_id, context=context) + + vals = self._convert_opportunity_data(cr, uid, lead, customer, section_id, context=context) + self.write(cr, uid, [lead.id], vals, context=context) + + self._convert_opportunity_notification(cr, uid, lead, context=context) + #TOCHECK: why need to change partner details in all messages of lead ? + if lead.partner_id: + msg_ids = [ x.id for x in lead.message_ids] + mail_message.write(cr, uid, msg_ids, { + 'partner_id': lead.partner_id.id + }, context=context) + return True + + def _lead_create_partner(self, cr, uid, lead, context=None): + partner = self.pool.get('res.partner') + partner_id = partner.create(cr, uid, { + 'name': lead.partner_name or lead.contact_name or lead.name, + 'user_id': lead.user_id.id, + 'comment': lead.description, + 'section_id': lead.section_id.id or False, + 'address': [] + }) + return partner_id + + def _lead_set_partner(self, cr, uid, lead, partner_id, context=None): + 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}) + contact_id = res_partner.address_get(cr, uid, [partner_id])['default'] + res = lead.write({'partner_id' : partner_id, 'partner_address_id': contact_id}, context=context) + + return res + + def _lead_create_partner_address(self, cr, uid, lead, partner_id, context=None): + address = self.pool.get('res.partner.address') + return address.create(cr, uid, { + 'partner_id': partner_id, + 'name': lead.contact_name, + 'phone': lead.phone, + 'mobile': lead.mobile, + 'email': lead.email_from and to_email(lead.email_from)[0], + 'fax': lead.fax, + 'title': lead.title and lead.title.id or False, + 'function': lead.function, + 'street': lead.street, + 'street2': lead.street2, + 'zip': lead.zip, + 'city': lead.city, + 'country_id': lead.country_id and lead.country_id.id or False, + 'state_id': lead.state_id and lead.state_id.id or False, + }) + + def convert_partner(self, cr, uid, ids, action='create', partner_id=False, context=None): + """ + This function convert partner based on action. + if action is 'create', create new partner with contact and assign lead to new partner_id. + otherwise assign lead to specified partner_id """ if context is None: context = {} - context.update({'active_ids': ids}) + partner_ids = {} + for lead in self.browse(cr, uid, ids, context=context): + if action == 'create': + if not partner_id: + partner_id = self._lead_create_partner(cr, uid, lead, context=context) + self._lead_create_partner_address(cr, uid, lead, partner_id, context=context) + self._lead_set_partner(cr, uid, lead, partner_id, context=context) + partner_ids[lead.id] = partner_id + return partner_ids - data_obj = self.pool.get('ir.model.data') - value = {} + def _send_mail_to_salesman(self, cr, uid, lead, context=None): + """ + Send mail to salesman with updated Lead details. + @ lead: browse record of 'crm.lead' object. + """ + #TOFIX: mail template should be used here instead of fix subject, body text. + message = self.pool.get('mail.message') + email_to = lead.user_id and lead.user_id.user_email + if not email_to: + return False + + email_from = lead.section_id and lead.section_id.user_id and lead.section_id.user_id.user_email or email_to + partner = lead.partner_id and lead.partner_id.name or lead.partner_name + subject = "lead %s converted into opportunity" % lead.name + body = "Info \n Id : %s \n Subject: %s \n Partner: %s \n Description : %s " % (lead.id, lead.name, lead.partner_id.name, lead.description) + return message.schedule_with_attach(cr, uid, email_from, [email_to], subject, body) - for case in self.browse(cr, uid, ids, context=context): - context.update({'active_id': case.id}) - data_id = data_obj._get_id(cr, uid, 'crm', 'view_crm_lead2opportunity_partner') - view_id1 = False - if data_id: - view_id1 = data_obj.browse(cr, uid, data_id, context=context).res_id - value = { - 'name': _('Create Partner'), - 'view_type': 'form', - 'view_mode': 'form,tree', - 'res_model': 'crm.lead2opportunity.partner', - 'view_id': False, - 'context': context, - 'views': [(view_id1, 'form')], - 'type': 'ir.actions.act_window', - 'target': 'new', - 'nodestroy': True + def allocate_salesman(self, cr, uid, ids, user_ids, team_id=False, context=None): + index = 0 + for lead_id in ids: + value = {} + if team_id: + value['section_id'] = team_id + if index < len(user_ids): + value['user_id'] = user_ids[index] + index += 1 + if value: + self.write(cr, uid, [lead_id], value, context=context) + return True + + def schedule_phonecall(self, cr, uid, ids, schedule_time, call_summary, desc, phone, contact_name, user_id=False, section_id=False, categ_id=False, action='schedule', context=None): + """ + action :('schedule','Schedule a call'), ('log','Log a call') + """ + phonecall = self.pool.get('crm.phonecall') + model_data = self.pool.get('ir.model.data') + phonecall_dict = {} + if not categ_id: + res_id = model_data._get_id(cr, uid, 'crm', 'categ_phone2') + if res_id: + categ_id = model_data.browse(cr, uid, res_id, context=context).res_id + for lead in self.browse(cr, uid, ids, context=context): + if not section_id: + section_id = lead.section_id and lead.section_id.id or False + if not user_id: + user_id = lead.user_id and lead.user_id.id or False + vals = { + 'name' : call_summary, + 'opportunity_id' : lead.id, + 'user_id' : user_id or False, + 'categ_id' : categ_id or False, + 'description' : desc or '', + 'date' : schedule_time, + 'section_id' : section_id or False, + 'partner_id': lead.partner_id and lead.partner_id.id or False, + 'partner_address_id': lead.partner_address_id and lead.partner_address_id.id or False, + 'partner_phone' : phone or lead.phone or (lead.partner_address_id and lead.partner_address_id.phone or False), + 'partner_mobile' : lead.partner_address_id and lead.partner_address_id.mobile or False, + 'priority': lead.priority, } - return value + + new_id = phonecall.create(cr, uid, vals, context=context) + phonecall.case_open(cr, uid, [new_id]) + if action == 'log': + phonecall.case_close(cr, uid, [new_id]) + phonecall_dict[lead.id] = new_id + return phonecall_dict + + + def redirect_opportunity_view(self, cr, uid, opportunity_id, context=None): + models_data = self.pool.get('ir.model.data') + + # Get Opportunity views + form_view = models_data.get_object_reference(cr, uid, 'crm', 'crm_case_form_view_oppor') + tree_view = models_data.get_object_reference(cr, uid, 'crm', 'crm_case_tree_view_oppor') + return { + 'name': _('Opportunity'), + 'view_type': 'form', + 'view_mode': 'tree, form', + 'res_model': 'crm.lead', + 'domain': [('type', '=', 'opportunity')], + 'res_id': int(opportunity_id), + 'view_id': False, + 'views': [(form_view and form_view[1] or False, 'form'), + (tree_view and tree_view[1] or False, 'tree'), + (False, 'calendar'), (False, 'graph')], + 'type': 'ir.actions.act_window', + } + def message_new(self, cr, uid, msg, custom_values=None, context=None): """Automatically calls when new email message arrives""" @@ -440,24 +785,17 @@ class crm_lead(crm_case, osv.osv): This opens Meeting's calendar view to schedule meeting on current Opportunity @return : Dictionary value for created Meeting view """ + if context is None: + context = {} value = {} + data_obj = self.pool.get('ir.model.data') for opp in self.browse(cr, uid, ids, context=context): - data_obj = self.pool.get('ir.model.data') - # Get meeting views - result = data_obj._get_id(cr, uid, 'crm', 'view_crm_case_meetings_filter') - res = data_obj.read(cr, uid, result, ['res_id']) - id1 = data_obj._get_id(cr, uid, 'crm', 'crm_case_calendar_view_meet') - id2 = data_obj._get_id(cr, uid, 'crm', 'crm_case_form_view_meet') - id3 = data_obj._get_id(cr, uid, 'crm', 'crm_case_tree_view_meet') - if id1: - id1 = data_obj.browse(cr, uid, id1, context=context).res_id - if id2: - id2 = data_obj.browse(cr, uid, id2, context=context).res_id - if id3: - id3 = data_obj.browse(cr, uid, id3, context=context).res_id - - context = { + tree_view = data_obj.get_object_reference(cr, uid, 'crm', 'crm_case_tree_view_meet') + form_view = data_obj.get_object_reference(cr, uid, 'crm', 'crm_case_form_view_meet') + calander_view = data_obj.get_object_reference(cr, uid, 'crm', 'crm_case_calendar_view_meet') + search_view = data_obj.get_object_reference(cr, uid, 'crm', 'view_crm_case_meetings_filter') + context.update({ 'default_opportunity_id': opp.id, 'default_partner_id': opp.partner_id and opp.partner_id.id or False, 'default_user_id': uid, @@ -465,7 +803,7 @@ class crm_lead(crm_case, osv.osv): 'default_email_from': opp.email_from, 'default_state': 'open', 'default_name': opp.name - } + }) value = { 'name': _('Meetings'), 'context': context, @@ -473,9 +811,9 @@ class crm_lead(crm_case, osv.osv): 'view_mode': 'calendar,form,tree', 'res_model': 'crm.meeting', 'view_id': False, - 'views': [(id1, 'calendar'), (id2, 'form'), (id3, 'tree')], + 'views': [(calander_view and calander_view[1] or False, 'calendar'), (form_view and form_view[1] or False, 'form'), (tree_view and tree_view[1] or False, 'tree')], 'type': 'ir.actions.act_window', - 'search_view_id': res['res_id'], + 'search_view_id': search_view and search_view[1] or False, 'nodestroy': True } return value diff --git a/addons/crm/crm_lead_demo.xml b/addons/crm/crm_lead_demo.xml index 576f258facc..830b572676d 100644 --- a/addons/crm/crm_lead_demo.xml +++ b/addons/crm/crm_lead_demo.xml @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + @@ -92,7 +92,7 @@ - + diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index bed2e110b3e..6527fa4cf25 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -59,10 +59,11 @@ widget="selection" domain="[('object_id.model','=','crm.lead')]"/>