diff --git a/addons/account/invoice.py b/addons/account/invoice.py
index 64634e34a96..fcaeb42c01f 100644
--- a/addons/account/invoice.py
+++ b/addons/account/invoice.py
@@ -94,7 +94,7 @@ class account_invoice(osv.osv):
if invoice.move_id:
for m in invoice.move_id.line_id:
if m.account_id.type in ('receivable','payable'):
- result[invoice.id] = m.amount_residual_currency
+ result[invoice.id] += m.amount_residual_currency
return result
# Give Journal Items related to the payment reconciled to this invoice
@@ -353,6 +353,8 @@ class account_invoice(osv.osv):
raise orm.except_orm(_('Unknown Error'), str(e))
def confirm_paid(self, cr, uid, ids, context=None):
+ if context is None:
+ context = {}
self.write(cr, uid, ids, {'state':'paid'}, context=context)
for inv_id, name in self.name_get(cr, uid, ids, context=context):
message = _("Invoice '%s' is paid.") % name
@@ -360,6 +362,8 @@ class account_invoice(osv.osv):
return True
def unlink(self, cr, uid, ids, context=None):
+ if context is None:
+ context = {}
invoices = self.read(cr, uid, ids, ['state'], context=context)
unlink_ids = []
for t in invoices:
@@ -598,6 +602,8 @@ class account_invoice(osv.osv):
return res
def copy(self, cr, uid, id, default={}, context=None):
+ if context is None:
+ context = {}
default.update({
'state':'draft',
'number':False,
diff --git a/addons/account/wizard/account_automatic_reconcile.py b/addons/account/wizard/account_automatic_reconcile.py
index 432a430868c..13fef1fde0d 100644
--- a/addons/account/wizard/account_automatic_reconcile.py
+++ b/addons/account/wizard/account_automatic_reconcile.py
@@ -144,6 +144,9 @@ class account_automatic_reconcile(osv.osv_memory):
if context is None:
context = {}
form = self.read(cr, uid, ids, [])[0]
+ for m2o_field in ['journal_id','period_id','writeoff_acc_id']:
+ if form[m2o_field] and isinstance(form[m2o_field], tuple):
+ form[m2o_field] = form[m2o_field][0]
max_amount = form.get('max_amount', False) and form.get('max_amount') or 0.0
power = form['power']
allow_write_off = form['allow_write_off']
@@ -252,4 +255,4 @@ class account_automatic_reconcile(osv.osv_memory):
account_automatic_reconcile()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account/wizard/account_change_currency.py b/addons/account/wizard/account_change_currency.py
index d915a1cd34b..223ba327343 100644
--- a/addons/account/wizard/account_change_currency.py
+++ b/addons/account/wizard/account_change_currency.py
@@ -45,8 +45,8 @@ class account_change_currency(osv.osv_memory):
obj_currency = self.pool.get('res.currency')
if context is None:
context = {}
- data = self.read(cr, uid, ids)[0]
- new_currency = data['currency_id']
+ data = self.browse(cr, uid, ids)[0]
+ new_currency = data.currency_id.id
invoice = obj_inv.browse(cr, uid, context['active_id'], context=context)
if invoice.currency_id.id == new_currency:
@@ -76,4 +76,4 @@ class account_change_currency(osv.osv_memory):
account_change_currency()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account/wizard/account_chart.py b/addons/account/wizard/account_chart.py
index e8f0e432d69..58526b30b0a 100644
--- a/addons/account/wizard/account_chart.py
+++ b/addons/account/wizard/account_chart.py
@@ -79,17 +79,17 @@ class account_chart(osv.osv_memory):
fy_obj = self.pool.get('account.fiscalyear')
if context is None:
context = {}
- data = self.read(cr, uid, ids, [], context=context)[0]
+ data = self.browse(cr, uid, ids, context=context)[0]
result = mod_obj.get_object_reference(cr, uid, 'account', 'action_account_tree')
id = result and result[1] or False
result = act_obj.read(cr, uid, [id], context=context)[0]
result['periods'] = []
- if data['period_from'] and data['period_to']:
- result['periods'] = period_obj.build_ctx_periods(cr, uid, data['period_from'], data['period_to'])
- result['context'] = str({'fiscalyear': data['fiscalyear'], 'periods': result['periods'], \
- 'state': data['target_move']})
- if data['fiscalyear']:
- result['name'] += ':' + fy_obj.read(cr, uid, [data['fiscalyear']], context=context)[0]['code']
+ if data.period_from and data.period_to:
+ result['periods'] = period_obj.build_ctx_periods(cr, uid, data.period_from.id, data.period_to.id)
+ result['context'] = str({'fiscalyear': data.fiscalyear.id, 'periods': result['periods'], \
+ 'state': data.target_move})
+ if data.fiscalyear:
+ result['name'] += ':' + fy_obj.read(cr, uid, [data.fiscalyear.id], context=context)[0]['code']
return result
_defaults = {
diff --git a/addons/account/wizard/account_fiscalyear_close.py b/addons/account/wizard/account_fiscalyear_close.py
index 6190f792c7f..bd635839afb 100644
--- a/addons/account/wizard/account_fiscalyear_close.py
+++ b/addons/account/wizard/account_fiscalyear_close.py
@@ -56,7 +56,10 @@ class account_fiscalyear_close(osv.osv_memory):
obj_acc_account = self.pool.get('account.account')
obj_acc_journal_period = self.pool.get('account.journal.period')
- data = self.read(cr, uid, ids, context=context)
+ data = self.read(cr, uid, ids, context=context)
+ for m2o_field in ['fy_id','fy2_id','journal_id','period_id']:
+ if isinstance(data[0][m2o_field], tuple):
+ data[0][m2o_field] = data[0][m2o_field][0]
if context is None:
context = {}
diff --git a/addons/account/wizard/account_fiscalyear_close_state.py b/addons/account/wizard/account_fiscalyear_close_state.py
index abf054746ce..30edce42077 100644
--- a/addons/account/wizard/account_fiscalyear_close_state.py
+++ b/addons/account/wizard/account_fiscalyear_close_state.py
@@ -40,8 +40,8 @@ class account_fiscalyear_close_state(osv.osv_memory):
@param ids: List of Account fiscalyear close state’s IDs
"""
- for data in self.read(cr, uid, ids, context=context):
- fy_id = data['fy_id']
+ for data in self.browse(cr, uid, ids, context=context):
+ fy_id = data.fy_id.id
cr.execute('UPDATE account_journal_period ' \
'SET state = %s ' \
@@ -61,4 +61,4 @@ class account_fiscalyear_close_state(osv.osv_memory):
account_fiscalyear_close_state()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account/wizard/account_invoice_refund.py b/addons/account/wizard/account_invoice_refund.py
index 672e2a28fba..edc2b1d99c9 100644
--- a/addons/account/wizard/account_invoice_refund.py
+++ b/addons/account/wizard/account_invoice_refund.py
@@ -95,6 +95,8 @@ class account_invoice_refund(osv.osv_memory):
description = False
company = res_users_obj.browse(cr, uid, uid, context=context).company_id
journal_id = form.get('journal_id', False)
+ if isinstance(journal_id, tuple):
+ journal_id = journal_id[0]
for inv in inv_obj.browse(cr, uid, context.get('active_ids'), context=context):
if inv.state in ['draft', 'proforma2', 'cancel']:
raise osv.except_osv(_('Error !'), _('Can not %s draft/proforma/cancel invoice.') % (mode))
@@ -102,6 +104,8 @@ class account_invoice_refund(osv.osv_memory):
raise osv.except_osv(_('Error !'), _('Can not %s invoice which is already reconciled, invoice should be unreconciled first. You can only Refund this invoice') % (mode))
if form['period']:
period = form['period']
+ if isinstance(period, tuple):
+ period = period[0]
else:
period = inv.period_id and inv.period_id.id or False
@@ -217,4 +221,4 @@ class account_invoice_refund(osv.osv_memory):
account_invoice_refund()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account/wizard/account_move_bank_reconcile.py b/addons/account/wizard/account_move_bank_reconcile.py
index 9be351ed440..266c6e764b4 100644
--- a/addons/account/wizard/account_move_bank_reconcile.py
+++ b/addons/account/wizard/account_move_bank_reconcile.py
@@ -41,15 +41,15 @@ class account_move_bank_reconcile(osv.osv_memory):
"""
if context is None:
context = {}
- data = self.read(cr, uid, ids, context=context)[0]
+ data = self.browse(cr, uid, ids, context=context)[0]
cr.execute('select default_credit_account_id \
- from account_journal where id=%s', (data['journal_id'],))
+ from account_journal where id=%s', (data.journal_id.id,))
account_id = cr.fetchone()[0]
if not account_id:
raise osv.except_osv(_('Error'), _('You have to define \
the bank account\nin the journal definition for reconciliation.'))
return {
- 'domain': "[('journal_id','=',%d), ('account_id','=',%d), ('state','<>','draft')]" % (data['journal_id'], account_id),
+ 'domain': "[('journal_id','=',%d), ('account_id','=',%d), ('state','<>','draft')]" % (data.journal_id.id, account_id),
'name': _('Standard Encoding'),
'view_type': 'form',
'view_mode': 'tree,form',
@@ -61,4 +61,4 @@ the bank account\nin the journal definition for reconciliation.'))
account_move_bank_reconcile()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account/wizard/account_move_line_reconcile_select.py b/addons/account/wizard/account_move_line_reconcile_select.py
index 8e57c57884d..d0953bd83ba 100644
--- a/addons/account/wizard/account_move_line_reconcile_select.py
+++ b/addons/account/wizard/account_move_line_reconcile_select.py
@@ -39,9 +39,9 @@ class account_move_line_reconcile_select(osv.osv_memory):
@return: dictionary of Open account move line window for reconcile on given account id
"""
- data = self.read(cr, uid, ids, context=context)[0]
+ data = self.browse(cr, uid, ids, context=context)[0]
return {
- 'domain': "[('account_id','=',%d),('reconcile_id','=',False),('state','<>','draft')]" % data['account_id'],
+ 'domain': "[('account_id','=',%d),('reconcile_id','=',False),('state','<>','draft')]" % data.account_id.id,
'name': _('Reconciliation'),
'view_type': 'form',
'view_mode': 'tree,form',
@@ -52,4 +52,4 @@ class account_move_line_reconcile_select(osv.osv_memory):
account_move_line_reconcile_select()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account/wizard/account_move_line_unreconcile_select.py b/addons/account/wizard/account_move_line_unreconcile_select.py
index ad59493503d..084b93cdaa2 100644
--- a/addons/account/wizard/account_move_line_unreconcile_select.py
+++ b/addons/account/wizard/account_move_line_unreconcile_select.py
@@ -28,9 +28,9 @@ class account_move_line_unreconcile_select(osv.osv_memory):
'account_id': fields.many2one('account.account','Account',required=True),
}
def action_open_window(self, cr, uid, ids, context=None):
- data = self.read(cr, uid, ids, context=context)[0]
+ data = self.browse(cr, uid, ids, context=context)[0]
return {
- 'domain': "[('account_id','=',%d),('reconcile_id','<>',False),('state','<>','draft')]" % data['account_id'],
+ 'domain': "[('account_id','=',%d),('reconcile_id','<>',False),('state','<>','draft')]" % data.account_id.id,
'name': 'Unreconciliation',
'view_type': 'form',
'view_mode': 'tree,form',
@@ -41,4 +41,4 @@ class account_move_line_unreconcile_select(osv.osv_memory):
account_move_line_unreconcile_select()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account/wizard/account_reconcile.py b/addons/account/wizard/account_reconcile.py
index 8131f6a9668..07da76733e4 100644
--- a/addons/account/wizard/account_reconcile.py
+++ b/addons/account/wizard/account_reconcile.py
@@ -152,13 +152,13 @@ class account_move_line_reconcile_writeoff(osv.osv_memory):
period_obj = self.pool.get('account.period')
if context is None:
context = {}
- data = self.read(cr, uid, ids,context=context)[0]
- account_id = data['writeoff_acc_id']
- context['date_p'] = data['date_p']
- journal_id = data['journal_id']
- context['comment'] = data['comment']
- if data['analytic_id']:
- context['analytic_id'] = data['analytic_id']
+ data = self.browse(cr, uid, ids,context=context)[0]
+ account_id = data.writeoff_acc_id.id
+ context['date_p'] = data.date_p
+ journal_id = data.journal_id.id
+ context['comment'] = data.comment
+ if data.analytic_id:
+ context['analytic_id'] = data.analytic_id.id
if context['date_p']:
date = context['date_p']
@@ -173,4 +173,4 @@ class account_move_line_reconcile_writeoff(osv.osv_memory):
account_move_line_reconcile_writeoff()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account/wizard/account_tax_chart.py b/addons/account/wizard/account_tax_chart.py
index 9e02931f34d..fd9b887ee2b 100644
--- a/addons/account/wizard/account_tax_chart.py
+++ b/addons/account/wizard/account_tax_chart.py
@@ -54,20 +54,20 @@ class account_tax_chart(osv.osv_memory):
period_obj = self.pool.get('account.period')
if context is None:
context = {}
- data = self.read(cr, uid, ids, [], context=context)[0]
+ data = self.browse(cr, uid, ids, context=context)[0]
result = mod_obj.get_object_reference(cr, uid, 'account', 'action_tax_code_tree')
id = result and result[1] or False
result = act_obj.read(cr, uid, [id], context=context)[0]
- if data['period_id']:
- fiscalyear_id = period_obj.read(cr, uid, [data['period_id']], context=context)[0]['fiscalyear_id'][0]
- result['context'] = str({'period_id': data['period_id'], \
+ if data.period_id:
+ fiscalyear_id = period_obj.read(cr, uid, [data.period_id.id], context=context)[0]['fiscalyear_id'][0]
+ result['context'] = str({'period_id': data.period_id.id, \
'fiscalyear_id': fiscalyear_id, \
- 'state': data['target_move']})
+ 'state': data.target_move})
else:
- result['context'] = str({'state': data['target_move']})
+ result['context'] = str({'state': data.target_move})
- if data['period_id']:
- period_code = period_obj.read(cr, uid, [data['period_id']], context=context)[0]['code']
+ if data.period_id:
+ period_code = period_obj.read(cr, uid, [data.period_id.id], context=context)[0]['code']
result['name'] += period_code and (':' + period_code) or ''
return result
@@ -78,4 +78,4 @@ class account_tax_chart(osv.osv_memory):
account_tax_chart()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_analytic_plans/wizard/account_crossovered_analytic.py b/addons/account_analytic_plans/wizard/account_crossovered_analytic.py
index 4eaca49e2ca..2974c160501 100644
--- a/addons/account_analytic_plans/wizard/account_crossovered_analytic.py
+++ b/addons/account_analytic_plans/wizard/account_crossovered_analytic.py
@@ -45,6 +45,8 @@ class account_crossovered_analytic(osv.osv_memory):
acc_ids = [x[0] for x in res]
data = self.read(cr, uid, ids, [], context=context)[0]
+ if isinstance(data['ref'],tuple):
+ data['ref'] = data['ref'][0]
obj_acc = self.pool.get('account.analytic.account').browse(cr, uid, data['ref'], context=context)
name = obj_acc.name
@@ -72,4 +74,4 @@ class account_crossovered_analytic(osv.osv_memory):
account_crossovered_analytic()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_coda/wizard/account_coda_import.py b/addons/account_coda/wizard/account_coda_import.py
index 6d3743116db..309a647ef47 100644
--- a/addons/account_coda/wizard/account_coda_import.py
+++ b/addons/account_coda/wizard/account_coda_import.py
@@ -69,14 +69,14 @@ class account_coda_import(osv.osv_memory):
if context is None:
context = {}
- data = self.read(cr, uid, ids)[0]
+ data = self.browse(cr, uid, ids)[0]
- codafile = data['coda']
- journal_code = journal_obj.browse(cr, uid, data['journal_id'], context=context).code
+ codafile = data.coda
+ journal_code = journal_obj.browse(cr, uid, data.journal_id.id, context=context).code
period = account_period_obj.find(cr, uid, context=context)[0]
- def_pay_acc = data['def_payable']
- def_rec_acc = data['def_receivable']
+ def_pay_acc = data.def_payable.id
+ def_rec_acc = data.def_receivable.id
err_log = "Errors:\n------\n"
nb_err=0
@@ -96,7 +96,7 @@ class account_coda_import(osv.osv_memory):
bank_statement["bank_statement_line"]={}
bank_statement_lines = {}
bank_statement['date'] = str2date(line[5:11])
- bank_statement['journal_id']=data['journal_id']
+ bank_statement['journal_id']=data.journal_id.id
period_id = account_period_obj.search(cr, uid, [('date_start', '<=', time.strftime('%Y-%m-%d', time.strptime(bank_statement['date'], "%y/%m/%d"))), ('date_stop', '>=', time.strftime('%Y-%m-%d', time.strptime(bank_statement['date'], "%y/%m/%d")))])
bank_statement['period_id'] = period_id and period_id[0] or False
bank_statement['state']='draft'
@@ -144,7 +144,7 @@ class account_coda_import(osv.osv_memory):
bank_statement["bank_statement_line"]=bank_statement_lines
elif line[1] == '2':
st_line_name = line[2:6]
- bank_statement_lines[st_line_name].update({'account_id': data['awaiting_account']})
+ bank_statement_lines[st_line_name].update({'account_id': data.awaiting_account.id})
elif line[1] == '3':
# movement data record 3.1
@@ -165,7 +165,7 @@ class account_coda_import(osv.osv_memory):
else:
nb_err += 1
err_log += _('The bank account %s is not defined for the partner %s.\n')%(cntry_number, contry_name)
- bank_statement_lines[st_line_name].update({'account_id': data['awaiting_account']})
+ bank_statement_lines[st_line_name].update({'account_id': data.awaiting_account.id})
bank_statement["bank_statement_line"]=bank_statement_lines
elif line[0]=='3':
@@ -296,7 +296,7 @@ class account_coda_import(osv.osv_memory):
'name': codafile,
'statement_ids': [(6, 0, bkst_list,)],
'note': str_log1+str_not+std_log+err_log,
- 'journal_id': data['journal_id'],
+ 'journal_id': data.journal_id.id,
'date': time.strftime("%Y-%m-%d"),
'user_id': uid,
})
@@ -336,4 +336,4 @@ class account_coda_import(osv.osv_memory):
account_coda_import()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_followup/wizard/account_followup_print.py b/addons/account_followup/wizard/account_followup_print.py
index 5d9c2da860f..e8f5e976389 100644
--- a/addons/account_followup/wizard/account_followup_print.py
+++ b/addons/account_followup/wizard/account_followup_print.py
@@ -48,10 +48,10 @@ class account_followup_print(osv.osv_memory):
if context is None:
context = {}
- data = self.read(cr, uid, ids, [], context=context)[0]
+ data = self.browse(cr, uid, ids, context=context)[0]
model_data_ids = mod_obj.search(cr, uid, [('model','=','ir.ui.view'),('name','=','view_account_followup_print_all')], context=context)
resource_id = mod_obj.read(cr, uid, model_data_ids, fields=['res_id'], context=context)[0]['res_id']
- context.update({'followup_id': data['followup_id'], 'date':data['date']})
+ context.update({'followup_id': data.followup_id.id, 'date':data.date})
return {
'name': _('Select Partners'),
'view_type': 'form',
diff --git a/addons/account_invoice_layout/report/special_message_invoice.py b/addons/account_invoice_layout/report/special_message_invoice.py
index bac4a467ae1..81298bb6a06 100644
--- a/addons/account_invoice_layout/report/special_message_invoice.py
+++ b/addons/account_invoice_layout/report/special_message_invoice.py
@@ -37,7 +37,10 @@ class account_invoice_with_message(report_sxw.rml_parse):
self.context = context
def spcl_msg(self, form):
- account_msg_data = pooler.get_pool(self.cr.dbname).get('notify.message').browse(self.cr, self.uid, form['message'])
+ msg_id = form['message']
+ if isinstance(msg_id, (tuple,list)):
+ msg_id = msg_id[0]
+ account_msg_data = pooler.get_pool(self.cr.dbname).get('notify.message').browse(self.cr, self.uid, msg_id)
msg = account_msg_data.msg
return msg
diff --git a/addons/account_payment/account_payment.py b/addons/account_payment/account_payment.py
index d5858d94f80..138be103f2e 100644
--- a/addons/account_payment/account_payment.py
+++ b/addons/account_payment/account_payment.py
@@ -306,7 +306,7 @@ class payment_line(osv.osv):
if id.move_line_id:
res[id.id] = id.move_line_id.date_maturity
else:
- res[id.id] = ""
+ res[id.id] = False
return res
def _get_ml_created_date(self, cr, uid, ids, *a):
@@ -315,7 +315,7 @@ class payment_line(osv.osv):
if id.move_line_id:
res[id.id] = id.move_line_id.date_created
else:
- res[id.id] = ""
+ res[id.id] = False
return res
_columns = {
diff --git a/addons/account_payment/account_payment_view.xml b/addons/account_payment/account_payment_view.xml
index 5c935f188fb..b829748cb93 100644
--- a/addons/account_payment/account_payment_view.xml
+++ b/addons/account_payment/account_payment_view.xml
@@ -108,7 +108,7 @@
-
+