diff --git a/addons/.project b/addons/.project deleted file mode 100644 index 55dae60294e..00000000000 --- a/addons/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - sbh_addons - - - - - - org.python.pydev.PyDevBuilder - - - - - - org.python.pydev.pythonNature - - diff --git a/addons/.pydevproject b/addons/.pydevproject deleted file mode 100644 index b4c1448c08b..00000000000 --- a/addons/.pydevproject +++ /dev/null @@ -1,6 +0,0 @@ - - - - -python 2.4 - diff --git a/addons/account/account.py b/addons/account/account.py index a95e6107a68..3772a660de9 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -416,15 +416,27 @@ class account_account(osv.osv): default['child_parent_ids'] = False return super(account_account, self).copy(cr, uid, id, default, context=context) + def _check_moves(self, cr, uid, ids, method, context): + line_obj = self.pool.get('account.move.line') + account_ids = self.search(cr, uid, [('id', 'child_of', ids)]) + if line_obj.search(cr, uid, [('account_id', 'in', account_ids)]): + if method == 'write': + raise osv.except_osv(_('Error !'), _('You cannot deactivate an account that contains account moves.')) + elif method == 'unlink': + raise osv.except_osv(_('Error !'), _('You cannot remove an account which has account entries!. ')) + return True + def write(self, cr, uid, ids, vals, context=None): if not context: context = {} if 'active' in vals and not vals['active']: - line_obj = self.pool.get('account.move.line') - account_ids = self.search(cr, uid, [('id', 'child_of', ids)]) - if line_obj.search(cr, uid, [('account_id', 'in', account_ids)]): - raise osv.except_osv(_('Error !'), _('You can not deactivate an account that contains Ledger Postings.')) + self._check_moves(cr, uid, ids, "write", context) return super(account_account, self).write(cr, uid, ids, vals, context=context) + + def unlink(self, cr, uid, ids, context={}): + self._check_moves(cr, uid, ids, "unlink", context) + return super(account_account, self).unlink(cr, uid, ids, context) + account_account() class account_journal_view(osv.osv): @@ -767,6 +779,23 @@ class account_move(osv.osv): for id in ids: result.setdefault(id, 0.0) return result + + def _search_amount(self, cr, uid, obj, name, args, context): + ids = [] + cr.execute('select move_id,sum(debit) from account_move_line group by move_id') + result = dict(cr.fetchall()) + + for item in args: + if item[1] == '>=': + res = [('id', 'in', [k for k,v in result.iteritems() if v >= item[2]])] + else: + res = [('id', 'in', [k for k,v in result.iteritems() if v <= item[2]])] + ids += res + + if not ids: + return [('id', '>', '0')] + + return ids _columns = { 'name': fields.char('Number', size=64, required=True), @@ -778,7 +807,7 @@ class account_move(osv.osv): 'line_id': fields.one2many('account.move.line', 'move_id', 'Entries', states={'posted':[('readonly',True)]}), 'to_check': fields.boolean('To Be Verified'), 'partner_id': fields.related('line_id', 'partner_id', type="many2one", relation="res.partner", string="Partner"), - 'amount': fields.function(_amount_compute, method=True, string='Amount', digits=(16,int(config['price_accuracy']))), + 'amount': fields.function(_amount_compute, method=True, string='Amount', digits=(16,int(config['price_accuracy'])), type='float', fnct_search=_search_amount), 'date': fields.date('Date', required=True), 'type': fields.selection([ ('pay_voucher','Cash Payment'), @@ -956,7 +985,7 @@ class account_move(osv.osv): else: context.update({'journal_id': move.journal_id.id, 'period_id': move.period_id.id}) line_id = self.pool.get('account.move.line').create(cr, uid, { - 'name': _t(cr, None, 'selection', context.get('lang'), source=(mode.capitalize()+' Centralisation')) or (mode.capitalize()+' Centralisation'), + 'name': _(mode.capitalize()+' Centralisation'), 'centralisation': mode, 'account_id': account_id, 'move_id': move.id, @@ -1084,8 +1113,8 @@ class account_move_reconcile(osv.osv): 'name': lambda self,cr,uid,ctx={}: self.pool.get('ir.sequence').get(cr, uid, 'account.reconcile') or '/', } def reconcile_partial_check(self, cr, uid, ids, type='auto', context={}): + total = 0.0 for rec in self.browse(cr, uid, ids, context): - total = 0.0 for line in rec.line_partial_ids: total += (line.debit or 0.0) - (line.credit or 0.0) if not total: @@ -1546,7 +1575,8 @@ class account_model(osv.osv): def generate(self, cr, uid, ids, datas={}, context={}): move_ids = [] for model in self.browse(cr, uid, ids, context): - period_id = self.pool.get('account.period').find(cr,uid, context=context) + context.update({'date':datas['date']}) + period_id = self.pool.get('account.period').find(cr, uid, dt=context.get('date',False)) if not period_id: raise osv.except_osv(_('No period found !'), _('Unable to find a valid period !')) period_id = period_id[0] @@ -1554,6 +1584,7 @@ class account_model(osv.osv): 'ref': model.ref, 'period_id': period_id, 'journal_id': model.journal_id.id, + 'date': context.get('date',time.strftime('%Y-%m-%d')) }) move_ids.append(move_id) for line in model.lines_id: @@ -1571,7 +1602,7 @@ class account_model(osv.osv): 'move_id': move_id, 'ref': line.ref, 'partner_id': line.partner_id.id, - 'date': time.strftime('%Y-%m-%d'), + 'date': context.get('date',time.strftime('%Y-%m-%d')), 'date_maturity': time.strftime('%Y-%m-%d') }) c = context.copy() diff --git a/addons/account/account_bank_statement.py b/addons/account/account_bank_statement.py index c78d1c289fb..88c8e53fa6a 100644 --- a/addons/account/account_bank_statement.py +++ b/addons/account/account_bank_statement.py @@ -143,8 +143,7 @@ class account_bank_statement(osv.osv): 'period_id': _get_period, } - def button_confirm(self, cr, uid, ids, context=None): - context = context or {} + def button_confirm(self, cr, uid, ids, context={}): done = [] res_currency_obj = self.pool.get('res.currency') res_users_obj = self.pool.get('res.users') @@ -166,7 +165,7 @@ class account_bank_statement(osv.osv): _('The expected balance (%.2f) is different than the computed one. (%.2f)') % (st.balance_end_real, st.balance_end)) if (not st.journal_id.default_credit_account_id) \ or (not st.journal_id.default_debit_account_id): - raise osv.except_osv(_('Configration Error !'), + raise osv.except_osv(_('Configuration Error !'), _('Please verify that an account is defined in the journal.')) for line in st.move_line_ids: @@ -178,10 +177,10 @@ class account_bank_statement(osv.osv): # in bank stat.rec we get line_new_ids on bank.stat.rec.line for move in st.line_ids: context.update({'date':move.date}) - move_id = account_move_obj.create(cr, uid, { 'journal_id': st.journal_id.id, 'period_id': st.period_id.id, + 'date': move.date, }, context=context) account_bank_statement_line_obj.write(cr, uid, [move.id], { 'move_ids': [(4,move_id, False)] diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py index 4afb7e7837c..9b126658157 100644 --- a/addons/account/account_move_line.py +++ b/addons/account/account_move_line.py @@ -294,7 +294,7 @@ class account_move_line(osv.osv): return [('id', '=', '0')] return [('id', 'in', [x[0] for x in res])] - def _invoice_search(self, cursor, user, obj, name, args): + def _invoice_search(self, cursor, user, obj, name, args, context): if not len(args): return [] invoice_obj = self.pool.get('account.invoice') diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index caeb642101a..82f49d83cae 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -1582,6 +1582,8 @@ + + diff --git a/addons/account/i18n/hu.po b/addons/account/i18n/hu.po index 34328240c56..629d46d10c3 100644 --- a/addons/account/i18n/hu.po +++ b/addons/account/i18n/hu.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.0\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2009-08-28 16:01+0000\n" -"PO-Revision-Date: 2009-11-17 09:59+0000\n" -"Last-Translator: Fabien (Open ERP) \n" +"PO-Revision-Date: 2010-01-22 23:52+0000\n" +"Last-Translator: Balint (eSolve) \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: 2009-12-16 05:11+0000\n" +"X-Launchpad-Export-Date: 2010-01-24 04:50+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: account @@ -30,7 +30,7 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_invoice_tree9 #: model:ir.ui.menu,name:account.menu_action_invoice_tree9 msgid "Unpaid Supplier Invoices" -msgstr "" +msgstr "Kifizetetlen szállítói számlák" #. module: account #: model:ir.ui.menu,name:account.menu_finance_entries @@ -50,7 +50,7 @@ msgstr "" #. module: account #: model:account.account.type,name:account.account_type_asset msgid "Asset" -msgstr "" +msgstr "Eszköz" #. module: account #: constraint:ir.actions.act_window:0 @@ -72,7 +72,7 @@ msgstr "" msgid "" "This account will be used to value incoming stock for the current product " "category" -msgstr "" +msgstr "Termék értékesítésekor az árbevétel könyvelésére használt számla" #. module: account #: help:account.invoice,period_id:0 @@ -82,40 +82,40 @@ msgstr "" #. module: account #: wizard_view:account.automatic.reconcile,reconcile:0 msgid "Reconciliation result" -msgstr "" +msgstr "Egyeztetés eredménye" #. module: account #: model:ir.actions.act_window,name:account.act_account_acount_move_line_open_unreconciled msgid "Unreconciled entries" -msgstr "" +msgstr "Nem egyeztetett tételek" #. module: account #: field:account.invoice.tax,base_code_id:0 #: field:account.tax,base_code_id:0 #: field:account.tax.template,base_code_id:0 msgid "Base Code" -msgstr "" +msgstr "Adóalap kód" #. module: account #: view:account.account:0 msgid "Account Statistics" -msgstr "" +msgstr "Számla statisztika" #. module: account #: model:ir.actions.wizard,name:account.wizard_vat_declaration #: model:ir.ui.menu,name:account.menu_wizard_vat_declaration msgid "Print Taxes Report" -msgstr "" +msgstr "Adó kimutatás nyomtatás" #. module: account #: field:account.account,parent_id:0 msgid "Parent" -msgstr "" +msgstr "Szülő" #. module: account #: selection:account.move,type:0 msgid "Journal Voucher" -msgstr "" +msgstr "Bizonylat napló" #. module: account #: field:account.invoice,residual:0 @@ -128,18 +128,18 @@ msgstr "" #: field:account.tax.template,base_sign:0 #: field:account.tax.template,ref_base_sign:0 msgid "Base Code Sign" -msgstr "" +msgstr "Adóalap előjel" #. module: account #: model:ir.actions.wizard,name:account.wizard_unreconcile_select #: model:ir.ui.menu,name:account.menu_unreconcile_select msgid "Unreconcile entries" -msgstr "" +msgstr "Egyeztetés visszavonás" #. module: account #: constraint:account.period:0 msgid "Error ! The duration of the Period(s) is/are invalid. " -msgstr "" +msgstr "Hiba! Az időszak tartomány érvénytelen. " #. module: account #: view:account.bank.statement.reconcile:0 @@ -149,7 +149,7 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_move_line_form #: model:ir.ui.menu,name:account.menu_action_move_line_form msgid "Entries" -msgstr "" +msgstr "Tételek" #. module: account #: selection:account.move.line,centralisation:0 @@ -159,7 +159,7 @@ msgstr "" #. module: account #: model:ir.actions.wizard,name:account.wizard_invoice_state_confirm msgid "Confirm draft invoices" -msgstr "" +msgstr "Számla tervezetek igazolása" #. module: account #: help:account.payment.term.line,days2:0 @@ -172,12 +172,12 @@ msgstr "" #. module: account #: view:account.move:0 msgid "Total Credit" -msgstr "" +msgstr "Követel összesen" #. module: account #: field:account.config.wizard,charts:0 msgid "Charts of Account" -msgstr "" +msgstr "Számlatükör" #. module: account #: model:ir.actions.wizard,name:account.wizard_move_line_select @@ -200,24 +200,24 @@ msgstr "" #. module: account #: field:account.tax.code,sum_period:0 msgid "Period Sum" -msgstr "" +msgstr "Időszak összesen" #. module: account #: view:account.tax:0 #: view:account.tax.template:0 msgid "Compute Code (if type=code)" -msgstr "" +msgstr "Számítási kód (ha a típus = Python kód)" #. module: account #: view:account.move:0 #: view:account.move.line:0 msgid "Account Entry Line" -msgstr "" +msgstr "Könyvelési tranzakció sor" #. module: account #: wizard_view:account.aged.trial.balance,init:0 msgid "Aged Trial Balance" -msgstr "" +msgstr "Többidőszakos egyenleg" #. module: account #: model:ir.ui.menu,name:account.menu_finance_recurrent_entries @@ -235,7 +235,7 @@ msgstr "" #: field:account.tax.template,amount:0 #: xsl:account.transfer:0 msgid "Amount" -msgstr "" +msgstr "Összeg" #. module: account #: model:ir.actions.report.xml,name:account.account_3rdparty_ledger @@ -247,17 +247,17 @@ msgstr "" #. module: account #: field:product.template,supplier_taxes_id:0 msgid "Supplier Taxes" -msgstr "" +msgstr "Szállítói adók" #. module: account #: view:account.move:0 msgid "Total Debit" -msgstr "" +msgstr "Tartozik összesen" #. module: account #: rml:account.tax.code.entries:0 msgid "Accounting Entries-" -msgstr "" +msgstr "Könyvelési tranzakciók-" #. module: account #: help:account.journal,view_id:0 @@ -299,7 +299,7 @@ msgstr "" #: wizard_view:account.analytic.account.quantity_cost_ledger.report,init:0 #: wizard_view:account.vat.declaration,init:0 msgid "Select period" -msgstr "" +msgstr "Válasszon időszakot" #. module: account #: field:account.invoice,origin:0 @@ -315,7 +315,7 @@ msgstr "" #. module: account #: xsl:account.transfer:0 msgid "Reference" -msgstr "" +msgstr "Hivatkozás" #. module: account #: wizard_view:account.subscription.generate,init:0 @@ -325,24 +325,24 @@ msgstr "" #. module: account #: rml:account.central.journal:0 msgid "Account Num." -msgstr "" +msgstr "Számlaszám" #. module: account #: rml:account.analytic.account.analytic.check:0 msgid "Delta Debit" -msgstr "" +msgstr "Tartozik forgalom" #. module: account #: rml:account.invoice:0 #: field:account.invoice,amount_tax:0 #: field:account.move.line,account_tax_id:0 msgid "Tax" -msgstr "" +msgstr "Adó" #. module: account #: rml:account.general.journal:0 msgid "Debit Trans." -msgstr "" +msgstr "Tartozik tranz." #. module: account #: field:account.analytic.line,account_id:0 @@ -350,7 +350,7 @@ msgstr "" #: field:account.move.line,analytic_account_id:0 #: field:report.hr.timesheet.invoice.journal,account_id:0 msgid "Analytic Account" -msgstr "" +msgstr "Analitikus számla" #. module: account #: field:account.tax,child_depend:0 @@ -363,12 +363,12 @@ msgstr "" #: rml:account.general.journal:0 #: field:account.journal,name:0 msgid "Journal Name" -msgstr "" +msgstr "Napló neve" #. module: account #: view:account.payment.term:0 msgid "Description on invoices" -msgstr "" +msgstr "Megjelenés a számlákon" #. module: account #: constraint:account.analytic.account:0 @@ -384,7 +384,7 @@ msgstr "" #: field:account.fiscal.position.account,account_src_id:0 #: field:account.fiscal.position.account.template,account_src_id:0 msgid "Account Source" -msgstr "" +msgstr "Számla forrás" #. module: account #: field:account.journal,update_posted:0 @@ -395,7 +395,7 @@ msgstr "" #: model:process.transition,name:account.process_transition_paymentorderbank0 #: model:process.transition,name:account.process_transition_paymentorderreconcilation0 msgid "Payment Reconcilation" -msgstr "" +msgstr "Kifizetés egyeztetés" #. module: account #: model:account.journal,name:account.expenses_journal @@ -410,12 +410,12 @@ msgstr "" #. module: account #: rml:account.overdue:0 msgid "Date:" -msgstr "" +msgstr "Dátum:" #. module: account #: selection:account.account.type,sign:0 msgid "Negative" -msgstr "" +msgstr "Negatív" #. module: account #: rml:account.partner.balance:0 @@ -459,7 +459,7 @@ msgstr "" #: model:ir.actions.wizard,name:account.action_account_bank_reconcile_tree #: model:ir.ui.menu,name:account.menu_action_account_bank_reconcile_check_tree msgid "Bank reconciliation" -msgstr "" +msgstr "Bank egyeztetés" #. module: account #: rml:account.invoice:0 @@ -490,7 +490,7 @@ msgstr "" #. module: account #: model:ir.ui.menu,name:account.menu_finance_periodical_processing msgid "Periodical Processing" -msgstr "" +msgstr "Időszaki feldolgozás" #. module: account #: view:report.hr.timesheet.invoice.journal:0 @@ -506,7 +506,7 @@ msgstr "" #. module: account #: view:account.invoice:0 msgid "Supplier invoice" -msgstr "" +msgstr "Szállítói számla" #. module: account #: model:process.transition,name:account.process_transition_reconcilepaid0 @@ -528,7 +528,7 @@ msgstr "" #. module: account #: field:account.invoice,reconciled:0 msgid "Paid/Reconciled" -msgstr "" +msgstr "Kifizetett/Egyeztetett" #. module: account #: field:account.account.type,close_method:0 @@ -549,7 +549,7 @@ msgstr "" #. module: account #: view:account.invoice.line:0 msgid "Line" -msgstr "" +msgstr "Sor" #. module: account #: rml:account.analytic.account.cost_ledger:0 @@ -572,12 +572,12 @@ msgstr "" #. module: account #: model:ir.model,name:account.model_account_tax msgid "account.tax" -msgstr "" +msgstr "account.tax" #. module: account #: rml:account.central.journal:0 msgid "Printing Date" -msgstr "" +msgstr "Nyomtatás dátuma" #. module: account #: rml:account.general.ledger:0 @@ -588,7 +588,7 @@ msgstr "" #: model:ir.actions.wizard,name:account.wizard_aged_trial_balance #: model:ir.ui.menu,name:account.menu_aged_trial_balance msgid "Aged Partner Balance" -msgstr "" +msgstr "Korosbított partner egyenleg" #. module: account #: view:account.journal:0 @@ -616,13 +616,13 @@ msgstr "" #. module: account #: field:account.analytic.account,contact_id:0 msgid "Contact" -msgstr "" +msgstr "Kapcsolat" #. module: account #: selection:account.model.line,date:0 #: selection:account.model.line,date_maturity:0 msgid "Partner Payment Term" -msgstr "" +msgstr "Partner fizetési feltétel" #. module: account #: view:account.move.reconcile:0 @@ -637,7 +637,7 @@ msgstr "" #. module: account #: field:account.invoice.line,discount:0 msgid "Discount (%)" -msgstr "" +msgstr "Kedvezmény (%)" #. module: account #: wizard_field:account.move.line.reconcile,init_full,writeoff:0 @@ -658,7 +658,7 @@ msgstr "" #. module: account #: rml:account.overdue:0 msgid "Sub-Total :" -msgstr "" +msgstr "Részösszeg :" #. module: account #: field:account.analytic.account,line_ids:0 @@ -671,7 +671,7 @@ msgstr "" #. module: account #: selection:account.subscription,period_type:0 msgid "month" -msgstr "" +msgstr "hónap" #. module: account #: field:account.analytic.account,partner_id:0 @@ -686,7 +686,7 @@ msgstr "" #. module: account #: selection:account.invoice,type:0 msgid "Customer Refund" -msgstr "" +msgstr "Vevői jóváírás" #. module: account #: wizard_view:account.analytic.account.chart,init:0 @@ -699,7 +699,7 @@ msgstr "" #: field:account.tax.template,ref_tax_sign:0 #: field:account.tax.template,tax_sign:0 msgid "Tax Code Sign" -msgstr "" +msgstr "Adókód előjel" #. module: account #: help:res.partner,credit:0 @@ -741,7 +741,7 @@ msgstr "" #: view:product.product:0 #: view:product.template:0 msgid "Purchase Properties" -msgstr "" +msgstr "Beszerzés tulajdonságok" #. module: account #: model:process.node,note:account.process_node_paymententries0 @@ -751,7 +751,7 @@ msgstr "" #. module: account #: wizard_button:account.invoice.pay,init,reconcile:0 msgid "Partial Payment" -msgstr "" +msgstr "Részkifizetés" #. module: account #: wizard_view:account_use_models,create:0 @@ -766,13 +766,13 @@ msgstr "" #: field:account.period,state:0 #: field:account.subscription,state:0 msgid "Status" -msgstr "" +msgstr "Státusz" #. module: account #: rml:account.analytic.account.cost_ledger:0 #: rml:account.analytic.account.quantity_cost_ledger:0 msgid "Period to" -msgstr "" +msgstr "Záró időszak" #. module: account #: field:account.account.type,partner_account:0 @@ -826,12 +826,12 @@ msgstr "" #. module: account #: selection:account.automatic.reconcile,init,power:0 msgid "6" -msgstr "" +msgstr "6" #. module: account #: model:ir.ui.menu,name:account.next_id_30 msgid "Bank Reconciliation" -msgstr "" +msgstr "Bank egyeztetés" #. module: account #: model:ir.model,name:account.model_account_account_template @@ -850,7 +850,7 @@ msgstr "" #: model:ir.actions.wizard,name:account.wizard_print_journal #: model:ir.ui.menu,name:account.menu_print_journal msgid "Print Journal" -msgstr "" +msgstr "Napló nyomtatás" #. module: account #: model:ir.model,name:account.model_account_bank_accounts_wizard @@ -861,7 +861,7 @@ msgstr "" #: field:account.move.line,date_created:0 #: field:account.move.reconcile,create_date:0 msgid "Creation date" -msgstr "" +msgstr "Létrehozás dátuma" #. module: account #: wizard_button:account.invoice.refund,init,cancel_invoice:0 @@ -871,13 +871,13 @@ msgstr "Számla sztornó" #. module: account #: field:account.journal.column,required:0 msgid "Required" -msgstr "" +msgstr "Kötelezõ" #. module: account #: field:product.category,property_account_expense_categ:0 #: field:product.template,property_account_expense:0 msgid "Expense Account" -msgstr "" +msgstr "Költség számla" #. module: account #: wizard_field:account.move.line.reconcile,addendum,journal_id:0 @@ -898,7 +898,7 @@ msgstr "" #. module: account #: wizard_field:account.fiscalyear.close,init,fy2_id:0 msgid "New Fiscal Year" -msgstr "" +msgstr "Új pénzügyi év" #. module: account #: help:account.tax,tax_group:0 @@ -928,7 +928,7 @@ msgstr "" #: field:account.model.line,quantity:0 #: field:account.move.line,quantity:0 msgid "Quantity" -msgstr "" +msgstr "Mennyiség" #. module: account #: wizard_field:account.account.balance.report,checktype,date_to:0 @@ -951,7 +951,7 @@ msgstr "" #. module: account #: field:account.journal,default_debit_account_id:0 msgid "Default Debit Account" -msgstr "" +msgstr "Alapértelmezett tartozik számla" #. module: account #: model:ir.actions.act_window,name:account.action_bank_statement_tree @@ -981,12 +981,12 @@ msgstr "" #: wizard_field:account.print.journal.report,init,period_id:0 #: field:account.subscription,period_nbr:0 msgid "Period" -msgstr "" +msgstr "Időszak" #. module: account #: rml:account.partner.balance:0 msgid "Grand total" -msgstr "" +msgstr "Mindösszesen" #. module: account #: model:ir.ui.menu,name:account.menu_finance_accounting @@ -996,7 +996,7 @@ msgstr "" #. module: account #: rml:account.invoice:0 msgid "Net Total:" -msgstr "" +msgstr "Nettó összesen:" #. module: account #: view:account.fiscal.position:0 @@ -1016,12 +1016,12 @@ msgstr "" #: field:account.analytic.line,product_uom_id:0 #: field:account.move.line,product_uom_id:0 msgid "UoM" -msgstr "" +msgstr "ME" #. module: account #: wizard_field:account.third_party_ledger.report,init,page_split:0 msgid "One Partner Per Page" -msgstr "" +msgstr "Egy partner / Oldal" #. module: account #: field:account.account,child_parent_ids:0 @@ -1038,19 +1038,19 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_invoice_tree2_new #: model:ir.ui.menu,name:account.menu_action_invoice_tree2_new msgid "New Supplier Invoice" -msgstr "" +msgstr "Új szállítói számla" #. module: account #: wizard_field:account.invoice.pay,init,amount:0 msgid "Amount paid" -msgstr "" +msgstr "Kifizetés összege" #. module: account #: selection:account.invoice,type:0 #: model:process.transition,name:account.process_transition_customerinvoice0 #: model:process.transition,name:account.process_transition_suppliercustomerinvoice0 msgid "Customer Invoice" -msgstr "" +msgstr "Vevői számla" #. module: account #: wizard_view:account.open_closed_fiscalyear,init:0 @@ -1066,12 +1066,12 @@ msgstr "" #: 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 "Analitikus napló nyomtatás" #. module: account #: rml:account.tax.code.entries:0 msgid "Voucher Nb" -msgstr "" +msgstr "Bizonylatszám" #. module: account #: help:account.payment.term.line,sequence:0 @@ -1095,7 +1095,7 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_tax_code_list #: model:ir.ui.menu,name:account.menu_action_tax_code_list msgid "Tax codes" -msgstr "" +msgstr "Adókód" #. module: account #: field:account.fiscal.position.template,chart_template_id:0 @@ -1125,7 +1125,7 @@ msgstr "" #: rml:account.invoice:0 #: field:account.invoice.line,price_unit:0 msgid "Unit Price" -msgstr "" +msgstr "Egységár" #. module: account #: rml:account.analytic.account.journal:0 @@ -1156,12 +1156,12 @@ msgstr "" #. module: account #: field:account.payment.term,line_ids:0 msgid "Terms" -msgstr "" +msgstr "Fizetési feltétel" #. module: account #: rml:account.vat.declaration:0 msgid "Tax Report" -msgstr "" +msgstr "Adó kimutatás" #. module: account #: wizard_button:account.analytic.account.chart,init,open:0 @@ -1177,12 +1177,12 @@ msgstr "" #. module: account #: selection:account.move,type:0 msgid "Bank Receipt" -msgstr "" +msgstr "Befolyás" #. module: account #: view:res.partner:0 msgid "Bank account" -msgstr "" +msgstr "Bankszámlaszám" #. module: account #: field:account.chart.template,tax_template_ids:0 @@ -1192,7 +1192,7 @@ msgstr "" #. module: account #: model:process.transition,name:account.process_transition_invoiceimport0 msgid "Invoice import" -msgstr "" +msgstr "Számla import" #. module: account #: model:ir.actions.wizard,name:account.action_move_journal_line_form_select @@ -1242,7 +1242,7 @@ msgstr "" #. module: account #: field:account.bank.statement,balance_end_real:0 msgid "Ending Balance" -msgstr "" +msgstr "Záró egyenleg" #. module: account #: view:product.product:0 @@ -1257,7 +1257,7 @@ msgstr "" #. module: account #: selection:account.payment.term.line,value:0 msgid "Fixed Amount" -msgstr "" +msgstr "Fix összeg" #. module: account #: rml:account.analytic.account.analytic.check:0 @@ -1273,7 +1273,7 @@ msgstr "" #. module: account #: wizard_field:account.automatic.reconcile,reconcile,unreconciled:0 msgid "Not reconciled transactions" -msgstr "" +msgstr "Nem egyeztetett tranzakciók" #. module: account #: view:account.fiscal.position:0 @@ -1308,7 +1308,7 @@ msgstr "" #: model:ir.actions.wizard,name:account.wizard_fiscalyear_close_state #: model:ir.ui.menu,name:account.menu_wizard_fy_close_state msgid "Close a Fiscal Year" -msgstr "" +msgstr "Pénzügyi év zárás" #. module: account #: field:account.journal,centralisation:0 @@ -1340,7 +1340,7 @@ msgstr "" #: selection:account.tax,type_tax_use:0 #: selection:account.tax.template,type_tax_use:0 msgid "All" -msgstr "" +msgstr "Mind" #. module: account #: field:account.move.line,analytic_lines:0 @@ -1370,7 +1370,7 @@ msgstr "" #. module: account #: model:process.node,name:account.process_node_electronicfile0 msgid "Electronic File" -msgstr "" +msgstr "Elektronikus file" #. module: account #: view:res.partner:0 @@ -1385,7 +1385,7 @@ msgstr "Adóbontás" #. module: account #: field:ir.sequence,fiscal_ids:0 msgid "Sequences" -msgstr "" +msgstr "Szekvenciák" #. module: account #: model:ir.actions.act_window,name:account.action_account_type_form @@ -1413,13 +1413,13 @@ msgstr "" #: wizard_field:populate_statement_from_inv,init,journal_id:0 #: field:report.hr.timesheet.invoice.journal,journal_id:0 msgid "Journal" -msgstr "" +msgstr "Napló" #. module: account #: field:account.account,child_id:0 #: field:account.analytic.account,child_ids:0 msgid "Child Accounts" -msgstr "" +msgstr "Gyerek számlák" #. module: account #: field:account.account,check_history:0 @@ -1466,7 +1466,7 @@ msgstr "" #. module: account #: field:res.partner,debit:0 msgid "Total Payable" -msgstr "" +msgstr "Kötelezettség összesen" #. module: account #: wizard_button:account.fiscalyear.close.state,init,close:0 @@ -1496,12 +1496,12 @@ msgstr "" #. module: account #: selection:account.bank.statement.line,type:0 msgid "Supplier" -msgstr "" +msgstr "Szállító" #. module: account #: rml:account.invoice:0 msgid "Tel. :" -msgstr "" +msgstr "Tel. :" #. module: account #: field:account.invoice.tax,tax_amount:0 @@ -1511,14 +1511,14 @@ msgstr "" #. module: account #: selection:account.account.type,sign:0 msgid "Positive" -msgstr "" +msgstr "Pozitív" #. module: account #: wizard_view:account.general.journal.report,init:0 #: model:ir.actions.wizard,name:account.wizard_general_journal #: model:ir.ui.menu,name:account.menu_general_journal msgid "Print General Journal" -msgstr "" +msgstr "General napló nyomtatás" #. module: account #: model:ir.actions.act_window,name:account.action_account_chart_template_form @@ -1529,7 +1529,7 @@ msgstr "" #. module: account #: field:account.invoice,move_id:0 msgid "Invoice Movement" -msgstr "Számla mozgás" +msgstr "Számla kontírozás" #. module: account #: model:ir.actions.act_window,name:account.action_wizard_multi_chart @@ -1547,7 +1547,7 @@ msgstr "" #: field:account.tax.code,parent_id:0 #: field:account.tax.code.template,parent_id:0 msgid "Parent Code" -msgstr "" +msgstr "Szülő kód" #. module: account #: wizard_button:account.move.line.reconcile.select,init,open:0 @@ -1563,7 +1563,7 @@ msgstr "" #: selection:account.tax,tax_group:0 #: selection:account.tax.template,tax_group:0 msgid "VAT" -msgstr "" +msgstr "ÁFA" #. module: account #: rml:account.analytic.account.journal:0 @@ -1586,7 +1586,7 @@ msgstr "" #: field:account.model.line,partner_id:0 #: field:account.move.line,partner_id:0 msgid "Partner Ref." -msgstr "" +msgstr "Partner hiv." #. module: account #: selection:account.partner.balance.report,init,result_selection:0 @@ -1606,12 +1606,12 @@ msgstr "" #: selection:account.tax,type_tax_use:0 #: selection:account.tax.template,type_tax_use:0 msgid "Purchase" -msgstr "" +msgstr "Beszerzés" #. module: account #: view:account.analytic.line:0 msgid "Total quantity" -msgstr "" +msgstr "Mennyiség összesen" #. module: account #: field:account.invoice,date_due:0 @@ -1622,7 +1622,7 @@ msgstr "Fizetési határidő" #: wizard_view:account.period.close,init:0 #: wizard_button:account.period.close,init,close:0 msgid "Close Period" -msgstr "" +msgstr "Időszak zárás" #. module: account #: rml:account.overdue:0 @@ -1642,7 +1642,7 @@ msgstr "" #. module: account #: field:account.bank.statement,balance_start:0 msgid "Starting Balance" -msgstr "" +msgstr "Nyitó egyenleg" #. module: account #: wizard_field:account.analytic.account.quantity_cost_ledger.report,init,journal:0 @@ -1650,34 +1650,34 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_account_journal_period_tree #: model:ir.ui.menu,name:account.menu_action_account_journal_period_tree msgid "Journals" -msgstr "" +msgstr "Naplók" #. module: account #: rml:account.analytic.account.quantity_cost_ledger:0 msgid "Max Qty:" -msgstr "" +msgstr "Max menny:" #. module: account #: wizard_button:account.invoice.refund,init,refund:0 msgid "Refund Invoice" -msgstr "" +msgstr "Jóváíró számla" #. module: account #: model:ir.actions.act_window,name:account.action_account_period_tree #: model:ir.actions.wizard,name:account.wizard_period_close #: model:ir.ui.menu,name:account.menu_action_account_period_close_tree msgid "Close a Period" -msgstr "" +msgstr "Lezár egy időszakot" #. module: account #: model:ir.actions.act_window,name:account.act_acc_analytic_acc_2_report_hr_timesheet_invoice_journal msgid "Costs & Revenues" -msgstr "" +msgstr "Költségek és Árbevételek" #. module: account #: constraint:account.account:0 msgid "Error ! You can not create recursive accounts." -msgstr "" +msgstr "Hiba! Nem lehet létrehozni rekurzív számlákat." #. module: account #: rml:account.tax.code.entries:0 @@ -1702,7 +1702,7 @@ msgstr "" #. module: account #: view:account.invoice:0 msgid "Re-Open" -msgstr "" +msgstr "Visszanyitás" #. module: account #: wizard_view:account.fiscalyear.close,init:0 @@ -1717,7 +1717,7 @@ msgstr "" #. module: account #: rml:account.analytic.account.analytic.check:0 msgid "Delta Credit" -msgstr "" +msgstr "Követel forgalom" #. module: account #: model:ir.actions.wizard,name:account.wizard_reconcile_unreconcile @@ -1739,13 +1739,13 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_bank_statement_tree2 #: model:ir.ui.menu,name:account.menu_bank_statement_tree2 msgid "New Statement" -msgstr "" +msgstr "Új kivonat" #. module: account #: wizard_field:account.analytic.account.chart,init,from_date:0 #: wizard_field:account.analytic.line,init,from_date:0 msgid "From" -msgstr "" +msgstr "Kezdő" #. module: account #: model:process.node,note:account.process_node_reconciliation0 @@ -1758,24 +1758,24 @@ msgstr "" #: model:ir.actions.wizard,name:account.wizard_central_journal #: model:ir.ui.menu,name:account.menu_central_journal msgid "Print Central Journal" -msgstr "" +msgstr "Central napló nyomtatás" #. module: account #: wizard_field:account.aged.trial.balance,init,period_length:0 msgid "Period length (days)" -msgstr "" +msgstr "Időszak hossza (napok)" #. module: account #: selection:account.payment.term.line,value:0 #: selection:account.tax,type:0 #: selection:account.tax.template,type:0 msgid "Percent" -msgstr "" +msgstr "Százalék" #. module: account #: model:ir.ui.menu,name:account.menu_finance_charts msgid "Charts" -msgstr "" +msgstr "Grafikonok" #. module: account #: selection:account.analytic.journal,type:0 @@ -1783,7 +1783,7 @@ msgstr "" #: selection:account.tax,type_tax_use:0 #: selection:account.tax.template,type_tax_use:0 msgid "Sale" -msgstr "" +msgstr "Értékesítés" #. module: account #: wizard_button:account.account.balance.report,account_selection,checktype:0 @@ -1801,7 +1801,7 @@ msgstr "" #. module: account #: rml:account.analytic.account.cost_ledger:0 msgid "Date or Code" -msgstr "" +msgstr "Dátum vagy Kód" #. module: account #: field:account.analytic.account,user_id:0 @@ -1817,12 +1817,12 @@ msgstr "" #: wizard_field:account.move.line.reconcile,init_full,debit:0 #: wizard_field:account.move.line.reconcile,init_partial,debit:0 msgid "Debit amount" -msgstr "" +msgstr "Tartozik összeg" #. module: account #: selection:account.subscription,period_type:0 msgid "year" -msgstr "" +msgstr "év" #. module: account #: wizard_button:account.account.balance.report,checktype,report:0 @@ -1839,12 +1839,12 @@ msgstr "" #: wizard_button:account.print.journal.report,init,print:0 #: wizard_button:account.third_party_ledger.report,init,checkreport:0 msgid "Print" -msgstr "" +msgstr "Nyomtatás" #. module: account #: wizard_field:account.account.balance.report,checktype,date_from:0 msgid "Start date" -msgstr "" +msgstr "Kezdő dátum" #. module: account #: model:account.journal,name:account.refund_expenses_journal @@ -1860,7 +1860,7 @@ msgstr "" #: field:account.move.reconcile,type:0 #: xsl:account.transfer:0 msgid "Type" -msgstr "" +msgstr "Típus" #. module: account #: view:account.journal:0 @@ -1887,7 +1887,7 @@ msgstr "" #: wizard_view:account.invoice.pay,init:0 #: model:ir.actions.wizard,name:account.wizard_invoice_pay msgid "Pay invoice" -msgstr "" +msgstr "Számla kifizetés" #. module: account #: constraint:account.invoice:0 @@ -1898,7 +1898,7 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_invoice_tree5 #: model:ir.ui.menu,name:account.menu_invoice_draft msgid "Draft Customer Invoices" -msgstr "" +msgstr "Vevői számla tervezetek" #. module: account #: model:ir.model,name:account.model_account_subscription_line @@ -1911,22 +1911,22 @@ msgstr "" #: selection:account.partner.balance.report,init,state:0 #: selection:account.third_party_ledger.report,init,state:0 msgid "No Filter" -msgstr "" +msgstr "Nincs szűrés" #. module: account #: field:account.payment.term.line,days:0 msgid "Number of Days" -msgstr "" +msgstr "Napok száma" #. module: account #: help:account.invoice,reference:0 msgid "The partner reference of this invoice." -msgstr "" +msgstr "A számla partner hivatkozása." #. module: account #: wizard_field:account.general.ledger.report,checktype,sortbydate:0 msgid "Sort by:" -msgstr "" +msgstr "Rendezés:" #. module: account #: field:account.move,to_check:0 @@ -1941,7 +1941,7 @@ msgstr "" #. module: account #: selection:account.automatic.reconcile,init,power:0 msgid "7" -msgstr "" +msgstr "7" #. module: account #: model:ir.actions.report.xml,name:account.account_transfers @@ -1961,13 +1961,13 @@ msgstr "" #. module: account #: help:account.tax,name:0 msgid "This name will be displayed on reports" -msgstr "" +msgstr "Ez a név fog megjelenni a kimutatáson." #. module: account #: rml:account.analytic.account.cost_ledger:0 #: rml:account.analytic.account.quantity_cost_ledger:0 msgid "Printing date" -msgstr "" +msgstr "Nyomtatás dátuma" #. module: account #: constraint:ir.ui.view:0 @@ -1982,18 +1982,18 @@ msgstr "" #. module: account #: wizard_view:account.analytic.account.journal.report,init:0 msgid "Analytic Journal Report" -msgstr "" +msgstr "Analitikus napló kimutatás" #. module: account #: 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 "Vevői jóváírások" #. module: account #: rml:account.vat.declaration:0 msgid "Tax Amount" -msgstr "" +msgstr "Adó összege" #. module: account #: rml:account.analytic.account.quantity_cost_ledger:0 @@ -2003,7 +2003,7 @@ msgstr "" #. module: account #: field:account.journal.period,name:0 msgid "Journal-Period Name" -msgstr "" +msgstr "Napló időszak neve" #. module: account #: field:account.tax.code,name:0 @@ -2029,7 +2029,7 @@ msgstr "" #: wizard_field:account.third_party_ledger.report,init,result_selection:0 #: field:wizard.company.setup,partner_id:0 msgid "Partner" -msgstr "" +msgstr "Partner" #. module: account #: help:account.invoice,number:0 @@ -2046,22 +2046,22 @@ msgstr "" #. module: account #: model:account.account.type,name:account.account_type_expense msgid "Expense" -msgstr "" +msgstr "Költség" #. module: account #: field:account.journal,invoice_sequence_id:0 msgid "Invoice Sequence" -msgstr "" +msgstr "Számla iktatószám" #. module: account #: wizard_view:account.automatic.reconcile,init:0 msgid "Options" -msgstr "" +msgstr "Beállítások" #. module: account #: model:process.process,name:account.process_process_invoiceprocess0 msgid "Customer Invoice Process" -msgstr "" +msgstr "Vevői számla folyamat" #. module: account #: rml:account.invoice:0 @@ -2102,17 +2102,17 @@ msgstr "" #: field:account.model.line,currency_id:0 #: field:account.move.line,currency_id:0 msgid "Currency" -msgstr "" +msgstr "Pénznem" #. module: account #: model:ir.actions.act_window,name:account.act_account_journal_2_account_invoice_opened msgid "Unpaid invoices" -msgstr "" +msgstr "Kifizetetlen számlák" #. module: account #: model:process.transition,name:account.process_transition_paymentreconcile0 msgid "Payment Reconcile" -msgstr "" +msgstr "Kifizetés egyeztetés" #. module: account #: model:ir.actions.act_window,name:account.action_bank_statement_reconciliation_form @@ -2177,7 +2177,7 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_invoice_tree8 #: model:ir.ui.menu,name:account.menu_action_invoice_tree8 msgid "Draft Supplier Invoices" -msgstr "" +msgstr "Szállítói számla tervezetek" #. module: account #: wizard_field:account.invoice.refund,init,period:0 @@ -2187,13 +2187,13 @@ msgstr "" #. module: account #: selection:account.account.type,close_method:0 msgid "Detail" -msgstr "" +msgstr "Tételes" #. module: account #: selection:account.account,type:0 #: selection:account.account.template,type:0 msgid "Consolidation" -msgstr "" +msgstr "Konszolidáció" #. module: account #: field:account.chart.template,account_root_id:0 @@ -2211,7 +2211,7 @@ msgstr "" #. module: account #: rml:account.invoice:0 msgid "VAT :" -msgstr "" +msgstr "ÁFA:" #. module: account #: wizard_field:account.general.ledger.report,account_selection,Account_list:0 @@ -2220,7 +2220,7 @@ msgstr "" #: model:ir.ui.menu,name:account.menu_action_account_tree #: model:ir.ui.menu,name:account.menu_action_account_tree2 msgid "Chart of Accounts" -msgstr "" +msgstr "Számlatükör" #. module: account #: model:account.journal,name:account.check_journal @@ -2241,7 +2241,7 @@ msgstr "" #. module: account #: view:account.config.wizard:0 msgid "Create a Fiscal Year" -msgstr "" +msgstr "Pénzügyi év létrehozás" #. module: account #: field:product.template,taxes_id:0 @@ -2265,12 +2265,12 @@ msgstr "" #. module: account #: model:account.account.type,name:account.account_type_liability msgid "Liability" -msgstr "" +msgstr "Kötelezettség" #. module: account #: selection:account.automatic.reconcile,init,power:0 msgid "2" -msgstr "" +msgstr "2" #. module: account #: wizard_view:account.chart,init:0 @@ -2300,7 +2300,7 @@ msgstr "" #: rml:account.third_party_ledger_other:0 #: xsl:account.transfer:0 msgid "Date" -msgstr "" +msgstr "Dátum" #. module: account #: field:account.invoice,reference_type:0 @@ -2317,7 +2317,7 @@ msgstr "" #: field:account.tax,type:0 #: field:account.tax.template,type:0 msgid "Tax Type" -msgstr "" +msgstr "Adó típus" #. module: account #: model:process.transition,name:account.process_transition_statemententries0 @@ -2328,7 +2328,7 @@ msgstr "" #: field:account.analytic.line,user_id:0 #: field:account.journal,user_id:0 msgid "User" -msgstr "" +msgstr "Felhasználó" #. module: account #: model:ir.actions.act_window,name:account.action_account_template_form @@ -2349,18 +2349,18 @@ msgstr "" #. module: account #: rml:account.journal.period.print:0 msgid "Voucher No" -msgstr "" +msgstr "Bizonylatszám" #. module: account #: model:ir.actions.wizard,name:account.wizard_automatic_reconcile #: model:ir.ui.menu,name:account.menu_automatic_reconcile msgid "Automatic reconciliation" -msgstr "" +msgstr "Automatikus egyeztetés" #. module: account #: view:account.bank.statement:0 msgid "Import Invoice" -msgstr "" +msgstr "Számlaimport" #. module: account #: wizard_view:account.analytic.account.quantity_cost_ledger.report,init:0 @@ -2392,7 +2392,7 @@ msgstr "" #. module: account #: rml:account.central.journal:0 msgid "Journal Code" -msgstr "" +msgstr "Naplókód" #. module: account #: help:account.tax,applicable_type:0 @@ -2409,7 +2409,7 @@ msgstr "" #. module: account #: field:account.analytic.account,date:0 msgid "Date End" -msgstr "" +msgstr "Záró dátum" #. module: account #: view:account.bank.statement:0 @@ -2429,7 +2429,7 @@ msgstr "" #. module: account #: wizard_button:account.move.journal,init,open:0 msgid "Open Journal" -msgstr "" +msgstr "Napló megnyitás" #. module: account #: rml:account.analytic.account.journal:0 @@ -2453,14 +2453,14 @@ msgstr "" #: rml:account.analytic.account.cost_ledger:0 #: rml:account.analytic.account.quantity_cost_ledger:0 msgid "Period from" -msgstr "" +msgstr "Kezdő időszak" #. module: account #: model:ir.model,name:account.model_account_bank_statement #: model:process.node,name:account.process_node_bankstatement0 #: model:process.node,name:account.process_node_supplierbankstatement0 msgid "Bank Statement" -msgstr "" +msgstr "Bankkivonat" #. module: account #: wizard_view:account.invoice.pay,addendum:0 @@ -2482,7 +2482,7 @@ msgstr "" #. module: account #: wizard_field:account.general.ledger.report,checktype,landscape:0 msgid "Landscape Mode" -msgstr "" +msgstr "Fekvő mód" #. module: account #: model:process.transition,note:account.process_transition_analyticinvoice0 @@ -2537,7 +2537,7 @@ msgstr "" #: view:wizard.company.setup:0 #: view:wizard.multi.charts.accounts:0 msgid "Cancel" -msgstr "" +msgstr "Mégsem" #. module: account #: field:account.account.type,name:0 @@ -2566,12 +2566,12 @@ msgstr "" #: wizard_view:account.move.validate,init:0 #: view:account.payment.term:0 msgid "Information" -msgstr "" +msgstr "Információ" #. module: account #: model:ir.ui.menu,name:account.menu_tax_report msgid "Taxes Reports" -msgstr "" +msgstr "Adó kimutatás" #. module: account #: field:res.partner,property_account_payable:0 @@ -2591,7 +2591,7 @@ msgstr "" #. module: account #: field:account.journal,default_credit_account_id:0 msgid "Default Credit Account" -msgstr "" +msgstr "Alapértelmezett követel számla" #. module: account #: model:process.node,name:account.process_node_supplierpaymentorder0 @@ -2615,7 +2615,7 @@ msgstr "" #. module: account #: model:process.node,name:account.process_node_invoiceinvoice0 msgid "Create Invoice" -msgstr "" +msgstr "Számla készítése" #. module: account #: model:account.account.type,name:account.account_type_cash_equity @@ -2630,7 +2630,7 @@ msgstr "" #. module: account #: model:ir.model,name:account.model_account_tax_code_template msgid "Tax Code Template" -msgstr "" +msgstr "Adókód sablon" #. module: account #: rml:account.partner.balance:0 @@ -2655,7 +2655,7 @@ msgstr "" #. module: account #: model:ir.ui.menu,name:account.menu_generic_report msgid "Generic Reports" -msgstr "" +msgstr "Általános kimutatások" #. module: account #: wizard_field:account.automatic.reconcile,init,power:0 @@ -2670,14 +2670,14 @@ msgstr "" #. module: account #: rml:account.invoice:0 msgid "Price" -msgstr "" +msgstr "Ár" #. module: account #: rml:account.analytic.account.journal:0 #: rml:account.third_party_ledger:0 #: rml:account.third_party_ledger_other:0 msgid "-" -msgstr "" +msgstr "-" #. module: account #: rml:account.analytic.account.journal:0 @@ -2711,7 +2711,7 @@ msgstr "Számla azonosító" #. module: account #: field:account.period,date_stop:0 msgid "End of Period" -msgstr "" +msgstr "Időszak vége" #. module: account #: wizard_button:populate_statement_from_inv,go,finish:0 @@ -2796,7 +2796,7 @@ msgstr "" #: field:account.journal.view,name:0 #: model:ir.model,name:account.model_account_journal_view msgid "Journal View" -msgstr "" +msgstr "Napló nézet" #. module: account #: selection:account.move.line,centralisation:0 @@ -2806,12 +2806,12 @@ msgstr "" #. module: account #: rml:account.overdue:0 msgid "Customer Ref:" -msgstr "" +msgstr "Vevő hiv.:" #. module: account #: xsl:account.transfer:0 msgid "Partner ID" -msgstr "" +msgstr "Partner ID" #. module: account #: wizard_view:account.automatic.reconcile,init:0 @@ -2823,13 +2823,13 @@ msgstr "" #. module: account #: view:account.move.line:0 msgid "Total credit" -msgstr "" +msgstr "Követel összesen" #. module: account #: model:ir.actions.act_window,name:account.action_invoice_tree1_new #: model:ir.ui.menu,name:account.menu_action_invoice_tree1_new msgid "New Customer Invoice" -msgstr "" +msgstr "Új vevői számla" #. module: account #: field:account.account,reconcile:0 @@ -2841,7 +2841,7 @@ msgstr "" #: wizard_button:account.move.line.reconcile,addendum,reconcile:0 #: wizard_button:account.move.line.reconcile,init_full,reconcile:0 msgid "Reconcile" -msgstr "" +msgstr "Egyeztetés" #. module: account #: rml:account.overdue:0 @@ -2882,7 +2882,7 @@ msgstr "" #. module: account #: field:account.analytic.account,complete_name:0 msgid "Full Account Name" -msgstr "" +msgstr "Számla megnevezés" #. module: account #: rml:account.account.balance:0 @@ -2896,7 +2896,7 @@ msgstr "" #: rml:account.third_party_ledger_other:0 #: rml:account.vat.declaration:0 msgid "1cm 27.7cm 20cm 27.7cm" -msgstr "" +msgstr "1cm 27.7cm 20cm 27.7cm" #. module: account #: model:ir.actions.act_window,name:account.action_invoice_tree12 @@ -2954,7 +2954,7 @@ msgstr "" #: model:process.node,name:account.process_node_reconciliation0 #: model:process.node,name:account.process_node_supplierreconciliation0 msgid "Reconciliation" -msgstr "" +msgstr "Egyeztetés" #. module: account #: field:account.move.line,centralisation:0 @@ -2968,7 +2968,7 @@ msgstr "" #: field:account.tax.template,tax_code_id:0 #: model:ir.model,name:account.model_account_tax_code msgid "Tax Code" -msgstr "" +msgstr "Adókód" #. module: account #: rml:account.analytic.account.journal:0 @@ -2994,7 +2994,7 @@ msgstr "" #. module: account #: field:account.journal.column,readonly:0 msgid "Readonly" -msgstr "" +msgstr "Csak olvasható" #. module: account #: help:account.model.line,date_maturity:0 @@ -3014,7 +3014,7 @@ msgstr "" #: rml:account.invoice:0 #: xsl:account.transfer:0 msgid "Document" -msgstr "" +msgstr "Dokumentum" #. module: account #: help:account.move.line,move_id:0 @@ -3024,12 +3024,12 @@ msgstr "" #. module: account #: field:account.invoice.line,uos_id:0 msgid "Unit of Measure" -msgstr "" +msgstr "Mértékegység" #. module: account #: field:account.chart.template,property_account_receivable:0 msgid "Receivable Account" -msgstr "" +msgstr "Kinnlevőség számla" #. module: account #: help:account.journal,group_invoice_lines:0 @@ -3037,6 +3037,8 @@ msgid "" "If this box is checked, the system will try to group the accounting lines " "when generating them from invoices." msgstr "" +"Ha bejelölt, akkor a rendszer megpróbálja összevonni a kontírozási sorokat a " +"számla könyvelések generálásakor." #. module: account #: wizard_field:account.move.line.reconcile,init_full,trans_nbr:0 @@ -3047,7 +3049,7 @@ msgstr "" #. module: account #: model:ir.actions.wizard,name:account.wizard_invoice_state_cancel msgid "Cancel selected invoices" -msgstr "" +msgstr "Kijelölt számlák érvénytelenítése" #. module: account #: view:account.analytic.journal:0 @@ -3056,7 +3058,7 @@ msgstr "" #: model:ir.actions.report.xml,name:account.analytic_journal_print #: model:ir.actions.wizard,name:account.account_analytic_account_journal_report msgid "Analytic Journal" -msgstr "" +msgstr "Analitikus napló" #. module: account #: rml:account.general.ledger:0 @@ -3071,7 +3073,7 @@ msgstr "" #. module: account #: rml:account.tax.code.entries:0 msgid "(" -msgstr "" +msgstr "(" #. module: account #: view:account.invoice:0 @@ -3167,7 +3169,7 @@ msgstr "" #: selection:account.partner.balance.report,init,state:0 #: selection:account.third_party_ledger.report,init,state:0 msgid "By Date and Period" -msgstr "" +msgstr "Dátum és időszak" #. module: account #: view:account.account:0 @@ -3195,7 +3197,7 @@ msgstr "" #: model:ir.ui.menu,name:account.menu_action_tax_form #: model:ir.ui.menu,name:account.next_id_27 msgid "Taxes" -msgstr "" +msgstr "Adók" #. module: account #: wizard_view:account.fiscalyear.close,init:0 @@ -3205,7 +3207,7 @@ msgstr "" #. module: account #: selection:account.account,currency_mode:0 msgid "Average Rate" -msgstr "" +msgstr "Ártlagárfolyam" #. module: account #: model:process.node,note:account.process_node_bankstatement0 @@ -3230,12 +3232,12 @@ msgstr "" #: rml:account.partner.balance:0 #: field:account.period,code:0 msgid "Code" -msgstr "" +msgstr "Kód" #. module: account #: model:ir.ui.menu,name:account.menu_finance msgid "Financial Management" -msgstr "" +msgstr "Pénzügy" #. module: account #: selection:account.account.type,close_method:0 @@ -3318,12 +3320,12 @@ msgstr "" #. module: account #: view:account.move.line:0 msgid "Total debit" -msgstr "" +msgstr "Tartozik összesen" #. module: account #: selection:account.analytic.account,state:0 msgid "Pending" -msgstr "" +msgstr "Függőben" #. module: account #: view:wizard.multi.charts.accounts:0 @@ -3333,7 +3335,7 @@ msgstr "" #. module: account #: rml:account.invoice:0 msgid "Fax :" -msgstr "" +msgstr "Fax :" #. module: account #: rml:account.partner.balance:0 @@ -3341,7 +3343,7 @@ msgstr "" #: model:ir.actions.wizard,name:account.wizard_partner_balance_report #: model:ir.ui.menu,name:account.menu_partner_balance msgid "Partner Balance" -msgstr "" +msgstr "Partner egyenleg" #. module: account #: rml:account.third_party_ledger:0 @@ -3366,12 +3368,12 @@ msgstr "" #: field:account.tax.template,python_compute:0 #: selection:account.tax.template,type:0 msgid "Python Code" -msgstr "" +msgstr "Python kód" #. module: account #: model:ir.actions.act_window,name:account.act_account_journal_2_account_bank_statement msgid "Bank statements" -msgstr "" +msgstr "Bankkivonatok" #. module: account #: model:ir.ui.menu,name:account.next_id_22 @@ -3393,14 +3395,14 @@ msgstr "" #. module: account #: model:process.node,name:account.process_node_importinvoice0 msgid "Import invoice" -msgstr "" +msgstr "Számlaimport" #. module: account #: view:account.invoice:0 #: view:wizard.company.setup:0 #: view:wizard.multi.charts.accounts:0 msgid "Create" -msgstr "" +msgstr "Létrehoz" #. module: account #: model:process.transition.action,name:account.process_transition_action_createentries0 @@ -3410,7 +3412,7 @@ msgstr "" #. module: account #: model:ir.model,name:account.model_account_invoice_line msgid "Invoice line" -msgstr "" +msgstr "Számla sor" #. module: account #: field:account.account,shortcut:0 @@ -3451,12 +3453,12 @@ msgstr "Szülő adó egyenleg" #: field:account.analytic.account,type:0 #: model:ir.model,name:account.model_account_account_type msgid "Account Type" -msgstr "" +msgstr "Számlatípus" #. module: account #: view:res.partner:0 msgid "Bank account owner" -msgstr "" +msgstr "Bankszámla tulajdonos" #. module: account #: wizard_view:account.account.balance.report,checktype:0 @@ -3474,7 +3476,7 @@ msgstr "" #. module: account #: wizard_button:account.invoice.pay,addendum,reconcile:0 msgid "Pay and reconcile" -msgstr "" +msgstr "Fizetés és egyeztetés" #. module: account #: rml:account.central.journal:0 @@ -3500,12 +3502,12 @@ msgstr "" #: wizard_field:account.partner.balance.report,init,fiscalyear:0 #: wizard_field:account.third_party_ledger.report,init,fiscalyear:0 msgid "Fiscal year" -msgstr "" +msgstr "Pénzügyi év" #. module: account #: rml:account.overdue:0 msgid "Balance :" -msgstr "" +msgstr "Egyenleg :" #. module: account #: selection:account.account.balance.report,checktype,display_account:0 @@ -3516,23 +3518,23 @@ msgstr "" #. module: account #: selection:account.automatic.reconcile,init,power:0 msgid "3" -msgstr "" +msgstr "3" #. module: account #: model:ir.actions.report.xml,name:account.account_vat_declaration msgid "Taxes Report" -msgstr "" +msgstr "Adó kimutatás" #. module: account #: selection:account.journal.period,state:0 msgid "Printed" -msgstr "" +msgstr "Nyomtatva" #. module: account #: model:ir.actions.act_window,name:account.action_invoice_tree4_new #: model:ir.ui.menu,name:account.menu_action_invoice_tree4_new msgid "New Supplier Refund" -msgstr "" +msgstr "Új szállítói jóváírás" #. module: account #: view:account.model:0 @@ -3547,7 +3549,7 @@ msgstr "" #. module: account #: view:account.account:0 msgid "Chart of accounts" -msgstr "" +msgstr "Számlatükör" #. module: account #: field:account.subscription.line,subscription_id:0 @@ -3557,7 +3559,7 @@ msgstr "" #. module: account #: field:account.analytic.journal,code:0 msgid "Journal code" -msgstr "" +msgstr "Naplókód" #. module: account #: wizard_button:account.fiscalyear.close,init,close:0 @@ -3627,7 +3629,7 @@ msgstr "" #: field:account.tax.template,sequence:0 #: field:fiscalyear.seq,sequence_id:0 msgid "Sequence" -msgstr "" +msgstr "Sorszám" #. module: account #: model:ir.model,name:account.model_account_fiscal_position_template @@ -3658,7 +3660,7 @@ msgstr "" #. module: account #: selection:account.config.wizard,period:0 msgid "3 Months" -msgstr "" +msgstr "3 hónap" #. module: account #: wizard_view:account.move.journal,init:0 @@ -3681,7 +3683,7 @@ msgstr "" #: selection:account.config.wizard,period:0 #: field:report.hr.timesheet.invoice.journal,name:0 msgid "Month" -msgstr "" +msgstr "Hónap" #. module: account #: model:ir.model,name:account.model_account_subscription @@ -3703,7 +3705,7 @@ msgstr "" #. module: account #: selection:account.print.journal.report,init,sort_selection:0 msgid "By date" -msgstr "" +msgstr "Dátum" #. module: account #: model:ir.actions.act_window,name:account.action_account_config_wizard_form @@ -3715,7 +3717,7 @@ msgstr "" #: field:account.fiscalyear,date_start:0 #: field:account.subscription,date_start:0 msgid "Start Date" -msgstr "" +msgstr "Kezdő dátum" #. module: account #: wizard_view:account.general.ledger.report,account_selection:0 @@ -3732,7 +3734,7 @@ msgstr "" #: model:process.node,name:account.process_node_draftinvoices0 #: model:process.node,name:account.process_node_supplierdraftinvoices0 msgid "Draft Invoices" -msgstr "" +msgstr "Számla tervezetek" #. module: account #: model:ir.model,name:account.model_account_fiscal_position_tax_template @@ -3742,7 +3744,7 @@ msgstr "" #. module: account #: rml:account.invoice:0 msgid "Invoice Date" -msgstr "" +msgstr "Számla kelte" #. module: account #: selection:account.account.type,close_method:0 @@ -3815,12 +3817,12 @@ msgstr "" #: model:ir.actions.wizard,name:account.wizard_general_ledger_report #: model:ir.ui.menu,name:account.menu_general_ledger msgid "General Ledger" -msgstr "" +msgstr "Főkönyv" #. module: account #: field:account.journal.view,columns_id:0 msgid "Columns" -msgstr "" +msgstr "Oszlopok" #. module: account #: selection:account.general.ledger.report,checktype,sortbydate:0 @@ -3848,7 +3850,7 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_account_journal_form #: model:ir.ui.menu,name:account.menu_action_account_journal_form msgid "Financial Journals" -msgstr "" +msgstr "Pénzügyi naplók" #. module: account #: selection:account.account.balance.report,checktype,state:0 @@ -3856,7 +3858,7 @@ msgstr "" #: selection:account.partner.balance.report,init,state:0 #: selection:account.third_party_ledger.report,init,state:0 msgid "By Period" -msgstr "" +msgstr "Időszak" #. module: account #: help:account.invoice,date_invoice:0 @@ -3866,17 +3868,17 @@ msgstr "" #. module: account #: rml:account.overdue:0 msgid "." -msgstr "" +msgstr "." #. module: account #: field:account.analytic.account,quantity_max:0 msgid "Maximum Quantity" -msgstr "" +msgstr "Maximális mennyiség" #. module: account #: field:account.period,name:0 msgid "Period Name" -msgstr "" +msgstr "Időszak" #. module: account #: help:account.analytic.journal,type:0 @@ -3894,7 +3896,7 @@ msgstr "" #. module: account #: rml:account.analytic.account.quantity_cost_ledger:0 msgid "Code/Date" -msgstr "" +msgstr "Kód/Dátum" #. module: account #: field:account.account,active:0 @@ -3905,17 +3907,17 @@ msgstr "" #: field:account.payment.term,active:0 #: field:account.tax,active:0 msgid "Active" -msgstr "" +msgstr "Aktív" #. module: account #: model:process.node,note:account.process_node_electronicfile0 msgid "Import from your bank statements" -msgstr "" +msgstr "Importálás a bankkivonatból" #. module: account #: view:account.chart.template:0 msgid "Properties" -msgstr "" +msgstr "Tulajdonságok" #. module: account #: view:res.partner:0 @@ -3971,7 +3973,7 @@ msgstr "Pénznem" #: rml:account.vat.declaration:0 #: field:report.hr.timesheet.invoice.journal,cost:0 msgid "Credit" -msgstr "" +msgstr "Követel" #. module: account #: help:account.tax.template,child_depend:0 @@ -3990,18 +3992,18 @@ msgstr "Fizetett adó egyenleg" #: field:account.tax.code,child_ids:0 #: field:account.tax.code.template,child_ids:0 msgid "Child Codes" -msgstr "" +msgstr "Gyerek kód" #. module: account #: field:account.invoice,move_name:0 msgid "Account Move" -msgstr "" +msgstr "Kontírozás" #. module: account #: view:account.bank.statement:0 #: field:account.bank.statement,line_ids:0 msgid "Statement lines" -msgstr "" +msgstr "Bankkivonat sorok" #. module: account #: field:account.move.line,amount_taxed:0 @@ -4046,12 +4048,12 @@ 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 "Vevői számlák" #. module: account #: field:res.partner,debit_limit:0 msgid "Payable Limit" -msgstr "" +msgstr "Kötelezettség limit" #. module: account #: wizard_field:account.account.balance.report,checktype,state:0 @@ -4059,7 +4061,7 @@ msgstr "" #: wizard_field:account.partner.balance.report,init,state:0 #: wizard_field:account.third_party_ledger.report,init,state:0 msgid "Date/Period Filter" -msgstr "" +msgstr "Dátum/Időszak szűrés" #. module: account #: rml:account.analytic.account.journal:0 @@ -4067,12 +4069,12 @@ msgstr "" #: selection:account.bank.statement.line,type:0 #: selection:account.journal,type:0 msgid "General" -msgstr "" +msgstr "Általános" #. module: account #: rml:account.general.journal:0 msgid "Credit Trans." -msgstr "" +msgstr "Követel tranz." #. module: account #: field:wizard.multi.charts.accounts,seq_journal:0 @@ -4112,7 +4114,7 @@ msgstr "" #: model:ir.ui.menu,name:account.menu_action_account_period_form #: model:ir.ui.menu,name:account.next_id_23 msgid "Periods" -msgstr "" +msgstr "Időszakok" #. module: account #: rml:account.invoice:0 @@ -4121,7 +4123,7 @@ msgstr "" #: model:ir.model,name:account.model_account_invoice #: model:res.request.link,name:account.req_link_invoice msgid "Invoice" -msgstr "" +msgstr "Számla" #. module: account #: selection:account.analytic.account,state:0 @@ -4146,7 +4148,7 @@ msgstr "" #: field:account.account,tax_ids:0 #: field:account.account.template,tax_ids:0 msgid "Default Taxes" -msgstr "" +msgstr "Alapértelmezett adó" #. module: account #: constraint:ir.model:0 @@ -4205,7 +4207,7 @@ msgstr "" #. module: account #: wizard_field:account.invoice.pay,init,date:0 msgid "Payment date" -msgstr "" +msgstr "Fizetés dátuma" #. module: account #: wizard_button:account_use_models,create,end:0 @@ -4215,31 +4217,31 @@ msgstr "" #. module: account #: rml:account.invoice:0 msgid "Taxes:" -msgstr "" +msgstr "Adók:" #. module: account #: model:ir.actions.act_window,name:account.action_invoice_tree7 #: model:ir.ui.menu,name:account.menu_action_invoice_tree7 msgid "Unpaid Customer Invoices" -msgstr "" +msgstr "Kifizetetlen vevői számlák" #. 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 "Szállítói számlák" #. module: account #: field:account.analytic.line,product_id:0 #: field:account.invoice.line,product_id:0 #: field:account.move.line,product_id:0 msgid "Product" -msgstr "" +msgstr "Termék" #. module: account #: rml:account.tax.code.entries:0 msgid ")" -msgstr "" +msgstr ")" #. module: account #: field:res.partner,credit:0 @@ -4254,12 +4256,12 @@ msgstr "" #. module: account #: wizard_field:account.invoice.pay,init,journal_id:0 msgid "Journal/Payment Mode" -msgstr "" +msgstr "Napló/kifizetés mód" #. module: account #: rml:account.invoice:0 msgid "Canceled Invoice" -msgstr "" +msgstr "Törölt számla" #. module: account #: view:account.subscription:0 @@ -4281,7 +4283,7 @@ msgstr "" #. module: account #: field:account.tax.code,sum:0 msgid "Year Sum" -msgstr "" +msgstr "Év összesen" #. module: account #: model:process.transition,note:account.process_transition_filestatement0 @@ -4297,7 +4299,7 @@ msgstr "" #. module: account #: selection:account.automatic.reconcile,init,power:0 msgid "9" -msgstr "" +msgstr "9" #. module: account #: model:ir.actions.act_window,name:account.action_subscription_form_running @@ -4325,7 +4327,7 @@ msgstr "" #: field:account.config.wizard,date2:0 #: field:account.fiscalyear,date_stop:0 msgid "End Date" -msgstr "" +msgstr "Záró dátum" #. module: account #: model:ir.actions.wizard,name:account.wizard_open_closed_fiscalyear @@ -4396,7 +4398,7 @@ msgstr "" #. module: account #: wizard_view:account.wizard_paid_open,init:0 msgid "Open Invoice" -msgstr "" +msgstr "Nyitott számla" #. module: account #: model:process.node,note:account.process_node_draftstatement0 @@ -4450,7 +4452,7 @@ msgstr "" #. module: account #: rml:account.general.ledger:0 msgid "General Ledger -" -msgstr "" +msgstr "Főkönyv -" #. module: account #: field:report.hr.timesheet.invoice.journal,quantity:0 @@ -4470,7 +4472,7 @@ msgstr "" #: field:account.invoice,amount_total:0 #: field:account.invoice,check_total:0 msgid "Total" -msgstr "" +msgstr "Összesen" #. module: account #: model:process.transition,note:account.process_transition_customerinvoice0 @@ -4502,13 +4504,13 @@ msgstr "" #: selection:account.partner.balance.report,init,state:0 #: selection:account.third_party_ledger.report,init,state:0 msgid "By Date" -msgstr "" +msgstr "Dátum szerint" #. module: account #: model:ir.actions.act_window,name:account.action_invoice_tree4 #: model:ir.ui.menu,name:account.menu_action_invoice_tree4 msgid "Supplier Refunds" -msgstr "" +msgstr "Szállítói jóváírások" #. module: account #: help:account.model.line,date:0 @@ -4518,7 +4520,7 @@ msgstr "" #. module: account #: wizard_button:account.invoice.refund,init,modify_invoice:0 msgid "Modify Invoice" -msgstr "" +msgstr "Számlamódosítás" #. module: account #: view:res.partner:0 @@ -4542,7 +4544,7 @@ msgstr "" #: field:account.bank.statement.line,statement_id:0 #: field:account.move.line,statement_id:0 msgid "Statement" -msgstr "" +msgstr "Bankkivonat" #. module: account #: model:ir.actions.act_window,name:account.action_move_line_form_encode_by_move @@ -4595,7 +4597,7 @@ msgstr "" #: field:wizard.company.setup,company_id:0 #: field:wizard.multi.charts.accounts,company_id:0 msgid "Company" -msgstr "" +msgstr "Cég" #. module: account #: rml:account.general.ledger:0 @@ -4622,7 +4624,7 @@ msgstr "" #. module: account #: field:account.analytic.journal,name:0 msgid "Journal name" -msgstr "" +msgstr "Napló név" #. module: account #: model:process.transition,note:account.process_transition_invoiceimport0 @@ -4632,19 +4634,19 @@ msgstr "" #. module: account #: selection:account.automatic.reconcile,init,power:0 msgid "4" -msgstr "" +msgstr "4" #. module: account #: model:ir.actions.act_window,name:account.action_account_fiscalyear_form #: view:ir.sequence:0 #: model:ir.ui.menu,name:account.menu_action_account_fiscalyear_form msgid "Fiscal Years" -msgstr "" +msgstr "Pénzügyi év" #. module: account #: model:process.node,note:account.process_node_importinvoice0 msgid "Import from invoices or payments" -msgstr "" +msgstr "Importálás számlákból vagy kifizetésekből" #. module: account #: model:ir.actions.wizard,name:account.wizard_reconcile_select @@ -4660,7 +4662,7 @@ msgstr "" #. module: account #: field:account.journal.period,icon:0 msgid "Icon" -msgstr "" +msgstr "Ikon" #. module: account #: model:ir.model,name:account.model_account_journal_period @@ -4681,7 +4683,7 @@ msgstr "" #. module: account #: wizard_button:account.aged.trial.balance,init,print:0 msgid "Print Aged Trial Balance" -msgstr "" +msgstr "Korosbított kivonat nyomtatás" #. module: account #: field:account.analytic.line,ref:0 @@ -4691,7 +4693,7 @@ msgstr "" #: rml:account.third_party_ledger:0 #: rml:account.third_party_ledger_other:0 msgid "Ref." -msgstr "" +msgstr "Hiv." #. module: account #: field:account.invoice,address_invoice_id:0 @@ -4789,7 +4791,7 @@ msgstr "" #. module: account #: rml:account.overdue:0 msgid "VAT:" -msgstr "" +msgstr "ÁFA:" #. module: account #: rml:account.analytic.account.cost_ledger:0 @@ -4798,7 +4800,7 @@ msgstr "" #: rml:account.general.journal:0 #: rml:account.invoice:0 msgid "Total:" -msgstr "" +msgstr "Összesen:" #. module: account #: model:ir.model,name:account.model_account_analytic_journal @@ -4861,7 +4863,7 @@ msgstr "" #: rml:account.invoice:0 #: selection:account.invoice,type:0 msgid "Supplier Invoice" -msgstr "" +msgstr "Szállítói számla" #. module: account #: selection:account.move.line,state:0 @@ -4887,7 +4889,7 @@ msgstr "" #: rml:account.vat.declaration:0 #: field:report.hr.timesheet.invoice.journal,revenue:0 msgid "Debit" -msgstr "" +msgstr "Tartozik" #. module: account #: model:ir.ui.menu,name:account.next_id_42 @@ -5026,7 +5028,7 @@ msgstr "" #: model:process.node,name:account.process_node_paidinvoice0 #: model:process.node,name:account.process_node_supplierpaidinvoice0 msgid "Paid invoice" -msgstr "" +msgstr "Kifizetett számla" #. module: account #: view:account.tax:0 @@ -5056,7 +5058,7 @@ msgstr "" #. module: account #: model:ir.actions.wizard,name:account.wizard_populate_statement_from_inv msgid "Import invoices" -msgstr "" +msgstr "Számlák importálása" #. module: account #: wizard_view:account.move.line.unreconcile,init:0 @@ -5113,7 +5115,7 @@ msgstr "" #: model:ir.ui.menu,name:account.menu_finance_invoice #: wizard_field:populate_statement_from_inv,go,lines:0 msgid "Invoices" -msgstr "" +msgstr "Számlák" #. module: account #: selection:account.partner.balance.report,init,result_selection:0 @@ -5234,7 +5236,7 @@ msgstr "" #. module: account #: rml:account.overdue:0 msgid "Paid" -msgstr "" +msgstr "Fizetve" #. module: account #: model:ir.actions.act_window,name:account.action_invoice_tree11 @@ -5287,7 +5289,7 @@ msgstr "" #. module: account #: model:process.process,name:account.process_process_supplierinvoiceprocess0 msgid "Supplier Invoice Process" -msgstr "" +msgstr "Szállítói számla folyamat" #. module: account #: rml:account.account.balance:0 @@ -5371,7 +5373,7 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_invoice_tree6 #: model:ir.ui.menu,name:account.menu_action_invoice_tree6 msgid "PRO-FORMA Customer Invoices" -msgstr "" +msgstr "PRO-FORMA Vevői számlák" #. module: account #: field:account.subscription,period_total:0 @@ -5511,7 +5513,7 @@ msgstr "" #. module: account #: rml:account.general.journal:0 msgid "Printing Date :" -msgstr "" +msgstr "Nyomtatás dátuma :" #. module: account #: model:ir.actions.report.xml,name:account.account_analytic_account_quantity_cost_ledger @@ -5663,7 +5665,7 @@ msgstr "" #: field:product.category,property_account_income_categ:0 #: field:product.template,property_account_income:0 msgid "Income Account" -msgstr "" +msgstr "Árbevétel számla" #. module: account #: field:account.period,special:0 @@ -5685,7 +5687,7 @@ msgstr "" #: view:account.invoice:0 #: model:ir.actions.act_window,name:account.act_account_analytic_account_2_account_invoice_line msgid "Invoice lines" -msgstr "" +msgstr "Számla sorok" #. module: account #: selection:account.bank.statement.line,type:0 @@ -5722,7 +5724,7 @@ msgstr "" #: field:account.chart.template,bank_account_view_id:0 #: field:account.invoice,partner_bank:0 msgid "Bank Account" -msgstr "" +msgstr "Bankszámlaszám" #. module: account #: model:ir.actions.act_window,name:account.action_model_form @@ -5756,7 +5758,7 @@ msgstr "" #: field:fiscalyear.seq,fiscalyear_id:0 #: model:ir.model,name:account.model_account_fiscalyear msgid "Fiscal Year" -msgstr "" +msgstr "Pénzügyi év" #. module: account #: selection:account.aged.trial.balance,init,direction_selection:0 @@ -5776,7 +5778,7 @@ msgstr "" #: rml:account.invoice:0 #: selection:account.invoice,type:0 msgid "Supplier Refund" -msgstr "" +msgstr "Szállítói jóváírás" #. module: account #: model:process.transition,note:account.process_transition_entriesreconcile0 @@ -5801,7 +5803,7 @@ msgstr "" #: field:account.tax,python_compute_inv:0 #: field:account.tax.template,python_compute_inv:0 msgid "Python Code (reverse)" -msgstr "" +msgstr "Python kód (reverse)" #. module: account #: model:ir.module.module,shortdesc:account.module_meta_information @@ -5819,6 +5821,8 @@ msgid "" "This account will be used to value outgoing stock for the current product " "category" msgstr "" +"Termék/szolgáltatás beszerzésekor a költség könyvelésére használt számla. " +"Költségszámla vagy készlet esetén elhatárolás számla." #. module: account #: help:account.tax,base_sign:0 @@ -5866,7 +5870,7 @@ msgstr "" #: model:ir.model,name:account.model_account_payment_term #: field:res.partner,property_payment_term:0 msgid "Payment Term" -msgstr "" +msgstr "Fizetési feltétel" #. module: account #: model:ir.actions.act_window,name:account.action_account_fiscal_position_form @@ -5909,12 +5913,12 @@ msgstr "" #: wizard_view:account.partner.balance.report,init:0 #: wizard_view:account.third_party_ledger.report,init:0 msgid "Filters" -msgstr "" +msgstr "Szűrők" #. module: account #: wizard_button:account.wizard_paid_open,init,yes:0 msgid "Yes" -msgstr "" +msgstr "Igen" #. module: account #: help:account.account,reconcile:0 diff --git a/addons/account/invoice.py b/addons/account/invoice.py index c2024c86eb3..7bfc4b702a7 100644 --- a/addons/account/invoice.py +++ b/addons/account/invoice.py @@ -153,7 +153,9 @@ class account_invoice(osv.osv): if not move_lines: res[id] = [] continue + res[id] = [] data_lines = self.pool.get('account.move.line').browse(cr,uid,move_lines) + partial_ids = []# Keeps the track of ids where partial payments are done with payment terms for line in data_lines: ids_line = [] if line.reconcile_id: @@ -161,7 +163,8 @@ class account_invoice(osv.osv): elif line.reconcile_partial_id: ids_line = line.reconcile_partial_id.line_partial_ids l = map(lambda x: x.id, ids_line) - res[id]=[x for x in l if x <> line.id] + partial_ids.append(line.id) + res[id] =[x for x in l if x <> line.id and x not in partial_ids] return res def _get_invoice_line(self, cr, uid, ids, context=None): @@ -183,11 +186,14 @@ class account_invoice(osv.osv): src = [] lines = [] for m in self.pool.get('account.move.line').browse(cr, uid, moves, context): + temp_lines = []#Added temp list to avoid duplicate records if m.reconcile_id: - lines += map(lambda x: x.id, m.reconcile_id.line_id) + temp_lines = map(lambda x: x.id, m.reconcile_id.line_id) elif m.reconcile_partial_id: - lines += map(lambda x: x.id, m.reconcile_partial_id.line_partial_ids) + temp_lines = map(lambda x: x.id, m.reconcile_partial_id.line_partial_ids) + lines += [x for x in temp_lines if x not in lines] src.append(m.id) + lines = filter(lambda x: x not in src, lines) result[invoice.id] = lines return result @@ -991,14 +997,17 @@ class account_invoice(osv.osv): else: amount_currency = False currency_id = False - + if invoice.type in ('in_invoice', 'in_refund'): + ref = invoice.reference + else: + ref = self._convert_ref(cr, uid, invoice.number) # Pay attention to the sign for both debit/credit AND amount_currency l1 = { 'debit': direction * pay_amount>0 and direction * pay_amount, 'credit': direction * pay_amount<0 and - direction * pay_amount, 'account_id': src_account_id, 'partner_id': invoice.partner_id.id, - 'ref':invoice.number, + 'ref':ref, 'date': date, 'currency_id':currency_id, 'amount_currency':amount_currency and direction * amount_currency or 0.0, @@ -1009,7 +1018,7 @@ class account_invoice(osv.osv): 'credit': direction * pay_amount>0 and direction * pay_amount, 'account_id': pay_account_id, 'partner_id': invoice.partner_id.id, - 'ref':invoice.number, + 'ref':ref, 'date': date, 'currency_id':currency_id, 'amount_currency':amount_currency and - direction * amount_currency or 0.0, @@ -1022,7 +1031,7 @@ class account_invoice(osv.osv): l2['name'] = name lines = [(0, 0, l1), (0, 0, l2)] - move = {'ref': invoice.number, 'line_id': lines, 'journal_id': pay_journal_id, 'period_id': period_id, 'date': date} + move = {'ref': ref, 'line_id': lines, 'journal_id': pay_journal_id, 'period_id': period_id, 'date': date} move_id = self.pool.get('account.move').create(cr, uid, move, context=context) line_ids = [] diff --git a/addons/account/partner.py b/addons/account/partner.py index 54c902f4f86..a3985ee68e9 100644 --- a/addons/account/partner.py +++ b/addons/account/partner.py @@ -117,7 +117,7 @@ class res_partner(osv.osv): res[pid][maps[type]] = (type=='receivable') and val or -val return res - def _credit_search(self, cr, uid, obj, name, args): + def _credit_search(self, cr, uid, obj, name, args, context): if not len(args): return [] where = ' and '.join(map(lambda x: '(sum(debit-credit)'+x[1]+str(x[2])+')',args)) @@ -128,7 +128,7 @@ class res_partner(osv.osv): return [('id','=','0')] return [('id','in',map(lambda x:x[0], res))] - def _debit_search(self, cr, uid, obj, name, args): + def _debit_search(self, cr, uid, obj, name, args, context): if not len(args): return [] query = self.pool.get('account.move.line')._query_get(cr, uid, context={}) diff --git a/addons/account/wizard/wizard_fiscalyear_close.py b/addons/account/wizard/wizard_fiscalyear_close.py index a3400d0ddf1..7e48f7c496c 100644 --- a/addons/account/wizard/wizard_fiscalyear_close.py +++ b/addons/account/wizard/wizard_fiscalyear_close.py @@ -79,10 +79,12 @@ def _data_save(self, cr, uid, data, context): if move_ids: raise wizard.except_wizard(_('UserError'), _('The opening journal must not have any entry in the new fiscal year !')) - - + query = "SELECT id FROM account_fiscalyear WHERE date_stop < '" + str(new_fyear.date_start) + "'" + cr.execute(query) + result = cr.dictfetchall() + fy_ids = ','.join([str(x['id']) for x in result]) query_line = pool.get('account.move.line')._query_get(cr, uid, - obj='account_move_line', context={'fiscalyear': fy_id}) + obj='account_move_line', context={'fiscalyear': fy_ids}) cr.execute('select id from account_account WHERE active') ids = map(lambda x: x[0], cr.fetchall()) for account in pool.get('account.account').browse(cr, uid, ids, diff --git a/addons/account/wizard/wizard_statement_from_invoice.py b/addons/account/wizard/wizard_statement_from_invoice.py index be4a01c94c4..5bb9a0d9772 100644 --- a/addons/account/wizard/wizard_statement_from_invoice.py +++ b/addons/account/wizard/wizard_statement_from_invoice.py @@ -58,15 +58,35 @@ def _search_invoices(obj, cr, uid, data, context): journal_obj = pool.get('account.journal') statement = statement_obj.browse(cr, uid, data['id'], context=context) + args_move_line = [] + repeated_move_line_ids = [] + # Creating a group that is unique for importing move lines(move lines, once imported into statement lines, should not appear again) + for st_line in statement.line_ids: + args_move_line = [] + args_move_line.append(('name','=', st_line.name)) + args_move_line.append(('ref','=',st_line.ref)) + if st_line.partner_id: + args_move_line.append(('partner_id','=',st_line.partner_id.id)) + args_move_line.append(('account_id','=',st_line.account_id.id)) + + move_line_id = line_obj.search(cr, uid, args_move_line,context=context) + if move_line_id: + repeated_move_line_ids.append(move_line_id) + journal_ids = data['form']['journal_id'][0][2] if journal_ids == []: journal_ids = journal_obj.search(cr, uid, [('type', 'in', ('sale','cash','purchase'))], context=context) - - line_ids = line_obj.search(cr, uid, [ + + args = [ ('reconcile_id', '=', False), ('journal_id', 'in', journal_ids), - ('account_id.reconcile', '=', True)], + ('account_id.reconcile', '=', True)] + + if repeated_move_line_ids: + args.append(('id','not in',repeated_move_line_ids)) + + line_ids = line_obj.search(cr, uid, args, #order='date DESC, id DESC', #doesn't work context=context) diff --git a/addons/account/wizard/wizard_subscription_generate.py b/addons/account/wizard/wizard_subscription_generate.py index 49344b1d870..51cbad9ec3a 100644 --- a/addons/account/wizard/wizard_subscription_generate.py +++ b/addons/account/wizard/wizard_subscription_generate.py @@ -29,7 +29,7 @@ import pooler _subscription_form = '''
- + ''' % ('Subscription Compute',) @@ -38,7 +38,7 @@ _subscription_fields = { } class wiz_subscription(wizard.interface): - def _action_generate(self, cr, uid, data, context): + def _action_generate(self, cr, uid, data, context={}): cr.execute('select id from account_subscription_line where date<%s and move_id is null', (data['form']['date'],)) ids = map(lambda x: x[0], cr.fetchall()) pooler.get_pool(cr.dbname).get('account.subscription.line').move_create(cr, uid, ids) diff --git a/addons/account_analytic_default/__terp__.py b/addons/account_analytic_default/__terp__.py index 79459a22935..9c3982990b3 100644 --- a/addons/account_analytic_default/__terp__.py +++ b/addons/account_analytic_default/__terp__.py @@ -34,7 +34,7 @@ Allows to automatically select analytic accounts based on criterions: """, 'author': 'Tiny', 'website': 'http://www.openerp.com', - 'depends': ['account'], + 'depends': ['account', 'sale'], 'init_xml': [], 'update_xml': ['security/ir.model.access.csv', 'account_analytic_default_view.xml'], 'demo_xml': [], diff --git a/addons/account_analytic_default/account_analytic_default.py b/addons/account_analytic_default/account_analytic_default.py index 0e5a5219b71..f22e37e5e71 100644 --- a/addons/account_analytic_default/account_analytic_default.py +++ b/addons/account_analytic_default/account_analytic_default.py @@ -70,12 +70,51 @@ account_analytic_default() class account_invoice_line(osv.osv): _inherit = 'account.invoice.line' _description = 'account invoice line' - def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition=False, price_unit=False, address_invoice_id=False, context=None): + + def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition=False, price_unit=False, address_invoice_id=False, context={}): res_prod = super(account_invoice_line,self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition, price_unit, address_invoice_id, context) rec = self.pool.get('account.analytic.default').account_get(cr, uid, product, partner_id, uid, time.strftime('%Y-%m-%d'), context) if rec: res_prod['value'].update({'account_analytic_id':rec.analytic_id.id}) + else: + res_prod['value'].update({'account_analytic_id':False}) return res_prod account_invoice_line() + +class stock_picking(osv.osv): + _inherit = "stock.picking" + + def _get_account_analytic_invoice(self, cursor, user, picking, move_line): + partner_id = picking.address_id and picking.address_id.partner_id or False + rec = self.pool.get('account.analytic.default').account_get(cursor, user, move_line.product_id.id, partner_id and partner_id.id, user, time.strftime('%Y-%m-%d'), context={}) + + if rec: + return rec.analytic_id.id + + return super(stock_picking, self)._get_account_analytic_invoice(cursor, + user, picking, move_line) + +stock_picking() + +class sale_order_line(osv.osv): + _inherit = 'sale.order.line' + + # Method overridden to set the analytic account by default on criterion match + def invoice_line_create(self, cr, uid, ids, context={}): + create_ids = super(sale_order_line,self).invoice_line_create(cr, uid, ids, context) + sale_line_obj = self.browse(cr, uid, ids[0], context) + pool_inv_line = self.pool.get('account.invoice.line') + + for line in pool_inv_line.browse(cr, uid, create_ids, context): + rec = self.pool.get('account.analytic.default').account_get(cr, uid, line.product_id.id, sale_line_obj.order_id.partner_id.id, uid, time.strftime('%Y-%m-%d'), context) + + if rec: + pool_inv_line.write(cr, uid, [line.id], {'account_analytic_id':rec.analytic_id.id}, context=context) + return create_ids + +sale_order_line() + + + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_analytic_plans/account_analytic_plans.py b/addons/account_analytic_plans/account_analytic_plans.py index d870976c5e4..51b37fdebb2 100644 --- a/addons/account_analytic_plans/account_analytic_plans.py +++ b/addons/account_analytic_plans/account_analytic_plans.py @@ -374,4 +374,25 @@ class analytic_default(osv.osv): } analytic_default() +class sale_order_line(osv.osv): + _inherit = 'sale.order.line' + + # Method overridden to set the analytic account by default on criterion match + def invoice_line_create(self, cr, uid, ids, context={}): + create_ids = super(sale_order_line,self).invoice_line_create(cr, uid, ids, context) + if ids: + sale_line_obj = self.browse(cr, uid, ids[0], context) + pool_inv_line = self.pool.get('account.invoice.line') + + for line in pool_inv_line.browse(cr, uid, create_ids, context): + rec = self.pool.get('account.analytic.default').account_get(cr, uid, line.product_id.id, sale_line_obj.order_id.partner_id.id, uid, time.strftime('%Y-%m-%d'), context) + + if rec: + pool_inv_line.write(cr, uid, [line.id], {'analytics_id':rec.analytics_id.id}, context=context) + cr.commit() + return create_ids + +sale_order_line() + + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_balance/i18n/gl.po b/addons/account_balance/i18n/gl.po index ed598509cd8..3b7d18a5114 100644 --- a/addons/account_balance/i18n/gl.po +++ b/addons/account_balance/i18n/gl.po @@ -9,13 +9,13 @@ msgstr "" "Project-Id-Version: account-balance-es\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2009-08-28 16:01+0000\n" -"PO-Revision-Date: 2009-09-08 13:38+0000\n" -"Last-Translator: Fabien (Open ERP) \n" +"PO-Revision-Date: 2010-01-22 19:50+0000\n" +"Last-Translator: Miguel Anxo Bouzada \n" "Language-Team: Galego \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-12-16 05:14+0000\n" +"X-Launchpad-Export-Date: 2010-01-23 04:45+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: account_balance @@ -60,7 +60,7 @@ msgstr "Nome da conta" #: rml:account.account.balance.landscape:0 #: rml:account.balance.account.balance:0 msgid "Debit" -msgstr "" +msgstr "Débito" #. module: account_balance #: wizard_button:account.balance.account.balance.report,init,checkyear:0 @@ -118,6 +118,24 @@ msgid "" " 5. You have an option to print the desired report in Landscape format.\n" " " msgstr "" +"O módulo de balance de contas é unha funcionalidade engadida ao módulo de " +"xestión financieira.\n" +"\n" +" Este módulo ofrece diversas opcións de impresión de balances.\n" +"\n" +" 1. Podese comparar o balance de distintos anos.\n" +"\n" +" 2. Pode establecer a comparación en importe ou porcentual entre dous " +"anos.\n" +"\n" +" 3. Pode establecer a conta de referencia para a comparación porcentual " +"para anos en particular.\n" +"\n" +" 4. Pode seleccionar períodos como unha data real ou períodos como data " +"de creación.\n" +"\n" +" 5. Pode imprimir o informe que desexe en formato apaisado.\n" +" " #. module: account_balance #: wizard_view:account.balance.account.balance.report,backtoinit:0 @@ -143,13 +161,13 @@ msgstr "Con balance se non é igual a 0" #: rml:account.account.balance.landscape:0 #: rml:account.balance.account.balance:0 msgid "Total :" -msgstr "" +msgstr "Total :" #. module: account_balance #: rml:account.account.balance.landscape:0 #: rml:account.balance.account.balance:0 msgid "Account Balance -" -msgstr "" +msgstr "Balance de conta -" #. module: account_balance #: wizard_field:account.balance.account.balance.report,init,format_perc:0 @@ -196,7 +214,7 @@ msgstr "Mostrar contas" #: rml:account.account.balance.landscape:0 #: rml:account.balance.account.balance:0 msgid "Credit" -msgstr "" +msgstr "Crédito" #. module: account_balance #: wizard_view:account.balance.account.balance.report,backtoinit:0 @@ -206,13 +224,13 @@ msgstr "1. Debe seleccionar máis de 3 exercicios en calquera caso." #. module: account_balance #: model:ir.module.module,shortdesc:account_balance.module_meta_information msgid "Accounting and financial management-Compare Accounts" -msgstr "" +msgstr "Xestión contable e financieira - Comparación de contas" #. module: account_balance #: rml:account.account.balance.landscape:0 #: rml:account.balance.account.balance:0 msgid "Year :" -msgstr "" +msgstr "Ano :" #. module: account_balance #: wizard_view:account.balance.account.balance.report,backtoinit:0 @@ -224,7 +242,7 @@ msgstr "" #: rml:account.account.balance.landscape:0 #: rml:account.balance.account.balance:0 msgid "Balance" -msgstr "" +msgstr "Balance" #. module: account_balance #: wizard_view:account.balance.account.balance.report,backtoinit:0 diff --git a/addons/account_date_check/i18n/lt.po b/addons/account_date_check/i18n/lt.po index fc4b2f0fdf2..6cb3f7303a1 100644 --- a/addons/account_date_check/i18n/lt.po +++ b/addons/account_date_check/i18n/lt.po @@ -7,19 +7,19 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2009-08-28 16:01+0000\n" -"PO-Revision-Date: 2009-02-03 06:24+0000\n" -"Last-Translator: <>\n" +"PO-Revision-Date: 2010-01-20 14:02+0000\n" +"Last-Translator: Paulius Sladkevičius \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: 2009-12-16 05:17+0000\n" +"X-Launchpad-Export-Date: 2010-01-22 04:34+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: account_date_check #: constraint:ir.ui.view:0 msgid "Invalid XML for View Architecture!" -msgstr "" +msgstr "Netinkamas XML peržiūros struktūrai!" #. module: account_date_check #: field:account.journal,allow_date:0 diff --git a/addons/account_followup/wizard/wizard_followup_print.py b/addons/account_followup/wizard/wizard_followup_print.py index 9d7e62d9a37..2f82ec6ba60 100644 --- a/addons/account_followup/wizard/wizard_followup_print.py +++ b/addons/account_followup/wizard/wizard_followup_print.py @@ -125,12 +125,13 @@ class followup_all_print(wizard.interface): def _update_partners(self, cr, uid, data, context): to_update = data['form']['to_update'] for id in to_update.keys(): - cr.execute( - "UPDATE account_move_line "\ - "SET followup_line_id=%s, followup_date=%s "\ - "WHERE id=%s", - (to_update[id], - data['form']['date'], int(id),)) + if to_update[id]['partner_id'] in data['form']['partner_ids'][0][2]: + cr.execute( + "UPDATE account_move_line "\ + "SET followup_line_id=%s, followup_date=%s "\ + "WHERE id=%s", + (to_update[id]['level'], + data['form']['date'], int(id),)) return {} def _sendmail(self ,cr, uid, data, context): @@ -263,12 +264,12 @@ class followup_all_print(wizard.interface): if date_maturity <= fups[followup_line_id][0].strftime('%Y-%m-%d'): if partner_id not in partner_list: partner_list.append(partner_id) - to_update[str(id)] = fups[followup_line_id][1] + to_update[str(id)]= {'level': fups[followup_line_id][1], 'partner_id': partner_id} elif date and date <= fups[followup_line_id][0].strftime('%Y-%m-%d'): if partner_id not in partner_list: partner_list.append(partner_id) - to_update[str(id)] = fups[followup_line_id][1] - + to_update[str(id)]= {'level': fups[followup_line_id][1], 'partner_id': partner_id} + message = pool.get('res.users').browse(cr, uid, uid, context=context).company_id.follow_up_msg return {'partner_ids': partner_list, 'to_update': to_update, 'email_body':message} diff --git a/addons/account_payment/account_move_line.py b/addons/account_payment/account_move_line.py index d501975f565..0c7f61928c3 100644 --- a/addons/account_payment/account_move_line.py +++ b/addons/account_payment/account_move_line.py @@ -46,7 +46,7 @@ class account_move_line(osv.osv): r=dict(cr.fetchall()) return r - def _to_pay_search(self, cr, uid, obj, name, args): + def _to_pay_search(self, cr, uid, obj, name, args, context): if not len(args): return [] line_obj = self.pool.get('account.move.line') diff --git a/addons/account_tax_include/invoice_tax_incl.py b/addons/account_tax_include/invoice_tax_incl.py index 62c2dca1a48..f47c587babc 100644 --- a/addons/account_tax_include/invoice_tax_incl.py +++ b/addons/account_tax_include/invoice_tax_incl.py @@ -23,6 +23,7 @@ import time import netsvc from osv import fields, osv import ir +from tools import config class account_invoice(osv.osv): _inherit = "account.invoice" @@ -45,7 +46,9 @@ class account_invoice_line(osv.osv): """ res = {} tax_obj = self.pool.get('account.tax') + cur_obj = self.pool.get('res.currency') for line in self.browse(cr, uid, ids): + cur = line.invoice_id and line.invoice_id.currency_id or False res_init = super(account_invoice_line, self)._amount_line(cr, uid, [line.id], name, args, context) res[line.id] = { 'price_subtotal': 0.0, @@ -63,13 +66,13 @@ class account_invoice_line(osv.osv): product_taxes = filter(lambda x: x.price_include, line.product_id.supplier_taxes_id) if ((set(product_taxes) == set(line.invoice_line_tax_id)) or not product_taxes) and (line.invoice_id.price_type == 'tax_included'): - res[line.id]['price_subtotal_incl'] = res_init[line.id] + res[line.id]['price_subtotal_incl'] = cur and cur_obj.round(cr, uid, cur, res_init[line.id]) or res_init[line.id] else: - res[line.id]['price_subtotal'] = res_init[line.id] + res[line.id]['price_subtotal'] = cur and cur_obj.round(cr, uid, cur, res_init[line.id]) or res_init[line.id] for tax in tax_obj.compute_inv(cr, uid, product_taxes, res_init[line.id]/line.quantity, line.quantity): - res[line.id]['price_subtotal'] = res[line.id]['price_subtotal'] - round(tax['amount'], 2) + res[line.id]['price_subtotal'] = res[line.id]['price_subtotal'] - round(tax['amount'], int(config['price_accuracy'])) else: - res[line.id]['price_subtotal'] = res_init[line.id] + res[line.id]['price_subtotal'] = cur and cur_obj.round(cr, uid, cur, res_init[line.id]) or res_init[line.id] if res[line.id]['price_subtotal']: res[line.id]['price_subtotal_incl'] = res[line.id]['price_subtotal'] @@ -82,8 +85,8 @@ class account_invoice_line(osv.osv): res[line.id]['price_subtotal'] = res[line.id]['price_subtotal'] - tax['amount'] res[line.id]['data'].append( tax) - res[line.id]['price_subtotal']= round(res[line.id]['price_subtotal'], 2) - res[line.id]['price_subtotal_incl']= round(res[line.id]['price_subtotal_incl'], 2) + res[line.id]['price_subtotal']= round(res[line.id]['price_subtotal'], int(config['price_accuracy'])) + res[line.id]['price_subtotal_incl']= round(res[line.id]['price_subtotal_incl'], int(config['price_accuracy'])) return res def _price_unit_default(self, cr, uid, context=None): diff --git a/addons/account_voucher/account.py b/addons/account_voucher/account.py index 8d6d59acf84..ec886bef6c6 100644 --- a/addons/account_voucher/account.py +++ b/addons/account_voucher/account.py @@ -28,7 +28,7 @@ import mx.DateTime from mx.DateTime import RelativeDateTime from tools import config -class Account(osv.osv): +class account_account(osv.osv): _inherit = "account.account" def _get_level(self, cr, uid, ids, field_name, arg, context={}): @@ -108,7 +108,7 @@ class Account(osv.osv): vals['type1'] = 'none' journal_ids=self.pool.get('account.journal').search(cr,uid,[('name','=','Opening Journal')]) vals['journal_id'] = journal_ids and journal_ids[0] or False - account_id = super(Account, self).create(cr, uid, vals, context) + account_id = super(account_account, self).create(cr, uid, vals, context) if vals.get('type1', False) != False: journal_id = vals.get('journal_id',False) if journal_id and vals.has_key('open_bal'): @@ -157,7 +157,7 @@ class Account(osv.osv): vals['type1'] = 'cr' else: vals['type1'] = 'none' - super(Account, self).write(cr, uid,ids, vals, context) + super(account_account, self).write(cr, uid,ids, vals, context) if vals.has_key('open_bal'): self_obj= self.browse(cr,uid,ids) move_pool=self.pool.get('account.move') @@ -213,16 +213,16 @@ class Account(osv.osv): return { 'value' : {'type1' : type1} } -Account() +account_account() -class AccountMove(osv.osv): +class account_move(osv.osv): _inherit = "account.move" _columns = { 'name':fields.char('Name', size=256, required=True, readonly=True, states={'draft':[('readonly',False)]}), 'narration':fields.text('Narration', readonly=True, select=True, states={'draft':[('readonly',False)]}), } -AccountMove() +account_move() class res_currency(osv.osv): _inherit = "res.currency" diff --git a/addons/account_voucher/report/report_voucher.rml b/addons/account_voucher/report/report_voucher.rml index 9be52c064d7..93b767e5416 100755 --- a/addons/account_voucher/report/report_voucher.rml +++ b/addons/account_voucher/report/report_voucher.rml @@ -30,7 +30,7 @@ - + @@ -63,26 +63,29 @@ - - - + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -91,27 +94,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - [[ repeatIn(objects,'voucher') ]] + [[ repeatIn(objects,'voucher') ]] [[ company.name ]] - [[ company.partner_id.address and company.partner_id.address[0].street ]], [[ company.partner_id.address and company.partner_id.address[0].street2 ]] + [[ company.partner_id.address and company.partner_id.address[0].street ]] [[ company.partner_id.address and company.partner_id.address[0].zip ]] [[ company.partner_id.address and company.partner_id.address[0].city ]] - [[ company.partner_id.address and company.partner_id.address[0].country_id and company.partner_id.address[0].country_id.name ]] [[ company.partner_id.address and company.partner_id.address[0].phone ]] [[ company.partner_id.address and company.partner_id.address[0].email ]] - Cash Receipt Voucher [[ (voucher.type == 'rec_voucher' or removeParentNode('para')) and '' ]] + + + + Cash Receipt Voucher [[ (voucher.type == 'rec_voucher' or removeParentNode('para')) and '' ]] Cash Payment Voucher [[ (voucher.type == 'pay_voucher' or removeParentNode('para')) and '' ]] - Bank Receipt Voucher [[ (voucher.type == 'bank_rec_voucher' or removeParentNode('para')) and '' ]] + Bank Receipt Voucher [[ (voucher.type == 'bank_rec_voucher' or removeParentNode('para')) and '' ]] Bank Payment Voucher [[ (voucher.type == 'bank_pay_voucher' or removeParentNode('para')) and '' ]] - + + + No. - [[ voucher.number ]] + [[ voucher.number ]] @@ -122,7 +174,7 @@ Dated : - [[ time.strftime('%d %B,%Y', time.strptime(voucher.date , '%Y-%m-%d')) or '' ]] + [[ time.strftime('%d %B,%Y', time.strptime(voucher.date , '%Y-%m-%d')) or '' ]] @@ -130,10 +182,10 @@ State : - PRO-FORMA [[ ((voucher.state == 'proforma') or removeParentNode('para')) and '' ]] - Draft[[ ((voucher.state == 'draft') or removeParentNode('para')) and '' ]] - Canceled [[ ((voucher.state == 'cancel') or removeParentNode('para')) and '' ]] - Posted [[ ((voucher.state == 'posted') or removeParentNode('para')) and '' ]] + PRO-FORMA [[ ((voucher.state == 'proforma') or removeParentNode('para')) and '' ]] + Draft[[ ((voucher.state == 'draft') or removeParentNode('para')) and '' ]] + Canceled [[ ((voucher.state == 'cancel') or removeParentNode('para')) and '' ]] + Posted [[ ((voucher.state == 'posted') or removeParentNode('para')) and '' ]] @@ -144,51 +196,58 @@ Ref. : - [[ voucher.reference ]] + [[ voucher.reference ]] - + - + - Particulars + Particulars - Debit + Debit - Credit + Credit - + - [[ repeatIn(voucher.move_ids,'move_ids') ]] - - - - [[ (move_ids.partner_id and move_ids.partner_id.name) or 'Account']] : - [[ move_ids.account_id.name ]] - [[ move_ids.name ]] - [[ get_ref(voucher.id,move_ids) ]] - - - - [[ move_ids.debit ]] - - - [[ move_ids.credit ]] - - - - + + + +
+ [[ repeatIn(voucher.move_ids,'move_ids') ]] + + + + [[ (move_ids.partner_id and move_ids.partner_id.name) or '']] : + [[ move_ids.account_id.name ]] + [[ get_ref(voucher.id,move_ids) ]] + + + [[ move_ids.debit ]] + + + [[ move_ids.credit ]] + + + + + + +
+ @@ -197,7 +256,7 @@ - + @@ -214,7 +273,7 @@ - Through : + Through : @@ -229,7 +288,7 @@ - [[ voucher.narration or '']] + [[ voucher.narration or '']] @@ -244,7 +303,7 @@ - On Account of : + On Account of : @@ -259,7 +318,7 @@ - [[ voucher.name ]] + [[ voucher.name ]] @@ -274,7 +333,22 @@ - Amount (in words) : + Amount (in words) : + + + + + + + + + + + + + + + [[ convert(voucher.amount,voucher.currency_id.name) ]] @@ -289,34 +363,19 @@ - [[ convert(voucher.amount,voucher.currency_id.name) ]] - - - + - - - - - - - - - - + [[ debit(voucher.move_ids)]] - [[ debit(voucher.move_ids)]] - - - [[ credit(voucher.move_ids) ]] + [[ credit(voucher.move_ids) ]] - + @@ -353,20 +412,20 @@ - Receiver's Signature + Receiver's Signature - + - + - Authorised Signatory + Authorised Signatory diff --git a/addons/account_voucher/report/report_voucher_amount.rml b/addons/account_voucher/report/report_voucher_amount.rml index bcc47fa6434..d8175fe3b58 100755 --- a/addons/account_voucher/report/report_voucher_amount.rml +++ b/addons/account_voucher/report/report_voucher_amount.rml @@ -16,7 +16,7 @@
- D + @@ -27,7 +27,7 @@ - + @@ -57,25 +57,25 @@ - + - - - - - - - - - - - - + + + + + + + + + + + + @@ -84,10 +84,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - [[ repeatIn(objects,'voucher') ]] + [[ repeatIn(objects,'voucher') ]] [[ company.name ]] [[ company.partner_id.address and company.partner_id.address[0].street ]] [[ company.partner_id.address and company.partner_id.address[0].zip ]] [[ company.partner_id.address and company.partner_id.address[0].city ]] - [[ company.partner_id.address and company.partner_id.address[0].country_id and company.partner_id.address[0].country_id.name ]] @@ -96,11 +140,11 @@ - Cash Receipt Voucher [[ (voucher.type == 'rec_voucher' or removeParentNode('para')) and '' ]] + Cash Receipt Voucher [[ (voucher.type == 'rec_voucher' or removeParentNode('para')) and '' ]] Cash Payment Voucher [[ (voucher.type == 'pay_voucher' or removeParentNode('para')) and '' ]] - Bank Receipt Voucher [[ (voucher.type == 'bank_rec_voucher' or removeParentNode('para')) and '' ]] + Bank Receipt Voucher [[ (voucher.type == 'bank_rec_voucher' or removeParentNode('para')) and '' ]] Bank Payment Voucher [[ (voucher.type == 'bank_pay_voucher' or removeParentNode('para')) and '' ]] - + @@ -109,7 +153,7 @@ No. - [[ voucher.number ]] + [[ voucher.number ]] @@ -120,7 +164,7 @@ Dated : - [[ time.strftime('%d %B,%Y', time.strptime(voucher.date , '%Y-%m-%d')) or '' ]] + [[ time.strftime('%d %B,%Y', time.strptime(voucher.date , '%Y-%m-%d')) or '' ]] @@ -128,10 +172,10 @@ State : - PRO-FORMA [[ ((voucher.state == 'proforma') or removeParentNode('para')) and '' ]] - Draft[[ ((voucher.state == 'draft') or removeParentNode('para')) and '' ]] - Canceled [[ ((voucher.state == 'cancel') or removeParentNode('para')) and '' ]] - Posted [[ ((voucher.state == 'posted') or removeParentNode('para')) and '' ]] + PRO-FORMA [[ ((voucher.state == 'proforma') or removeParentNode('para')) and '' ]] + Draft[[ ((voucher.state == 'draft') or removeParentNode('para')) and '' ]] + Canceled [[ ((voucher.state == 'cancel') or removeParentNode('para')) and '' ]] + Posted [[ ((voucher.state == 'posted') or removeParentNode('para')) and '' ]] @@ -142,7 +186,7 @@ Ref. : - [[ voucher.reference ]] + [[ voucher.reference ]] @@ -150,7 +194,7 @@ Account : - [[ voucher.account_id.name ]] + [[ voucher.account_id.name ]] @@ -163,17 +207,19 @@ - + - - + + + + Particulars @@ -183,26 +229,31 @@ - - - - [[ repeatIn(voucher.payment_ids,'payment_ids') ]] - - - - [[ payment_ids.partner_id.name ]] : - [[ payment_ids.account_id.name ]] - [[ payment_ids.ref ]] [[ payment_ids.amount ]] [[ payment_ids.type ]] - - - [[ payment_ids.amount ]] - - - - + + + +
+ [[ repeatIn(voucher.payment_ids,'payment_ids') ]] + + + + [[ payment_ids.partner_id.name ]] : + [[ payment_ids.account_id.name ]] + [[ payment_ids.ref ]] [[ payment_ids.amount ]] [[ payment_ids.type ]] + + + [[ payment_ids.amount ]] + + + + + + +
+ @@ -233,10 +284,10 @@ - [[ voucher.narration or '' ]] + [[ voucher.narration or '' ]] - + @@ -253,10 +304,10 @@ - [[ voucher.name ]] + [[ voucher.name ]] - + @@ -273,7 +324,7 @@ - [[ convert(voucher.amount,voucher.currency_id.name) ]] + [[ convert(voucher.amount,voucher.currency_id.name) ]] @@ -329,20 +380,20 @@ - Receiver's Signature + Receiver's Signature - + - + - Authorised Signatory + Authorised Signatory
diff --git a/addons/auction/i18n/bg.po b/addons/auction/i18n/bg.po index 62643ecb9e2..ec0d6815581 100644 --- a/addons/auction/i18n/bg.po +++ b/addons/auction/i18n/bg.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-01-20 04:36+0000\n" +"X-Launchpad-Export-Date: 2010-01-22 04:34+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: auction diff --git a/addons/auction/i18n/pt_BR.po b/addons/auction/i18n/pt_BR.po index af1925e9ff4..9cd95c4bc2e 100644 --- a/addons/auction/i18n/pt_BR.po +++ b/addons/auction/i18n/pt_BR.po @@ -7,19 +7,19 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.0\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2009-08-28 16:01+0000\n" -"PO-Revision-Date: 2010-01-18 23:06+0000\n" -"Last-Translator: Holverat \n" +"PO-Revision-Date: 2010-01-23 02:16+0000\n" +"Last-Translator: Holverat Bortolossi \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: 2010-01-20 04:36+0000\n" +"X-Launchpad-Export-Date: 2010-01-24 04:50+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: auction #: field:report.deposit.border,total_marge:0 msgid "Total margin" -msgstr "" +msgstr "Margem total" #. module: auction #: wizard_view:auction.lots.sms_send,init:0 @@ -29,7 +29,7 @@ msgstr "" #. module: auction #: view:auction.lots:0 msgid "Set to draft" -msgstr "" +msgstr "Definir como rascunho" #. module: auction #: field:auction.deposit,partner_id:0 @@ -39,12 +39,12 @@ msgstr "" #: field:report.seller.auction,seller:0 #: field:report.seller.auction2,seller:0 msgid "Seller" -msgstr "" +msgstr "Loja" #. module: auction #: constraint:ir.actions.act_window:0 msgid "Invalid model name in the action definition." -msgstr "" +msgstr "Nome de modelo inválido na definição da ação." #. module: auction #: selection:auction.lots.send.aie,date_ask,numerotation:0 @@ -56,38 +56,38 @@ msgstr "Provisório" #: selection:auction.lots.send.aie,date_ask,numerotation:0 #: selection:auction.lots.send.aie,init,numerotation:0 msgid "Definitive (ordre catalogue)" -msgstr "" +msgstr "Definitivo (catálogo do ordre)" #. module: auction #: model:ir.ui.menu,name:auction.menu_report_auction_object_date_tree1_my msgid "My Encoded Objects Per Day" -msgstr "" +msgstr "Meus objetos codificados por dia" #. module: auction #: model:ir.model,name:auction.model_auction_lot_history msgid "Lot history" -msgstr "" +msgstr "Histórico de lote" #. module: auction #: field:report.seller.auction,avg_estimation:0 msgid "Avg estimation" -msgstr "" +msgstr "Média estimada" #. module: auction #: field:report.auction.object.date,obj_num:0 #: field:report.auction.view2,obj_number:0 msgid "# of Objects" -msgstr "" +msgstr "dos Objetos" #. module: auction #: model:ir.ui.menu,name:auction.menu_action_bids_form msgid "Bids line" -msgstr "" +msgstr "Linha de Lances" #. module: auction #: xsl:report.auction.deposit:0 msgid "Deposit Form" -msgstr "" +msgstr "Formulário de Depósitos" #. module: auction #: rml:auction.bids:0 @@ -108,22 +108,22 @@ msgstr "Comprador" #: field:report.auction.view,nobjects:0 #: field:report.buyer.auction,object:0 msgid "No of objects" -msgstr "" +msgstr "Nenhum dos objetos" #. module: auction #: model:ir.ui.menu,name:auction.menu_report_auction_adjudication_tree msgid "Adjudication by Auction" -msgstr "" +msgstr "Concedido em Leilão" #. module: auction #: rml:auction.total.rml:0 msgid "# of paid items (based on invoices):" -msgstr "" +msgstr "# de itens pagos (com base na faturas):" #. module: auction #: model:ir.actions.wizard,name:auction.wizard_numerotate_lot msgid "Numerotation (per lot)" -msgstr "" +msgstr "Numeração (por lote)" #. module: auction #: selection:auction.lot.category,aie_categ:0 @@ -134,18 +134,18 @@ msgstr "" #: view:auction.deposit:0 #: model:ir.model,name:auction.model_auction_deposit msgid "Deposit Border" -msgstr "" +msgstr "Limite de Depósito" #. module: auction #: wizard_field:auction.lots.make_invoice,init,amount:0 #: wizard_field:auction.lots.make_invoice_buyer,init,amount:0 msgid "Invoiced Amount" -msgstr "" +msgstr "Valor Faturado" #. module: auction #: selection:auction.lot.category,aie_categ:0 msgid "Antique/Tin / Copper wares" -msgstr "" +msgstr "Antigo/pequeno produto de cobre ou estanho" #. module: auction #: field:auction.lots,paid_ach:0 diff --git a/addons/audittrail/i18n/pt_BR.po b/addons/audittrail/i18n/pt_BR.po index 773cf8b9054..bd8800a027c 100644 --- a/addons/audittrail/i18n/pt_BR.po +++ b/addons/audittrail/i18n/pt_BR.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-01-20 04:36+0000\n" +"X-Launchpad-Export-Date: 2010-01-22 04:34+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: audittrail diff --git a/addons/base_calendar/__init__.py b/addons/base_calendar/__init__.py new file mode 100644 index 00000000000..c127cc7c124 --- /dev/null +++ b/addons/base_calendar/__init__.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2010 Tiny SPRL (). +# +# 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 . +# +############################################################################## + +import base_calendar +import wizard + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_calendar/__terp__.py b/addons/base_calendar/__terp__.py new file mode 100644 index 00000000000..51097c2b13c --- /dev/null +++ b/addons/base_calendar/__terp__.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2010 Tiny SPRL (). +# +# 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 . +# +############################################################################## + + +{ + "name" : "Basic Calendar Functionality", + "version" : "1.0", + "depends" : [ + "base", + ], + 'description': """ + Contains basic functionality for caldav system like: + - Maintenance of basic objects needed for caldav calendar + * Event(Meeting) + * Todo(Task) + * Reminder + * Attendee + - Availabilities of synchronisation using WebDAV +""", + "author" : "Tiny", + 'category': 'Generic Modules/Others', + 'website': 'http://www.openerp.com', + "init_xml" : ["base_calendar_data.xml"], + "demo_xml" : [], + "update_xml" : [ + 'security/ir.model.access.csv', + 'base_calendar_wizard.xml', + 'base_calendar_view.xml' + ], + "installable" : True, + "active" : False, +} + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/caldav/calendar.py b/addons/base_calendar/base_calendar.py similarity index 68% rename from addons/caldav/calendar.py rename to addons/base_calendar/base_calendar.py index c746967692c..a370ce9b64b 100644 --- a/addons/caldav/calendar.py +++ b/addons/base_calendar/base_calendar.py @@ -22,8 +22,10 @@ from datetime import datetime, timedelta from dateutil import parser from dateutil.rrule import * -from osv import osv -import common +from osv import osv, fields +from tools.translate import _ +import base64 +import pooler import re import vobject @@ -32,6 +34,51 @@ import vobject # R-1 Required and can come only once # R-n Required and can come more than once +def uid2openobjectid(cr, uidval, oomodel, rdate): + __rege = re.compile(r'OpenObject-([\w|\.]+)_([0-9]+)@(\w+)$') + wematch = __rege.match(uidval.encode('utf8')) + if not wematch: + return (False, None) + else: + model, id, dbname = wematch.groups() + model_obj = pooler.get_pool(cr.dbname).get(model) + if (not model == oomodel) or (not dbname == cr.dbname): + return (False, None) + qry = 'select distinct(id) from %s' % model_obj._table + if rdate: + qry += " where recurrent_id='%s'" % (rdate) + cr.execute(qry) + r_id = cr.fetchone() + if r_id: + return (id, r_id[0]) + cr.execute(qry) + ids = map(lambda x: str(x[0]), cr.fetchall()) + if id in ids: + return (id, None) + return False + +def openobjectid2uid(cr, uidval, oomodel): + value = 'OpenObject-%s_%s@%s' % (oomodel, uidval, cr.dbname) + return value + +def get_attribute_mapping(cr, uid, calname, context={}): + pool = pooler.get_pool(cr.dbname) + field_obj = pool.get('basic.calendar.fields') + fids = field_obj.search(cr, uid, [('type_id', '=', calname)]) + res = {} + for field in field_obj.browse(cr, uid, fids): + attr = field.name.name + res[attr] = {} + res[attr]['field'] = field.field_id.name + res[attr]['type'] = field.field_id.ttype + if field.fn == 'hours': + res[attr]['type'] = "timedelta" + if res[attr]['type'] in ('one2many', 'many2many', 'many2one'): + res[attr]['object'] = field.field_id.relation + elif res[attr]['type'] in ('selection') and field.mapping: + res[attr]['mapping'] = eval(field.mapping) + return res + def map_data(cr, uid, obj): vals = {} for map_dict in obj.__attribute__: @@ -74,8 +121,8 @@ def map_data(cr, uid, obj): return vals class CalDAV(object): - __attribute__ = { - } + __attribute__ = {} + def get_recurrent_dates(self, rrulestring, exdate, startdate=None): if not startdate: startdate = datetime.now() @@ -102,8 +149,6 @@ class CalDAV(object): val = ','.join(map(lambda x: x.strftime('%Y-%m-%d %H:%M:%S'), val)) else: val = val.strftime('%Y-%m-%d %H:%M:%S') - if valtype and valtype == 'integer' and val: - val = int(val) return val else: return self.__attribute__.get(name, None) @@ -113,11 +158,32 @@ class CalDAV(object): if self.__attribute__[name]: self.__attribute__[name][type] = None return True + + def parse_ics(self, cr, uid, child): + att_data = [] + for cal_data in child.getChildren(): + if cal_data.name.lower() == 'attendee': + attendee = self.pool.get('basic.calendar.attendee') + att_data.append(attendee.import_cal(cr, uid, cal_data)) + self.ical_set(cal_data.name.lower(), att_data, 'value') + continue + if cal_data.name.lower() == 'valarm': + alarm = self.pool.get('basic.calendar.alarm') + vals = alarm.import_cal(cr, uid, cal_data) + self.ical_set(cal_data.name.lower(), vals, 'value') + continue + if cal_data.name.lower() in self.__attribute__: + self.ical_set(cal_data.name.lower(), cal_data.value, 'value') + vals = map_data(cr, uid, self) + return vals - def export_ical(self, cr, uid, datas, vobj=None, context={}): - ical = vobject.iCalendar() + def create_ics(self, cr, uid, datas, name, ical, context=None): + if not datas: + model = context.get('model', None) + war_str = "No data available" + (model and " for " + model) or "" + raise osv.except_osv(_('Warning !'), _(war_str)) for data in datas: - vevent = ical.add(vobj) + vevent = ical.add(name) for field in self.__attribute__.keys(): map_field = self.ical_get(field, 'field') map_type = self.ical_get(field, 'type') @@ -126,26 +192,31 @@ class CalDAV(object): model = context.get('model', None) if not model: continue - uidval = common.openobjectid2uid(cr, data[map_field], model) + uidval = openobjectid2uid(cr, data[map_field], model) + model_obj = self.pool.get(model) cr.execute('select id from %s where recurrent_uid=%s' - % (model.replace('.', '_'), data[map_field])) + % (model_obj._table, data[map_field])) r_ids = map(lambda x: x[0], cr.fetchall()) if r_ids: rdata = self.pool.get(model).read(cr, uid, r_ids) - rcal = self.export_ical(cr, uid, rdata, context=context) + rcal = self.export_cal(cr, uid, rdata, context=context) for revents in rcal.contents['vevent']: ical.contents['vevent'].append(revents) if data.get('recurrent_uid', None): - uidval = common.openobjectid2uid(cr, data['recurrent_uid'], model) + uidval = openobjectid2uid(cr, data['recurrent_uid'], model) vevent.add('uid').value = uidval elif field == 'attendee' and data[map_field]: + model = self.__attribute__[field].get('object', False) attendee_obj = self.pool.get('basic.calendar.attendee') - vevent = attendee_obj.export_ical(cr, uid, data[map_field], vevent, context=context) + vevent = attendee_obj.export_cal(cr, uid, model, \ + data[map_field], vevent, context=context) elif field == 'valarm' and data[map_field]: + model = self.__attribute__[field].get('object', False) alarm_obj = self.pool.get('basic.calendar.alarm') - vevent = alarm_obj.export_ical(cr, uid, data[map_field][0], vevent, context=context) + vevent = alarm_obj.export_cal(cr, uid, model, \ + data[map_field][0], vevent, context=context) elif data[map_field]: - if map_type == "text": + if map_type in ("char", "text"): vevent.add(field).value = str(data[map_field]) elif map_type == 'datetime' and data[map_field]: if field in ('exdate'): @@ -156,32 +227,32 @@ class CalDAV(object): vevent.add(field).value = timedelta(hours=data[map_field]) elif map_type == "many2one": vevent.add(field).value = [data.get(map_field)[1]] - if self.__attribute__.get(field).has_key('mapping'): - for key1, val1 in self.ical_get(field, 'mapping').items(): - if val1 == data[map_field]: - vevent.add(field).value = key1 + elif map_type in ("float", "integer"): + vevent.add(field).value = str(data.get(map_field)) + elif map_type == "selection": + if not self.ical_get(field, 'mapping'): + vevent.add(field).value = (data[map_field]).upper() + else: + for key1, val1 in self.ical_get(field, 'mapping').items(): + if val1 == data[map_field]: + vevent.add(field).value = key1 + return vevent + + def export_cal(self, cr, uid, datas, vobj=None, context={}): + self.__attribute__ = get_attribute_mapping(cr, uid, self._calname, context) + ical = vobject.iCalendar() + self.create_ics(cr, uid, datas, vobj, ical, context=context) return ical - def import_ical(self, cr, uid, ical_data): + def import_cal(self, cr, uid, content, data_id=None, context=None): + ical_data = base64.decodestring(content) + self.__attribute__ = get_attribute_mapping(cr, uid, self._calname) parsedCal = vobject.readOne(ical_data) att_data = [] res = [] for child in parsedCal.getChildren(): - for cal_data in child.getChildren(): - if cal_data.name.lower() == 'attendee': - attendee = self.pool.get('basic.calendar.attendee') - att_data.append(attendee.import_ical(cr, uid, cal_data)) - self.ical_set(cal_data.name.lower(), att_data, 'value') - continue - if cal_data.name.lower() == 'valarm': - alarm = self.pool.get('basic.calendar.alarm') - vals = alarm.import_ical(cr, uid, cal_data) - self.ical_set(cal_data.name.lower(), vals, 'value') - continue - if cal_data.name.lower() in self.__attribute__: - self.ical_set(cal_data.name.lower(), cal_data.value, 'value') if child.name.lower() in ('vevent', 'vtodo'): - vals = map_data(cr, uid, self) + vals = self.parse_ics(cr, uid, child) else: vals = {} continue @@ -190,8 +261,11 @@ class CalDAV(object): return res -class Calendar(CalDAV, osv.osv_memory): +class Calendar(CalDAV, osv.osv): _name = 'basic.calendar' + _description = 'Calendar' + _calname = 'calendar' + __attribute__ = { 'prodid': None, # Use: R-1, Type: TEXT, Specifies the identifier for the product that created the iCalendar object. 'version': None, # Use: R-1, Type: TEXT, Specifies the identifier corresponding to the highest version number @@ -204,13 +278,112 @@ class Calendar(CalDAV, osv.osv_memory): 'vjournal': None, # Use: O-n, Type: Collection of Journal class 'vfreebusy': None, # Use: O-n, Type: Collection of FreeBusy class 'vtimezone': None, # Use: O-n, Type: Collection of Timezone class - + } + _columns = { + 'name': fields.char("Name", size=64), + 'line_ids': fields.one2many('basic.calendar.lines', 'calendar_id', 'Calendar Lines'), + 'active': fields.boolean('Active'), } + _defaults = { + 'active': lambda *a: True, + } + + def export_cal(self, cr, uid, datas, vobj='vevent', context={}): + cal = self.browse(cr, uid, datas[0]) + ical = vobject.iCalendar() + for line in cal.line_ids: + if line.name in ('alarm', 'attendee'): + continue + mod_obj = self.pool.get(line.object_id.model) + data_ids = mod_obj.search(cr, uid, eval(line.domain), context=context) + datas = mod_obj.read(cr, uid, data_ids, context=context) + context.update({'model': line.object_id.model}) + self.__attribute__ = get_attribute_mapping(cr, uid, line.name, context) + self.create_ics(cr, uid, datas, line.name, ical, context=context) + return ical.serialize() + + def import_cal(self, cr, uid, content, data_id=None, context=None): + ical_data = base64.decodestring(content) + parsedCal = vobject.readOne(ical_data) + if not data_id: + data_id = self.search(cr, uid, [])[0] + cal = self.browse(cr, uid, data_id) + cal_children = {} + count = 0 + for line in cal.line_ids: + cal_children[line.name] = line.object_id.model + for child in parsedCal.getChildren(): + if child.name.lower() in cal_children: + self.__attribute__ = get_attribute_mapping(cr, uid, child.name.lower()) + val = self.parse_ics(cr, uid, child) + obj = self.pool.get(cal_children[child.name.lower()]) + if hasattr(obj, 'check_import'): + obj.check_import(cr, uid, [val], context={}) + return {} + Calendar() + +class basic_calendar_line(osv.osv): + _name = 'basic.calendar.lines' + _description = 'Calendar Lines' + _columns = { + 'name': fields.selection([('vevent', 'Event'), ('vtodo', 'TODO'), \ + ('alarm', 'Alarm'), \ + ('attendee', 'Attendee')], \ + string="Type", size=64), + 'object_id': fields.many2one('ir.model', 'Object'), + 'calendar_id': fields.many2one('basic.calendar', 'Calendar', \ + required=True, ondelete='cascade'), + 'domain': fields.char('Domain', size=124), + 'mapping_ids': fields.one2many('basic.calendar.fields', 'type_id', 'Fields Mapping') + } + + _defaults = { + 'domain': lambda *a: '[]', + } + +basic_calendar_line() + +class basic_calendar_attribute(osv.osv): + _name = 'basic.calendar.attributes' + _description = 'Calendar attributes' + _columns = { + 'name': fields.char("Name", size=64, required=True), + 'type': fields.selection([('vevent', 'Event'), ('vtodo', 'TODO'), \ + ('alarm', 'Alarm'), \ + ('attendee', 'Attendee')], \ + string="Type", size=64, required=True), + } + +basic_calendar_attribute() + +class basic_calendar_fields(osv.osv): + _name = 'basic.calendar.fields' + _description = 'Calendar fields' + + _columns = { + 'field_id': fields.many2one('ir.model.fields', 'OpenObject Field'), + 'name': fields.many2one('basic.calendar.attributes', 'Name', required=True), + 'type_id': fields.many2one('basic.calendar.lines', 'Type', \ + required=True, ondelete='cascade'), + 'expr': fields.char("Expression", size=64), + 'fn': fields.selection( [('field', 'Use the field'), + ('const', 'Expression as constant'), + ('hours', 'Interval in hours'), + ],'Function'), + 'mapping': fields.text('Mapping'), + } + + _defaults = { + 'fn': lambda *a: 'field', + } + +basic_calendar_fields() class Event(CalDAV, osv.osv_memory): _name = 'basic.calendar.event' + _calname = 'vevent' __attribute__ = { 'class': None, # Use: O-1, Type: TEXT, Defines the access classification for a calendar component like "PUBLIC" / "PRIVATE" / "CONFIDENTIAL" 'created': None, # Use: O-1, Type: DATE-TIME, Specifies the date and time that the calendar information was created by the calendar user agent in the calendar store. @@ -246,13 +419,14 @@ class Event(CalDAV, osv.osv_memory): 'duration': None, # Use: O-1, Type: DURATION, Specifies a positive duration of time. 'dtend': None, # Use: O-1, Type: DATE-TIME, Specifies the date and time that a calendar component ends. } - def export_ical(self, cr, uid, datas, vobj='vevent', context={}): - return super(Event, self).export_ical(cr, uid, datas, 'vevent', context=context) + def export_cal(self, cr, uid, datas, vobj='vevent', context={}): + return super(Event, self).export_cal(cr, uid, datas, 'vevent', context=context) Event() class ToDo(CalDAV, osv.osv_memory): _name = 'basic.calendar.todo' + _calname = 'vtodo' __attribute__ = { 'class': None, @@ -289,8 +463,8 @@ class ToDo(CalDAV, osv.osv_memory): 'rrule': None, } - def export_ical(self, cr, uid, datas, vobj='vevent', context={}): - return super(ToDo, self).export_ical(cr, uid, datas, 'vtodo', context=context) + def export_cal(self, cr, uid, datas, vobj='vevent', context={}): + return super(ToDo, self).export_cal(cr, uid, datas, 'vtodo', context=context) ToDo() @@ -329,6 +503,8 @@ class Timezone(CalDAV): class Alarm(CalDAV, osv.osv_memory): _name = 'basic.calendar.alarm' + _calname = 'alarm' + __attribute__ = { 'action': None, # Use: R-1, Type: Text, defines the action to be invoked when an alarm is triggered LIKE "AUDIO" / "DISPLAY" / "EMAIL" / "PROCEDURE" 'description': None, # Type: Text, Provides a more complete description of the calendar component, than that provided by the "SUMMARY" property. Use:- R-1 for DISPLAY,Use:- R-1 for EMAIL,Use:- R-1 for PROCEDURE @@ -341,9 +517,9 @@ class Alarm(CalDAV, osv.osv_memory): 'x-prop': None, } - def export_ical(self, cr, uid, alarm_id, vevent, context={}): + def export_cal(self, cr, uid, model, alarm_id, vevent, context={}): valarm = vevent.add('valarm') - alarm_object = self.pool.get('calendar.alarm') + alarm_object = self.pool.get(model) alarm_data = alarm_object.read(cr, uid, alarm_id, []) # Compute trigger data @@ -365,9 +541,9 @@ class Alarm(CalDAV, osv.osv_memory): # Compute other details valarm.add('DESCRIPTION').value = alarm_data['name'] valarm.add('ACTION').value = alarm_data['action'] + return vevent - - def import_ical(self, cr, uid, ical_data): + def import_cal(self, cr, uid, ical_data): for child in ical_data.getChildren(): if child.name.lower() == 'trigger': seconds = child.value.seconds @@ -401,6 +577,8 @@ Alarm() class Attendee(CalDAV, osv.osv_memory): _name = 'basic.calendar.attendee' + _calname = 'attendee' + __attribute__ = { 'cutype': None, # Use: 0-1 Specify the type of calendar user specified by the property like "INDIVIDUAL"/"GROUP"/"RESOURCE"/"ROOM"/"UNKNOWN". 'member': None, # Use: 0-1 Specify the group or list membership of the calendar user specified by the property. @@ -415,7 +593,7 @@ class Attendee(CalDAV, osv.osv_memory): 'language': None, # Use: 0-1 Specify the language for text values in a property or property parameter. } - def import_ical(self, cr, uid, ical_data): + def import_cal(self, cr, uid, ical_data): for para in ical_data.params: if para.lower() == 'cn': self.ical_set(para.lower(), ical_data.params[para][0]+':'+ \ @@ -427,11 +605,13 @@ class Attendee(CalDAV, osv.osv_memory): vals = map_data(cr, uid, self) return vals - def export_ical(self, cr, uid, attendee_id, vevent, context={}): - attendee_object = self.pool.get('calendar.attendee') - for attendee in attendee_object.read(cr, uid, attendee_id, []): + def export_cal(self, cr, uid, model, attendee_ids, vevent, context={}): + attendee_object = self.pool.get(model) + self.__attribute__ = get_attribute_mapping(cr, uid, self._calname, context) + for attendee in attendee_object.read(cr, uid, attendee_ids, []): attendee_add = vevent.add('attendee') - for a_key, a_val in attendee_object.__attribute__.items(): + cn_val = '' + for a_key, a_val in self.__attribute__.items(): if attendee[a_val['field']] and a_val['field'] != 'cn': if a_val['type'] == 'text': attendee_add.params[a_key] = [str(attendee[a_val['field']])] diff --git a/addons/base_calendar/base_calendar_data.xml b/addons/base_calendar/base_calendar_data.xml new file mode 100644 index 00000000000..0e7250071c8 --- /dev/null +++ b/addons/base_calendar/base_calendar_data.xml @@ -0,0 +1,369 @@ + + + + + + OpenERP + + + + + + comment + vevent + + + + uid + vevent + + + + seq + vevent + + + + recurrence-id + vevent + + + + transp + vevent + + + + attendee + vevent + + + + related + vevent + + + + rrule + vevent + + + + dtend + vevent + + + + valarm + vevent + + + + priority + vevent + + + + location + vevent + + + + exrule + vevent + + + + resources + vevent + + + + rstatus + vevent + + + + status + vevent + + + + exdate + vevent + + + + dtstamp + vevent + + + + description + vevent + + + + rdate + vevent + + + + dtstart + vevent + + + + class + vevent + + + + x-openobject-model + vevent + + + + created + vevent + + + + url + vevent + + + + summary + vevent + + + + contact + vevent + + + + + + + status + vtodo + + + + comment + vtodo + + + + attendee + vtodo + + + + valarm + vtodo + + + + description + vtodo + + + + seq + vtodo + + + + url + vtodo + + + + completed + vtodo + + + + percent + vtodo + + + + due + vtodo + + + + summary + vtodo + + + + priority + vtodo + + + + exdate + vtodo + + + + location + vtodo + + + + exrule + vtodo + + + + duration + vtodo + + + + organizer + vtodo + + + + dtstart + vtodo + + + + rrule + vtodo + + + + class + vtodo + + + + uid + vtodo + + + + + + cn + attendee + + + + sent-by + attendee + + + + language + attendee + + + + delegated-from + attendee + + + + member + attendee + + + + cutype + attendee + + + + role + attendee + + + + partstat + attendee + + + + delegated-to + attendee + + + + dir + attendee + + + + rsvp + attendee + + + + + + attendee + alarm + + + + trigger_duration + alarm + + + + description + alarm + + + + attach + alarm + + + + trigger_occurs + alarm + + + + trigger_interval + alarm + + + + summary + alarm + + + + duration + alarm + + + + repeat + alarm + + + + action + alarm + + + + trigger_related + alarm + + + + diff --git a/addons/base_calendar/base_calendar_view.xml b/addons/base_calendar/base_calendar_view.xml new file mode 100644 index 00000000000..0165e483f53 --- /dev/null +++ b/addons/base_calendar/base_calendar_view.xml @@ -0,0 +1,61 @@ + + + + + + Basic Calendar + basic.calendar + form + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + Calendar + ir.actions.act_window + basic.calendar + form + tree,form + + + + + + +
+
diff --git a/addons/base_calendar/base_calendar_wizard.xml b/addons/base_calendar/base_calendar_wizard.xml new file mode 100644 index 00000000000..1c20f80a06c --- /dev/null +++ b/addons/base_calendar/base_calendar_wizard.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/addons/base_calendar/security/ir.model.access.csv b/addons/base_calendar/security/ir.model.access.csv new file mode 100644 index 00000000000..dd84c390183 --- /dev/null +++ b/addons/base_calendar/security/ir.model.access.csv @@ -0,0 +1,6 @@ +"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" +"access_basic_calendar_all","basic.calendar","model_basic_calendar",,1,1,1,1 +"access_basic_calendar_event_all","basic.calendar.event","model_basic_calendar_event",,1,1,1,1 +"access_basic_calendar_attendee_all","basic.calendar.attendee","model_basic_calendar_attendee",,1,1,1,1 +"access_calendar_todo_all","basic.calendar.todo","model_basic_calendar_todo",,1,1,1,1 +"access_basic_calendar_alarm_all","basic.calendar.alarm","model_basic_calendar_alarm",,1,1,1,1 diff --git a/addons/caldav/wizard/__init__.py b/addons/base_calendar/wizard/__init__.py similarity index 100% rename from addons/caldav/wizard/__init__.py rename to addons/base_calendar/wizard/__init__.py diff --git a/addons/caldav/wizard/wizard_cal_edit_event.py b/addons/base_calendar/wizard/wizard_cal_edit_event.py similarity index 90% rename from addons/caldav/wizard/wizard_cal_edit_event.py rename to addons/base_calendar/wizard/wizard_cal_edit_event.py index cfe98c65ea8..c7f4e44dbd1 100644 --- a/addons/caldav/wizard/wizard_cal_edit_event.py +++ b/addons/base_calendar/wizard/wizard_cal_edit_event.py @@ -45,17 +45,20 @@ class event_edit_this(wizard.interface): 'alarm_id': {'string': 'Reminder', 'type': 'many2one', 'relation': 'res.alarm'}, } - def _default_values(self, cr, uid, data, context): + def _default_values(self, cr, uid, data, context=None): model = data.get('model') model_obj = pooler.get_pool(cr.dbname).get(model) - event = model_obj.read(cr, uid, data['id'], ['name', 'location', 'date',\ - 'date_deadline', 'alarm_id']) + event = model_obj.read(cr, uid, data['id'], ['name', 'location', 'alarm_id']) + event.update({ + 'date': context.get('date'), + 'date_deadline': context.get('date_deadline') + }) return event - def _modify_this(self, cr, uid, datas, *args): + def _modify_this(self, cr, uid, datas, context=None): model = datas.get('model') model_obj = pooler.get_pool(cr.dbname).get(model) - new_id = model_obj.modify_this(cr, uid, [datas['id']], datas['form']) + new_id = model_obj.modify_this(cr, uid, [datas['id']], datas['form'], context) value = { 'name': 'New event', 'view_type': 'form', diff --git a/addons/caldav/wizard/wizard_cal_export.py b/addons/base_calendar/wizard/wizard_cal_export.py similarity index 92% rename from addons/caldav/wizard/wizard_cal_export.py rename to addons/base_calendar/wizard/wizard_cal_export.py index 4b32f02420f..f0504b3a6b6 100644 --- a/addons/caldav/wizard/wizard_cal_export.py +++ b/addons/base_calendar/wizard/wizard_cal_export.py @@ -51,15 +51,16 @@ class cal_event_export_wizard(wizard.interface): model_obj = pooler.get_pool(cr.dbname).get(model) calendar = model_obj.export_cal(cr, uid, data['ids'], context) return {'file_path': base64.encodestring(calendar), \ - 'name': 'OpenERP Events.ics'} - + 'name': 'OpenERP %s.ics' % (model_obj._description)} + states = { 'init': { 'actions': [_process_export_ics], 'result': {'type': 'form', 'arch':form1, 'fields':form1_fields, \ - 'state': [('end', '_Cancel', 'gtk-cancel'), ('end', 'Ok', 'gtk-ok')]}}, + 'state': [('end', '_Cancel', 'gtk-cancel'), \ + ('end', 'Ok', 'gtk-ok')]}}, } -cal_event_export_wizard('caldav.event.export') +cal_event_export_wizard('calendar.event.export') # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/caldav/wizard/wizard_cal_import.py b/addons/base_calendar/wizard/wizard_cal_import.py similarity index 97% rename from addons/caldav/wizard/wizard_cal_import.py rename to addons/base_calendar/wizard/wizard_cal_import.py index 259b3b48b03..fac1eaeab4d 100644 --- a/addons/caldav/wizard/wizard_cal_import.py +++ b/addons/base_calendar/wizard/wizard_cal_import.py @@ -54,7 +54,7 @@ class cal_event_import_wizard(wizard.interface): def _process_imp_ics(self, cr, uid, data, context=None): model = data.get('model') model_obj = pooler.get_pool(cr.dbname).get(model) - vals = model_obj.import_cal(cr, uid, data['form']['file_path'], context) + vals = model_obj.import_cal(cr, uid, data['form']['file_path'], data['id'], context) global cnt cnt = 0 if vals: @@ -81,6 +81,6 @@ class cal_event_import_wizard(wizard.interface): }, } -cal_event_import_wizard('caldav.event.import') +cal_event_import_wizard('calendar.event.import') # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/caldav/wizard/wizard_cal_subscribe.py b/addons/base_calendar/wizard/wizard_cal_subscribe.py similarity index 98% rename from addons/caldav/wizard/wizard_cal_subscribe.py rename to addons/base_calendar/wizard/wizard_cal_subscribe.py index 4fcdeffd89f..c4dceab660c 100644 --- a/addons/caldav/wizard/wizard_cal_subscribe.py +++ b/addons/base_calendar/wizard/wizard_cal_subscribe.py @@ -90,6 +90,6 @@ class cal_event_subscribe_wizard(wizard.interface): }, } -cal_event_subscribe_wizard('caldav.event.subscribe') +cal_event_subscribe_wizard('calendar.event.subscribe') # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_contact/base_contact.py b/addons/base_contact/base_contact.py index ec529a96865..457a96a1c6b 100644 --- a/addons/base_contact/base_contact.py +++ b/addons/base_contact/base_contact.py @@ -39,6 +39,13 @@ class res_partner_contact(osv.osv): res = [(r['shortcut'], r['name']) for r in res if r['domain']=='contact'] return res + def _main_job(self, cr, uid, ids, fields, arg, context=None): + res = dict.fromkeys(ids, False) + for contact in self.browse(cr, uid, ids, context): + if contact.job_ids: + res[contact.id] = contact.job_ids[0].name_get()[0] + return res + _columns = { 'name': fields.char('Last Name', size=30,required=True), 'first_name': fields.char('First Name', size=30), @@ -52,7 +59,7 @@ class res_partner_contact(osv.osv): 'active' : fields.boolean('Active', help="If the active field is set to true, it will allow you to hide the partner contact without removing it."), 'partner_id':fields.related('job_ids','address_id','partner_id',type='many2one', relation='res.partner', string='Main Employer'), 'function_id':fields.related('job_ids','function_id',type='many2one', relation='res.partner.function', string='Main Function'), - 'job_id':fields.related('job_ids',type='many2one', relation='res.partner.job', string='Main Job'), + 'job_id': fields.function(_main_job, method=True, type='many2one', relation='res.partner.job', string='Main Job'), 'email': fields.char('E-Mail', size=240), 'comment' : fields.text('Notes', translate=True), 'photo' : fields.binary('Image'), @@ -81,6 +88,12 @@ res_partner_contact() class res_partner_address(osv.osv): + def search(self, cr, user, args, offset=0, limit=None, order=None, + context=None, count=False): + if context and context.has_key('address_partner_id' ) and context['address_partner_id']: + args.append(('partner_id', '=', context['address_partner_id'])) + return super(res_partner_address, self).search(cr, user, args, offset, limit, order, context, count) + #overriding of the name_get defined in base in order to remove the old contact name def name_get(self, cr, user, ids, context={}): if not len(ids): @@ -155,7 +168,7 @@ class res_partner_job(osv.osv): _defaults = { 'sequence_contact' : lambda *a: 0, - 'state' : lambda *a: 'current', + 'state' : lambda *a: 'current', } res_partner_job() diff --git a/addons/base_contact/base_contact_view.xml b/addons/base_contact/base_contact_view.xml index db7ea54314e..6123e7ed938 100644 --- a/addons/base_contact/base_contact_view.xml +++ b/addons/base_contact/base_contact_view.xml @@ -48,16 +48,13 @@
- - - - - - - - - - + + + + + + + @@ -385,7 +382,7 @@ - + diff --git a/addons/base_contact/i18n/tr.po b/addons/base_contact/i18n/tr.po index a20c496d34c..670d6329fbd 100644 --- a/addons/base_contact/i18n/tr.po +++ b/addons/base_contact/i18n/tr.po @@ -7,30 +7,30 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2009-08-28 16:01+0000\n" -"PO-Revision-Date: 2009-02-03 17:44+0000\n" -"Last-Translator: Fabien (Open ERP) \n" +"PO-Revision-Date: 2010-01-24 18:48+0000\n" +"Last-Translator: Oktay Altunergil \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: 2009-12-16 05:08+0000\n" +"X-Launchpad-Export-Date: 2010-01-25 04:48+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: base_contact #: field:res.partner.job,sequence_contact:0 msgid "Contact Seq." -msgstr "" +msgstr "Bağlantı Sırası" #. module: base_contact #: model:ir.model,name:base_contact.model_res_partner_contact msgid "res.partner.contact" -msgstr "" +msgstr "res.partner.contact" #. module: base_contact #: constraint:ir.model:0 msgid "" "The Object name must start with x_ and not contain any special character !" -msgstr "" +msgstr "Nesne adı x_ ile başlamalı ve özel karakterler içermemelidir!" #. module: base_contact #: field:res.partner.job,function_id:0 @@ -45,7 +45,7 @@ msgstr "" #: view:res.partner.address:0 #: field:res.partner.address,job_ids:0 msgid "Contacts" -msgstr "Kişiler" +msgstr "Bağlantılar" #. module: base_contact #: field:res.partner.job,sequence_partner:0 @@ -55,7 +55,7 @@ msgstr "" #. module: base_contact #: selection:res.partner.job,state:0 msgid "Current" -msgstr "" +msgstr "Güncel" #. module: base_contact #: field:res.partner.contact,first_name:0 @@ -70,7 +70,7 @@ msgstr "" #. module: base_contact #: field:res.partner.job,other:0 msgid "Other" -msgstr "" +msgstr "Diğer" #. module: base_contact #: model:process.transition,name:base_contact.process_transition_contacttofunction0 diff --git a/addons/base_module_record/wizard/base_module_record_objects.py b/addons/base_module_record/wizard/base_module_record_objects.py index bd2fb95a67e..c74dd744bdf 100644 --- a/addons/base_module_record/wizard/base_module_record_objects.py +++ b/addons/base_module_record/wizard/base_module_record_objects.py @@ -56,7 +56,7 @@ def _info_default(self, cr, uid, data, context): cr.execute('select max(create_date) from ir_model_data') c=(cr.fetchone())[0].split('.')[0] c = time.strptime(c,"%Y-%m-%d %H:%M:%S") - sec=c.tm_sec + 1 + sec=c.tm_sec!=59 and c.tm_sec + 1 c=(c[0],c[1],c[2],c[3],c[4],sec,c[6],c[7],c[8]) data['form']['check_date']=time.strftime("%Y-%m-%d %H:%M:%S",c) return data['form'] @@ -108,7 +108,7 @@ class base_module_record_objects(wizard.interface): ('record', 'Record', 'gtk-ok'), ] } - }, + }, 'record': { 'actions': [], 'result': {'type':'action','action':_record_objects,'state':'intro'} @@ -124,7 +124,7 @@ class base_module_record_objects(wizard.interface): ('save', 'Continue', 'gtk-ok'), ] }, - }, + }, 'save': { 'actions': [inter_call], 'result': { diff --git a/addons/base_report_creator/base_report_creator.py b/addons/base_report_creator/base_report_creator.py index 5cbe50cf9df..36547f68ae5 100644 --- a/addons/base_report_creator/base_report_creator.py +++ b/addons/base_report_creator/base_report_creator.py @@ -64,8 +64,12 @@ class report_creator(osv.osv): fields = {} i = 0 for f in report.field_ids: - fields['field'+str(i)] = models[f.field_id.model][f.field_id.name] - i+=1 + if f.field_id.model: + fields['field'+str(i)] = models[f.field_id.model][f.field_id.name] + i+=1 + else: + fields['column_count'] = {'readonly': True, 'type': 'integer', 'string': 'Count', 'size': 64, 'name': 'column_count'} + return fields # @@ -81,8 +85,12 @@ class report_creator(osv.osv): fields = {} i = 0 for f in report.field_ids: - fields['field'+str(i)] = models[f.field_id.model][f.field_id.name] - i+=1 + if f.field_id.model: + fields['field'+str(i)] = models[f.field_id.model][f.field_id.name] + i+=1 + else: + fields['column_count'] = {'readonly': True, 'type': 'integer', 'string': 'Count', 'size': 64, 'name': 'column_count'} + arch = '\n' if view_type=='graph': arch +='' % (report.name, report.view_graph_type,report.view_graph_orientation) @@ -90,8 +98,12 @@ class report_creator(osv.osv): i = 0 for f in report.field_ids: if f.graph_mode==val: - arch += '' % ('field'+str(i),) - i+=1 + if f.field_id.model: + arch += '' % ('field'+str(i),) + i+=1 + else: + arch += '' % ('column_count',) + elif view_type=='calendar': required_types = ['date_start','date_delay','color'] set_dict = {'view_type':view_type,'string':report.name} @@ -99,13 +111,21 @@ class report_creator(osv.osv): i=0 for f in report.field_ids: if f.calendar_mode and f.calendar_mode in required_types: - set_dict[f.calendar_mode] = 'field'+str(i) - i+=1 + if f.field_id.model: + field_cal = 'field'+str(i) + i+=1 + else: + field_cal = 'column_count' + set_dict[f.calendar_mode] = field_cal del required_types[required_types.index(f.calendar_mode)] else: - temp_list.append('''''' % {'name':'field'+str(i)}) - i+=1 + if f.field_id.model: + temp_list.append('''''' % {'name':'field'+str(i)}) + i+=1 + else: + temp_list.append('''''' % {'name':'column_count'}) + arch += '''<%(view_type)s string="%(string)s" date_start="%(date_start)s" ''' %set_dict if set_dict.get('date_delay',False): arch +=''' date_delay="%(date_delay)s" '''%set_dict @@ -121,8 +141,11 @@ class report_creator(osv.osv): arch += '<%s string="%s">\n' % (view_type, report.name) i = 0 for f in report.field_ids: - arch += '' % ('field'+str(i),) - i+=1 + if f.field_id.model: + arch += '' % ('field'+str(i),) + i+=1 + else: + arch += '' % ('column_count',) arch += '' % (view_type,) result = { 'arch': arch, @@ -166,14 +189,20 @@ class report_creator(osv.osv): i = 0 fields = {} for f in report.field_ids: - fields['field'+str(i)] = (f.field_id.model, f.field_id.name) - i+=1 + if f.field_id.model: + fields['field'+str(i)] = (f.field_id.model, f.field_id.name) + i+=1 + else: + fields['column_count'] = (False, 'Count') newargs = [] newargs2 = [] for a in args: - res = self.pool.get(fields[a[0]][0])._where_calc(cr, user, [[fields[a[0]][1],a[1],a[2]]], active_test=False, context=context) - newargs+=res[0] - newargs2+=res[1] + if fields[a[0]][0]: + res = self.pool.get(fields[a[0]][0])._where_calc(cr, user, [[fields[a[0]][1],a[1],a[2]]], active_test=False, context=context) + newargs+=res[0] + newargs2+=res[1] + else: + newargs += [("count(*) " + a[1] +" " + str(a[2]))] ctx = context or {} ctx['getid'] = True report = self._sql_query_get(cr, user, [context['report_id']], 'sql_query', None, ctx, where_plus=newargs, limit=limit, offset=offset) @@ -198,7 +227,7 @@ class report_creator(osv.osv): filter_list = [] for model in models: model_dict[model.model] = self.pool.get(model.model)._table - + model_list = model_dict.keys() reference_model_dict = {} for model in model_dict: @@ -207,10 +236,22 @@ class report_creator(osv.osv): rest_list.remove(model) model_pool = self.pool.get(model) fields_get = model_pool.fields_get(cr,uid) - fields_filter = dict(filter(lambda x:x[1].get('relation',False) - and x[1].get('relation') in rest_list - and x[1].get('type')=='many2one' - and not (isinstance(model_pool._columns[x[0]],fields.function) or isinstance(model_pool._columns[x[0]],fields.related) or isinstance(model_pool._columns[x[0]],fields.dummy)), fields_get.items())) + model_columns = {} + + def _get_inherit_fields(obj): + pool_model = self.pool.get(obj) + #Adding the columns of the model itself + model_columns.update(pool_model._columns) + #Adding the columns of its _inherits + for record in pool_model._inherits.keys(): + _get_inherit_fields(record) + + _get_inherit_fields(model) + + fields_filter = dict(filter(lambda x:x[1].get('relation',False) + and x[1].get('relation') in rest_list + and x[1].get('type')=='many2one' + and not (isinstance(model_columns[x[0]],fields.function) or isinstance(model_columns[x[0]],fields.related)), fields_get.items())) if fields_filter: model in model_list and model_list.remove(model) model_count = reference_model_dict.get(model,False) @@ -225,9 +266,10 @@ class report_creator(osv.osv): reference_model_dict[v.get('relation')] = relation_count+1 else: reference_model_dict[v.get('relation')]=1 - - str_where = model_dict.get(model)+"."+ k + "=" + model_dict.get(v.get('relation'))+'.id' - where_list.append(str_where) + if k in self.pool.get(model)._columns: + str_where = model_dict.get(model)+"."+ k + "=" + model_dict.get(v.get('relation'))+'.id' + where_list.append(str_where) + if reference_model_dict: self.model_set_id = model_dict.get(reference_model_dict.keys()[reference_model_dict.values().index(min(reference_model_dict.values()))]) if model_list and not len(model_dict.keys()) == 1: @@ -250,6 +292,7 @@ class report_creator(osv.osv): if where_list: + where_list = list(set(where_list)) ret_str+="\n where \n"+" and\n".join(where_list) ret_str = ret_str.strip() if filter_list: @@ -272,12 +315,16 @@ class report_creator(osv.osv): groupby = [] i = 0 for f in obj.field_ids: + # Allowing to use count(*) + if not f.field_id.model and f.group_method == 'count': + fields.insert(0,('count(*) as column_count')) + continue t = self.pool.get(f.field_id.model_id.model)._table if f.group_method == 'group': fields.append('\t'+t+'.'+f.field_id.name+' as field'+str(i)) - groupby.append(t+'.'+f.field_id.name) else: fields.append('\t'+f.group_method+'('+t+'.'+f.field_id.name+')'+' as field'+str(i)) + groupby.append(t+'.'+f.field_id.name) i+=1 models = self._path_get(cr, uid, obj.model_ids, obj.filter_ids) check = self._id_get(cr, uid, ids[0], context) @@ -336,6 +383,9 @@ class report_creator(osv.osv): this_objs = self.browse(cr, uid, ids) for obj in this_objs: for fld in obj.field_ids: + # Allowing to use count(*) + if not fld.field_id.model and fld.group_method == 'count': + continue model_column = self.pool.get(fld.field_id.model)._columns[fld.field_id.name] if (isinstance(model_column,fields.function) or isinstance(model_column,fields.related)) and not model_column.store: return False @@ -347,7 +397,10 @@ class report_creator(osv.osv): this_objs = self.browse(cr, uid, ids) for obj in this_objs: for fld in obj.field_ids: - model_column = self.pool.get(fld.field_id.model)._columns[fld.field_id.name] + # Allowing to use count(*) + if not fld.field_id.model and fld.group_method == 'count': + continue + model_column = self.pool.get(fld.field_id.model)._columns[fld.field_id.name] if model_column._type not in aggregate_columns and fld.group_method in apply_functions: return False return True @@ -359,6 +412,9 @@ class report_creator(osv.osv): for obj in this_objs: if obj.view_type1=='calendar' or obj.view_type2=='calendar' or obj.view_type3=='calendar': for fld in obj.field_ids: + # Allowing to use count(*) + if not fld.field_id.model and fld.group_method == 'count': + continue model_column = self.pool.get(fld.field_id.model)._columns[fld.field_id.name] if fld.calendar_mode in ('date_start','date_end') and model_column._type not in ('date','datetime'): return False diff --git a/addons/base_report_creator/base_report_creator_view.xml b/addons/base_report_creator/base_report_creator_view.xml index 0d102b18c24..30c6b3735a9 100644 --- a/addons/base_report_creator/base_report_creator_view.xml +++ b/addons/base_report_creator/base_report_creator_view.xml @@ -67,7 +67,7 @@ - + diff --git a/addons/base_report_creator/wizard/base_report_creator_open.py b/addons/base_report_creator/wizard/base_report_creator_open.py index a342114d119..be7420c5744 100644 --- a/addons/base_report_creator/wizard/base_report_creator_open.py +++ b/addons/base_report_creator/wizard/base_report_creator_open.py @@ -25,13 +25,15 @@ import netsvc import time import pooler from osv import osv - +from tools.translate import _ class report_creator_open(wizard.interface): def _open_report(self, cr, uid, data, context): pool = pooler.get_pool(cr.dbname) + if context.get('report_id',False): + raise wizard.except_wizard(_('UserError'),_('No Wizards available for this object!')) rep = pool.get('base_report_creator.report').browse(cr, uid, data['id'], context) view_mode = rep.view_type1 if rep.view_type2: diff --git a/addons/base_report_creator/wizard/wiz_set_filter_fields.py b/addons/base_report_creator/wizard/wiz_set_filter_fields.py index 82083cb3858..cf4accf56e9 100644 --- a/addons/base_report_creator/wizard/wiz_set_filter_fields.py +++ b/addons/base_report_creator/wizard/wiz_set_filter_fields.py @@ -22,6 +22,7 @@ import wizard import netsvc import pooler +import tools relation_type=['one2many','many2one','many2many'] char_type = ['char','text','selection'] @@ -121,7 +122,7 @@ def _set_filter_value(self, cr, uid, data, context): model_pool = pooler.get_pool(cr.dbname).get(model_name) table_name = model_pool._table model_name = model_pool._description - + if field_type: if field_type == 'boolean': if value_data == 1: @@ -138,12 +139,12 @@ def _set_filter_value(self, cr, uid, data, context): fields_list = set_field_operator(self,table_name+"."+field_data['name'],field_data['ttype'],form_data['operator'],value_data) if fields_list: create_dict = { - 'name':model_name + "/" +field_data['field_description'] +" "+ mapping_fields[form_data['operator']] + " " + str(fields_list[2]) + " ", - 'expression':' '.join(map(str,fields_list)), + 'name':model_name + "/" +field_data['field_description'] +" "+ mapping_fields[form_data['operator']] + " " + tools.ustr(fields_list[2]) + " ", + 'expression':' '.join(map(tools.ustr,fields_list)), 'report_id':data['id'], 'condition' : form_data['condition'] } - pooler.get_pool(cr.dbname).get('base_report_creator.report.filter').create(cr,uid,create_dict) + pooler.get_pool(cr.dbname).get('base_report_creator.report.filter').create(cr,uid,create_dict,context) #end if field_type == 'many2many' and value_data and len(value_data): # pooler.get_pool(cr.dbname).get('custom.report.filter').create(cr,uid,form_data) #end if field_type: diff --git a/addons/base_setup/i18n/tr.po b/addons/base_setup/i18n/tr.po index 9b148f60e86..b1c018e705a 100644 --- a/addons/base_setup/i18n/tr.po +++ b/addons/base_setup/i18n/tr.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2009-08-28 16:01+0000\n" -"PO-Revision-Date: 2009-02-03 06:25+0000\n" -"Last-Translator: <>\n" +"PO-Revision-Date: 2010-01-24 18:52+0000\n" +"Last-Translator: Oktay Altunergil \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: 2009-12-16 05:10+0000\n" +"X-Launchpad-Export-Date: 2010-01-25 04:48+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: base_setup @@ -84,7 +84,7 @@ msgstr "" #: wizard_field:base_setup.base_setup,init,state_id:0 #: wizard_field:base_setup.base_setup,update,state_id:0 msgid "State" -msgstr "" +msgstr "Eyalet" #. module: base_setup #: wizard_view:base_setup.base_setup,finish:0 diff --git a/addons/board_crm_configuration/__terp__.py b/addons/board_crm_configuration/__terp__.py index 2d67fdc0174..3c303ee2d1c 100644 --- a/addons/board_crm_configuration/__terp__.py +++ b/addons/board_crm_configuration/__terp__.py @@ -37,7 +37,7 @@ This module implements a dashboard for CRM that includes: 'depends': ['board', 'crm', 'report_crm'], 'update_xml': ['board_crm_statistical_view.xml', 'board_crm_view.xml'], 'demo_xml': ['board_crm_demo.xml'], - 'installable': False, + 'installable': True, 'active': False, 'certificate': '0071599098909', } diff --git a/addons/board_crm_configuration/board_crm_statistical_view.xml b/addons/board_crm_configuration/board_crm_statistical_view.xml index 8e01d0d0eba..8dbe05735f0 100644 --- a/addons/board_crm_configuration/board_crm_statistical_view.xml +++ b/addons/board_crm_configuration/board_crm_statistical_view.xml @@ -6,7 +6,7 @@ --> Leads By Stage - Graph - report.crm.case.section.stage + report.crm.lead.section.stage graph @@ -17,12 +17,12 @@ - - report.crm.case.categ.graph - report.crm.case.categ + + report.crm.opportunity.categ.graph + report.crm.opportunity.categ graph - + @@ -31,34 +31,27 @@ - report.crm.case.section.stage + report.crm.lead.section.stage form graph,tree,form - [('section_id', '=', 'Leads'),('state','!=','done'),('state','!=','cancel')] + [('state','!=','done'),('state','!=','cancel')] - - @@ -84,11 +77,6 @@ - - CRM Configuration - - - crm.case.user.graph1 - report.crm.case.user + + + crm.opportunity.user.graph1 + report.crm.opportunity.user graph - + @@ -18,21 +18,21 @@ - crm.case + crm.lead form tree,form - [('section_id.name', '=', 'Prospects'),('user_id','=',uid),('state','!=','pending'),('state','!=','cancel')] + [('user_id','=',uid),('state','!=','pending'),('state','!=','cancel')] - crm.case + crm.meeting form tree,form - [('section_id.name', '=', 'Meetings'),('user_id','=',uid),('state','!=','pending'),('state','!=','cancel')] + [('user_id','=',uid),('state','!=','pending'),('state','!=','cancel')] - + - report.crm.case.section.stage + report.crm.lead.section.stage form graph,tree,form - [('section_id.name', '=', 'Leads'),('user_id','=',uid),('state','!=','pending'),('state','!=','cancel')] + [('user_id','=',uid),('state','!=','pending'),('state','!=','cancel')] - report.crm.case.user + report.crm.opportunity.user form graph,tree,form - - [('section_id.name', '=', 'Opportunities'),('user_id','=',uid),('state','!=','pending'),('state','!=','cancel')] - - - - report.crm.case.user - form - graph,tree,form - - [('section_id.name','=','Jobs'),('user_id','=',uid),('state','!=','pending'),('state','!=','cancel')] + + [('user_id','=',uid),('state','!=','pending'),('state','!=','cancel')] @@ -86,7 +78,7 @@ name="%(act_my_meetings)d" height="150" colspan="4"/> - + + + vevent + + + + + + vtodo + + + + + + alarm + + + + + + attendee + + + + + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + hours + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + + + + + field + + + diff --git a/addons/caldav/caldav_wizard.xml b/addons/caldav/caldav_wizard.xml deleted file mode 100644 index 62a035889e3..00000000000 --- a/addons/caldav/caldav_wizard.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - diff --git a/addons/caldav/security/ir.model.access.csv b/addons/caldav/security/ir.model.access.csv index fabb3c42484..8a720533140 100644 --- a/addons/caldav/security/ir.model.access.csv +++ b/addons/caldav/security/ir.model.access.csv @@ -1,9 +1,4 @@ "id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" -"access_basic_calendar_all","basic.calendar","model_basic_calendar",,1,1,1,1 -"access_basic_calendar_event_all","basic.calendar.event","model_basic_calendar_event",,1,1,1,1 -"access_basic_calendar_attendee_all","basic.calendar.attendee","model_basic_calendar_attendee",,1,1,1,1 -"access_calendar_todo_all","basic.calendar.todo","model_basic_calendar_todo",,1,1,1,1 -"access_calendar_todo_all","basic.calendar.todo","model_basic_calendar_todo",,1,1,1,1 "access_calendar_attendee","calendar.attendee","model_calendar_attendee",,1,1,1,1 "access_calendar_alarm","calendar.alarm","model_calendar_alarm",,1,1,1,1 "access_res_alarm","res.alarm","model_res_alarm",,1,1,1,1 diff --git a/addons/crm/crm_claim.py b/addons/crm/crm_claim.py index 781ce45bacb..5e83ce1c367 100644 --- a/addons/crm/crm_claim.py +++ b/addons/crm/crm_claim.py @@ -53,6 +53,7 @@ class crm_claim(osv.osv): 'partner_mobile': fields.char('Mobile', size=32), 'partner_phone': fields.char('Phone', size=32), 'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.claim')]"), + 'probability': fields.float('Probability (%)'), } _defaults = { diff --git a/addons/crm/crm_claims_view.xml b/addons/crm/crm_claims_view.xml index 0e81f4f34e2..17dd87caa50 100644 --- a/addons/crm/crm_claims_view.xml +++ b/addons/crm/crm_claims_view.xml @@ -38,6 +38,7 @@ + @@ -71,6 +72,7 @@ + diff --git a/addons/crm/crm_mailgate.py b/addons/crm/crm_mailgate.py index 6189bb7088a..2da93ee3347 100644 --- a/addons/crm/crm_mailgate.py +++ b/addons/crm/crm_mailgate.py @@ -58,8 +58,7 @@ class crm_cases(osv.osv): mailgate_obj = self.pool.get('mail.gateway') msg_actions, body_data = mailgate_obj.msg_act_get(msg) data.update({ - 'description': body_data, - 'history_line': [(0, 0, {'description': body_data, 'email': msg['From']})], + 'description': body_data, }) act = 'case_'+default_act if 'state' in msg_actions: @@ -79,7 +78,9 @@ class crm_cases(osv.osv): if 'partner' in msg_actions: data['email_from'] = msg_actions['partner'][:128] - res = self.write(cr, uid, ids, data) + res = self.write(cr, uid, ids, data) + cases = self.browse(cr, uid, [res]) + self.__history(cr, uid, cases, _('Receive'), history=True, email=msg['From']) getattr(self,act)(cr, uid, ids) return res diff --git a/addons/crm/crm_meeting.py b/addons/crm/crm_meeting.py index f6cf6faf439..ac7cc8c48c7 100644 --- a/addons/crm/crm_meeting.py +++ b/addons/crm/crm_meeting.py @@ -20,7 +20,7 @@ ############################################################################## from osv import fields, osv - +import crm class crm_meeting(osv.osv): _name = 'crm.meeting' @@ -29,12 +29,7 @@ class crm_meeting(osv.osv): _inherit = ["crm.case", "calendar.event"] _columns = { - 'priority': fields.selection([('5','Lowest'), - ('4','Low'), - ('3','Normal'), - ('2','High'), - ('1','Highest') - ], 'Priority'), + 'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'), 'categ_id': fields.many2one('crm.case.categ', 'Category', \ domain="[('section_id','=',section_id),\ ('object_id.model', '=', 'crm.meeting')]", \ diff --git a/addons/crm/crm_meeting_data.xml b/addons/crm/crm_meeting_data.xml index 22b6d9ed29c..e13346aed8a 100644 --- a/addons/crm/crm_meeting_data.xml +++ b/addons/crm/crm_meeting_data.xml @@ -1,30 +1,62 @@ - - + + - - Customer Meeting - - - - - Internal Meeting - - - - - Phone Call - - - + + Customer Meeting + + + - - Case Meeting - crm.meeting - - + + Internal Meeting + + + - + + Phone Call + + + + + + Case Meeting + crm.meeting + + + + vevent + + + + + + + + + + + + field + + + + + + + + field + + + + + + + field + + + diff --git a/addons/crm/crm_meeting_view.xml b/addons/crm/crm_meeting_view.xml index b1b3c4b61f5..58a6fa4246a 100644 --- a/addons/crm/crm_meeting_view.xml +++ b/addons/crm/crm_meeting_view.xml @@ -1,6 +1,20 @@ + # ------------------------------------------------------ + # Meetings Categories + # ------------------------------------------------------ + + + Meeting Categories + crm.case.categ + form + + [('object_id.model', '=', 'crm.meeting')] + {'object_id':'crm.meeting'} + + + # ------------------------------------------------------ # Meetings # ------------------------------------------------------ @@ -22,7 +36,7 @@ - + - + + @@ -83,8 +98,8 @@