[IMP] : Added context=None on methods used for _constraints and replaced context={} with context=None.
bzr revid: uco@tinyerp.com-20101119134801-974ev29j4tu46pq2
This commit is contained in:
parent
58e9ba97bb
commit
12fcd1be2f
|
@ -116,7 +116,7 @@ class account_payment_term_line(osv.osv):
|
|||
_order = "sequence"
|
||||
|
||||
def _check_percent(self, cr, uid, ids, context=None):
|
||||
obj = self.browse(cr, uid, ids[0])
|
||||
obj = self.browse(cr, uid, ids[0], context=context)
|
||||
if obj.value == 'procent' and ( obj.value_amount < 0.0 or obj.value_amount > 1.0):
|
||||
return False
|
||||
return True
|
||||
|
@ -182,7 +182,7 @@ class account_account(osv.osv):
|
|||
|
||||
def search(self, cr, uid, args, offset=0, limit=None, order=None,
|
||||
context=None, count=False):
|
||||
if context is None:
|
||||
if not context:
|
||||
context = {}
|
||||
pos = 0
|
||||
|
||||
|
@ -215,7 +215,7 @@ class account_account(osv.osv):
|
|||
order, context=context, count=count)
|
||||
|
||||
def _get_children_and_consol(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
if not context:
|
||||
context = {}
|
||||
#this function search for all the children and all consolidated children (recursively) of the given account ids
|
||||
ids2 = self.search(cr, uid, [('parent_id', 'child_of', ids)], context=context)
|
||||
|
@ -309,15 +309,19 @@ class account_account(osv.osv):
|
|||
res[id] = sums.get(id, null_result)
|
||||
return res
|
||||
|
||||
def _get_company_currency(self, cr, uid, ids, field_name, arg, context={}):
|
||||
def _get_company_currency(self, cr, uid, ids, field_name, arg, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
result = {}
|
||||
for rec in self.browse(cr, uid, ids, context):
|
||||
for rec in self.browse(cr, uid, ids, context=context):
|
||||
result[rec.id] = (rec.company_id.currency_id.id,rec.company_id.currency_id.code)
|
||||
return result
|
||||
|
||||
def _get_child_ids(self, cr, uid, ids, field_name, arg, context={}):
|
||||
def _get_child_ids(self, cr, uid, ids, field_name, arg, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
result = {}
|
||||
for record in self.browse(cr, uid, ids, context):
|
||||
for record in self.browse(cr, uid, ids, context=context):
|
||||
if record.child_parent_ids:
|
||||
result[record.id] = [x.id for x in record.child_parent_ids]
|
||||
else:
|
||||
|
@ -330,9 +334,11 @@ class account_account(osv.osv):
|
|||
|
||||
return result
|
||||
|
||||
def _get_level(self, cr, uid, ids, field_name, arg, context={}):
|
||||
def _get_level(self, cr, uid, ids, field_name, arg, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
res={}
|
||||
accounts = self.browse(cr, uid, ids)
|
||||
accounts = self.browse(cr, uid, ids, context=context)
|
||||
for account in accounts:
|
||||
level = 0
|
||||
if account.parent_id:
|
||||
|
@ -396,8 +402,10 @@ class account_account(osv.osv):
|
|||
'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'account.account', context=c),
|
||||
}
|
||||
|
||||
def _check_recursion(self, cr, uid, ids):
|
||||
obj_self = self.browse(cr, uid, ids[0])
|
||||
def _check_recursion(self, cr, uid, ids, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
obj_self = self.browse(cr, uid, ids[0], context=context)
|
||||
p_id = obj_self.parent_id and obj_self.parent_id.id
|
||||
if (obj_self in obj_self.child_consol_ids) or (p_id and (p_id is obj_self.id)):
|
||||
return False
|
||||
|
@ -433,7 +441,7 @@ class account_account(osv.osv):
|
|||
try:
|
||||
if name and str(name).startswith('partner:'):
|
||||
part_id = int(name.split(':')[1])
|
||||
part = self.pool.get('res.partner').browse(cr, user, part_id, context)
|
||||
part = self.pool.get('res.partner').browse(cr, user, part_id, context=context)
|
||||
args += [('id', 'in', (part.property_account_payable.id, part.property_account_receivable.id))]
|
||||
name = False
|
||||
if name and str(name).startswith('type:'):
|
||||
|
@ -491,6 +499,8 @@ class account_account(osv.osv):
|
|||
return super(account_account, self).copy(cr, uid, id, default, context=context)
|
||||
|
||||
def _check_moves(self, cr, uid, ids, method, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
line_obj = self.pool.get('account.move.line')
|
||||
account_ids = self.search(cr, uid, [('id', 'child_of', ids)])
|
||||
|
||||
|
@ -507,6 +517,8 @@ class account_account(osv.osv):
|
|||
return True
|
||||
|
||||
def _check_allow_type_change(self, cr, uid, ids, new_type, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
group1 = ['payable', 'receivable', 'other']
|
||||
group2 = ['consolidation','view']
|
||||
line_obj = self.pool.get('account.move.line')
|
||||
|
@ -523,7 +535,7 @@ class account_account(osv.osv):
|
|||
return True
|
||||
|
||||
def write(self, cr, uid, ids, vals, context=None):
|
||||
if context is None:
|
||||
if not context:
|
||||
context = {}
|
||||
|
||||
if 'company_id' in vals:
|
||||
|
@ -697,7 +709,7 @@ class account_journal(osv.osv):
|
|||
def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100):
|
||||
if not args:
|
||||
args = []
|
||||
if context is None:
|
||||
if not context:
|
||||
context = {}
|
||||
ids = []
|
||||
if context.get('journal_type', False):
|
||||
|
@ -778,8 +790,10 @@ class account_fiscalyear(osv.osv):
|
|||
return False
|
||||
return True
|
||||
|
||||
def _check_duration(self,cr,uid,ids):
|
||||
obj_fy = self.browse(cr,uid,ids[0])
|
||||
def _check_duration(self, cr, uid, ids, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
obj_fy = self.browse(cr, uid, ids[0], context=context)
|
||||
if obj_fy.date_stop < obj_fy.date_start:
|
||||
return False
|
||||
return True
|
||||
|
@ -789,11 +803,11 @@ class account_fiscalyear(osv.osv):
|
|||
(_check_fiscal_year, 'Error! You cannot define overlapping fiscal years',['date_start', 'date_stop'])
|
||||
]
|
||||
|
||||
def create_period3(self,cr, uid, ids, context={}):
|
||||
def create_period3(self,cr, uid, ids, context=None):
|
||||
return self.create_period(cr, uid, ids, context, 3)
|
||||
|
||||
def create_period(self,cr, uid, ids, context={}, interval=1):
|
||||
for fy in self.browse(cr, uid, ids, context):
|
||||
def create_period(self,cr, uid, ids, context=None, interval=1):
|
||||
for fy in self.browse(cr, uid, ids, context=context):
|
||||
ds = datetime.strptime(fy.date_start, '%Y-%m-%d')
|
||||
while ds.strftime('%Y-%m-%d')<fy.date_stop:
|
||||
de = ds + relativedelta(months=interval, days=-1)
|
||||
|
@ -811,7 +825,7 @@ class account_fiscalyear(osv.osv):
|
|||
ds = ds + relativedelta(months=interval)
|
||||
return True
|
||||
|
||||
def find(self, cr, uid, dt=None, exception=True, context={}):
|
||||
def find(self, cr, uid, dt=None, exception=True, context=None):
|
||||
if not dt:
|
||||
dt = time.strftime('%Y-%m-%d')
|
||||
ids = self.search(cr, uid, [('date_start', '<=', dt), ('date_stop', '>=', dt)])
|
||||
|
@ -825,7 +839,7 @@ class account_fiscalyear(osv.osv):
|
|||
def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80):
|
||||
if args is None:
|
||||
args = []
|
||||
if context is None:
|
||||
if not context:
|
||||
context = {}
|
||||
ids = []
|
||||
if name:
|
||||
|
@ -856,14 +870,18 @@ class account_period(osv.osv):
|
|||
}
|
||||
_order = "date_start"
|
||||
|
||||
def _check_duration(self,cr,uid,ids,context={}):
|
||||
obj_period=self.browse(cr,uid,ids[0])
|
||||
def _check_duration(self,cr,uid,ids,context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
obj_period = self.browse(cr, uid, ids[0], context=context)
|
||||
if obj_period.date_stop < obj_period.date_start:
|
||||
return False
|
||||
return True
|
||||
|
||||
def _check_year_limit(self,cr,uid,ids,context={}):
|
||||
for obj_period in self.browse(cr,uid,ids):
|
||||
def _check_year_limit(self,cr,uid,ids,context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
for obj_period in self.browse(cr, uid, ids, context=context):
|
||||
if obj_period.special:
|
||||
continue
|
||||
|
||||
|
@ -884,13 +902,17 @@ class account_period(osv.osv):
|
|||
(_check_year_limit, 'Invalid period ! Some periods overlap or the date period is not in the scope of the fiscal year. ', ['date_stop'])
|
||||
]
|
||||
|
||||
def next(self, cr, uid, period, step, context={}):
|
||||
def next(self, cr, uid, period, step, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
ids = self.search(cr, uid, [('date_start','>',period.date_start)])
|
||||
if len(ids)>=step:
|
||||
return ids[step-1]
|
||||
return False
|
||||
|
||||
def find(self, cr, uid, dt=None, context={}):
|
||||
def find(self, cr, uid, dt=None, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
if not dt:
|
||||
dt = time.strftime('%Y-%m-%d')
|
||||
#CHECKME: shouldn't we check the state of the period?
|
||||
|
@ -906,10 +928,10 @@ class account_period(osv.osv):
|
|||
cr.execute('update account_period set state=%s where id=%s', (mode, id))
|
||||
return True
|
||||
|
||||
def name_search(self, cr, user, name, args=None, operator='ilike', context={}, limit=80):
|
||||
def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80):
|
||||
if args is None:
|
||||
args = []
|
||||
if context is None:
|
||||
if not context:
|
||||
context = {}
|
||||
ids = []
|
||||
if name:
|
||||
|
@ -918,7 +940,9 @@ class account_period(osv.osv):
|
|||
ids = self.search(cr, user, [('name',operator,name)]+ args, limit=limit)
|
||||
return self.name_get(cr, user, ids, context=context)
|
||||
|
||||
def write(self, cr, uid, ids, vals, context={}):
|
||||
def write(self, cr, uid, ids, vals, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
if 'company_id' in vals:
|
||||
move_lines = self.pool.get('account.move.line').search(cr, uid, [('period_id', 'in', ids)])
|
||||
if move_lines:
|
||||
|
@ -944,7 +968,9 @@ class account_journal_period(osv.osv):
|
|||
_name = "account.journal.period"
|
||||
_description = "Journal Period"
|
||||
|
||||
def _icon_get(self, cr, uid, ids, field_name, arg=None, context={}):
|
||||
def _icon_get(self, cr, uid, ids, field_name, arg=None, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
result = {}.fromkeys(ids, 'STOCK_NEW')
|
||||
for r in self.read(cr, uid, ids, ['state']):
|
||||
result[r['id']] = {
|
||||
|
@ -966,28 +992,32 @@ class account_journal_period(osv.osv):
|
|||
'company_id': fields.related('journal_id', 'company_id', type='many2one', relation='res.company', string='Company')
|
||||
}
|
||||
|
||||
def _check(self, cr, uid, ids, context={}):
|
||||
for obj in self.browse(cr, uid, ids, context):
|
||||
def _check(self, cr, uid, ids, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
for obj in self.browse(cr, uid, ids, context=context):
|
||||
cr.execute('select * from account_move_line where journal_id=%s and period_id=%s limit 1', (obj.journal_id.id, obj.period_id.id))
|
||||
res = cr.fetchall()
|
||||
if res:
|
||||
raise osv.except_osv(_('Error !'), _('You can not modify/delete a journal with entries for this period !'))
|
||||
return True
|
||||
|
||||
def write(self, cr, uid, ids, vals, context={}):
|
||||
self._check(cr, uid, ids, context)
|
||||
return super(account_journal_period, self).write(cr, uid, ids, vals, context)
|
||||
def write(self, cr, uid, ids, vals, context=None):
|
||||
self._check(cr, uid, ids, context=context)
|
||||
return super(account_journal_period, self).write(cr, uid, ids, vals, context=context)
|
||||
|
||||
def create(self, cr, uid, vals, context={}):
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
period_id=vals.get('period_id',False)
|
||||
if period_id:
|
||||
period = self.pool.get('account.period').browse(cr, uid,period_id)
|
||||
period = self.pool.get('account.period').browse(cr, uid, period_id, context=context)
|
||||
vals['state']=period.state
|
||||
return super(account_journal_period, self).create(cr, uid, vals, context)
|
||||
|
||||
def unlink(self, cr, uid, ids, context={}):
|
||||
self._check(cr, uid, ids, context)
|
||||
return super(account_journal_period, self).unlink(cr, uid, ids, context)
|
||||
def unlink(self, cr, uid, ids, context=None):
|
||||
self._check(cr, uid, ids, context=context)
|
||||
return super(account_journal_period, self).unlink(cr, uid, ids, context=context)
|
||||
|
||||
_defaults = {
|
||||
'state': 'draft',
|
||||
|
@ -1057,8 +1087,10 @@ class account_move(osv.osv):
|
|||
ids = [ids]
|
||||
if not ids:
|
||||
return []
|
||||
if not context:
|
||||
context = {}
|
||||
res = []
|
||||
data_move = self.pool.get('account.move').browse(cursor,user,ids)
|
||||
data_move = self.pool.get('account.move').browse(cursor, user, ids, context=context)
|
||||
for move in data_move:
|
||||
if move.state=='draft':
|
||||
name = '*' + str(move.id)
|
||||
|
@ -1067,7 +1099,9 @@ class account_move(osv.osv):
|
|||
res.append((move.id, name))
|
||||
return res
|
||||
|
||||
def _get_period(self, cr, uid, context):
|
||||
def _get_period(self, cr, uid, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
periods = self.pool.get('account.period').find(cr, uid)
|
||||
if periods:
|
||||
return periods[0]
|
||||
|
@ -1128,8 +1162,9 @@ class account_move(osv.osv):
|
|||
'company_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id,
|
||||
}
|
||||
|
||||
def _check_centralisation(self, cursor, user, ids):
|
||||
for move in self.browse(cursor, user, ids):
|
||||
def _check_centralisation(self, cursor, user, ids, context=None):
|
||||
if not context: context = {}
|
||||
for move in self.browse(cursor, user, ids, context=context):
|
||||
if move.journal_id.centralisation:
|
||||
move_ids = self.search(cursor, user, [
|
||||
('period_id', '=', move.period_id.id),
|
||||
|
@ -1139,8 +1174,9 @@ class account_move(osv.osv):
|
|||
return False
|
||||
return True
|
||||
|
||||
def _check_period_journal(self, cursor, user, ids):
|
||||
for move in self.browse(cursor, user, ids):
|
||||
def _check_period_journal(self, cursor, user, ids, context=None):
|
||||
if not context: context = {}
|
||||
for move in self.browse(cursor, user, ids, context=context):
|
||||
for line in move.line_id:
|
||||
if line.period_id.id != move.period_id.id:
|
||||
return False
|
||||
|
@ -1158,7 +1194,7 @@ class account_move(osv.osv):
|
|||
]
|
||||
|
||||
def post(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
if not context:
|
||||
context = {}
|
||||
invoice = context.get('invoice', False)
|
||||
valid_moves = self.validate(cr, uid, ids, context)
|
||||
|
@ -1166,7 +1202,7 @@ class account_move(osv.osv):
|
|||
if not valid_moves:
|
||||
raise osv.except_osv(_('Integrity Error !'), _('You cannot validate a non-balanced entry !\nMake sure you have configured Payment Term properly !\nIt should contain atleast one Payment Term Line with type "Balance" !'))
|
||||
obj_sequence = self.pool.get('ir.sequence')
|
||||
for move in self.browse(cr, uid, valid_moves):
|
||||
for move in self.browse(cr, uid, valid_moves, context=context):
|
||||
if move.name =='/':
|
||||
new_name = False
|
||||
journal = move.journal_id
|
||||
|
@ -1191,7 +1227,9 @@ class account_move(osv.osv):
|
|||
return True
|
||||
|
||||
def button_validate(self, cursor, user, ids, context=None):
|
||||
for move in self.browse(cursor, user, ids):
|
||||
if not context:
|
||||
context = {}
|
||||
for move in self.browse(cursor, user, ids, context=context):
|
||||
top = None
|
||||
for line in move.line_id:
|
||||
account = line.account_id
|
||||
|
@ -1204,8 +1242,8 @@ class account_move(osv.osv):
|
|||
raise osv.except_osv(_('Error !'), _('You cannot validate a Journal Entry unless all journal items are in same chart of accounts !'))
|
||||
return self.post(cursor, user, ids, context=context)
|
||||
|
||||
def button_cancel(self, cr, uid, ids, context={}):
|
||||
for line in self.browse(cr, uid, ids, context):
|
||||
def button_cancel(self, cr, uid, ids, context=None):
|
||||
for line in self.browse(cr, uid, ids, context=context):
|
||||
if not line.journal_id.update_posted:
|
||||
raise osv.except_osv(_('Error !'), _('You can not modify a posted entry of this journal !\nYou should set the journal to allow cancelling entries if you want to do that.'))
|
||||
if ids:
|
||||
|
@ -1214,11 +1252,13 @@ class account_move(osv.osv):
|
|||
'WHERE id IN %s', ('draft', tuple(ids),))
|
||||
return True
|
||||
|
||||
def write(self, cr, uid, ids, vals, context={}):
|
||||
def write(self, cr, uid, ids, vals, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
c = context.copy()
|
||||
c['novalidate'] = True
|
||||
result = super(osv.osv, self).write(cr, uid, ids, vals, c)
|
||||
self.validate(cr, uid, ids, context)
|
||||
self.validate(cr, uid, ids, context=context)
|
||||
return result
|
||||
|
||||
#
|
||||
|
@ -1265,7 +1305,7 @@ class account_move(osv.osv):
|
|||
result = super(account_move, self).create(cr, uid, vals, context)
|
||||
return result
|
||||
|
||||
def copy(self, cr, uid, id, default={}, context={}):
|
||||
def copy(self, cr, uid, id, default={}, context=None):
|
||||
context = context or {}
|
||||
default.update({
|
||||
'state':'draft',
|
||||
|
@ -1280,7 +1320,7 @@ class account_move(osv.osv):
|
|||
context = context or {}
|
||||
toremove = []
|
||||
obj_move_line = self.pool.get('account.move.line')
|
||||
for move in self.browse(cr, uid, ids, context):
|
||||
for move in self.browse(cr, uid, ids, context=context):
|
||||
if move['state'] != 'draft':
|
||||
raise osv.except_osv(_('UserError'),
|
||||
_('You can not delete posted movement: "%s"!') % \
|
||||
|
@ -1294,8 +1334,9 @@ class account_move(osv.osv):
|
|||
result = super(account_move, self).unlink(cr, uid, toremove, context)
|
||||
return result
|
||||
|
||||
def _compute_balance(self, cr, uid, id, context={}):
|
||||
move = self.browse(cr, uid, [id])[0]
|
||||
def _compute_balance(self, cr, uid, id, context=None):
|
||||
context = context or {}
|
||||
move = self.browse(cr, uid, [id], context=context)[0]
|
||||
amount = 0
|
||||
for line in move.line_id:
|
||||
amount+= (line.debit - line.credit)
|
||||
|
@ -1358,7 +1399,7 @@ class account_move(osv.osv):
|
|||
#
|
||||
# Validate a balanced move. If it is a centralised journal, create a move.
|
||||
#
|
||||
def validate(self, cr, uid, ids, context={}):
|
||||
def validate(self, cr, uid, ids, context=None):
|
||||
if context and ('__last_update' in context):
|
||||
del context['__last_update']
|
||||
|
||||
|
@ -1472,9 +1513,9 @@ class account_move_reconcile(osv.osv):
|
|||
_defaults = {
|
||||
'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={}):
|
||||
def reconcile_partial_check(self, cr, uid, ids, type='auto', context=None):
|
||||
total = 0.0
|
||||
for rec in self.browse(cr, uid, ids, context):
|
||||
for rec in self.browse(cr, uid, ids, context=context):
|
||||
for line in rec.line_partial_ids:
|
||||
total += (line.debit or 0.0) - (line.credit or 0.0)
|
||||
if not total:
|
||||
|
@ -1485,10 +1526,11 @@ class account_move_reconcile(osv.osv):
|
|||
return True
|
||||
|
||||
def name_get(self, cr, uid, ids, context=None):
|
||||
context = context or {}
|
||||
if not ids:
|
||||
return []
|
||||
result = []
|
||||
for r in self.browse(cr, uid, ids, context):
|
||||
for r in self.browse(cr, uid, ids, context=context):
|
||||
total = reduce(lambda y,t: (t.debit or 0.0) - (t.credit or 0.0) + y, r.line_partial_ids, 0.0)
|
||||
if total:
|
||||
name = '%s (%.2f)' % (r.name, total)
|
||||
|
@ -1537,7 +1579,7 @@ class account_tax_code(osv.osv):
|
|||
(parent_ids,) + where_params)
|
||||
res=dict(cr.fetchall())
|
||||
obj_precision = self.pool.get('decimal.precision')
|
||||
for record in self.browse(cr, uid, ids, context):
|
||||
for record in self.browse(cr, uid, ids, context=context):
|
||||
def _rec_get(record):
|
||||
amount = res.get(record.id, 0.0)
|
||||
for rec in record.child_ids:
|
||||
|
@ -1609,6 +1651,7 @@ class account_tax_code(osv.osv):
|
|||
|
||||
|
||||
def name_get(self, cr, uid, ids, context=None):
|
||||
context = context or {}
|
||||
if isinstance(ids, (int, long)):
|
||||
ids = [ids]
|
||||
if not ids:
|
||||
|
@ -1619,7 +1662,8 @@ class account_tax_code(osv.osv):
|
|||
return [(x['id'], (x['code'] and (x['code'] + ' - ') or '') + x['name']) \
|
||||
for x in reads]
|
||||
|
||||
def _default_company(self, cr, uid, context={}):
|
||||
def _default_company(self, cr, uid, context=None):
|
||||
context = context or {}
|
||||
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
|
||||
if user.company_id:
|
||||
return user.company_id.id
|
||||
|
@ -1760,6 +1804,7 @@ class account_tax(osv.osv):
|
|||
return res
|
||||
|
||||
def _default_company(self, cr, uid, context=None):
|
||||
context = context or {}
|
||||
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
|
||||
if user.company_id:
|
||||
return user.company_id.id
|
||||
|
@ -2163,13 +2208,13 @@ class account_subscription(osv.osv):
|
|||
'period_nbr': 1,
|
||||
'state': 'draft',
|
||||
}
|
||||
def state_draft(self, cr, uid, ids, context={}):
|
||||
def state_draft(self, cr, uid, ids, context=None):
|
||||
self.write(cr, uid, ids, {'state':'draft'})
|
||||
return False
|
||||
|
||||
def check(self, cr, uid, ids, context={}):
|
||||
def check(self, cr, uid, ids, context=None):
|
||||
todone = []
|
||||
for sub in self.browse(cr, uid, ids, context):
|
||||
for sub in self.browse(cr, uid, ids, context=context):
|
||||
ok = True
|
||||
for line in sub.lines_id:
|
||||
if not line.move_id.id:
|
||||
|
@ -2181,9 +2226,9 @@ class account_subscription(osv.osv):
|
|||
self.write(cr, uid, todone, {'state':'done'})
|
||||
return False
|
||||
|
||||
def remove_line(self, cr, uid, ids, context={}):
|
||||
def remove_line(self, cr, uid, ids, context=None):
|
||||
toremove = []
|
||||
for sub in self.browse(cr, uid, ids, context):
|
||||
for sub in self.browse(cr, uid, ids, context=context):
|
||||
for line in sub.lines_id:
|
||||
if not line.move_id.id:
|
||||
toremove.append(line.id)
|
||||
|
@ -2192,8 +2237,8 @@ class account_subscription(osv.osv):
|
|||
self.write(cr, uid, ids, {'state':'draft'})
|
||||
return False
|
||||
|
||||
def compute(self, cr, uid, ids, context={}):
|
||||
for sub in self.browse(cr, uid, ids, context):
|
||||
def compute(self, cr, uid, ids, context=None):
|
||||
for sub in self.browse(cr, uid, ids, context=context):
|
||||
ds = sub.date_start
|
||||
for i in range(sub.period_total):
|
||||
self.pool.get('account.subscription.line').create(cr, uid, {
|
||||
|
@ -2291,10 +2336,10 @@ class account_account_template(osv.osv):
|
|||
]
|
||||
|
||||
|
||||
def name_get(self, cr, uid, ids, context={}):
|
||||
def name_get(self, cr, uid, ids, context=None):
|
||||
if not ids:
|
||||
return []
|
||||
reads = self.read(cr, uid, ids, ['name','code'], context)
|
||||
reads = self.read(cr, uid, ids, ['name','code'], context=context)
|
||||
res = []
|
||||
for record in reads:
|
||||
name = record['name']
|
||||
|
@ -2311,7 +2356,8 @@ class account_add_tmpl_wizard(osv.osv_memory):
|
|||
With the 'nocreate' option, some accounts may not be created. Use this to add them later."""
|
||||
_name = 'account.addtmpl.wizard'
|
||||
|
||||
def _get_def_cparent(self, cr, uid, context):
|
||||
def _get_def_cparent(self, cr, uid, context=None):
|
||||
context = context or {}
|
||||
acc_obj=self.pool.get('account.account')
|
||||
tmpl_obj=self.pool.get('account.account.template')
|
||||
tids=tmpl_obj.read(cr, uid, [context['tmpl_ids']], ['parent_id'])
|
||||
|
@ -2333,6 +2379,7 @@ class account_add_tmpl_wizard(osv.osv_memory):
|
|||
}
|
||||
|
||||
def action_create(self,cr,uid,ids,context=None):
|
||||
context = context or {}
|
||||
acc_obj = self.pool.get('account.account')
|
||||
tmpl_obj = self.pool.get('account.account.template')
|
||||
data = self.read(cr, uid, ids)
|
||||
|
@ -2380,6 +2427,7 @@ class account_tax_code_template(osv.osv):
|
|||
}
|
||||
|
||||
def name_get(self, cr, uid, ids, context=None):
|
||||
context = context or {}
|
||||
if not ids:
|
||||
return []
|
||||
if isinstance(ids, (int, long)):
|
||||
|
@ -2457,16 +2505,18 @@ class account_tax_template(osv.osv):
|
|||
'type_tax_use': fields.selection([('sale','Sale'),('purchase','Purchase'),('all','All')], 'Tax Use In', required=True,)
|
||||
}
|
||||
|
||||
def name_get(self, cr, uid, ids, context={}):
|
||||
def name_get(self, cr, uid, ids, context=None):
|
||||
context = context or {}
|
||||
if not ids:
|
||||
return []
|
||||
res = []
|
||||
for record in self.read(cr, uid, ids, ['description','name'], context):
|
||||
for record in self.read(cr, uid, ids, ['description','name'], context=context):
|
||||
name = record['description'] and record['description'] or record['name']
|
||||
res.append((record['id'],name ))
|
||||
return res
|
||||
|
||||
def _default_company(self, cr, uid, context={}):
|
||||
def _default_company(self, cr, uid, context=None):
|
||||
context = context or {}
|
||||
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
|
||||
if user.company_id:
|
||||
return user.company_id.id
|
||||
|
@ -2572,7 +2622,7 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
|||
res['value']["purchase_tax"] = purchase_tax_ids and purchase_tax_ids[0] or False
|
||||
return res
|
||||
|
||||
def _get_chart(self, cr, uid, context={}):
|
||||
def _get_chart(self, cr, uid, context=None):
|
||||
ids = self.pool.get('account.chart.template').search(cr, uid, [], context=context)
|
||||
if ids:
|
||||
return ids[0]
|
||||
|
@ -2593,6 +2643,7 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
|||
}
|
||||
|
||||
def execute(self, cr, uid, ids, context=None):
|
||||
context = context or {}
|
||||
obj_multi = self.browse(cr, uid, ids[0])
|
||||
obj_acc = self.pool.get('account.account')
|
||||
obj_acc_tax = self.pool.get('account.tax')
|
||||
|
@ -2618,7 +2669,7 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
|||
#create all the tax code
|
||||
children_tax_code_template = self.pool.get('account.tax.code.template').search(cr, uid, [('parent_id','child_of',[tax_code_root_id])], order='id')
|
||||
children_tax_code_template.sort()
|
||||
for tax_code_template in self.pool.get('account.tax.code.template').browse(cr, uid, children_tax_code_template):
|
||||
for tax_code_template in self.pool.get('account.tax.code.template').browse(cr, uid, children_tax_code_template, context=context):
|
||||
vals={
|
||||
'name': (tax_code_root_id == tax_code_template.id) and obj_multi.company_id.name or tax_code_template.name,
|
||||
'code': tax_code_template.code,
|
||||
|
@ -2674,7 +2725,7 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
|||
|
||||
children_acc_template = obj_acc_template.search(cr, uid, [('parent_id','child_of',[obj_acc_root.id]),('nocreate','!=',True)])
|
||||
children_acc_template.sort()
|
||||
for account_template in obj_acc_template.browse(cr, uid, children_acc_template):
|
||||
for account_template in obj_acc_template.browse(cr, uid, children_acc_template,context=context):
|
||||
tax_ids = []
|
||||
for tax in account_template.tax_ids:
|
||||
tax_ids.append(tax_template_ref[tax.id])
|
||||
|
@ -2827,11 +2878,11 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
|||
|
||||
# Bank Journals
|
||||
data_id = obj_data.search(cr, uid, [('model','=','account.journal.view'), ('name','=','account_journal_bank_view')])
|
||||
data = obj_data.browse(cr, uid, data_id[0])
|
||||
data = obj_data.browse(cr, uid, data_id[0], context=context)
|
||||
view_id_cash = data.res_id
|
||||
|
||||
data_id = obj_data.search(cr, uid, [('model','=','account.journal.view'), ('name','=','account_journal_bank_view_multi')])
|
||||
data = obj_data.browse(cr, uid, data_id[0])
|
||||
data = obj_data.browse(cr, uid, data_id[0], context=context)
|
||||
view_id_cur = data.res_id
|
||||
ref_acc_bank = obj_multi.chart_template_id.bank_account_view_id
|
||||
|
||||
|
@ -2924,7 +2975,7 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
|||
obj_tax_fp = self.pool.get('account.fiscal.position.tax')
|
||||
obj_ac_fp = self.pool.get('account.fiscal.position.account')
|
||||
|
||||
for position in obj_fiscal_position_template.browse(cr, uid, fp_ids):
|
||||
for position in obj_fiscal_position_template.browse(cr, uid, fp_ids, context=context):
|
||||
|
||||
vals_fp = {
|
||||
'company_id': company_id,
|
||||
|
|
|
@ -58,8 +58,9 @@ class account_analytic_line(osv.osv):
|
|||
return super(account_analytic_line, self).search(cr, uid, args, offset, limit,
|
||||
order, context=context, count=count)
|
||||
|
||||
def _check_company(self, cr, uid, ids):
|
||||
lines = self.browse(cr, uid, ids)
|
||||
def _check_company(self, cr, uid, ids, context=None):
|
||||
context = context or {}
|
||||
lines = self.browse(cr, uid, ids, context=context)
|
||||
for l in lines:
|
||||
if l.move_id and not l.account_id.company_id.id == l.move_id.account_id.company_id.id:
|
||||
return False
|
||||
|
@ -80,7 +81,7 @@ class account_analytic_line(osv.osv):
|
|||
analytic_journal_obj =self.pool.get('account.analytic.journal')
|
||||
product_price_type_obj = self.pool.get('product.price.type')
|
||||
j_id = analytic_journal_obj.browse(cr, uid, journal_id, context=context)
|
||||
prod = product_obj.browse(cr, uid, prod_id)
|
||||
prod = product_obj.browse(cr, uid, prod_id, context=context)
|
||||
result = 0.0
|
||||
|
||||
if j_id.type <> 'sale':
|
||||
|
@ -105,13 +106,13 @@ class account_analytic_line(osv.osv):
|
|||
flag = False
|
||||
# Compute based on pricetype
|
||||
product_price_type_ids = product_price_type_obj.search(cr, uid, [('field','=','standard_price')], context=context)
|
||||
pricetype = product_price_type_obj.browse(cr, uid, product_price_type_ids, context)[0]
|
||||
pricetype = product_price_type_obj.browse(cr, uid, product_price_type_ids, context=context)[0]
|
||||
if journal_id:
|
||||
journal = analytic_journal_obj.browse(cr, uid, journal_id)
|
||||
journal = analytic_journal_obj.browse(cr, uid, journal_id, context=context)
|
||||
if journal.type == 'sale':
|
||||
product_price_type_ids = product_price_type_obj.search(cr, uid, [('field','=','list_price')], context)
|
||||
if product_price_type_ids:
|
||||
pricetype = product_price_type_obj.browse(cr, uid, product_price_type_ids, context)[0]
|
||||
pricetype = product_price_type_obj.browse(cr, uid, product_price_type_ids, context=context)[0]
|
||||
# Take the company currency as the reference one
|
||||
if pricetype.field == 'list_price':
|
||||
flag = True
|
||||
|
@ -133,7 +134,8 @@ class account_analytic_line(osv.osv):
|
|||
}
|
||||
}
|
||||
|
||||
def view_header_get(self, cr, user, view_id, view_type, context):
|
||||
def view_header_get(self, cr, user, view_id, view_type, context=None):
|
||||
context = context or {}
|
||||
if context.get('account_id', False):
|
||||
# account_id in context may also be pointing to an account.account.id
|
||||
cr.execute('select name from account_analytic_account where id=%s', (context['account_id'],))
|
||||
|
|
|
@ -46,7 +46,8 @@ class account_bank_statement(osv.osv):
|
|||
account_bank_statement_line_obj.write(cr, uid, [line.id], {'sequence': seq}, context=context)
|
||||
return res
|
||||
|
||||
def _default_journal_id(self, cr, uid, context={}):
|
||||
def _default_journal_id(self, cr, uid, context=None):
|
||||
context = context or {}
|
||||
journal_pool = self.pool.get('account.journal')
|
||||
journal_type = context.get('journal_type', False)
|
||||
journal_id = False
|
||||
|
@ -56,14 +57,16 @@ class account_bank_statement(osv.osv):
|
|||
journal_id = ids[0]
|
||||
return journal_id
|
||||
|
||||
def _default_balance_start(self, cr, uid, context={}):
|
||||
def _default_balance_start(self, cr, uid, context=None):
|
||||
context = context or {}
|
||||
cr.execute('select id from account_bank_statement where journal_id=%s order by date desc limit 1', (1,))
|
||||
res = cr.fetchone()
|
||||
if res:
|
||||
return self.browse(cr, uid, [res[0]], context)[0].balance_end
|
||||
return self.browse(cr, uid, [res[0]], context=context)[0].balance_end
|
||||
return 0.0
|
||||
|
||||
def _end_balance(self, cursor, user, ids, name, attr, context=None):
|
||||
context = context or {}
|
||||
res_currency_obj = self.pool.get('res.currency')
|
||||
res_users_obj = self.pool.get('res.users')
|
||||
res = {}
|
||||
|
@ -95,13 +98,14 @@ class account_bank_statement(osv.osv):
|
|||
res[r] = round(res[r], 2)
|
||||
return res
|
||||
|
||||
def _get_period(self, cr, uid, context={}):
|
||||
def _get_period(self, cr, uid, context=None):
|
||||
periods = self.pool.get('account.period').find(cr, uid)
|
||||
if periods:
|
||||
return periods[0]
|
||||
return False
|
||||
|
||||
def _currency(self, cursor, user, ids, name, args, context=None):
|
||||
context = context or {}
|
||||
res = {}
|
||||
res_currency_obj = self.pool.get('res.currency')
|
||||
res_users_obj = self.pool.get('res.users')
|
||||
|
@ -194,11 +198,12 @@ class account_bank_statement(osv.osv):
|
|||
return self.write(cr, uid, ids, {}, context=context)
|
||||
|
||||
def create_move_from_st_line(self, cr, uid, st_line_id, company_currency_id, st_line_number, context=None):
|
||||
context = context or {}
|
||||
res_currency_obj = self.pool.get('res.currency')
|
||||
account_move_obj = self.pool.get('account.move')
|
||||
account_move_line_obj = self.pool.get('account.move.line')
|
||||
account_bank_statement_line_obj = self.pool.get('account.bank.statement.line')
|
||||
st_line = account_bank_statement_line_obj.browse(cr, uid, st_line_id, context)
|
||||
st_line = account_bank_statement_line_obj.browse(cr, uid, st_line_id, context=context)
|
||||
st = st_line.statement_id
|
||||
|
||||
context.update({'date': st_line.date})
|
||||
|
@ -298,7 +303,8 @@ class account_bank_statement(osv.osv):
|
|||
return st_number + '/' + str(st_line.sequence)
|
||||
|
||||
def balance_check(self, cr, uid, st_id, journal_type='bank', context=None):
|
||||
st = self.browse(cr, uid, st_id, context)
|
||||
context = context or {}
|
||||
st = self.browse(cr, uid, st_id, context=context)
|
||||
if not (abs((st.balance_end or 0.0) - st.balance_end_real) < 0.0001):
|
||||
raise osv.except_osv(_('Error !'),
|
||||
_('The statement balance is incorrect !\n') +
|
||||
|
@ -317,7 +323,7 @@ class account_bank_statement(osv.osv):
|
|||
if context is None:
|
||||
context = {}
|
||||
|
||||
for st in self.browse(cr, uid, ids, context):
|
||||
for st in self.browse(cr, uid, ids, context=context):
|
||||
j_type = st.journal_id.type
|
||||
company_currency_id = st.journal_id.company_id.currency_id.id
|
||||
if not self.check_status_condition(cr, uid, st.state, journal_type=j_type):
|
||||
|
@ -359,7 +365,7 @@ class account_bank_statement(osv.osv):
|
|||
def button_cancel(self, cr, uid, ids, context=None):
|
||||
done = []
|
||||
account_move_obj = self.pool.get('account.move')
|
||||
for st in self.browse(cr, uid, ids, context):
|
||||
for st in self.browse(cr, uid, ids, context=context):
|
||||
if st.state=='draft':
|
||||
continue
|
||||
ids = []
|
||||
|
@ -410,7 +416,7 @@ class account_bank_statement_line(osv.osv):
|
|||
if not partner_id:
|
||||
return res
|
||||
account_id = False
|
||||
line = self.browse(cr, uid, line_id)
|
||||
line = self.browse(cr, uid, line_id, context=context)
|
||||
if not line or (line and not line[0].account_id):
|
||||
part = obj_partner.browse(cr, uid, partner_id, context=context)
|
||||
if type == 'supplier':
|
||||
|
|
|
@ -41,7 +41,8 @@ class account_cashbox_line(osv.osv):
|
|||
@return: Dictionary of values.
|
||||
"""
|
||||
res = {}
|
||||
for obj in self.browse(cr, uid, ids):
|
||||
context = context or {}
|
||||
for obj in self.browse(cr, uid, ids, context=context):
|
||||
res[obj.id] = obj.pieces * obj.number
|
||||
return res
|
||||
|
||||
|
@ -76,7 +77,8 @@ class account_cash_statement(osv.osv):
|
|||
@return: Dictionary of values.
|
||||
"""
|
||||
res = {}
|
||||
for statement in self.browse(cr, uid, ids):
|
||||
context = context or {}
|
||||
for statement in self.browse(cr, uid, ids, context=context):
|
||||
amount_total = 0.0
|
||||
|
||||
if statement.journal_id.type not in('cash'):
|
||||
|
@ -96,7 +98,8 @@ class account_cash_statement(osv.osv):
|
|||
@return: Dictionary of values.
|
||||
"""
|
||||
res ={}
|
||||
for statement in self.browse(cr, uid, ids):
|
||||
context = context or {}
|
||||
for statement in self.browse(cr, uid, ids, context=context):
|
||||
amount_total = 0.0
|
||||
for line in statement.ending_details_ids:
|
||||
amount_total += line.pieces * line.number
|
||||
|
@ -111,7 +114,8 @@ class account_cash_statement(osv.osv):
|
|||
@return: Dictionary of values.
|
||||
"""
|
||||
res2={}
|
||||
for statement in self.browse(cr, uid, ids):
|
||||
context = context or {}
|
||||
for statement in self.browse(cr, uid, ids, context=context):
|
||||
encoding_total=0.0
|
||||
for line in statement.line_ids:
|
||||
encoding_total += line.amount
|
||||
|
@ -119,6 +123,7 @@ class account_cash_statement(osv.osv):
|
|||
return res2
|
||||
|
||||
def _end_balance(self, cursor, user, ids, name, attr, context=None):
|
||||
context = context or {}
|
||||
res_currency_obj = self.pool.get('res.currency')
|
||||
res_users_obj = self.pool.get('res.users')
|
||||
res = {}
|
||||
|
@ -152,6 +157,7 @@ class account_cash_statement(osv.osv):
|
|||
return res
|
||||
|
||||
def _get_company(self, cr, uid, context=None):
|
||||
context = context or {}
|
||||
user_pool = self.pool.get('res.users')
|
||||
company_pool = self.pool.get('res.company')
|
||||
user = user_pool.browse(cr, uid, uid, context=context)
|
||||
|
@ -160,7 +166,7 @@ class account_cash_statement(osv.osv):
|
|||
company_id = company_pool.search(cr, uid, [])
|
||||
return company_id and company_id[0] or False
|
||||
|
||||
def _get_cash_open_box_lines(self, cr, uid, context={}):
|
||||
def _get_cash_open_box_lines(self, cr, uid, context=None):
|
||||
res = []
|
||||
curr = [1, 2, 5, 10, 20, 50, 100, 500]
|
||||
for rs in curr:
|
||||
|
@ -173,14 +179,14 @@ class account_cash_statement(osv.osv):
|
|||
if journal_ids:
|
||||
results = self.search(cr, uid, [('journal_id', 'in', journal_ids),('state', '=', 'confirm')], context=context)
|
||||
if results:
|
||||
cash_st = self.browse(cr, uid, results, context)[0]
|
||||
cash_st = self.browse(cr, uid, results, context=context)[0]
|
||||
for cash_line in cash_st.ending_details_ids:
|
||||
for r in res:
|
||||
if cash_line.pieces == r['pieces']:
|
||||
r['number'] = cash_line.number
|
||||
return res
|
||||
|
||||
def _get_default_cash_close_box_lines(self, cr, uid, context={}):
|
||||
def _get_default_cash_close_box_lines(self, cr, uid, context=None):
|
||||
res = []
|
||||
curr = [1, 2, 5, 10, 20, 50, 100, 500]
|
||||
for rs in curr:
|
||||
|
@ -191,7 +197,7 @@ class account_cash_statement(osv.osv):
|
|||
res.append(dct)
|
||||
return res
|
||||
|
||||
def _get_cash_close_box_lines(self, cr, uid, context={}):
|
||||
def _get_cash_close_box_lines(self, cr, uid, context=None):
|
||||
res = []
|
||||
curr = [1, 2, 5, 10, 20, 50, 100, 500]
|
||||
for rs in curr:
|
||||
|
@ -202,11 +208,11 @@ class account_cash_statement(osv.osv):
|
|||
res.append((0, 0, dct))
|
||||
return res
|
||||
|
||||
def _get_cash_open_close_box_lines(self, cr, uid, context={}):
|
||||
def _get_cash_open_close_box_lines(self, cr, uid, context=None):
|
||||
res = {}
|
||||
start_l = []
|
||||
end_l = []
|
||||
starting_details = self._get_cash_open_box_lines(cr, uid, context)
|
||||
starting_details = self._get_cash_open_box_lines(cr, uid, context=context)
|
||||
ending_details = self._get_default_cash_close_box_lines(cr, uid, context)
|
||||
for start in starting_details:
|
||||
start_l.append((0, 0, start))
|
||||
|
@ -240,6 +246,7 @@ class account_cash_statement(osv.osv):
|
|||
}
|
||||
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
context = context or {}
|
||||
sql = [
|
||||
('journal_id', '=', vals.get('journal_id', False)),
|
||||
('state', '=', 'open')
|
||||
|
@ -248,7 +255,7 @@ class account_cash_statement(osv.osv):
|
|||
if open_jrnl:
|
||||
raise osv.except_osv('Error', _('You can not have two open register for the same journal'))
|
||||
|
||||
if self.pool.get('account.journal').browse(cr, uid, vals['journal_id']).type == 'cash':
|
||||
if self.pool.get('account.journal').browse(cr, uid, vals['journal_id'], context=context).type == 'cash':
|
||||
open_close = self._get_cash_open_close_box_lines(cr, uid, context)
|
||||
if vals.get('starting_details_ids', False):
|
||||
for start in vals.get('starting_details_ids'):
|
||||
|
|
|
@ -107,9 +107,10 @@ class account_move_line(osv.osv):
|
|||
del data[f]
|
||||
return data
|
||||
|
||||
def create_analytic_lines(self, cr, uid, ids, context={}):
|
||||
def create_analytic_lines(self, cr, uid, ids, context=None):
|
||||
context = context or {}
|
||||
acc_ana_line_obj = self.pool.get('account.analytic.line')
|
||||
for obj_line in self.browse(cr, uid, ids, context):
|
||||
for obj_line in self.browse(cr, uid, ids, context=context):
|
||||
if obj_line.analytic_account_id:
|
||||
if not obj_line.journal_id.analytic_journal_id:
|
||||
raise osv.except_osv(_('No Analytic Journal !'),_("You have to define an analytic journal on the '%s' journal!") % (obj_line.journal_id.name, ))
|
||||
|
@ -139,7 +140,8 @@ class account_move_line(osv.osv):
|
|||
del(data['account_tax_id'])
|
||||
return data
|
||||
|
||||
def convert_to_period(self, cr, uid, context={}):
|
||||
def convert_to_period(self, cr, uid, context=None):
|
||||
context = context or {}
|
||||
period_obj = self.pool.get('account.period')
|
||||
#check if the period_id changed in the context from client side
|
||||
if context.get('period_id', False):
|
||||
|
@ -151,7 +153,8 @@ class account_move_line(osv.osv):
|
|||
})
|
||||
return context
|
||||
|
||||
def _default_get(self, cr, uid, fields, context={}):
|
||||
def _default_get(self, cr, uid, fields, context=None):
|
||||
context = context or {}
|
||||
if not context.get('journal_id', False) and context.get('search_default_journal_id', False):
|
||||
context['journal_id'] = context.get('search_default_journal_id')
|
||||
account_obj = self.pool.get('account.account')
|
||||
|
@ -164,7 +167,7 @@ class account_move_line(osv.osv):
|
|||
currency_obj = self.pool.get('res.currency')
|
||||
context = self.convert_to_period(cr, uid, context)
|
||||
# Compute simple values
|
||||
data = super(account_move_line, self).default_get(cr, uid, fields, context)
|
||||
data = super(account_move_line, self).default_get(cr, uid, fields, context=context)
|
||||
# Starts: Manual entry from account.move form
|
||||
if context.get('lines',[]):
|
||||
total_new = 0.00
|
||||
|
@ -174,7 +177,7 @@ class account_move_line(osv.osv):
|
|||
for item in i[2]:
|
||||
data[item] = i[2][item]
|
||||
if context['journal']:
|
||||
journal_data = journal_obj.browse(cr, uid, context['journal'])
|
||||
journal_data = journal_obj.browse(cr, uid, context['journal'], context=context)
|
||||
if journal_data.type == 'purchase':
|
||||
if total_new > 0:
|
||||
account = journal_data.default_credit_account_id
|
||||
|
@ -186,9 +189,9 @@ class account_move_line(osv.osv):
|
|||
else:
|
||||
account = journal_data.default_debit_account_id
|
||||
if account and ((not fields) or ('debit' in fields) or ('credit' in fields)) and 'partner_id' in data and (data['partner_id']):
|
||||
part = partner_obj.browse(cr, uid, data['partner_id'])
|
||||
part = partner_obj.browse(cr, uid, data['partner_id'], context=context)
|
||||
account = fiscal_pos_obj.map_account(cr, uid, part and part.property_account_position or False, account.id)
|
||||
account = account_obj.browse(cr, uid, account)
|
||||
account = account_obj.browse(cr, uid, account, context=context)
|
||||
data['account_id'] = account.id
|
||||
|
||||
s = -total_new
|
||||
|
@ -236,7 +239,7 @@ class account_move_line(osv.osv):
|
|||
return data
|
||||
total = 0
|
||||
ref_id = False
|
||||
move = move_obj.browse(cr, uid, move_id, context)
|
||||
move = move_obj.browse(cr, uid, move_id, context=context)
|
||||
if 'name' in fields:
|
||||
data.setdefault('name', move.line_id[-1].name)
|
||||
acc1 = False
|
||||
|
@ -265,7 +268,7 @@ class account_move_line(osv.osv):
|
|||
# part = False is acceptable for fiscal position.
|
||||
account = fiscal_pos_obj.map_account(cr, uid, part and part.property_account_position or False, account.id)
|
||||
if account:
|
||||
account = account_obj.browse(cr, uid, account)
|
||||
account = account_obj.browse(cr, uid, account, context=context)
|
||||
|
||||
if account and ((not fields) or ('debit' in fields) or ('credit' in fields)):
|
||||
data['account_id'] = account.id
|
||||
|
@ -289,7 +292,8 @@ class account_move_line(osv.osv):
|
|||
data['amount_currency'] = v
|
||||
return data
|
||||
|
||||
def on_create_write(self, cr, uid, id, context={}):
|
||||
def on_create_write(self, cr, uid, id, context=None):
|
||||
context = context or {}
|
||||
if not id:
|
||||
return []
|
||||
ml = self.browse(cr, uid, id, context)
|
||||
|
@ -338,7 +342,8 @@ class account_move_line(osv.osv):
|
|||
res[line_id] = (invoice_id, invoice_names[invoice_id])
|
||||
return res
|
||||
|
||||
def name_get(self, cr, uid, ids, context={}):
|
||||
def name_get(self, cr, uid, ids, context=None):
|
||||
context = context or {}
|
||||
if not ids:
|
||||
return []
|
||||
result = []
|
||||
|
@ -408,6 +413,7 @@ class account_move_line(osv.osv):
|
|||
return [('id', 'in', [x[0] for x in res])]
|
||||
|
||||
def _get_move_lines(self, cr, uid, ids, context=None):
|
||||
context = context or {}
|
||||
result = []
|
||||
for move in self.pool.get('account.move').browse(cr, uid, ids, context=context):
|
||||
for line in move.line_id:
|
||||
|
@ -458,6 +464,7 @@ class account_move_line(osv.osv):
|
|||
}
|
||||
|
||||
def _get_date(self, cr, uid, context=None):
|
||||
context = context or {}
|
||||
period_obj = self.pool.get('account.period')
|
||||
dt = time.strftime('%Y-%m-%d')
|
||||
if ('journal_id' in context) and ('period_id' in context):
|
||||
|
@ -498,35 +505,40 @@ class account_move_line(osv.osv):
|
|||
('credit_debit2', 'CHECK (credit+debit>=0)', 'Wrong credit or debit value in accounting entry !'),
|
||||
]
|
||||
|
||||
def _auto_init(self, cr, context={}):
|
||||
super(account_move_line, self)._auto_init(cr, context)
|
||||
def _auto_init(self, cr, context=None):
|
||||
context = context or {}
|
||||
super(account_move_line, self)._auto_init(cr, context=context)
|
||||
cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = \'account_move_line_journal_id_period_id_index\'')
|
||||
if not cr.fetchone():
|
||||
cr.execute('CREATE INDEX account_move_line_journal_id_period_id_index ON account_move_line (journal_id, period_id)')
|
||||
|
||||
def _check_no_view(self, cr, uid, ids):
|
||||
lines = self.browse(cr, uid, ids)
|
||||
def _check_no_view(self, cr, uid, ids, context=None):
|
||||
context = context or {}
|
||||
lines = self.browse(cr, uid, ids, context=context)
|
||||
for l in lines:
|
||||
if l.account_id.type == 'view':
|
||||
return False
|
||||
return True
|
||||
|
||||
def _check_no_closed(self, cr, uid, ids):
|
||||
lines = self.browse(cr, uid, ids)
|
||||
def _check_no_closed(self, cr, uid, ids, context=None):
|
||||
context = context or {}
|
||||
lines = self.browse(cr, uid, ids, context=context)
|
||||
for l in lines:
|
||||
if l.account_id.type == 'closed':
|
||||
return False
|
||||
return True
|
||||
|
||||
def _check_company_id(self, cr, uid, ids):
|
||||
lines = self.browse(cr, uid, ids)
|
||||
def _check_company_id(self, cr, uid, ids, context=None):
|
||||
context = context or {}
|
||||
lines = self.browse(cr, uid, ids, context=context)
|
||||
for l in lines:
|
||||
if l.company_id != l.account_id.company_id or l.company_id != l.period_id.company_id:
|
||||
return False
|
||||
return True
|
||||
|
||||
def _check_partner_id(self, cr, uid, ids):
|
||||
lines = self.browse(cr, uid, ids)
|
||||
def _check_partner_id(self, cr, uid, ids, context=None):
|
||||
context = context or {}
|
||||
lines = self.browse(cr, uid, ids, context=context)
|
||||
for l in lines:
|
||||
if l.account_id.type in ('receivable', 'payable') and not l.partner_id:
|
||||
return False
|
||||
|
@ -825,7 +837,7 @@ class account_move_line(osv.osv):
|
|||
return j+(p and (':'+p) or '')
|
||||
return False
|
||||
|
||||
def onchange_date(self, cr, user, ids, date, context={}):
|
||||
def onchange_date(self, cr, user, ids, date, context=None):
|
||||
"""
|
||||
Returns a dict that contains new values and context
|
||||
@param cr: A database cursor
|
||||
|
@ -836,6 +848,7 @@ class account_move_line(osv.osv):
|
|||
@return: Returns a dict which contains new values, and context
|
||||
"""
|
||||
res = {}
|
||||
context = context or {}
|
||||
period_pool = self.pool.get('account.period')
|
||||
pids = period_pool.search(cr, user, [('date_start','<=',date), ('date_stop','>=',date)])
|
||||
if pids:
|
||||
|
@ -850,9 +863,10 @@ class account_move_line(osv.osv):
|
|||
'context':context,
|
||||
}
|
||||
|
||||
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context={}, toolbar=False, submenu=False):
|
||||
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
|
||||
journal_pool = self.pool.get('account.journal')
|
||||
result = super(osv.osv, self).fields_view_get(cr, uid, view_id, view_type, context, toolbar=toolbar, submenu=submenu)
|
||||
context = context or {}
|
||||
result = super(osv.osv, self).fields_view_get(cr, uid, view_id, view_type, context=context, toolbar=toolbar, submenu=submenu)
|
||||
if view_type != 'tree':
|
||||
#Remove the toolbar from the form view
|
||||
if view_type == 'form':
|
||||
|
@ -871,7 +885,7 @@ class account_move_line(osv.osv):
|
|||
xml = '''<?xml version="1.0"?>\n<tree string="%s" editable="top" refresh="5" on_write="on_create_write" colors="red:state==\'draft\';black:state==\'valid\'">\n\t''' % (title)
|
||||
|
||||
ids = journal_pool.search(cr, uid, [])
|
||||
journals = journal_pool.browse(cr, uid, ids)
|
||||
journals = journal_pool.browse(cr, uid, ids, context=context)
|
||||
all_journal = [None]
|
||||
common_fields = {}
|
||||
total = len(journals)
|
||||
|
@ -952,8 +966,9 @@ class account_move_line(osv.osv):
|
|||
result['fields'] = self.fields_get(cr, uid, flds, context)
|
||||
return result
|
||||
|
||||
def _check_moves(self, cr, uid, context):
|
||||
def _check_moves(self, cr, uid, context=None):
|
||||
# use the first move ever created for this journal and period
|
||||
context = context or {}
|
||||
cr.execute('SELECT id, state, name FROM account_move WHERE journal_id = %s AND period_id = %s ORDER BY id limit 1', (context['journal_id'],context['period_id']))
|
||||
res = cr.fetchone()
|
||||
if res:
|
||||
|
@ -968,6 +983,7 @@ class account_move_line(osv.osv):
|
|||
obj_move_line = self.pool.get('account.move.line')
|
||||
obj_move_rec = self.pool.get('account.move.reconcile')
|
||||
unlink_ids = []
|
||||
context = context or {}
|
||||
if not move_ids:
|
||||
return True
|
||||
recs = obj_move_line.read(cr, uid, move_ids, ['reconcile_id', 'reconcile_partial_id'])
|
||||
|
@ -981,7 +997,8 @@ class account_move_line(osv.osv):
|
|||
obj_move_rec.unlink(cr, uid, unlink_ids)
|
||||
return True
|
||||
|
||||
def unlink(self, cr, uid, ids, context={}, check=True):
|
||||
def unlink(self, cr, uid, ids, context=None, check=True):
|
||||
context = context or {}
|
||||
move_obj = self.pool.get('account.move')
|
||||
self._update_check(cr, uid, ids, context)
|
||||
result = False
|
||||
|
@ -1014,7 +1031,7 @@ class account_move_line(osv.osv):
|
|||
journal_id = context.get('journal_id', False)
|
||||
period_id = context.get('period_id', False)
|
||||
if journal_id:
|
||||
journal = journal_obj.browse(cr, uid, [journal_id])[0]
|
||||
journal = journal_obj.browse(cr, uid, [journal_id], context=context)[0]
|
||||
if journal.allow_date and period_id:
|
||||
period = period_obj.browse(cr, uid, [period_id])[0]
|
||||
if not time.strptime(vals['date'][:10],'%Y-%m-%d') >= time.strptime(period.date_start, '%Y-%m-%d') or not time.strptime(vals['date'][:10], '%Y-%m-%d') <= time.strptime(period.date_stop, '%Y-%m-%d'):
|
||||
|
@ -1069,18 +1086,19 @@ class account_move_line(osv.osv):
|
|||
move_obj.write(cr, uid, [line.move_id.id], {'date': todo_date}, context=context)
|
||||
return result
|
||||
|
||||
def _update_journal_check(self, cr, uid, journal_id, period_id, context={}):
|
||||
def _update_journal_check(self, cr, uid, journal_id, period_id, context=None):
|
||||
journal_obj = self.pool.get('account.journal')
|
||||
period_obj = self.pool.get('account.period')
|
||||
jour_period_obj = self.pool.get('account.journal.period')
|
||||
cr.execute('SELECT state FROM account_journal_period WHERE journal_id = %s AND period_id = %s', (journal_id, period_id))
|
||||
result = cr.fetchall()
|
||||
context = context or {}
|
||||
for (state,) in result:
|
||||
if state == 'done':
|
||||
raise osv.except_osv(_('Error !'), _('You can not add/modify entries in a closed journal.'))
|
||||
if not result:
|
||||
journal = journal_obj.browse(cr, uid, journal_id, context)
|
||||
period = period_obj.browse(cr, uid, period_id, context)
|
||||
journal = journal_obj.browse(cr, uid, journal_id, context=context)
|
||||
period = period_obj.browse(cr, uid, period_id, context=context)
|
||||
jour_period_obj.create(cr, uid, {
|
||||
'name': (journal.code or journal.name)+':'+(period.name or ''),
|
||||
'journal_id': journal.id,
|
||||
|
@ -1088,9 +1106,10 @@ class account_move_line(osv.osv):
|
|||
})
|
||||
return True
|
||||
|
||||
def _update_check(self, cr, uid, ids, context={}):
|
||||
def _update_check(self, cr, uid, ids, context=None):
|
||||
done = {}
|
||||
for line in self.browse(cr, uid, ids, context):
|
||||
context = context or {}
|
||||
for line in self.browse(cr, uid, ids, context=context):
|
||||
if line.move_id.state <> 'draft':
|
||||
raise osv.except_osv(_('Error !'), _('You can not do this modification on a confirmed entry ! Please note that you can just change some non important fields !'))
|
||||
if line.reconcile_id:
|
||||
|
@ -1127,7 +1146,7 @@ class account_move_line(osv.osv):
|
|||
|
||||
self._update_journal_check(cr, uid, context['journal_id'], context['period_id'], context)
|
||||
move_id = vals.get('move_id', False)
|
||||
journal = journal_obj.browse(cr, uid, context['journal_id'])
|
||||
journal = journal_obj.browse(cr, uid, context['journal_id'], context=context)
|
||||
if not move_id:
|
||||
if journal.centralisation:
|
||||
#Check for centralisation
|
||||
|
@ -1150,7 +1169,7 @@ class account_move_line(osv.osv):
|
|||
raise osv.except_osv(_('No piece number !'), _('Can not create an automatic sequence for this piece !\n\nPut a sequence in the journal definition for automatic numbering or create a sequence manually for this piece.'))
|
||||
ok = not (journal.type_control_ids or journal.account_control_ids)
|
||||
if ('account_id' in vals):
|
||||
account = account_obj.browse(cr, uid, vals['account_id'])
|
||||
account = account_obj.browse(cr, uid, vals['account_id'], context=context)
|
||||
if journal.type_control_ids:
|
||||
type = account.user_type
|
||||
for t in journal.type_control_ids:
|
||||
|
|
|
@ -89,11 +89,11 @@ class account_invoice(osv.osv):
|
|||
|
||||
def _amount_residual(self, cr, uid, ids, name, args, context=None):
|
||||
res = {}
|
||||
cur_obj = self.pool.get('res.currency')
|
||||
data_inv = self.browse(cr, uid, ids)
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
cur_obj = self.pool.get('res.currency')
|
||||
data_inv = self.browse(cr, uid, ids, context=context)
|
||||
for inv in data_inv:
|
||||
debit = credit = 0.0
|
||||
context.update({'date':inv.date_invoice})
|
||||
|
@ -168,7 +168,7 @@ class account_invoice(osv.osv):
|
|||
|
||||
def _compute_lines(self, cr, uid, ids, name, args, context=None):
|
||||
result = {}
|
||||
for invoice in self.browse(cr, uid, ids, context):
|
||||
for invoice in self.browse(cr, uid, ids, context=context):
|
||||
src = []
|
||||
lines = []
|
||||
if invoice.move_id:
|
||||
|
@ -187,7 +187,10 @@ class account_invoice(osv.osv):
|
|||
|
||||
def _get_invoice_from_line(self, cr, uid, ids, context=None):
|
||||
move = {}
|
||||
for line in self.pool.get('account.move.line').browse(cr, uid, ids):
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
for line in self.pool.get('account.move.line').browse(cr, uid, ids, context=context):
|
||||
if line.reconcile_partial_id:
|
||||
for line2 in line.reconcile_partial_id.line_partial_ids:
|
||||
move[line2.move_id.id] = True
|
||||
|
@ -201,7 +204,10 @@ class account_invoice(osv.osv):
|
|||
|
||||
def _get_invoice_from_reconcile(self, cr, uid, ids, context=None):
|
||||
move = {}
|
||||
for r in self.pool.get('account.move.reconcile').browse(cr, uid, ids):
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
for r in self.pool.get('account.move.reconcile').browse(cr, uid, ids, context=context):
|
||||
for line in r.line_partial_ids:
|
||||
move[line.move_id.id] = True
|
||||
for line in r.line_id:
|
||||
|
@ -326,6 +332,9 @@ class account_invoice(osv.osv):
|
|||
|
||||
def fields_view_get(self, cr, uid, view_id=None, view_type=False, context=None, toolbar=False, submenu=False):
|
||||
journal_obj = self.pool.get('account.journal')
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
if context.get('active_model','') in ['res.partner']:
|
||||
partner = self.pool.get(context['active_model']).read(cr,uid,context['active_ids'],['supplier','customer'])[0]
|
||||
if not view_type:
|
||||
|
@ -668,8 +677,10 @@ class account_invoice(osv.osv):
|
|||
return True
|
||||
|
||||
def button_compute(self, cr, uid, ids, context=None, set_total=False):
|
||||
if context is None:
|
||||
context = {}
|
||||
self.button_reset_taxes(cr, uid, ids, context)
|
||||
for inv in self.browse(cr, uid, ids):
|
||||
for inv in self.browse(cr, uid, ids, context=context):
|
||||
if set_total:
|
||||
self.pool.get('account.invoice').write(cr, uid, [inv.id], {'check_total': inv.amount_total})
|
||||
return True
|
||||
|
@ -981,7 +992,7 @@ class account_invoice(osv.osv):
|
|||
#TODO: not correct fix but required a frech values before reading it.
|
||||
self.write(cr, uid, ids, {})
|
||||
|
||||
for obj_inv in self.browse(cr, uid, ids):
|
||||
for obj_inv in self.browse(cr, uid, ids, context=context):
|
||||
id = obj_inv.id
|
||||
invtype = obj_inv.type
|
||||
number = obj_inv.number
|
||||
|
@ -1149,7 +1160,7 @@ class account_invoice(osv.osv):
|
|||
context = {}
|
||||
#TODO check if we can use different period for payment and the writeoff line
|
||||
assert len(ids)==1, "Can only pay one invoice at a time"
|
||||
invoice = self.browse(cr, uid, ids[0])
|
||||
invoice = self.browse(cr, uid, ids[0], context=context)
|
||||
src_account_id = invoice.account_id.id
|
||||
# Take the seq as name for move
|
||||
types = {'out_invoice': -1, 'in_invoice': 1, 'out_refund': 1, 'in_refund': -1}
|
||||
|
@ -1313,9 +1324,9 @@ class account_invoice_line(osv.osv):
|
|||
return {'value': {'categ_id': False}, 'domain':{'product_uom':[]}}
|
||||
else:
|
||||
return {'value': {'price_unit': 0.0, 'categ_id': False}, 'domain':{'product_uom':[]}}
|
||||
part = self.pool.get('res.partner').browse(cr, uid, partner_id)
|
||||
part = self.pool.get('res.partner').browse(cr, uid, partner_id, context=context)
|
||||
fpos_obj = self.pool.get('account.fiscal.position')
|
||||
fpos = fposition_id and fpos_obj.browse(cr, uid, fposition_id) or False
|
||||
fpos = fposition_id and fpos_obj.browse(cr, uid, fposition_id, context=context) or False
|
||||
|
||||
if part.lang:
|
||||
context.update({'lang': part.lang})
|
||||
|
@ -1345,7 +1356,7 @@ class account_invoice_line(osv.osv):
|
|||
# Parse the value_reference field to get the ID of the account.account record
|
||||
account_id = int (my_value[0]["value_reference"].split(",")[1])
|
||||
# Use the ID of the account.account record in the browse for the account.account record
|
||||
app_acc_in = account_obj.browse(cr, uid, [account_id])[0]
|
||||
app_acc_in = account_obj.browse(cr, uid, [account_id], context=context)[0]
|
||||
if not exp_pro_id:
|
||||
ex_acc = res.product_tmpl_id.property_account_expense
|
||||
ex_acc_cate = res.categ_id.property_account_expense_categ
|
||||
|
@ -1354,7 +1365,7 @@ class account_invoice_line(osv.osv):
|
|||
else:
|
||||
app_acc_exp = ex_acc_cate
|
||||
else:
|
||||
app_acc_exp = account_obj.browse(cr, uid, exp_pro_id)[0]
|
||||
app_acc_exp = account_obj.browse(cr, uid, exp_pro_id, context=context)[0]
|
||||
if not in_pro_id and not exp_pro_id:
|
||||
in_acc = res.product_tmpl_id.property_account_income
|
||||
in_acc_cate = res.categ_id.property_account_income_categ
|
||||
|
@ -1372,8 +1383,8 @@ class account_invoice_line(osv.osv):
|
|||
if not in_res_id and not exp_res_id:
|
||||
raise osv.except_osv(_('Configuration Error !'),
|
||||
_('Can not find account chart for this company, Please Create account.'))
|
||||
in_obj_acc = account_obj.browse(cr, uid, in_res_id)
|
||||
exp_obj_acc = account_obj.browse(cr, uid, exp_res_id)
|
||||
in_obj_acc = account_obj.browse(cr, uid, in_res_id, context=context)
|
||||
exp_obj_acc = account_obj.browse(cr, uid, exp_res_id, context=context)
|
||||
if in_acc or ex_acc:
|
||||
res.product_tmpl_id.property_account_income = in_obj_acc[0]
|
||||
res.product_tmpl_id.property_account_expense = exp_obj_acc[0]
|
||||
|
@ -1421,8 +1432,8 @@ class account_invoice_line(osv.osv):
|
|||
if not company_id or not currency_id:
|
||||
return res_final
|
||||
|
||||
company = self.pool.get('res.company').browse(cr, uid, company_id)
|
||||
currency = self.pool.get('res.currency').browse(cr, uid, currency_id)
|
||||
company = self.pool.get('res.company').browse(cr, uid, company_id, context=context)
|
||||
currency = self.pool.get('res.currency').browse(cr, uid, currency_id, context=context)
|
||||
|
||||
if company.currency_id.id != currency.id:
|
||||
new_price = res_final['value']['price_unit'] * currency.rate
|
||||
|
@ -1447,7 +1458,9 @@ class account_invoice_line(osv.osv):
|
|||
res = []
|
||||
tax_obj = self.pool.get('account.tax')
|
||||
cur_obj = self.pool.get('res.currency')
|
||||
inv = self.pool.get('account.invoice').browse(cr, uid, invoice_id)
|
||||
if context is None:
|
||||
context = {}
|
||||
inv = self.pool.get('account.invoice').browse(cr, uid, invoice_id, context=context)
|
||||
company_currency = inv.company_id.currency_id.id
|
||||
|
||||
for line in inv.invoice_line:
|
||||
|
@ -1514,6 +1527,9 @@ class account_invoice_tax(osv.osv):
|
|||
|
||||
def _count_factor(self, cr, uid, ids, name, args, context=None):
|
||||
res = {}
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
for invoice_tax in self.browse(cr, uid, ids, context=context):
|
||||
res[invoice_tax.id] = {
|
||||
'factor_base': 1.0,
|
||||
|
@ -1578,11 +1594,14 @@ class account_invoice_tax(osv.osv):
|
|||
'base_amount': 0.0,
|
||||
'tax_amount': 0.0,
|
||||
}
|
||||
def compute(self, cr, uid, invoice_id, context={}):
|
||||
def compute(self, cr, uid, invoice_id, context=None):
|
||||
tax_grouped = {}
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
tax_obj = self.pool.get('account.tax')
|
||||
cur_obj = self.pool.get('res.currency')
|
||||
inv = self.pool.get('account.invoice').browse(cr, uid, invoice_id, context)
|
||||
inv = self.pool.get('account.invoice').browse(cr, uid, invoice_id, context=context)
|
||||
cur = inv.currency_id
|
||||
company_currency = inv.company_id.currency_id.id
|
||||
|
||||
|
|
|
@ -34,7 +34,10 @@ class account_fiscal_position(osv.osv):
|
|||
'note': fields.text('Notes', translate=True),
|
||||
}
|
||||
|
||||
def map_tax(self, cr, uid, fposition_id, taxes, context={}):
|
||||
def map_tax(self, cr, uid, fposition_id, taxes, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
if not taxes:
|
||||
return []
|
||||
if not fposition_id:
|
||||
|
@ -51,7 +54,9 @@ class account_fiscal_position(osv.osv):
|
|||
result.append(t.id)
|
||||
return result
|
||||
|
||||
def map_account(self, cr, uid, fposition_id, account_id, context={}):
|
||||
def map_account(self, cr, uid, fposition_id, account_id, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
if not fposition_id:
|
||||
return account_id
|
||||
for pos in fposition_id.account_ids:
|
||||
|
|
|
@ -29,7 +29,9 @@ class project_account_analytic_line(osv.osv_memory):
|
|||
'to_date': fields.date('To'),
|
||||
}
|
||||
|
||||
def action_open_window(self, cr, uid, ids, context={}):
|
||||
def action_open_window(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
mod_obj =self.pool.get('ir.model.data')
|
||||
domain = []
|
||||
data = self.read(cr, uid, ids, [])[0]
|
||||
|
|
|
@ -27,7 +27,9 @@ import pooler
|
|||
import tools
|
||||
from osv import fields,osv
|
||||
|
||||
def _code_get(self, cr, uid, context={}):
|
||||
def _code_get(self, cr, uid, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
acc_type_obj = self.pool.get('account.account.type')
|
||||
ids = acc_type_obj.search(cr, uid, [])
|
||||
res = acc_type_obj.read(cr, uid, ids, ['code', 'name'], context)
|
||||
|
@ -98,9 +100,11 @@ class report_aged_receivable(osv.osv):
|
|||
res = super(report_aged_receivable, self).fields_view_get(cr, user, view_id, view_type, context, toolbar=toolbar, submenu=submenu)
|
||||
return res
|
||||
|
||||
def _calc_bal(self, cr, uid, ids, name, args, context):
|
||||
def _calc_bal(self, cr, uid, ids, name, args, context=None):
|
||||
res = {}
|
||||
for period in self.read(cr,uid,ids,['name']):
|
||||
if context is None:
|
||||
context = {}
|
||||
for period in self.read(cr,uid,ids,['name'],context=context):
|
||||
date1,date2 = period['name'].split(' to ')
|
||||
cr.execute("SELECT SUM(credit-debit) FROM account_move_line AS line, account_account as ac \
|
||||
WHERE (line.account_id=ac.id) AND ac.type='receivable' \
|
||||
|
|
|
@ -42,10 +42,14 @@ class account_automatic_reconcile(osv.osv_memory):
|
|||
'allow_write_off': fields.boolean('Allow write off')
|
||||
}
|
||||
|
||||
def _get_reconciled(self, cr, uid, context={}):
|
||||
def _get_reconciled(self, cr, uid, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
return context.get('reconciled', 0)
|
||||
|
||||
def _get_unreconciled(self, cr, uid, context={}):
|
||||
def _get_unreconciled(self, cr, uid, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
return context.get('unreconciled', 0)
|
||||
|
||||
_defaults = {
|
||||
|
@ -175,7 +179,7 @@ class account_automatic_reconcile(osv.osv_memory):
|
|||
if allow_write_off:
|
||||
move_line_obj.reconcile(cr, uid, line_ids, 'auto', form['writeoff_acc_id'], form['period_id'], form['journal_id'], context)
|
||||
else:
|
||||
move_line_obj.reconcile_partial(cr, uid, line_ids, 'manual', context={})
|
||||
move_line_obj.reconcile_partial(cr, uid, line_ids, 'manual', context=context)
|
||||
|
||||
# get the list of partners who have more than one unreconciled transaction
|
||||
cr.execute(
|
||||
|
|
|
@ -32,13 +32,15 @@ class account_move_bank_reconcile(osv.osv_memory):
|
|||
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
|
||||
}
|
||||
|
||||
def action_open_window(self, cr, uid, ids, context={}):
|
||||
def action_open_window(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param ids: account move bank reconcile’s ID or list of IDs
|
||||
@return: dictionary of Open account move line on given journal_id.
|
||||
"""
|
||||
if context is None:
|
||||
context = {}
|
||||
data = self.read(cr, uid, ids, context=context)[0]
|
||||
cr.execute('select default_credit_account_id \
|
||||
from account_journal where id=%s', (data['journal_id'],))
|
||||
|
|
|
@ -29,10 +29,12 @@ class account_move_journal(osv.osv_memory):
|
|||
_name = "account.move.journal"
|
||||
_description = "Move journal"
|
||||
|
||||
def _get_period(self, cr, uid, context={}):
|
||||
def _get_period(self, cr, uid, context=None):
|
||||
"""
|
||||
Return default account period value
|
||||
"""
|
||||
if context is None:
|
||||
context = {}
|
||||
account_period_obj = self.pool.get('account.period')
|
||||
ids = account_period_obj.find(cr, uid, context=context)
|
||||
period_id = False
|
||||
|
@ -40,12 +42,14 @@ class account_move_journal(osv.osv_memory):
|
|||
period_id = ids[0]
|
||||
return period_id
|
||||
|
||||
def _get_journal(self, cr, uid, context={}):
|
||||
def _get_journal(self, cr, uid, context=None):
|
||||
"""
|
||||
Return journal based on the journal type
|
||||
"""
|
||||
|
||||
journal_id = False
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
journal_pool = self.pool.get('account.journal')
|
||||
if context.get('journal_type', False):
|
||||
|
|
|
@ -30,7 +30,7 @@ class account_move_line_reconcile_select(osv.osv_memory):
|
|||
domain = [('reconcile', '=', 1)], required=True),
|
||||
}
|
||||
|
||||
def action_open_window(self, cr, uid, ids, context={}):
|
||||
def action_open_window(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
This function Open account move line window for reconcile on given account id
|
||||
@param cr: the current row, from the database cursor,
|
||||
|
@ -39,6 +39,8 @@ class account_move_line_reconcile_select(osv.osv_memory):
|
|||
@return: dictionary of Open account move line window for reconcile on given account id
|
||||
|
||||
"""
|
||||
if context is None:
|
||||
context = {}
|
||||
data = self.read(cr, uid, ids, context=context)[0]
|
||||
return {
|
||||
'domain': "[('account_id','=',%d),('reconcile_id','=',False),('state','<>','draft')]" % data['account_id'],
|
||||
|
|
|
@ -27,7 +27,9 @@ class account_move_line_unreconcile_select(osv.osv_memory):
|
|||
_columns ={
|
||||
'account_id': fields.many2one('account.account','Account',required=True),
|
||||
}
|
||||
def action_open_window(self, cr, uid, ids, context={}):
|
||||
def action_open_window(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
data = self.read(cr, uid, ids, context=context)[0]
|
||||
return {
|
||||
'domain': "[('account_id','=',%d),('reconcile_id','<>',False),('state','<>','draft')]" % data['account_id'],
|
||||
|
|
|
@ -30,12 +30,14 @@ class account_open_closed_fiscalyear(osv.osv_memory):
|
|||
'Fiscal Year to Open', required=True, help='Select Fiscal Year which you want to remove entries for its End of year entries journal'),
|
||||
}
|
||||
|
||||
def remove_entries(self, cr, uid, ids, context={}):
|
||||
def remove_entries(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
fy_obj = self.pool.get('account.fiscalyear')
|
||||
move_obj = self.pool.get('account.move')
|
||||
|
||||
data = self.read(cr, uid, ids, [])[0]
|
||||
data_fyear = fy_obj.browse(cr, uid, data['fyear_id'])
|
||||
data_fyear = fy_obj.browse(cr, uid, data['fyear_id'], context=context)
|
||||
if not data_fyear.end_journal_period_id:
|
||||
raise osv.except_osv(_('Error'), _('No journal for ending writing has been defined for the fiscal year'))
|
||||
period_journal = data_fyear.end_journal_period_id
|
||||
|
|
|
@ -33,7 +33,9 @@ class account_subscription_generate(osv.osv_memory):
|
|||
_defaults = {
|
||||
'date': lambda *a: time.strftime('%Y-%m-%d'),
|
||||
}
|
||||
def action_generate(self, cr, uid, ids, context={}):
|
||||
def action_generate(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
mod_obj = self.pool.get('ir.model.data')
|
||||
act_obj = self.pool.get('ir.actions.act_window')
|
||||
moves_created=[]
|
||||
|
|
|
@ -33,6 +33,8 @@ class account_analytic_account(osv.osv):
|
|||
def _analysis_all(self, cr, uid, ids, fields, arg, context=None):
|
||||
dp = 2
|
||||
res = dict([(i, {}) for i in ids])
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
parent_ids = tuple(self.search(cr, uid, [('parent_id', 'child_of', ids)], context=context))
|
||||
accounts = self.browse(cr, uid, ids, context=context)
|
||||
|
@ -251,6 +253,8 @@ class account_analytic_account(osv.osv):
|
|||
def _ca_invoiced_calc(self, cr, uid, ids, name, arg, context=None):
|
||||
res = {}
|
||||
res_final = {}
|
||||
if context is None:
|
||||
context = {}
|
||||
child_ids = tuple(self.search(cr, uid, [('parent_id', 'child_of', ids)], context=context))
|
||||
for i in child_ids:
|
||||
res[i] = {}
|
||||
|
@ -269,7 +273,7 @@ class account_analytic_account(osv.osv):
|
|||
GROUP BY account_analytic_line.account_id", (child_ids,))
|
||||
for account_id, sum in cr.fetchall():
|
||||
res[account_id][name] = round(sum,2)
|
||||
data = self._compute_level_tree(cr, uid, ids, child_ids, res, [name], context)
|
||||
data = self._compute_level_tree(cr, uid, ids, child_ids, res, [name], context=context)
|
||||
for i in data:
|
||||
res_final[i] = data[i][name]
|
||||
return res_final
|
||||
|
@ -277,6 +281,8 @@ class account_analytic_account(osv.osv):
|
|||
def _total_cost_calc(self, cr, uid, ids, name, arg, context=None):
|
||||
res = {}
|
||||
res_final = {}
|
||||
if context is None:
|
||||
context = {}
|
||||
child_ids = tuple(self.search(cr, uid, [('parent_id', 'child_of', ids)], context=context))
|
||||
|
||||
for i in child_ids:
|
||||
|
@ -303,6 +309,8 @@ class account_analytic_account(osv.osv):
|
|||
|
||||
def _remaining_hours_calc(self, cr, uid, ids, name, arg, context=None):
|
||||
res = {}
|
||||
if context is None:
|
||||
context = {}
|
||||
for account in self.browse(cr, uid, ids, context=context):
|
||||
if account.quantity_max != 0:
|
||||
res[account.id] = account.quantity_max - account.hours_quantity
|
||||
|
@ -314,6 +322,8 @@ class account_analytic_account(osv.osv):
|
|||
|
||||
def _hours_qtt_invoiced_calc(self, cr, uid, ids, name, arg, context=None):
|
||||
res = {}
|
||||
if context is None:
|
||||
context = {}
|
||||
for account in self.browse(cr, uid, ids, context=context):
|
||||
res[account.id] = account.hours_quantity - account.hours_qtt_non_invoiced
|
||||
if res[account.id] < 0:
|
||||
|
@ -324,7 +334,9 @@ class account_analytic_account(osv.osv):
|
|||
|
||||
def _revenue_per_hour_calc(self, cr, uid, ids, name, arg, context=None):
|
||||
res = {}
|
||||
for account in self.browse(cr, uid, ids):
|
||||
if context is None:
|
||||
context = {}
|
||||
for account in self.browse(cr, uid, ids, context=context):
|
||||
if account.hours_qtt_invoiced == 0:
|
||||
res[account.id]=0.0
|
||||
else:
|
||||
|
@ -335,7 +347,9 @@ class account_analytic_account(osv.osv):
|
|||
|
||||
def _real_margin_rate_calc(self, cr, uid, ids, name, arg, context=None):
|
||||
res = {}
|
||||
for account in self.browse(cr, uid, ids):
|
||||
if context is None:
|
||||
context = {}
|
||||
for account in self.browse(cr, uid, ids, context=context):
|
||||
if account.ca_invoiced == 0:
|
||||
res[account.id]=0.0
|
||||
elif account.total_cost != 0.0:
|
||||
|
@ -348,7 +362,9 @@ class account_analytic_account(osv.osv):
|
|||
|
||||
def _remaining_ca_calc(self, cr, uid, ids, name, arg, context=None):
|
||||
res = {}
|
||||
for account in self.browse(cr, uid, ids):
|
||||
if context is None:
|
||||
context = {}
|
||||
for account in self.browse(cr, uid, ids, context=context):
|
||||
if account.amount_max != 0:
|
||||
res[account.id] = account.amount_max - account.ca_invoiced
|
||||
else:
|
||||
|
@ -359,7 +375,9 @@ class account_analytic_account(osv.osv):
|
|||
|
||||
def _real_margin_calc(self, cr, uid, ids, name, arg, context=None):
|
||||
res = {}
|
||||
for account in self.browse(cr, uid, ids):
|
||||
if context is None:
|
||||
context = {}
|
||||
for account in self.browse(cr, uid, ids, context=context):
|
||||
res[account.id] = account.ca_invoiced + account.total_cost
|
||||
for id in ids:
|
||||
res[id] = round(res.get(id, 0.0),2)
|
||||
|
@ -367,7 +385,9 @@ class account_analytic_account(osv.osv):
|
|||
|
||||
def _theorical_margin_calc(self, cr, uid, ids, name, arg, context=None):
|
||||
res = {}
|
||||
for account in self.browse(cr, uid, ids):
|
||||
if context is None:
|
||||
context = {}
|
||||
for account in self.browse(cr, uid, ids, context=context):
|
||||
res[account.id] = account.ca_theorical + account.total_cost
|
||||
for id in ids:
|
||||
res[id] = round(res.get(id, 0.0),2)
|
||||
|
@ -430,6 +450,8 @@ class account_analytic_account_summary_user(osv.osv):
|
|||
|
||||
def _unit_amount(self, cr, uid, ids, name, arg, context=None):
|
||||
res = {}
|
||||
if context is None:
|
||||
context = {}
|
||||
account_obj = self.pool.get('account.analytic.account')
|
||||
cr.execute('SELECT MAX(id) FROM res_users')
|
||||
max_user = cr.fetchone()[0]
|
||||
|
@ -596,6 +618,8 @@ class account_analytic_account_summary_month(osv.osv):
|
|||
|
||||
def _unit_amount(self, cr, uid, ids, name, arg, context=None):
|
||||
res = {}
|
||||
if context is None:
|
||||
context = {}
|
||||
account_obj = self.pool.get('account.analytic.account')
|
||||
account_ids = [int(str(int(x))[:-6]) for x in ids]
|
||||
month_ids = [int(str(int(x))[-6:]) for x in ids]
|
||||
|
|
|
@ -41,6 +41,8 @@ class account_analytic_default(osv.osv):
|
|||
|
||||
def account_get(self, cr, uid, product_id=None, partner_id=None, user_id=None, date=None, context=None):
|
||||
domain = []
|
||||
if context is None:
|
||||
context = {}
|
||||
if product_id:
|
||||
domain += ['|', ('product_id', '=', product_id)]
|
||||
domain += [('product_id','=', False)]
|
||||
|
@ -104,6 +106,8 @@ class sale_order_line(osv.osv):
|
|||
|
||||
# Method overridden to set the analytic account by default on criterion match
|
||||
def invoice_line_create(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
create_ids = super(sale_order_line, self).invoice_line_create(cr, uid, ids, context=context)
|
||||
if not ids:
|
||||
return create_ids
|
||||
|
|
|
@ -148,6 +148,8 @@ class account_analytic_plan_instance(osv.osv):
|
|||
return self.name_get(cr, uid, ids, context or {})
|
||||
|
||||
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
|
||||
if context is None:
|
||||
context = {}
|
||||
wiz_id = self.pool.get('ir.actions.act_window').search(cr, uid, [("name","=","analytic.plan.create.model.action")], context=context)
|
||||
res = super(account_analytic_plan_instance,self).fields_view_get(cr, uid, view_id, view_type, context, toolbar=toolbar, submenu=submenu)
|
||||
journal_obj = self.pool.get('account.journal')
|
||||
|
@ -214,6 +216,8 @@ class account_analytic_plan_instance(osv.osv):
|
|||
return super(account_analytic_plan_instance, self).create(cr, uid, vals, context=context)
|
||||
|
||||
def write(self, cr, uid, ids, vals, context=None, check=True, update_check=True):
|
||||
if context is None:
|
||||
context = {}
|
||||
this = self.browse(cr, uid, ids[0], context=context)
|
||||
invoice_line_obj = self.pool.get('account.invoice.line')
|
||||
if this.plan_id and not vals.has_key('plan_id'):
|
||||
|
@ -307,6 +311,8 @@ class account_move_line(osv.osv):
|
|||
return data
|
||||
|
||||
def create_analytic_lines(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
super(account_move_line, self).create_analytic_lines(cr, uid, ids, context=context)
|
||||
analytic_line_obj = self.pool.get('account.analytic.line')
|
||||
for line in self.browse(cr, uid, ids, context=context):
|
||||
|
@ -336,7 +342,9 @@ class account_move_line(osv.osv):
|
|||
analytic_line_obj.create(cr, uid, al_vals, context=context)
|
||||
return True
|
||||
|
||||
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context={}, toolbar=False, submenu=False):
|
||||
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
|
||||
if context is None:
|
||||
context = {}
|
||||
result = super(osv.osv, self).fields_view_get(cr, uid, view_id, view_type, context, toolbar=toolbar, submenu=submenu)
|
||||
return result
|
||||
|
||||
|
@ -347,6 +355,8 @@ class account_invoice(osv.osv):
|
|||
_inherit = "account.invoice"
|
||||
|
||||
def line_get_convert(self, cr, uid, x, part, date, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
res=super(account_invoice,self).line_get_convert(cr, uid, x, part, date, context=context)
|
||||
res['analytics_id'] = x.get('analytics_id', False)
|
||||
return res
|
||||
|
@ -415,6 +425,8 @@ class sale_order_line(osv.osv):
|
|||
|
||||
# Method overridden to set the analytic account by default on criterion match
|
||||
def invoice_line_create(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
create_ids = super(sale_order_line,self).invoice_line_create(cr, uid, ids, context=context)
|
||||
inv_line_obj = self.pool.get('account.invoice.line')
|
||||
acct_anal_def_obj = self.pool.get('account.analytic.default')
|
||||
|
@ -435,9 +447,11 @@ class account_bank_statement(osv.osv):
|
|||
_name = "account.bank.statement"
|
||||
|
||||
def create_move_from_st_line(self, cr, uid, st_line_id, company_currency_id, st_line_number, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
account_move_line_pool = self.pool.get('account.move.line')
|
||||
account_bank_statement_line_pool = self.pool.get('account.bank.statement.line')
|
||||
st_line = account_bank_statement_line_pool.browse(cr, uid, st_line_id, context)
|
||||
st_line = account_bank_statement_line_pool.browse(cr, uid, st_line_id, context=context)
|
||||
result = super(account_bank_statement,self).create_move_from_st_line(cr, uid, st_line_id, company_currency_id, st_line_number, context=context)
|
||||
move = st_line.move_ids and st_line.move_ids[0] or False
|
||||
if move:
|
||||
|
@ -446,6 +460,8 @@ class account_bank_statement(osv.osv):
|
|||
return result
|
||||
|
||||
def button_confirm_bank(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
super(account_bank_statement,self).button_confirm_bank(cr, uid, ids, context=context)
|
||||
for st in self.browse(cr, uid, ids, context):
|
||||
for st_line in st.line_ids:
|
||||
|
|
|
@ -27,8 +27,10 @@ class account_invoice_line(osv.osv):
|
|||
_inherit = "account.invoice.line"
|
||||
|
||||
def move_line_get(self, cr, uid, invoice_id, context=None):
|
||||
res = super(account_invoice_line,self).move_line_get(cr, uid, invoice_id, context)
|
||||
inv = self.pool.get('account.invoice').browse(cr, uid, invoice_id)
|
||||
if context is None:
|
||||
context = {}
|
||||
res = super(account_invoice_line,self).move_line_get(cr, uid, invoice_id, context=context)
|
||||
inv = self.pool.get('account.invoice').browse(cr, uid, invoice_id, context=context)
|
||||
if inv.type in ('out_invoice','out_refund'):
|
||||
for i_line in inv.invoice_line:
|
||||
if i_line.product_id:
|
||||
|
@ -128,6 +130,8 @@ class account_invoice_line(osv.osv):
|
|||
return res
|
||||
|
||||
def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, currency_id=False, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
if not product:
|
||||
return super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, address_invoice_id, currency_id, context)
|
||||
else:
|
||||
|
@ -144,7 +148,7 @@ class account_invoice_line(osv.osv):
|
|||
if not oa:
|
||||
oa = product_obj.categ_id.property_stock_account_output_categ and product_obj.categ_id.property_stock_account_output_categ.id
|
||||
if oa:
|
||||
fpos = fposition_id and self.pool.get('account.fiscal.position').browse(cr, uid, fposition_id) or False
|
||||
fpos = fposition_id and self.pool.get('account.fiscal.position').browse(cr, uid, fposition_id, context=context) or False
|
||||
a = self.pool.get('account.fiscal.position').map_account(cr, uid, fpos, oa)
|
||||
res['value'].update({'account_id':a})
|
||||
return res
|
||||
|
|
|
@ -31,7 +31,8 @@ class stock_picking(osv.osv):
|
|||
def action_invoice_create(self, cr, uid, ids, journal_id=False,
|
||||
group=False, type='out_invoice', context=None):
|
||||
'''Return ids of created invoices for the pickings'''
|
||||
res = super(stock_picking,self).action_invoice_create(cr, uid, ids, journal_id, group, type, context)
|
||||
if not context: context = {}
|
||||
res = super(stock_picking,self).action_invoice_create(cr, uid, ids, journal_id, group, type, context=context)
|
||||
if type == 'in_refund':
|
||||
for inv in self.pool.get('account.invoice').browse(cr, uid, res.values(), context=context):
|
||||
for ol in inv.invoice_line:
|
||||
|
|
|
@ -108,10 +108,11 @@ crossovered_budget()
|
|||
|
||||
class crossovered_budget_lines(osv.osv):
|
||||
|
||||
def _prac_amt(self, cr, uid, ids, context={}):
|
||||
def _prac_amt(self, cr, uid, ids, context=None):
|
||||
res = {}
|
||||
result = 0.0
|
||||
for line in self.browse(cr, uid, ids):
|
||||
if not context: context = {}
|
||||
for line in self.browse(cr, uid, ids, context=context):
|
||||
acc_ids = [x.id for x in line.general_budget_id.account_ids]
|
||||
if not acc_ids:
|
||||
raise osv.except_osv(_('Error!'),_("The General Budget '%s' has no Accounts!") % str(line.general_budget_id.name))
|
||||
|
@ -131,15 +132,17 @@ class crossovered_budget_lines(osv.osv):
|
|||
res[line.id] = result
|
||||
return res
|
||||
|
||||
def _prac(self, cr, uid, ids, name, args, context):
|
||||
def _prac(self, cr, uid, ids, name, args, context=None):
|
||||
res={}
|
||||
for line in self.browse(cr, uid, ids):
|
||||
if not context: context = {}
|
||||
for line in self.browse(cr, uid, ids, context=context):
|
||||
res[line.id] = self._prac_amt(cr, uid, [line.id], context=context)[line.id]
|
||||
return res
|
||||
|
||||
def _theo_amt(self, cr, uid, ids, context={}):
|
||||
def _theo_amt(self, cr, uid, ids, context=None):
|
||||
res = {}
|
||||
for line in self.browse(cr, uid, ids):
|
||||
if not context: context = {}
|
||||
for line in self.browse(cr, uid, ids, context=context):
|
||||
today = datetime.datetime.today()
|
||||
date_to = today.strftime("%Y-%m-%d")
|
||||
date_from = line.date_from
|
||||
|
@ -167,15 +170,16 @@ class crossovered_budget_lines(osv.osv):
|
|||
res[line.id] = theo_amt
|
||||
return res
|
||||
|
||||
def _theo(self, cr, uid, ids, name, args, context):
|
||||
def _theo(self, cr, uid, ids, name, args, context=None):
|
||||
res = {}
|
||||
for line in self.browse(cr, uid, ids):
|
||||
if not context: context = {}
|
||||
for line in self.browse(cr, uid, ids, context=context):
|
||||
res[line.id] = self._theo_amt(cr, uid, [line.id], context=context)[line.id]
|
||||
return res
|
||||
|
||||
def _perc(self, cr, uid, ids, name, args, context):
|
||||
def _perc(self, cr, uid, ids, name, args, context=None):
|
||||
res = {}
|
||||
for line in self.browse(cr, uid, ids):
|
||||
for line in self.browse(cr, uid, ids, context=context):
|
||||
if line.theoritical_amount <> 0.00:
|
||||
res[line.id] = float(line.practical_amount or 0.0 / line.theoritical_amount) * 100
|
||||
else:
|
||||
|
|
|
@ -43,6 +43,7 @@ class account_coda(osv.osv):
|
|||
}
|
||||
|
||||
def search(self, cr, user, args, offset=0, limit=None, order=None, context=None, count=False):
|
||||
if not context: context = {}
|
||||
res = super(account_coda, self).search(cr, user, args=args, offset=offset, limit=limit, order=order,
|
||||
context=context, count=count)
|
||||
if context.get('bank_statement', False) and not res:
|
||||
|
|
|
@ -155,7 +155,7 @@ class account_coda_import(osv.osv_memory):
|
|||
bank_ids = partner_bank_obj.search(cr, uid, [('acc_number', '=', st_line_partner_acc)])
|
||||
bank_statement_lines[st_line_name].update({'cntry_number': cntry_number, 'contry_name': contry_name})
|
||||
if bank_ids:
|
||||
bank = partner_bank_obj.browse(cr, uid, bank_ids[0], context)
|
||||
bank = partner_bank_obj.browse(cr, uid, bank_ids[0], context=context)
|
||||
if line and bank.partner_id:
|
||||
bank_statement_lines[st_line_name].update({'partner_id': bank.partner_id.id})
|
||||
if bank_statement_lines[st_line_name]['amount'] < 0:
|
||||
|
|
|
@ -58,7 +58,7 @@ class report_rappel(report_sxw.rml_parse):
|
|||
movelines = moveline_obj.read(self.cr, self.uid, movelines)
|
||||
return movelines
|
||||
|
||||
def _get_text(self, partner, followup_id, context={}):
|
||||
def _get_text(self, partner, followup_id, context=None):
|
||||
fp_obj = pooler.get_pool(self.cr.dbname).get('account_followup.followup')
|
||||
fp_line = fp_obj.browse(self.cr, self.uid, followup_id).followup_line
|
||||
li_delay = []
|
||||
|
|
|
@ -214,8 +214,8 @@ class account_followup_print_all(osv.osv_memory):
|
|||
if data['email_conf']:
|
||||
msg_sent = ''
|
||||
msg_unsent = ''
|
||||
data_user = user_obj.browse(cr, uid, uid)
|
||||
move_lines = line_obj.browse(cr, uid, data['partner_ids'])
|
||||
data_user = user_obj.browse(cr, uid, uid, context=context)
|
||||
move_lines = line_obj.browse(cr, uid, data['partner_ids'], context=context)
|
||||
partners = []
|
||||
dict_lines = {}
|
||||
for line in move_lines:
|
||||
|
@ -223,7 +223,7 @@ class account_followup_print_all(osv.osv_memory):
|
|||
dict_lines[line.name.id] =line
|
||||
for partner in partners:
|
||||
ids_lines = move_obj.search(cr,uid,[('partner_id','=',partner.id),('reconcile_id','=',False),('account_id.type','in',['receivable'])])
|
||||
data_lines = move_obj.browse(cr, uid, ids_lines)
|
||||
data_lines = move_obj.browse(cr, uid, ids_lines, context=context)
|
||||
followup_data = dict_lines[partner.id]
|
||||
dest = False
|
||||
if partner.address:
|
||||
|
|
|
@ -127,13 +127,14 @@ class account_invoice_line(osv.osv):
|
|||
def copy_data(self, cr, uid, id, default=None, context=None):
|
||||
if default is None:
|
||||
default = {}
|
||||
default['state'] = self.browse(cr, uid, id).state
|
||||
if not context: context = {}
|
||||
default['state'] = self.browse(cr, uid, id, context=context).state
|
||||
return super(account_invoice_line, self).copy_data(cr, uid, id, default, context)
|
||||
|
||||
def _fnct(self, cr, uid, ids, name, args, context=None):
|
||||
res = {}
|
||||
|
||||
lines = self.browse(cr, uid, ids)
|
||||
if not context: context = {}
|
||||
lines = self.browse(cr, uid, ids, context=context)
|
||||
account_ids = [line.account_id.id for line in lines]
|
||||
account_names = dict(self.pool.get('account.account').name_get(cr, uid, account_ids, context=context))
|
||||
for line in lines:
|
||||
|
|
|
@ -31,6 +31,7 @@ class Invoice(osv.osv):
|
|||
if not ids:
|
||||
return {}
|
||||
res = {}
|
||||
if not context: context = {}
|
||||
for invoice in self.browse(cursor, user, ids, context=context):
|
||||
res[invoice.id] = 0.0
|
||||
if invoice.move_id:
|
||||
|
|
|
@ -26,7 +26,7 @@ from tools.translate import _
|
|||
class account_move_line(osv.osv):
|
||||
_inherit = "account.move.line"
|
||||
|
||||
def amount_to_pay(self, cr, uid, ids, name, arg={}, context={}):
|
||||
def amount_to_pay(self, cr, uid, ids, name, arg={}, context=None):
|
||||
""" Return the amount still to pay regarding all the payemnt orders
|
||||
(excepting cancelled orders)"""
|
||||
if not ids:
|
||||
|
@ -47,9 +47,10 @@ class account_move_line(osv.osv):
|
|||
r = dict(cr.fetchall())
|
||||
return r
|
||||
|
||||
def _to_pay_search(self, cr, uid, obj, name, args, context):
|
||||
def _to_pay_search(self, cr, uid, obj, name, args, context=None):
|
||||
if not args:
|
||||
return []
|
||||
if not context: context = {}
|
||||
line_obj = self.pool.get('account.move.line')
|
||||
query = line_obj._query_get(cr, uid, context={})
|
||||
where = ' and '.join(map(lambda x: '''(SELECT
|
||||
|
@ -88,6 +89,7 @@ class account_move_line(osv.osv):
|
|||
"""
|
||||
payment_mode_obj = self.pool.get('payment.mode')
|
||||
line2bank = {}
|
||||
if not context: context = {}
|
||||
if not ids:
|
||||
return {}
|
||||
bank_type = payment_mode_obj.suitable_bank_types(cr, uid, payment_type,
|
||||
|
|
|
@ -39,7 +39,7 @@ class payment_mode(osv.osv):
|
|||
'company_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id
|
||||
}
|
||||
|
||||
def suitable_bank_types(self, cr, uid, payment_code=None, context={}):
|
||||
def suitable_bank_types(self, cr, uid, payment_code=None, context=None):
|
||||
"""Return the codes of the bank type that are suitable
|
||||
for the given payment type code"""
|
||||
if not payment_code:
|
||||
|
@ -67,6 +67,7 @@ class payment_order(osv.osv):
|
|||
if not ids:
|
||||
return {}
|
||||
res = {}
|
||||
if not context: context = {}
|
||||
for order in self.browse(cursor, user, ids, context=context):
|
||||
if order.line_ids:
|
||||
res[order.id] = reduce(lambda x, y: x + y.amount, order.line_ids, 0.0)
|
||||
|
@ -127,6 +128,7 @@ class payment_order(osv.osv):
|
|||
return True
|
||||
|
||||
def copy(self, cr, uid, id, default={}, context=None):
|
||||
if not context: context = {}
|
||||
default.update({
|
||||
'state': 'draft',
|
||||
'line_ids': [],
|
||||
|
@ -267,10 +269,11 @@ class payment_line(osv.osv):
|
|||
line.amount_currency, context=ctx)
|
||||
return res
|
||||
|
||||
def _get_currency(self, cr, uid, context):
|
||||
def _get_currency(self, cr, uid, context=None):
|
||||
user_obj = self.pool.get('res.users')
|
||||
currency_obj = self.pool.get('res.currency')
|
||||
user = user_obj.browse(cr, uid, uid)
|
||||
if not context: context = {}
|
||||
user = user_obj.browse(cr, uid, uid, context=context)
|
||||
|
||||
if user.company_id:
|
||||
return user.company_id.currency_id.id
|
||||
|
@ -284,7 +287,7 @@ class payment_line(osv.osv):
|
|||
date = False
|
||||
|
||||
if context.get('order_id') and context['order_id']:
|
||||
order = payment_order_obj.browse(cr, uid, context['order_id'], context)
|
||||
order = payment_order_obj.browse(cr, uid, context['order_id'], context=context)
|
||||
if order.date_prefered == 'fixed':
|
||||
date = order.date_scheduled
|
||||
else:
|
||||
|
@ -407,13 +410,14 @@ class payment_line(osv.osv):
|
|||
|
||||
def onchange_partner(self, cr, uid, ids, partner_id, payment_type, context=None):
|
||||
data = {}
|
||||
if not context: context = {}
|
||||
partner_zip_obj = self.pool.get('res.partner.zip')
|
||||
partner_obj = self.pool.get('res.partner')
|
||||
payment_mode_obj = self.pool.get('payment.mode')
|
||||
data['info_partner'] = data['bank_id'] = False
|
||||
|
||||
if partner_id:
|
||||
part_obj = partner_obj.browse(cr, uid, partner_id)
|
||||
part_obj = partner_obj.browse(cr, uid, partner_id, context=context)
|
||||
partner = part_obj.name or ''
|
||||
|
||||
if part_obj.address:
|
||||
|
|
|
@ -30,10 +30,11 @@ class account_move(osv.osv):
|
|||
}
|
||||
|
||||
def post(self, cr, uid, ids, context=None):
|
||||
if not context: context = {}
|
||||
obj_sequence = self.pool.get('ir.sequence')
|
||||
res = super(account_move, self).post(cr, uid, ids, context=context)
|
||||
seq_no = False
|
||||
for line in self.browse(cr, uid, ids):
|
||||
for line in self.browse(cr, uid, ids, context=context):
|
||||
if line.journal_id.internal_sequence:
|
||||
seq_no = obj_sequence.get_id(cr, uid, line.journal_id.internal_sequence.id, context=context)
|
||||
if seq_no:
|
||||
|
|
|
@ -30,8 +30,9 @@ from tools.translate import _
|
|||
class account_move_line(osv.osv):
|
||||
_inherit = 'account.move.line'
|
||||
|
||||
def _unreconciled(self, cr, uid, ids, prop, unknow_none, context):
|
||||
def _unreconciled(self, cr, uid, ids, prop, unknow_none, context=None):
|
||||
res = {}
|
||||
if not context: context = {}
|
||||
for line in self.browse(cr, uid, ids, context=context):
|
||||
res[line.id] = line.debit - line.credit
|
||||
if line.reconcile_partial_id:
|
||||
|
@ -49,16 +50,19 @@ account_move_line()
|
|||
|
||||
class account_voucher(osv.osv):
|
||||
|
||||
def _get_type(self, cr, uid, ids, context={}):
|
||||
def _get_type(self, cr, uid, ids, context=None):
|
||||
if not context: context = {}
|
||||
return context.get('type', False)
|
||||
|
||||
def _get_period(self, cr, uid, context={}):
|
||||
def _get_period(self, cr, uid, context=None):
|
||||
if not context: context = {}
|
||||
if context.get('period_id', False):
|
||||
return context.get('period_id')
|
||||
periods = self.pool.get('account.period').find(cr, uid)
|
||||
return periods and periods[0] or False
|
||||
|
||||
def _get_journal(self, cr, uid, context={}):
|
||||
def _get_journal(self, cr, uid, context=None):
|
||||
if not context: context = {}
|
||||
journal_pool = self.pool.get('account.journal')
|
||||
if context.get('journal_id', False):
|
||||
return context.get('journal_id')
|
||||
|
@ -71,7 +75,8 @@ class account_voucher(osv.osv):
|
|||
res = journal_pool.search(cr, uid, [('type', '=', ttype)], limit=1)
|
||||
return res and res[0] or False
|
||||
|
||||
def _get_tax(self, cr, uid, context={}):
|
||||
def _get_tax(self, cr, uid, context=None):
|
||||
if not context: context = {}
|
||||
journal_pool = self.pool.get('account.journal')
|
||||
journal_id = context.get('journal_id', False)
|
||||
if not journal_id:
|
||||
|
@ -83,39 +88,45 @@ class account_voucher(osv.osv):
|
|||
|
||||
if not journal_id:
|
||||
return False
|
||||
journal = journal_pool.browse(cr, uid, journal_id)
|
||||
journal = journal_pool.browse(cr, uid, journal_id, context=context)
|
||||
account_id = journal.default_credit_account_id or journal.default_debit_account_id
|
||||
if account_id and account_id.tax_ids:
|
||||
tax_id = account_id.tax_ids[0].id
|
||||
return tax_id
|
||||
return False
|
||||
|
||||
def _get_currency(self, cr, uid, context):
|
||||
def _get_currency(self, cr, uid, context=None):
|
||||
if not context: context = {}
|
||||
journal_pool = self.pool.get('account.journal')
|
||||
journal_id = context.get('journal_id', False)
|
||||
if journal_id:
|
||||
journal = journal_pool.browse(cr, uid, journal_id)
|
||||
journal = journal_pool.browse(cr, uid, journal_id, context=context)
|
||||
# currency_id = journal.company_id.currency_id.id
|
||||
if journal.currency:
|
||||
return journal.currency.id
|
||||
return False
|
||||
|
||||
def _get_partner(self, cr, uid, context={}):
|
||||
def _get_partner(self, cr, uid, context=None):
|
||||
if not context: context = {}
|
||||
return context.get('partner_id', False)
|
||||
|
||||
def _get_reference(self, cr, uid, context={}):
|
||||
def _get_reference(self, cr, uid, context=None):
|
||||
if not context: context = {}
|
||||
return context.get('reference', False)
|
||||
|
||||
def _get_narration(self, cr, uid, context={}):
|
||||
def _get_narration(self, cr, uid, context=None):
|
||||
if not context: context = {}
|
||||
return context.get('narration', False)
|
||||
|
||||
def name_get(self, cr, uid, ids, context=None):
|
||||
if not ids:
|
||||
return []
|
||||
if not context: context = {}
|
||||
return [(r['id'], (str("%.2f" % r['amount']) or '')) for r in self.read(cr, uid, ids, ['amount'], context, load='_classic_write')]
|
||||
|
||||
def fields_view_get(self, cr, uid, view_id=None, view_type=False, context=None, toolbar=False, submenu=False):
|
||||
mod_obj = self.pool.get('ir.model.data')
|
||||
if not context: context = {}
|
||||
if not view_id and context.get('invoice_type', False):
|
||||
if context.get('invoice_type', False) in ('out_invoice', 'out_refund'):
|
||||
result = mod_obj.get_object_reference(cr, uid, 'account_voucher', 'view_vendor_receipt_form')
|
||||
|
@ -207,14 +218,15 @@ class account_voucher(osv.osv):
|
|||
'tax_id': _get_tax,
|
||||
}
|
||||
|
||||
def compute_tax(self, cr, uid, ids, context={}):
|
||||
def compute_tax(self, cr, uid, ids, context=None):
|
||||
tax_pool = self.pool.get('account.tax')
|
||||
partner_pool = self.pool.get('res.partner')
|
||||
position_pool = self.pool.get('account.fiscal.position')
|
||||
voucher_line_pool = self.pool.get('account.voucher.line')
|
||||
voucher_pool = self.pool.get('account.voucher')
|
||||
if not context: context = {}
|
||||
|
||||
for voucher in voucher_pool.browse(cr, uid, ids, context):
|
||||
for voucher in voucher_pool.browse(cr, uid, ids, context=context):
|
||||
voucher_amount = 0.0
|
||||
for line in voucher.line_ids:
|
||||
voucher_amount += line.untax_amount or line.amount
|
||||
|
@ -225,10 +237,10 @@ class account_voucher(osv.osv):
|
|||
self.write(cr, uid, [voucher.id], {'amount':voucher_amount, 'tax_amount':0.0})
|
||||
continue
|
||||
|
||||
tax = [tax_pool.browse(cr, uid, voucher.tax_id.id)]
|
||||
partner = partner_pool.browse(cr, uid, voucher.partner_id.id) or False
|
||||
tax = [tax_pool.browse(cr, uid, voucher.tax_id.id, context=context)]
|
||||
partner = partner_pool.browse(cr, uid, voucher.partner_id.id, context=context) or False
|
||||
taxes = position_pool.map_tax(cr, uid, partner and partner.property_account_position or False, tax)
|
||||
tax = tax_pool.browse(cr, uid, taxes)
|
||||
tax = tax_pool.browse(cr, uid, taxes, context=context)
|
||||
|
||||
total = voucher_amount
|
||||
total_tax = 0.0
|
||||
|
@ -252,7 +264,7 @@ class account_voucher(osv.osv):
|
|||
self.write(cr, uid, [voucher.id], {'amount':total, 'tax_amount':total_tax})
|
||||
return True
|
||||
|
||||
def onchange_price(self, cr, uid, ids, line_ids, tax_id, partner_id=False, context={}):
|
||||
def onchange_price(self, cr, uid, ids, line_ids, tax_id, partner_id=False, context=None):
|
||||
tax_pool = self.pool.get('account.tax')
|
||||
partner_pool = self.pool.get('res.partner')
|
||||
position_pool = self.pool.get('account.fiscal.position')
|
||||
|
@ -262,6 +274,7 @@ class account_voucher(osv.osv):
|
|||
}
|
||||
voucher_total = 0.0
|
||||
voucher_line_ids = []
|
||||
if not context: context = {}
|
||||
|
||||
total = 0.0
|
||||
total_tax = 0.0
|
||||
|
@ -274,11 +287,11 @@ class account_voucher(osv.osv):
|
|||
total = voucher_total
|
||||
total_tax = 0.0
|
||||
if tax_id:
|
||||
tax = [tax_pool.browse(cr, uid, tax_id)]
|
||||
tax = [tax_pool.browse(cr, uid, tax_id, context=context)]
|
||||
if partner_id:
|
||||
partner = partner_pool.browse(cr, uid, partner_id) or False
|
||||
partner = partner_pool.browse(cr, uid, partner_id, context=context) or False
|
||||
taxes = position_pool.map_tax(cr, uid, partner and partner.property_account_position or False, tax)
|
||||
tax = tax_pool.browse(cr, uid, taxes)
|
||||
tax = tax_pool.browse(cr, uid, taxes, context=context)
|
||||
|
||||
if not tax[0].price_include:
|
||||
for tax_line in tax_pool.compute_all(cr, uid, tax, voucher_total, 1).get('taxes', []):
|
||||
|
@ -307,7 +320,7 @@ class account_voucher(osv.osv):
|
|||
})
|
||||
return {'value':default}
|
||||
|
||||
def onchange_journal_voucher(self, cr, uid, ids, line_ids=False, tax_id=False, price=0.0, partner_id=False, journal_id=False, ttype=False, context={}):
|
||||
def onchange_journal_voucher(self, cr, uid, ids, line_ids=False, tax_id=False, price=0.0, partner_id=False, journal_id=False, ttype=False, context=None):
|
||||
"""price
|
||||
Returns a dict that contains new values and context
|
||||
|
||||
|
@ -320,6 +333,7 @@ class account_voucher(osv.osv):
|
|||
default = {
|
||||
'value':{},
|
||||
}
|
||||
if not context: context = {}
|
||||
|
||||
if not partner_id or not journal_id:
|
||||
return default
|
||||
|
@ -327,8 +341,8 @@ class account_voucher(osv.osv):
|
|||
partner_pool = self.pool.get('res.partner')
|
||||
journal_pool = self.pool.get('account.journal')
|
||||
|
||||
journal = journal_pool.browse(cr, uid, journal_id)
|
||||
partner = partner_pool.browse(cr, uid, partner_id)
|
||||
journal = journal_pool.browse(cr, uid, journal_id, context=context)
|
||||
partner = partner_pool.browse(cr, uid, partner_id, context=context)
|
||||
account_id = False
|
||||
tr_type = False
|
||||
if journal.type in ('sale','sale_refund'):
|
||||
|
@ -386,8 +400,8 @@ class account_voucher(osv.osv):
|
|||
line_pool.unlink(cr, uid, line_ids)
|
||||
return default
|
||||
|
||||
journal = journal_pool.browse(cr, uid, journal_id)
|
||||
partner = partner_pool.browse(cr, uid, partner_id)
|
||||
journal = journal_pool.browse(cr, uid, journal_id, context=context)
|
||||
partner = partner_pool.browse(cr, uid, partner_id, context=context)
|
||||
account_id = False
|
||||
if journal.type in ('sale','sale_refund'):
|
||||
account_id = partner.property_account_receivable.id
|
||||
|
@ -416,7 +430,7 @@ class account_voucher(osv.osv):
|
|||
else:
|
||||
ids = context['move_line_ids']
|
||||
ids.reverse()
|
||||
moves = move_line_pool.browse(cr, uid, ids)
|
||||
moves = move_line_pool.browse(cr, uid, ids, context=context)
|
||||
|
||||
company_currency = journal.company_id.currency_id.id
|
||||
if company_currency != currency_id and ttype == 'payment':
|
||||
|
@ -471,7 +485,7 @@ class account_voucher(osv.osv):
|
|||
|
||||
return default
|
||||
|
||||
def onchange_date(self, cr, user, ids, date, context={}):
|
||||
def onchange_date(self, cr, user, ids, date, context=None):
|
||||
"""
|
||||
@param date: latest value from user input for field date
|
||||
@param args: other arguments
|
||||
|
@ -488,11 +502,12 @@ class account_voucher(osv.osv):
|
|||
}
|
||||
}
|
||||
|
||||
def onchange_journal(self, cr, uid, ids, journal_id, line_ids, tax_id, partner_id, context={}):
|
||||
def onchange_journal(self, cr, uid, ids, journal_id, line_ids, tax_id, partner_id, context=None):
|
||||
if not journal_id:
|
||||
return False
|
||||
if not context: context = {}
|
||||
journal_pool = self.pool.get('account.journal')
|
||||
journal = journal_pool.browse(cr, uid, journal_id)
|
||||
journal = journal_pool.browse(cr, uid, journal_id, context=context)
|
||||
account_id = journal.default_credit_account_id or journal.default_debit_account_id
|
||||
tax_id = False
|
||||
if account_id and account_id.tax_ids:
|
||||
|
@ -510,18 +525,19 @@ class account_voucher(osv.osv):
|
|||
self.action_move_line_create(cr, uid, ids, context=context)
|
||||
return True
|
||||
|
||||
def action_cancel_draft(self, cr, uid, ids, context={}):
|
||||
def action_cancel_draft(self, cr, uid, ids, context=None):
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for voucher_id in ids:
|
||||
wf_service.trg_create(uid, 'account.voucher', voucher_id, cr)
|
||||
self.write(cr, uid, ids, {'state':'draft'})
|
||||
return True
|
||||
|
||||
def cancel_voucher(self, cr, uid, ids, context={}):
|
||||
def cancel_voucher(self, cr, uid, ids, context=None):
|
||||
reconcile_pool = self.pool.get('account.move.reconcile')
|
||||
move_pool = self.pool.get('account.move')
|
||||
if not context: context = {}
|
||||
|
||||
for voucher in self.browse(cr, uid, ids):
|
||||
for voucher in self.browse(cr, uid, ids, context=context):
|
||||
recs = []
|
||||
for line in voucher.move_ids:
|
||||
if line.reconcile_id:
|
||||
|
@ -582,7 +598,7 @@ class account_voucher(osv.osv):
|
|||
currency_pool = self.pool.get('res.currency')
|
||||
tax_obj = self.pool.get('account.tax')
|
||||
seq_obj = self.pool.get('ir.sequence')
|
||||
for inv in self.browse(cr, uid, ids):
|
||||
for inv in self.browse(cr, uid, ids, context=context):
|
||||
if inv.move_id:
|
||||
continue
|
||||
if inv.number:
|
||||
|
@ -753,7 +769,8 @@ class account_voucher_line(osv.osv):
|
|||
def _compute_balance(self, cr, uid, ids, name, args, context=None):
|
||||
currency_pool = self.pool.get('res.currency')
|
||||
rs_data = {}
|
||||
for line in self.browse(cr, uid, ids):
|
||||
if not context: context = {}
|
||||
for line in self.browse(cr, uid, ids, context=context):
|
||||
res = {}
|
||||
company_currency = line.voucher_id.journal_id.company_id.currency_id.id
|
||||
voucher_currency = line.voucher_id.currency_id.id
|
||||
|
@ -793,7 +810,7 @@ class account_voucher_line(osv.osv):
|
|||
'name': ''
|
||||
}
|
||||
|
||||
def onchange_move_line_id(self, cr, user, ids, move_line_id, context={}):
|
||||
def onchange_move_line_id(self, cr, user, ids, move_line_id, context=None):
|
||||
"""
|
||||
Returns a dict that contains new values and context
|
||||
|
||||
|
@ -804,6 +821,7 @@ class account_voucher_line(osv.osv):
|
|||
@return: Returns a dict which contains new values, and context
|
||||
"""
|
||||
res = {}
|
||||
if not context: context = {}
|
||||
move_line_pool = self.pool.get('account.move.line')
|
||||
if move_line_id:
|
||||
move_line = move_line_pool.browse(cr, user, move_line_id, context=context)
|
||||
|
@ -828,6 +846,7 @@ class account_voucher_line(osv.osv):
|
|||
|
||||
@return: Returns a dict that contains default values for fields
|
||||
"""
|
||||
if not context: context = {}
|
||||
journal_id = context.get('journal_id', False)
|
||||
partner_id = context.get('partner_id', False)
|
||||
journal_pool = self.pool.get('account.journal')
|
||||
|
@ -835,7 +854,7 @@ class account_voucher_line(osv.osv):
|
|||
values = super(account_voucher_line, self).default_get(cr, user, fields_list, context=context)
|
||||
if (not journal_id) or ('account_id' not in fields_list):
|
||||
return values
|
||||
journal = journal_pool.browse(cr, user, journal_id)
|
||||
journal = journal_pool.browse(cr, user, journal_id, context=context)
|
||||
account_id = False
|
||||
ttype = 'cr'
|
||||
if journal.type in ('sale', 'sale_refund'):
|
||||
|
@ -864,7 +883,8 @@ class account_bank_statement(osv.osv):
|
|||
|
||||
def button_cancel(self, cr, uid, ids, context=None):
|
||||
voucher_obj = self.pool.get('account.voucher')
|
||||
for st in self.browse(cr, uid, ids, context):
|
||||
if not context: context = {}
|
||||
for st in self.browse(cr, uid, ids, context=context):
|
||||
voucher_ids = []
|
||||
for line in st.line_ids:
|
||||
if line.voucher_id:
|
||||
|
@ -877,6 +897,7 @@ class account_bank_statement(osv.osv):
|
|||
wf_service = netsvc.LocalService("workflow")
|
||||
move_line_obj = self.pool.get('account.move.line')
|
||||
bank_st_line_obj = self.pool.get('account.bank.statement.line')
|
||||
if not context: context = {}
|
||||
st_line = bank_st_line_obj.browse(cr, uid, st_line_id, context=context)
|
||||
if st_line.voucher_id:
|
||||
voucher_obj.write(cr, uid, [st_line.voucher_id.id], {'number': next_number}, context=context)
|
||||
|
@ -902,6 +923,7 @@ class account_bank_statement_line(osv.osv):
|
|||
return {}
|
||||
|
||||
res = {}
|
||||
if not context: context = {}
|
||||
# company_currency_id = False
|
||||
for line in self.browse(cursor, user, ids, context=context):
|
||||
# if not company_currency_id:
|
||||
|
@ -923,8 +945,9 @@ class account_bank_statement_line(osv.osv):
|
|||
}
|
||||
|
||||
def unlink(self, cr, uid, ids, context=None):
|
||||
if not context: context = {}
|
||||
voucher_obj = self.pool.get('account.voucher')
|
||||
statement_line = self.browse(cr, uid, ids, context)
|
||||
statement_line = self.browse(cr, uid, ids, context=context)
|
||||
unlink_ids = []
|
||||
for st_line in statement_line:
|
||||
if st_line.voucher_id:
|
||||
|
|
|
@ -27,6 +27,7 @@ class invoice(osv.osv):
|
|||
|
||||
def invoice_pay_customer(self, cr, uid, ids, context=None):
|
||||
if not ids: return []
|
||||
if not context: context = {}
|
||||
inv = self.browse(cr, uid, ids[0], context=context)
|
||||
return {
|
||||
'name':_("Pay Invoice"),
|
||||
|
|
|
@ -35,7 +35,7 @@ class account_statement_from_invoice_lines(osv.osv_memory):
|
|||
}
|
||||
|
||||
def populate_statement(self, cr, uid, ids, context=None):
|
||||
|
||||
if not context: context = {}
|
||||
statement_id = context.get('statement_id', False)
|
||||
if not statement_id:
|
||||
return {}
|
||||
|
@ -134,7 +134,7 @@ class account_statement_from_invoice(osv.osv_memory):
|
|||
}
|
||||
|
||||
def search_invoices(self, cr, uid, ids, context=None):
|
||||
|
||||
if not context: context = {}
|
||||
line_obj = self.pool.get('account.move.line')
|
||||
statement_obj = self.pool.get('account.bank.statement')
|
||||
journal_obj = self.pool.get('account.journal')
|
||||
|
|
|
@ -41,7 +41,7 @@ class account_voucher_unreconcile(osv.osv_memory):
|
|||
voucher_pool = self.pool.get('account.voucher')
|
||||
reconcile_pool = self.pool.get('account.move.reconcile')
|
||||
if context.get('active_id'):
|
||||
voucher = voucher_pool.browse(cr, uid, context.get('active_id'), context)
|
||||
voucher = voucher_pool.browse(cr, uid, context.get('active_id'), context=context)
|
||||
recs = []
|
||||
for line in voucher.move_ids:
|
||||
if line.reconcile_id:
|
||||
|
|
|
@ -29,6 +29,7 @@ class account_analytic_account(osv.osv):
|
|||
_description = 'Analytic Account'
|
||||
|
||||
def _compute_level_tree(self, cr, uid, ids, child_ids, res, field_names, context=None):
|
||||
if not context: context = {}
|
||||
def recursive_computation(account_id, res):
|
||||
account = self.browse(cr, uid, account_id)
|
||||
for son in account.child_ids:
|
||||
|
@ -92,6 +93,7 @@ class account_analytic_account(osv.osv):
|
|||
if not ids:
|
||||
return []
|
||||
res = []
|
||||
if not context: context = {}
|
||||
for account in self.browse(cr, uid, ids, context=context):
|
||||
data = []
|
||||
acc = account
|
||||
|
@ -137,6 +139,7 @@ class account_analytic_account(osv.osv):
|
|||
}
|
||||
|
||||
def _default_company(self, cr, uid, context=None):
|
||||
if not context: context = {}
|
||||
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
|
||||
if user.company_id:
|
||||
return user.company_id.id
|
||||
|
@ -163,6 +166,7 @@ class account_analytic_account(osv.osv):
|
|||
def copy(self, cr, uid, id, default=None, context=None):
|
||||
if not default:
|
||||
default = {}
|
||||
if not context: context = {}
|
||||
default['code'] = False
|
||||
default['line_ids'] = []
|
||||
return super(account_analytic_account, self).copy(cr, uid, id, default, context=context)
|
||||
|
|
|
@ -65,10 +65,12 @@ class auction_dates(osv.osv):
|
|||
name = [(r['id'], '['+r['auction1']+'] '+ r['name']) for r in reads]
|
||||
return name
|
||||
|
||||
def _get_invoice(self, cr, uid, ids, name, arg, context={}):
|
||||
def _get_invoice(self, cr, uid, ids, name, arg, context=None):
|
||||
lots_obj = self.pool.get('auction.lots')
|
||||
result = {}
|
||||
for data in self.browse(cr, uid, ids):
|
||||
if not context:
|
||||
context={}
|
||||
for data in self.browse(cr, uid, ids, context=context):
|
||||
buyer_inv_ids = []
|
||||
seller_inv_ids = []
|
||||
result[data.id] = {
|
||||
|
@ -76,7 +78,7 @@ class auction_dates(osv.osv):
|
|||
'buyer_invoice_history': seller_inv_ids,
|
||||
}
|
||||
lots_ids = lots_obj.search(cr, uid, [('auction_id','=',data.id)])
|
||||
for lot in lots_obj.browse(cr, uid, lots_ids):
|
||||
for lot in lots_obj.browse(cr, uid, lots_ids, context=context):
|
||||
if lot.ach_inv_id:
|
||||
buyer_inv_ids.append(lot.ach_inv_id.id)
|
||||
if lot.sel_inv_id:
|
||||
|
|
|
@ -31,9 +31,9 @@ class report_custom(report_rml):
|
|||
def __init__(self, name, table, tmpl, xsl):
|
||||
report_rml.__init__(self, name, table, tmpl, xsl)
|
||||
|
||||
def create_xml(self,cr, uid, ids, datas, context={}):
|
||||
def create_xml(self,cr, uid, ids, datas, context=None):
|
||||
pool= pooler.get_pool(cr.dbname)
|
||||
lots = pool.get('auction.lots').browse(cr, uid, ids)
|
||||
lots = pool.get('auction.lots').browse(cr, uid, ids, context=context)
|
||||
auction = lots[0].auction_id
|
||||
|
||||
xml = '''<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
|
|
@ -35,7 +35,7 @@ class report_custom(report_rml):
|
|||
def __init__(self, name, table, tmpl, xsl):
|
||||
report_rml.__init__(self, name, table, tmpl, xsl)
|
||||
|
||||
def create_xml(self, cr, uid, ids, datas, context={}):
|
||||
def create_xml(self, cr, uid, ids, datas, context=None):
|
||||
service = netsvc.LocalService("object_proxy")
|
||||
|
||||
lots = service.execute(cr.dbname, uid, 'auction.lots', 'read', ids, ['obj_price','ach_login','obj_comm','lot_est1','lot_est2','bord_vnd_id','ach_emp','auction_id'])
|
||||
|
|
|
@ -34,7 +34,7 @@ class auction_lots_send_aie(osv.osv_memory):
|
|||
_name = 'auction.lots.send.aie'
|
||||
_descritption = 'Send to website'
|
||||
|
||||
def _date_get(self, cr, uid, context={}):
|
||||
def _date_get(self, cr, uid, context=None):
|
||||
selection = context and context.get('selection')
|
||||
if selection:
|
||||
return [('','')] + selection
|
||||
|
@ -50,7 +50,7 @@ class auction_lots_send_aie(osv.osv_memory):
|
|||
'img_send': fields.boolean('Send Image also ?'),
|
||||
}
|
||||
|
||||
def default_get(self, cr, uid, fields, context):
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
"""
|
||||
To get default values for the object.
|
||||
@param self: The object pointer.
|
||||
|
@ -60,6 +60,7 @@ class auction_lots_send_aie(osv.osv_memory):
|
|||
@param context: A standard dictionary
|
||||
@return: A dictionary which of fields with values.
|
||||
"""
|
||||
if not context: context = {}
|
||||
res = super(auction_lots_send_aie, self).default_get(cr, uid, fields, context=context)
|
||||
if 'uname' in fields and context.get('uname',False):
|
||||
res['uname'] = context.get('uname')
|
||||
|
@ -147,7 +148,8 @@ class auction_lots_send_aie(osv.osv_memory):
|
|||
fname = datas[0]['name']
|
||||
self._photo_bin_send(uname, passwd, ref, did, fname, bin)
|
||||
|
||||
def get_dates(self, cr, uid, ids, context={}):
|
||||
def get_dates(self, cr, uid, ids, context=None):
|
||||
if not context: context = {}
|
||||
import httplib
|
||||
data_obj = self.pool.get('ir.model.data')
|
||||
conn = httplib.HTTPConnection('www.auction-in-europe.com')
|
||||
|
@ -174,14 +176,15 @@ class auction_lots_send_aie(osv.osv_memory):
|
|||
'context': context
|
||||
}
|
||||
|
||||
def _send(self, cr, uid, ids, context={}):
|
||||
def _send(self, cr, uid, ids, context=None):
|
||||
if not context: context = {}
|
||||
import pickle, thread, sql_db
|
||||
cr.execute('select name,aie_categ from auction_lot_category')
|
||||
vals = dict(cr.fetchall())
|
||||
cr.close()
|
||||
|
||||
service = netsvc.LocalService("object_proxy")
|
||||
lots = service.execute(cr.dbname, uid, 'auction.lots', 'read', context['active_ids'], ['obj_num','lot_num','obj_desc','bord_vnd_id','lot_est1','lot_est2','artist_id','lot_type','aie_categ'])
|
||||
lots = service.execute(cr.dbname, uid, 'auction.lots', 'read', context.get('active_ids',[]), ['obj_num','lot_num','obj_desc','bord_vnd_id','lot_est1','lot_est2','artist_id','lot_type','aie_categ'])
|
||||
lots_ids = []
|
||||
datas = self.read(cr, uid, ids[0],['uname','login','lang','numerotation','dates'])
|
||||
for l in lots:
|
||||
|
@ -211,7 +214,8 @@ class auction_lots_send_aie(osv.osv_memory):
|
|||
thread.start_new_thread(_photos_send, (cr.dbname, uid, datas['uname'], datas['password'],datas['dates'], lots_ids))
|
||||
return {}
|
||||
|
||||
def send_pdf(self, cr, uid, ids, context):
|
||||
def send_pdf(self, cr, uid, ids, context=None):
|
||||
if not context: context = {}
|
||||
threaded_calculation = threading.Thread(target=self._send, args=(cr, uid, ids, context))
|
||||
threaded_calculation.start()
|
||||
return {}
|
||||
|
|
|
@ -32,7 +32,7 @@ class auction_lots_pay(osv.osv_memory):
|
|||
_description = 'Send results to Auction-in-europe.com'
|
||||
|
||||
|
||||
def _date_get(self, cr, uid, context={}):
|
||||
def _date_get(self, cr, uid, context=None):
|
||||
selection = context and context.get('selection')
|
||||
if selection:
|
||||
return [('','')] + selection
|
||||
|
@ -45,7 +45,7 @@ class auction_lots_pay(osv.osv_memory):
|
|||
'dates': fields.selection(_date_get,'Auction Date'),
|
||||
}
|
||||
|
||||
def default_get(self, cr, uid, fields, context):
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
"""
|
||||
To get default values for the object.
|
||||
@param self: The object pointer.
|
||||
|
@ -55,6 +55,7 @@ class auction_lots_pay(osv.osv_memory):
|
|||
@param context: A standard dictionary
|
||||
@return: A dictionary which of fields with values.
|
||||
"""
|
||||
if not context: context = {}
|
||||
res = super(auction_lots_pay, self).default_get(cr, uid, fields, context=context)
|
||||
if 'uname' in fields and context.get('uname',False):
|
||||
res['uname'] = context.get('uname')
|
||||
|
@ -96,7 +97,8 @@ class auction_lots_pay(osv.osv_memory):
|
|||
return val
|
||||
return post_multipart('auction-in-europe.com', "/bin/catalog_result.cgi", (('uname',uname),('password',passwd),('did',did)),(('file',catalog),))
|
||||
|
||||
def get_dates(self, cr, uid, ids, context):
|
||||
def get_dates(self, cr, uid, ids, context=None):
|
||||
if not context: context = {}
|
||||
import httplib
|
||||
conn = httplib.HTTPConnection('www.auction-in-europe.com')
|
||||
data_obj = self.pool.get('ir.model.data')
|
||||
|
@ -124,7 +126,8 @@ class auction_lots_pay(osv.osv_memory):
|
|||
'context': context
|
||||
}
|
||||
|
||||
def send(self, cr, uid, ids, context):
|
||||
def send(self, cr, uid, ids, context=None):
|
||||
if not context: context = {}
|
||||
import pickle
|
||||
service = netsvc.LocalService("object_proxy")
|
||||
datas = self.read(cr, uid, ids[0],['uname','password','dates'])
|
||||
|
|
|
@ -26,7 +26,7 @@ class auction_catalog_flagey(osv.osv_memory):
|
|||
_name = 'auction.catalog.flagey'
|
||||
_description = 'Auction Catalog Flagey'
|
||||
|
||||
def default_get(self, cr, uid, fields, context):
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
"""
|
||||
To get default values for the object.
|
||||
@param self: The object pointer.
|
||||
|
@ -36,10 +36,11 @@ class auction_catalog_flagey(osv.osv_memory):
|
|||
@param context: A standard dictionary
|
||||
@return: A dictionary which of fields with values.
|
||||
"""
|
||||
if not context: context = {}
|
||||
res = super(auction_catalog_flagey, self).default_get(cr, uid, fields, context=context)
|
||||
return res
|
||||
|
||||
def view_init(self, cr, uid, fields, context):
|
||||
def view_init(self, cr, uid, fields, context=None):
|
||||
"""
|
||||
Creates view dynamically, adding fields at runtime, raises exception
|
||||
at the time of initialization of view.
|
||||
|
@ -52,15 +53,16 @@ class auction_catalog_flagey(osv.osv_memory):
|
|||
"""
|
||||
lots_obj = self.pool.get('auction.lots')
|
||||
auc_dates_obj = self.pool.get('auction.dates')
|
||||
if not context: context = {}
|
||||
current_auction = auc_dates_obj.browse(cr, uid, context.get('active_ids', []))
|
||||
v_lots = lots_obj.search(cr, uid, [('auction_id','=',current_auction.id)])
|
||||
v_ids = lots_obj.browse(cr, uid, v_lots)
|
||||
v_ids = lots_obj.browse(cr, uid, v_lots, context=context)
|
||||
for ab in v_ids:
|
||||
if not ab.auction_id :
|
||||
raise osv.except_osv('Error!','No Lots belong to this Auction Date')
|
||||
pass
|
||||
|
||||
def print_report(self, cr, uid, ids, context):
|
||||
def print_report(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
Prints auction catalog flagey report.
|
||||
@param self: The object pointer.
|
||||
|
@ -70,6 +72,7 @@ class auction_catalog_flagey(osv.osv_memory):
|
|||
@param context: A standard dictionary
|
||||
@return: Report
|
||||
"""
|
||||
if not context: context = {}
|
||||
datas = {'ids': context.get('active_ids',[])}
|
||||
return {
|
||||
'type': 'ir.actions.report.xml',
|
||||
|
|
|
@ -31,14 +31,15 @@ class auction_lots_able(osv.osv_memory):
|
|||
_name = "auction.lots.able"
|
||||
_description = "Lots able"
|
||||
|
||||
def confirm_able(self, cr, uid, ids, context={}):
|
||||
def confirm_able(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
This function Update auction lots object and set taken away field true.
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param ids: List of auction lots able’s IDs.
|
||||
"""
|
||||
self.pool.get('auction.lots').write(cr, uid, context['active_ids'], {'ach_emp':True})
|
||||
if not context: context = {}
|
||||
self.pool.get('auction.lots').write(cr, uid, context.get('active_ids', []), {'ach_emp':True})
|
||||
return {}
|
||||
|
||||
auction_lots_able()
|
||||
|
|
|
@ -50,7 +50,7 @@ class auction_lots_auction_move(osv.osv_memory):
|
|||
auction_lot_history_obj = self.pool.get('auction.lot.history')
|
||||
auction_lots_obj = self.pool.get('auction.lots')
|
||||
rec_ids = auction_lots_obj.browse(cr, uid, context.get('active_ids', []))
|
||||
for current in self.browse(cr, uid, ids, context):
|
||||
for current in self.browse(cr, uid, ids, context=context):
|
||||
if not (current.auction_id and len(context.get('active_ids', []))):
|
||||
return {}
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ class wiz_auc_lots_buyer_map(osv.osv_memory):
|
|||
'ach_uid': fields.many2one('res.partner','Buyer', required=True),
|
||||
}
|
||||
|
||||
def default_get(self, cr, uid, fields, context):
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
"""
|
||||
To get default values for the object.
|
||||
@param self: The object pointer.
|
||||
|
@ -42,14 +42,15 @@ class wiz_auc_lots_buyer_map(osv.osv_memory):
|
|||
@param context: A standard dictionary
|
||||
@return: A dictionary which of fields with values.
|
||||
"""
|
||||
res = super(wiz_auc_lots_buyer_map,self).default_get(cr, uid, fields, context)
|
||||
if not context: context = {}
|
||||
res = super(wiz_auc_lots_buyer_map,self).default_get(cr, uid, fields, context=context)
|
||||
auction_lots_obj = self.pool.get('auction.lots')
|
||||
lots_ids = auction_lots_obj.search(cr, uid, [('ach_uid', '=', ''), ('ach_login', '!=', '')])
|
||||
for rec in auction_lots_obj.browse(cr, uid, lots_ids, context):
|
||||
for rec in auction_lots_obj.browse(cr, uid, lots_ids, context=context):
|
||||
if (not rec.ach_uid or not rec.ach_login):
|
||||
res.update(self._start(cr, uid, context.get('active_ids', []), context))
|
||||
res.update(self._start(cr, uid, context.get('active_ids', []), context=context))
|
||||
return res
|
||||
res.update(self._start(cr, uid, context.get('active_ids', []), context))
|
||||
res.update(self._start(cr, uid, context.get('active_ids', []), context=context))
|
||||
return res
|
||||
|
||||
def _start(self, cr, uid, ids, context=None):
|
||||
|
@ -65,7 +66,7 @@ class wiz_auc_lots_buyer_map(osv.osv_memory):
|
|||
if not context:
|
||||
context={}
|
||||
lots_obj = self.pool.get('auction.lots')
|
||||
for rec in lots_obj.browse(cr, uid, ids, context):
|
||||
for rec in lots_obj.browse(cr, uid, ids, context=context):
|
||||
if (len(ids)==1) and (not rec.ach_uid and not rec.ach_login):
|
||||
raise osv.except_osv('Error', 'No buyer is set for this lot.')
|
||||
if not rec.ach_uid and rec.ach_login:
|
||||
|
@ -86,8 +87,8 @@ class wiz_auc_lots_buyer_map(osv.osv_memory):
|
|||
rec_ids = context and context.get('active_ids',[]) or []
|
||||
assert rec_ids, _('Active IDs not Found')
|
||||
lots_obj = self.pool.get('auction.lots')
|
||||
for current in self.browse(cr, uid, ids):
|
||||
for lots in lots_obj.browse(cr, uid, rec_ids, context):
|
||||
for current in self.browse(cr, uid, ids, context=context):
|
||||
for lots in lots_obj.browse(cr, uid, rec_ids, context=context):
|
||||
if lots.ach_login == current.ach_login:
|
||||
lots_obj.write(cr, uid, [lots.id], {'ach_uid': current.ach_uid.id}, context=context)
|
||||
return {}
|
||||
|
@ -111,7 +112,7 @@ class wiz_auc_lots_buyer_map(osv.osv_memory):
|
|||
lots_obj = self.pool.get('auction.lots')
|
||||
if record_ids:
|
||||
try:
|
||||
for lots in lots_obj.browse(cr, uid, record_ids):
|
||||
for lots in lots_obj.browse(cr, uid, record_ids, context=context):
|
||||
if lots.ach_uid:
|
||||
res['arch'] = """
|
||||
<form title="Mapping Result">
|
||||
|
|
|
@ -44,7 +44,7 @@ class auction_lots_cancel(osv.osv):
|
|||
context={}
|
||||
lots_obj = self.pool.get('auction.lots')
|
||||
invoice_obj = self.pool.get('account.invoice')
|
||||
lot = lots_obj.browse(cr, uid, context.get('active_id', False), context)
|
||||
lot = lots_obj.browse(cr, uid, context.get('active_id', False), context=context)
|
||||
if lot.ach_inv_id:
|
||||
supplier_refund_inv_id = invoice_obj.refund(cr, uid, [lot.ach_inv_id.id])
|
||||
if lot.sel_inv_id:
|
||||
|
|
|
@ -28,14 +28,15 @@ class auction_lots_enable(osv.osv_memory):
|
|||
'confirm_en':fields.integer('Catalog Number')
|
||||
}
|
||||
|
||||
def confirm_enable(self, cr, uid, ids, context={}):
|
||||
def confirm_enable(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
This function Update auction lots object and set taken away field False.
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param ids: List of auction lots enable’s IDs.
|
||||
"""
|
||||
self.pool.get('auction.lots').write(cr, uid, context['active_id'], {'ach_emp':False})
|
||||
if not context: context = {}
|
||||
self.pool.get('auction.lots').write(cr, uid, context.get('active_id',False), {'ach_emp':False})
|
||||
return {}
|
||||
|
||||
auction_lots_enable()
|
||||
|
|
|
@ -36,7 +36,7 @@ class auction_lots_invoice(osv.osv_memory):
|
|||
'number': fields.integer('Invoice Number'),
|
||||
}
|
||||
|
||||
def default_get(self, cr, uid, fields, context={}):
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
"""
|
||||
To get default values for the object.
|
||||
@param self: The object pointer.
|
||||
|
@ -46,6 +46,7 @@ class auction_lots_invoice(osv.osv_memory):
|
|||
@param context: A standard dictionary
|
||||
@return: A dictionary which of fields with values.
|
||||
"""
|
||||
if not context: context = {}
|
||||
res = super(auction_lots_invoice, self).default_get(cr, uid, fields, context=context)
|
||||
service = netsvc.LocalService("object_proxy")
|
||||
lots = service.execute(cr.dbname, uid, 'auction.lots', 'read', context.get('active_ids', []))
|
||||
|
@ -78,7 +79,7 @@ class auction_lots_invoice(osv.osv_memory):
|
|||
|
||||
#TODO: recuperer id next invoice (de la sequence)???
|
||||
invoice_number = False
|
||||
for lot in self.pool.get('auction.lots').browse(cr, uid, context.get('active_ids', [])):
|
||||
for lot in self.pool.get('auction.lots').browse(cr, uid, context.get('active_ids', []), context=context):
|
||||
if 'objects' in fields:
|
||||
res.update({'objects':len(context.get('active_ids', []))})
|
||||
if 'amount' in fields:
|
||||
|
@ -93,7 +94,7 @@ class auction_lots_invoice(osv.osv_memory):
|
|||
res.update({'number':invoice_number})
|
||||
return res
|
||||
|
||||
def print_report(self, cr, uid, ids, context={}):
|
||||
def print_report(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
Create an invoice report.
|
||||
@param cr: the current row, from the database cursor.
|
||||
|
@ -101,6 +102,7 @@ class auction_lots_invoice(osv.osv_memory):
|
|||
@param ids: List of Auction lots make invoice buyer’s IDs
|
||||
@return: dictionary of account invoice form.
|
||||
"""
|
||||
if not context: context = {}
|
||||
service = netsvc.LocalService("object_proxy")
|
||||
datas = {'ids' : context.get('active_ids',[])}
|
||||
res = self.read(cr, uid, ids, ['number','ach_uid'])
|
||||
|
|
|
@ -54,7 +54,7 @@ class auction_lots_make_invoice(osv.osv_memory):
|
|||
context={}
|
||||
res = super(auction_lots_make_invoice, self).default_get(cr, uid, fields, context=context)
|
||||
lots_obj = self.pool.get('auction.lots')
|
||||
for lot in lots_obj.browse(cr, uid, context.get('active_ids', [])):
|
||||
for lot in lots_obj.browse(cr, uid, context.get('active_ids', []), context=context):
|
||||
if 'amount' in fields:
|
||||
res.update({'amount': lot.seller_price})
|
||||
if 'objects' in fields:
|
||||
|
@ -75,7 +75,7 @@ class auction_lots_make_invoice(osv.osv_memory):
|
|||
mod_obj = self.pool.get('ir.model.data')
|
||||
result = mod_obj._get_id(cr, uid, 'account', 'view_account_invoice_filter')
|
||||
id = mod_obj.read(cr, uid, result, ['res_id'])
|
||||
lots_ids = order_obj.seller_trans_create(cr, uid, context.get('active_ids', []), context)
|
||||
lots_ids = order_obj.seller_trans_create(cr, uid, context.get('active_ids', []), context=context)
|
||||
return {
|
||||
'domain': "[('id','in', ["+','.join(map(str, lots_ids))+"])]",
|
||||
'name': 'Seller invoices',
|
||||
|
|
|
@ -49,7 +49,7 @@ class auction_lots_make_invoice_buyer(osv.osv_memory):
|
|||
context={}
|
||||
res = super(auction_lots_make_invoice_buyer, self).default_get(cr, uid, fields, context=context)
|
||||
lots_obj=self.pool.get('auction.lots')
|
||||
for lot in lots_obj.browse(cr, uid, context.get('active_ids', [])):
|
||||
for lot in lots_obj.browse(cr, uid, context.get('active_ids', []), context=context):
|
||||
if 'amount' in fields:
|
||||
res.update({'amount': lot.buyer_price})
|
||||
if 'buyer_id' in fields:
|
||||
|
@ -58,7 +58,7 @@ class auction_lots_make_invoice_buyer(osv.osv_memory):
|
|||
res.update({'objects': len(context.get('active_ids', []))})
|
||||
return res
|
||||
|
||||
def makeInvoices(self, cr, uid, ids, context):
|
||||
def makeInvoices(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
Create an invoice for selected lots (IDS) to BUYER_ID .
|
||||
@param cr: the current row, from the database cursor.
|
||||
|
@ -70,8 +70,8 @@ class auction_lots_make_invoice_buyer(osv.osv_memory):
|
|||
mod_obj = self.pool.get('ir.model.data')
|
||||
result = mod_obj._get_id(cr, uid, 'account', 'view_account_invoice_filter')
|
||||
id = mod_obj.read(cr, uid, result, ['res_id'])
|
||||
lots = order_obj.browse(cr, uid, context.get('active_ids', []))
|
||||
for current in self.browse(cr, uid, ids, context):
|
||||
lots = order_obj.browse(cr, uid, context.get('active_ids', []), context=context)
|
||||
for current in self.browse(cr, uid, ids, context=context):
|
||||
invoice_number = current.number
|
||||
for lot in lots:
|
||||
up_auction = order_obj.write(cr, uid, [lot.id], {'ach_uid': current.buyer_id.id})
|
||||
|
|
|
@ -38,7 +38,7 @@ class auction_lots_numerotate_per_lot(osv.osv_memory):
|
|||
'obj_num': fields.integer('Catalog Number', required=True)
|
||||
}
|
||||
|
||||
def default_get(self, cr, uid, fields, context):
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
"""
|
||||
To get default values for the object.
|
||||
@param self: The object pointer.
|
||||
|
@ -48,13 +48,14 @@ class auction_lots_numerotate_per_lot(osv.osv_memory):
|
|||
@param context: A standard dictionary
|
||||
@return: A dictionary which of fields with values.
|
||||
"""
|
||||
if not context: context = {}
|
||||
res = super(auction_lots_numerotate_per_lot, self).default_get(cr, uid, fields, context=context)
|
||||
active_id = context.get('active_id',False)
|
||||
active_model = context.get('active_model')
|
||||
if active_id and (active_model and active_model!='auction.lots'):
|
||||
return res
|
||||
lots_obj = self.pool.get('auction.lots')
|
||||
lots = lots_obj.browse(cr, uid, active_id)
|
||||
lots = lots_obj.browse(cr, uid, active_id, context=context)
|
||||
if 'bord_vnd_id' in fields and context.get('bord_vnd_id',False):
|
||||
res['bord_vnd_id'] = context.get('bord_vnd_id')
|
||||
if 'lot_num' in fields and context.get('lot_num',False):
|
||||
|
@ -71,7 +72,7 @@ class auction_lots_numerotate_per_lot(osv.osv_memory):
|
|||
res['obj_num'] = lots.obj_num
|
||||
return res
|
||||
|
||||
def open_init_form(self, cr, uid, ids, context={}):
|
||||
def open_init_form(self, cr, uid, ids, context=None):
|
||||
record_ids = context and context.get('active_ids',False) or False
|
||||
assert record_ids, _('Active IDs not Found')
|
||||
data_obj = self.pool.get('ir.model.data')
|
||||
|
@ -89,7 +90,7 @@ class auction_lots_numerotate_per_lot(osv.osv_memory):
|
|||
'context': context
|
||||
}
|
||||
|
||||
def numerotate(self, cr, uid, ids, context={}):
|
||||
def numerotate(self, cr, uid, ids, context=None):
|
||||
record_ids = context and context.get('active_ids',False) or False
|
||||
assert record_ids, _('Active IDs not Found')
|
||||
datas = self.read(cr, uid, ids[0], ['bord_vnd_id','lot_num','obj_num'])
|
||||
|
@ -116,7 +117,7 @@ class auction_lots_numerotate_per_lot(osv.osv_memory):
|
|||
'context': context
|
||||
}
|
||||
|
||||
def read_record(self, cr, uid, ids, context={}):
|
||||
def read_record(self, cr, uid, ids, context=None):
|
||||
record_ids = context and context.get('active_ids',False) or False
|
||||
assert record_ids, _('Active IDs not Found')
|
||||
datas = self.read(cr, uid, ids[0], ['bord_vnd_id','lot_num'])
|
||||
|
@ -131,7 +132,7 @@ class auction_lots_numerotate_per_lot(osv.osv_memory):
|
|||
'lot_est2', 'obj_desc'])
|
||||
return lots_datas[0]
|
||||
|
||||
def test_exist(self, cr, uid, ids, context={}):
|
||||
def test_exist(self, cr, uid, ids, context=None):
|
||||
record_ids = context and context.get('active_ids',False) or False
|
||||
assert record_ids, _('Active IDs not Found')
|
||||
data_obj = self.pool.get('ir.model.data')
|
||||
|
@ -167,13 +168,13 @@ class auction_lots_numerotate(osv.osv_memory):
|
|||
'number': fields.integer('First Number', required=True)
|
||||
}
|
||||
|
||||
def numerotate_cont(self, cr, uid, ids, context={}):
|
||||
def numerotate_cont(self, cr, uid, ids, context=None):
|
||||
record_ids = context and context.get('active_ids',False) or False
|
||||
assert record_ids, _('Active IDs not Found')
|
||||
datas = self.read(cr, uid, ids[0], ['number'])
|
||||
nbr = int(datas['number'])
|
||||
lots_obj = self.pool.get('auction.lots')
|
||||
rec_ids = lots_obj.browse(cr, uid, record_ids)
|
||||
rec_ids = lots_obj.browse(cr, uid, record_ids, context=context)
|
||||
for rec_id in rec_ids:
|
||||
lots_obj.write(cr, uid, [rec_id.id], {'obj_num':nbr})
|
||||
nbr+=1
|
||||
|
|
|
@ -34,7 +34,7 @@ class auction_lots_sms_send(osv.osv_memory):
|
|||
'text':fields.text('SMS Message', required=True)
|
||||
}
|
||||
|
||||
def sms_send(self, cr, uid, ids, context):
|
||||
def sms_send(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
to send sms
|
||||
|
||||
|
@ -44,18 +44,18 @@ class auction_lots_sms_send(osv.osv_memory):
|
|||
@param context: A standard dictionary
|
||||
@return: number indicating the acknowledgement
|
||||
"""
|
||||
|
||||
if not context: context = {}
|
||||
lot_obj = self.pool.get('auction.lots')
|
||||
partner_obj = self.pool.get('res.partner')
|
||||
partner_address_obj = self.pool.get('res.partner.address')
|
||||
for data in self.read(cr, uid, ids):
|
||||
lots = lot_obj.read(cr, uid, context['active_ids'], ['obj_num','obj_price','ach_uid'])
|
||||
lots = lot_obj.read(cr, uid, context.get('active_ids', []), ['obj_num','obj_price','ach_uid'])
|
||||
res = partner_obj.read(cr, uid, [l['ach_uid'][0] for l in lots if l['ach_uid']], ['gsm'], context)
|
||||
|
||||
nbr = 0
|
||||
for r in res:
|
||||
add = partner_obj.address_get(cr, uid, [r['id']])['default']
|
||||
addr = partner_address_obj.browse(cr, uid, add)
|
||||
addr = partner_address_obj.browse(cr, uid, add, context=context)
|
||||
to = addr.mobile
|
||||
if to:
|
||||
tools.smssend(data['user'], data['password'], data['app_id'], unicode(data['text'], 'utf-8').encode('latin1'), to)
|
||||
|
|
|
@ -52,7 +52,7 @@ class auction_pay_buy(osv.osv_memory):
|
|||
context={}
|
||||
res = super(auction_pay_buy, self).default_get(cr, uid, fields, context=context)
|
||||
auction_lots_obj= self.pool.get('auction.lots')
|
||||
for lot in auction_lots_obj.browse(cr, uid, context.get('active_ids', [])):
|
||||
for lot in auction_lots_obj.browse(cr, uid, context.get('active_ids', []), context=context):
|
||||
if 'amount' in fields:
|
||||
res.update({'amount': lot.buyer_price})
|
||||
if 'buyer_id' in fields:
|
||||
|
@ -61,7 +61,7 @@ class auction_pay_buy(osv.osv_memory):
|
|||
res.update({'total': lot.buyer_price})
|
||||
return res
|
||||
|
||||
def pay_and_reconcile(self, cr, uid, ids, context):
|
||||
def pay_and_reconcile(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
Pay and Reconcile
|
||||
@param cr: the current row, from the database cursor.
|
||||
|
@ -70,15 +70,16 @@ class auction_pay_buy(osv.osv_memory):
|
|||
@param context: A standard dictionary
|
||||
@return:
|
||||
"""
|
||||
if not context: context = {}
|
||||
lot_obj = self.pool.get('auction.lots')
|
||||
bank_statement_line_obj = self.pool.get('account.bank.statement.line')
|
||||
|
||||
for datas in self.read(cr, uid, ids):
|
||||
for datas in self.read(cr, uid, ids, context=context):
|
||||
if not abs(datas['total'] - (datas['amount'] + datas['amount2'] + datas['amount3'])) <0.01:
|
||||
rest = datas['total'] - (datas['amount'] + datas['amount2'] + datas['amount3'])
|
||||
raise osv.except_osv('Payment aborted !', 'You should pay all the total: "%.2f" are missing to accomplish the payment.' %(round(rest, 2)))
|
||||
|
||||
lots = lot_obj.browse(cr, uid, context['active_ids'], context)
|
||||
lots = lot_obj.browse(cr, uid, context.get('active_ids', []), context=context)
|
||||
for lot in lots:
|
||||
if datas['buyer_id']:
|
||||
lot_obj.write(cr, uid, [lot.id], {'ach_uid': datas['buyer_id']})
|
||||
|
|
|
@ -33,7 +33,7 @@ class auction_pay_sel(osv.osv_memory):
|
|||
'period_id':fields.many2one('account.period', 'Period', required=True),
|
||||
}
|
||||
|
||||
def pay_and_reconcile(self, cr, uid, ids, context):
|
||||
def pay_and_reconcile(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
Pay and Reconcile
|
||||
@param cr: the current row, from the database cursor.
|
||||
|
@ -42,9 +42,10 @@ class auction_pay_sel(osv.osv_memory):
|
|||
@param context: A standard dictionary
|
||||
@return:
|
||||
"""
|
||||
lot = self.pool.get('auction.lots').browse(cr, uid, context['active_id'], context)
|
||||
if not context: context = {}
|
||||
lot = self.pool.get('auction.lots').browse(cr, uid, context['active_id'], context=context)
|
||||
invoice_obj = self.pool.get('account.invoice')
|
||||
for datas in self.read(cr, uid, ids):
|
||||
for datas in self.read(cr, uid, ids, context=context):
|
||||
account_id = datas.get('writeoff_acc_id', False)
|
||||
period_id = datas.get('period_id', False)
|
||||
journal_id = datas.get('journal_id', False)
|
||||
|
|
|
@ -25,7 +25,8 @@ class auction_payer(osv.osv_memory):
|
|||
_name = "auction.payer"
|
||||
_description = "Auction payer"
|
||||
|
||||
def payer(self, cr, uid, ids, context):
|
||||
def payer(self, cr, uid, ids, context=None):
|
||||
if not context: context = {}
|
||||
self.pool.get('auction.lots').write(cr, uid, context.get('active_ids', []), {'is_ok':True, 'state':'paid'})
|
||||
return {}
|
||||
|
||||
|
@ -38,14 +39,15 @@ class auction_payer_sel(osv.osv_memory):
|
|||
_name = "auction.payer.sel"
|
||||
_description = "Auction payment for seller"
|
||||
|
||||
def payer_sel(self, cr, uid, ids, context):
|
||||
def payer_sel(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
This function Update auction lots object and seller paid true.
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param ids: List of auction payer sel’s IDs.
|
||||
"""
|
||||
self.pool.get('auction.lots').write(cr, uid, context['active_ids'], {'paid_vnd':True})
|
||||
if not context: context = {}
|
||||
self.pool.get('auction.lots').write(cr, uid, context.get('active_ids', []), {'paid_vnd':True})
|
||||
return {}
|
||||
|
||||
auction_payer_sel()
|
||||
|
|
|
@ -45,7 +45,7 @@ class auction_taken(osv.osv_memory):
|
|||
if not context:
|
||||
context={}
|
||||
lot_obj = self.pool.get('auction.lots')
|
||||
for current in self.browse(cr, uid, ids, context):
|
||||
for current in self.browse(cr, uid, ids, context=context):
|
||||
for lot in current.lot_ids:
|
||||
lot_obj.write(cr, uid, lot.id, {'state':'taken_away', 'ach_emp': True})
|
||||
return {'lot_ids': []}
|
||||
|
|
|
@ -29,7 +29,7 @@ class auction_transfer_unsold_object(osv.osv):
|
|||
_name = 'auction.transfer.unsold.object'
|
||||
_description = 'To transfer unsold objects'
|
||||
|
||||
def _start(self, cr, uid, context):
|
||||
def _start(self, cr, uid, context=None):
|
||||
"""
|
||||
To initialize auction_id_from
|
||||
@param self: The object pointer.
|
||||
|
@ -40,7 +40,7 @@ class auction_transfer_unsold_object(osv.osv):
|
|||
@return: auction_id_from
|
||||
"""
|
||||
lots_obj = self.pool.get('auction.lots')
|
||||
rec = lots_obj.browse(cr, uid, context['active_id'], context)
|
||||
rec = lots_obj.browse(cr, uid, context.get('active_id', False), context=context)
|
||||
auction_from = rec and rec.auction_id.id or False
|
||||
return auction_from
|
||||
|
||||
|
@ -53,7 +53,7 @@ class auction_transfer_unsold_object(osv.osv):
|
|||
'auction_id_from': _start,
|
||||
}
|
||||
|
||||
def transfer_unsold_object(self, cr, uid, ids, context):
|
||||
def transfer_unsold_object(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
To Transfer the unsold object
|
||||
@param self: The object pointer.
|
||||
|
@ -63,15 +63,16 @@ class auction_transfer_unsold_object(osv.osv):
|
|||
@param context: A standard dictionary
|
||||
@return:
|
||||
"""
|
||||
if not context: context = {}
|
||||
bid_line_obj = self.pool.get('auction.bid_line')
|
||||
lots_obj = self.pool.get('auction.lots')
|
||||
lot_history_obj = self.pool.get('auction.lot.history')
|
||||
line_ids= bid_line_obj.search(cr, uid, [('lot_id','in',context['active_ids'])])
|
||||
line_ids= bid_line_obj.search(cr, uid, [('lot_id','in',context.get('active_ids', []))])
|
||||
bid_line_obj.unlink(cr, uid, line_ids)
|
||||
|
||||
res = self.browse(cr, uid, ids)
|
||||
res = self.browse(cr, uid, ids, context=context)
|
||||
unsold_ids = lots_obj.search(cr,uid,[('auction_id','=',res[0].auction_id_from.id),('state','=','unsold')])
|
||||
for rec in lots_obj.browse(cr, uid, unsold_ids, context):
|
||||
for rec in lots_obj.browse(cr, uid, unsold_ids, context=context):
|
||||
new_id = lot_history_obj.create(cr, uid, {'auction_id':rec.auction_id.id,'lot_id':rec.id,'price': rec.obj_ret, 'name': rec.auction_id.auction1})
|
||||
up_auction = lots_obj.write(cr, uid, [rec.id], {'auction_id': res[0].auction_id_to.id,
|
||||
'obj_ret':None,
|
||||
|
|
|
@ -52,7 +52,7 @@ class audittrail_view_log(osv.osv_memory):
|
|||
result = act_obj.read(cr, uid, [id])[0]
|
||||
|
||||
#start Loop
|
||||
for datas in self.read(cr, uid, ids):
|
||||
for datas in self.read(cr, uid, ids, context=context):
|
||||
if not datas.get('from', None):
|
||||
if datas.get('to') <> time.strftime("%Y-%m-%d %H:%M:%S"):
|
||||
result['domain'] = str([('timestamp', '<', datas.get('to'))])
|
||||
|
|
|
@ -35,7 +35,7 @@ class base_action_rule(osv.osv):
|
|||
_name = 'base.action.rule'
|
||||
_description = 'Action Rules'
|
||||
|
||||
def _state_get(self, cr, uid, context={}):
|
||||
def _state_get(self, cr, uid, context=None):
|
||||
""" Get State
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
|
@ -43,7 +43,7 @@ class base_action_rule(osv.osv):
|
|||
@param context: A standard dictionary for contextual values """
|
||||
return self.state_get(cr, uid, context=context)
|
||||
|
||||
def state_get(self, cr, uid, context={}):
|
||||
def state_get(self, cr, uid, context=None):
|
||||
""" Get State
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
|
@ -51,7 +51,7 @@ class base_action_rule(osv.osv):
|
|||
@param context: A standard dictionary for contextual values """
|
||||
return [('', '')]
|
||||
|
||||
def priority_get(self, cr, uid, context={}):
|
||||
def priority_get(self, cr, uid, context=None):
|
||||
""" Get Priority
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
|
@ -190,12 +190,12 @@ the rule to mark CC(mail to any other person defined in actions)."),
|
|||
|
||||
return True
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
res_id = super(base_action_rule, self).create(cr, uid, vals, context)
|
||||
res_id = super(base_action_rule, self).create(cr, uid, vals, context=context)
|
||||
self._register_hook(cr, uid, [res_id], context=context)
|
||||
return res_id
|
||||
|
||||
def write(self, cr, uid, ids, vals, context=None):
|
||||
res = super(base_action_rule, self).write(cr, uid, ids, vals, context)
|
||||
res = super(base_action_rule, self).write(cr, uid, ids, vals, context=context)
|
||||
self._register_hook(cr, uid, ids, context=context)
|
||||
return res
|
||||
|
||||
|
@ -396,7 +396,7 @@ the rule to mark CC(mail to any other person defined in actions)."),
|
|||
if not scrit:
|
||||
scrit = []
|
||||
|
||||
for action in self.browse(cr, uid, ids, context):
|
||||
for action in self.browse(cr, uid, ids, context=context):
|
||||
model_obj = self.pool.get(action.model_id.model)
|
||||
for obj in objects:
|
||||
ok = self.do_check(cr, uid, action, obj, context=context)
|
||||
|
@ -454,7 +454,7 @@ the rule to mark CC(mail to any other person defined in actions)."),
|
|||
|
||||
empty = orm.browse_null()
|
||||
rule_obj = self.pool.get('base.action.rule')
|
||||
for rule in self.browse(cr, uid, ids):
|
||||
for rule in self.browse(cr, uid, ids, context=context):
|
||||
if rule.act_mail_body:
|
||||
try:
|
||||
rule_obj.format_mail(empty, rule.act_mail_body)
|
||||
|
|
|
@ -106,7 +106,7 @@ def _links_get(self, cr, uid, context=None):
|
|||
@param context: A standard dictionary for contextual values
|
||||
@return: list of dictionary which contain object and name and id.
|
||||
"""
|
||||
|
||||
if not context: context = {}
|
||||
obj = self.pool.get('res.request.link')
|
||||
ids = obj.search(cr, uid, [])
|
||||
res = obj.read(cr, uid, ids, ['object', 'name'], context=context)
|
||||
|
@ -222,7 +222,7 @@ class calendar_attendee(osv.osv):
|
|||
name += ':'
|
||||
return (name or '') + (email and ('MAILTO:' + email) or '')
|
||||
|
||||
def _compute_data(self, cr, uid, ids, name, arg, context):
|
||||
def _compute_data(self, cr, uid, ids, name, arg, context=None):
|
||||
"""
|
||||
Compute data on function fields for attendee values .
|
||||
@param cr: the current row, from the database cursor,
|
||||
|
@ -234,6 +234,7 @@ class calendar_attendee(osv.osv):
|
|||
"""
|
||||
name = name[0]
|
||||
result = {}
|
||||
if not context: context = {}
|
||||
for attdata in self.browse(cr, uid, ids, context=context):
|
||||
id = attdata.id
|
||||
result[id] = {}
|
||||
|
@ -300,7 +301,7 @@ class calendar_attendee(osv.osv):
|
|||
@param context: A standard dictionary for contextual values
|
||||
@return: list of dictionary which contain object and name and id.
|
||||
"""
|
||||
|
||||
if not context: context = {}
|
||||
obj = self.pool.get('res.request.link')
|
||||
ids = obj.search(cr, uid, [])
|
||||
res = obj.read(cr, uid, ids, ['object', 'name'], context=context)
|
||||
|
@ -314,6 +315,7 @@ class calendar_attendee(osv.osv):
|
|||
@param context: A standard dictionary for contextual values
|
||||
@return: list of dictionary which contain code and name and id.
|
||||
"""
|
||||
if not context: context = {}
|
||||
obj = self.pool.get('res.lang')
|
||||
ids = obj.search(cr, uid, [])
|
||||
res = obj.read(cr, uid, ids, ['code', 'name'], context=context)
|
||||
|
@ -649,7 +651,7 @@ true, it will allow you to hide the event alarm information without removing it.
|
|||
model_id = ir_obj.search(cr, uid, [('model', '=', model)])[0]
|
||||
|
||||
model_obj = self.pool.get(model)
|
||||
for data in model_obj.browse(cr, uid, ids, context):
|
||||
for data in model_obj.browse(cr, uid, ids, context=context):
|
||||
|
||||
basic_alarm = data.alarm_id
|
||||
cal_alarm = data.base_calendar_alarm_id
|
||||
|
@ -719,7 +721,7 @@ true, it will allow you to hide the event alarm information without removing it.
|
|||
ir_obj = self.pool.get('ir.model')
|
||||
model_id = ir_obj.search(cr, uid, [('model', '=', model)])[0]
|
||||
model_obj = self.pool.get(model)
|
||||
for datas in model_obj.browse(cr, uid, ids, context):
|
||||
for datas in model_obj.browse(cr, uid, ids, context=context):
|
||||
alarm_ids = alarm_obj.search(cr, uid, [('model_id', '=', model_id), ('res_id', '=', datas.id)])
|
||||
if alarm_ids:
|
||||
alarm_obj.unlink(cr, uid, alarm_ids)
|
||||
|
@ -794,7 +796,7 @@ class calendar_alarm(osv.osv):
|
|||
delta = timedelta(minutes=vals['trigger_duration'])
|
||||
trigger_date = dtstart + (vals['trigger_occurs'] == 'after' and delta or -delta)
|
||||
vals['trigger_date'] = trigger_date
|
||||
res = super(calendar_alarm, self).create(cr, uid, vals, context)
|
||||
res = super(calendar_alarm, self).create(cr, uid, vals, context=context)
|
||||
return res
|
||||
|
||||
def do_run_scheduler(self, cr, uid, automatic=False, use_new_cursor=False, \
|
||||
|
@ -1593,6 +1595,7 @@ true, it will allow you to hide the event alarm information without removing it.
|
|||
@return: True
|
||||
"""
|
||||
res = False
|
||||
if not context: context = {}
|
||||
for event_datas in self.read(cr, uid, ids, ['date', 'rrule', 'exdate'], context=context):
|
||||
event_id = event_datas['id']
|
||||
if isinstance(event_id, (int, long)):
|
||||
|
@ -1685,7 +1688,7 @@ class calendar_todo(osv.osv):
|
|||
_inherit = "calendar.event"
|
||||
_description = "Calendar Task"
|
||||
|
||||
def _get_date(self, cr, uid, ids, name, arg, context):
|
||||
def _get_date(self, cr, uid, ids, name, arg, context=None):
|
||||
"""
|
||||
Get Date
|
||||
@param self: The object pointer
|
||||
|
@ -1697,11 +1700,12 @@ class calendar_todo(osv.osv):
|
|||
"""
|
||||
|
||||
res = {}
|
||||
if not context: context = {}
|
||||
for event in self.browse(cr, uid, ids, context=context):
|
||||
res[event.id] = event.date_start
|
||||
return res
|
||||
|
||||
def _set_date(self, cr, uid, id, name, value, arg, context):
|
||||
def _set_date(self, cr, uid, id, name, value, arg, context=None):
|
||||
"""
|
||||
Set Date
|
||||
@param self: The object pointer
|
||||
|
|
|
@ -74,7 +74,7 @@ send an Email to Invited Person')
|
|||
|
||||
model_field = context.get('attendee_field', False)
|
||||
obj = self.pool.get(model)
|
||||
res_obj = obj.browse(cr, uid, context_id)
|
||||
res_obj = obj.browse(cr, uid, context_id, context=context)
|
||||
att_obj = self.pool.get('calendar.attendee')
|
||||
user_obj = self.pool.get('res.users')
|
||||
current_user = user_obj.browse(cr, uid, uid, context=context)
|
||||
|
|
|
@ -82,8 +82,9 @@ class base_calendar_set_exrule(osv.osv_memory):
|
|||
@param fields: List of fields for default value
|
||||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
if not context: context = {}
|
||||
event_obj = self.pool.get(context.get('active_model'))
|
||||
for event in event_obj.browse(cr, uid, context.get('active_ids', [])):
|
||||
for event in event_obj.browse(cr, uid, context.get('active_ids', []), context=context):
|
||||
if not event.rrule:
|
||||
raise osv.except_osv(_("Warning !"), _("Please Apply Recurrency before applying Exception Rule."))
|
||||
return False
|
||||
|
@ -102,7 +103,8 @@ class base_calendar_set_exrule(osv.osv_memory):
|
|||
weekstring = ''
|
||||
monthstring = ''
|
||||
yearstring = ''
|
||||
ex_id = base_calendar.base_calendar_id2real_id(context['active_id'])
|
||||
if not context: context = {}
|
||||
ex_id = base_calendar.base_calendar_id2real_id(context.get('active_id', False))
|
||||
model = context.get('model', False)
|
||||
model_obj = self.pool.get(model)
|
||||
for datas in self.read(cr, uid, ids, context=context):
|
||||
|
|
|
@ -24,7 +24,7 @@ from osv import fields
|
|||
|
||||
class calendar_event_edit_all(osv.osv_memory):
|
||||
|
||||
def _default_values(self, cr, uid, context={}):
|
||||
def _default_values(self, cr, uid, context=None):
|
||||
""" Get Default value for Start Date
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
|
@ -42,7 +42,7 @@ class calendar_event_edit_all(osv.osv_memory):
|
|||
event = model_obj.read(cr, uid, context_id, ['name', 'location', 'alarm_id'])
|
||||
return event['date']
|
||||
|
||||
def _default_deadline(self, cr, uid, context={}):
|
||||
def _default_deadline(self, cr, uid, context=None):
|
||||
""" Get Default value for End Date
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
|
|
|
@ -36,13 +36,14 @@ class res_partner_contact(osv.osv):
|
|||
@fields: Get Fields
|
||||
@param context: A standard dictionary for contextual values
|
||||
@param arg: list of tuples of form [(‘name_of_the_field’, ‘operator’, value), ...]. """
|
||||
if not context: context = {}
|
||||
res = dict.fromkeys(ids, False)
|
||||
|
||||
res_partner_job_obj = self.pool.get('res.partner.job')
|
||||
all_job_ids = res_partner_job_obj.search(cr, uid, [])
|
||||
all_job_names = dict(zip(all_job_ids, res_partner_job_obj.name_get(cr, uid, all_job_ids, context=context)))
|
||||
|
||||
for contact in self.browse(cr, uid, ids, context):
|
||||
for contact in self.browse(cr, uid, ids, context=context):
|
||||
if contact.job_ids:
|
||||
res[contact.id] = all_job_names.get(contact.job_ids[0].id, False)
|
||||
|
||||
|
@ -77,7 +78,7 @@ class res_partner_contact(osv.osv):
|
|||
|
||||
_order = "name,first_name"
|
||||
|
||||
def name_get(self, cr, user, ids, context={}):
|
||||
def name_get(self, cr, user, ids, context=None):
|
||||
|
||||
""" will return name and first_name.......
|
||||
@param self: The object pointer
|
||||
|
@ -91,6 +92,7 @@ class res_partner_contact(osv.osv):
|
|||
if not len(ids):
|
||||
return []
|
||||
res = []
|
||||
if not context: context = {}
|
||||
for contact in self.browse(cr, user, ids, context=context):
|
||||
_contact = ""
|
||||
if contact.title:
|
||||
|
@ -119,7 +121,7 @@ res_partner_contact()
|
|||
class res_partner_address(osv.osv):
|
||||
|
||||
#overriding of the name_get defined in base in order to remove the old contact name
|
||||
def name_get(self, cr, user, ids, context={}):
|
||||
def name_get(self, cr, user, ids, context=None):
|
||||
"""
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
|
@ -131,6 +133,7 @@ class res_partner_address(osv.osv):
|
|||
if not len(ids):
|
||||
return []
|
||||
res = []
|
||||
if not context: context = {}
|
||||
for r in self.read(cr, user, ids, ['zip', 'city', 'partner_id', 'street']):
|
||||
if context.get('contact_display', 'contact')=='partner' and r['partner_id']:
|
||||
res.append((r['id'], r['partner_id'][1]))
|
||||
|
@ -235,10 +238,11 @@ class res_partner_job(osv.osv):
|
|||
@address_id : ID of the Address selected,
|
||||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
if not context: context = {}
|
||||
partner_id = False
|
||||
if address_id:
|
||||
address = self.pool.get('res.partner.address')\
|
||||
.browse(cr, uid, address_id, context)
|
||||
.browse(cr, uid, address_id, context=context)
|
||||
partner_id = address.partner_id.id
|
||||
return {'value': {'name': partner_id}}
|
||||
|
||||
|
|
|
@ -35,7 +35,8 @@ class base_contact_installer(osv.osv_memory):
|
|||
"""
|
||||
This function is used to create contact and address from existing partner address
|
||||
"""
|
||||
obj = self.pool.get("base.contact.installer").browse(cr, uid, uid)
|
||||
if not context: context = {}
|
||||
obj = self.pool.get("base.contact.installer").browse(cr, uid, uid, context=context)
|
||||
if obj.migrate:
|
||||
cr.execute("""DROP TRIGGER IF EXISTS contactjob on res_partner_contact;
|
||||
DROP LANGUAGE IF EXISTS plpgsql CASCADE;
|
||||
|
|
|
@ -73,23 +73,26 @@ def _format_iban(string):
|
|||
class res_partner_bank(osv.osv):
|
||||
_inherit = "res.partner.bank"
|
||||
|
||||
def create(self, cr, uid, vals, context={}):
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
#overwrite to format the iban number correctly
|
||||
if not context: context = {}
|
||||
if 'iban' in vals and vals['iban']:
|
||||
vals['iban'] = _format_iban(vals['iban'])
|
||||
return super(res_partner_bank, self).create(cr, uid, vals, context)
|
||||
|
||||
def write(self, cr, uid, ids, vals, context={}):
|
||||
def write(self, cr, uid, ids, vals, context=None):
|
||||
#overwrite to format the iban number correctly
|
||||
if not context: context = {}
|
||||
if 'iban' in vals and vals['iban']:
|
||||
vals['iban'] = _format_iban(vals['iban'])
|
||||
return super(res_partner_bank, self).write(cr, uid, ids, vals, context)
|
||||
|
||||
def check_iban(self, cr, uid, ids):
|
||||
def check_iban(self, cr, uid, ids, context=None):
|
||||
'''
|
||||
Check the IBAN number
|
||||
'''
|
||||
for bank_acc in self.browse(cr, uid, ids):
|
||||
if not context: context = {}
|
||||
for bank_acc in self.browse(cr, uid, ids, context=context):
|
||||
if not bank_acc.iban:
|
||||
continue
|
||||
iban = _format_iban(bank_acc.iban)
|
||||
|
@ -109,7 +112,7 @@ class res_partner_bank(osv.osv):
|
|||
return False
|
||||
return True
|
||||
|
||||
def _construct_constraint_msg(self, cr, uid, ids):
|
||||
def _construct_constraint_msg(self, cr, uid, ids, context=None):
|
||||
|
||||
def default_iban_check(iban_cn):
|
||||
return iban_cn[0] in string.ascii_lowercase and iban_cn[1] in string.ascii_lowercase
|
||||
|
@ -123,16 +126,18 @@ class res_partner_bank(osv.osv):
|
|||
def name_get(self, cr, uid, ids, context=None):
|
||||
res = []
|
||||
to_check_ids = []
|
||||
for id in self.browse(cr, uid, ids):
|
||||
if not context: context = {}
|
||||
for id in self.browse(cr, uid, ids, context=context):
|
||||
if id.state=='iban':
|
||||
res.append((id.id,id.iban))
|
||||
else:
|
||||
to_check_ids.append(id.id)
|
||||
res += super(res_partner_bank, self).name_get(cr, uid, to_check_ids, context)
|
||||
res += super(res_partner_bank, self).name_get(cr, uid, to_check_ids, context=context)
|
||||
return res
|
||||
|
||||
def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False):
|
||||
#overwrite the search method in order to search not only on bank type == basic account number but also on type == iban
|
||||
if not context: context = {}
|
||||
res = super(res_partner_bank,self).search(cr, uid, args, offset, limit, order, context=context, count=count)
|
||||
if filter(lambda x:x[0]=='acc_number' ,args):
|
||||
#get the value of the search
|
||||
|
@ -151,6 +156,7 @@ class res_partner_bank(osv.osv):
|
|||
This function returns the bank account number computed from the iban account number, thanks to the mapping_list dictionary that contains the rules associated to its country.
|
||||
'''
|
||||
res = {}
|
||||
if not context: context = {}
|
||||
mapping_list = {
|
||||
#TODO add rules for others countries
|
||||
'be': lambda x: x[4:],
|
||||
|
@ -158,7 +164,7 @@ class res_partner_bank(osv.osv):
|
|||
'ch': lambda x: x[9:],
|
||||
'gb': lambda x: x[14:],
|
||||
}
|
||||
for record in self.browse(cr, uid, ids, context):
|
||||
for record in self.browse(cr, uid, ids, context=context):
|
||||
if not record.iban:
|
||||
res[record.id] = False
|
||||
continue
|
||||
|
|
|
@ -35,8 +35,9 @@ class module(osv.osv):
|
|||
'file_graph': fields.binary('Relationship Graph'),
|
||||
}
|
||||
|
||||
def _get_graphical_representation(self, cr, uid, model_ids, level=1, context={}):
|
||||
def _get_graphical_representation(self, cr, uid, model_ids, level=1, context=None):
|
||||
obj_model = self.pool.get('ir.model')
|
||||
if not context: context = {}
|
||||
if level == 0:
|
||||
return tuple()
|
||||
relation = []
|
||||
|
@ -86,7 +87,7 @@ class module(osv.osv):
|
|||
)
|
||||
return res
|
||||
|
||||
def _get_module_objects(self, cr, uid, module, context={}):
|
||||
def _get_module_objects(self, cr, uid, module, context=None):
|
||||
obj_model = self.pool.get('ir.model')
|
||||
obj_mod_data = self.pool.get('ir.model.data')
|
||||
obj_ids = []
|
||||
|
@ -99,6 +100,7 @@ class module(osv.osv):
|
|||
return obj_ids
|
||||
|
||||
def get_relation_graph(self, cr, uid, module_name, context=None):
|
||||
if not context: context = {}
|
||||
object_ids = self._get_module_objects(cr, uid, module_name, context=context)
|
||||
if not object_ids:
|
||||
return {'module_file': False}
|
||||
|
|
|
@ -74,7 +74,7 @@ class report_graph(report.interface.report_int):
|
|||
input.close()
|
||||
return output.read()
|
||||
|
||||
def create(self, cr, uid, ids, data, context={}):
|
||||
def create(self, cr, uid, ids, data, context=None):
|
||||
pdf_string = self.get_proximity_graph(cr, uid, data['id'])
|
||||
return (pdf_string, 'pdf')
|
||||
|
||||
|
|
|
@ -28,8 +28,9 @@ form_rep = '''<?xml version="1.0"?>
|
|||
<label colspan="2" string="(Relationship Graphs generated)" align="0.0"/>
|
||||
</form>'''
|
||||
|
||||
def _get_graph(self, cr, uid, datas, context={}):
|
||||
def _get_graph(self, cr, uid, datas, context=None):
|
||||
mod_obj = pooler.get_pool(cr.dbname).get('ir.module.module')
|
||||
if not context: context = {}
|
||||
modules = mod_obj.browse(cr, uid, datas['ids'], context=context)
|
||||
for module in modules:
|
||||
module_data = mod_obj.get_relation_graph(cr, uid, module.name, context=context)
|
||||
|
|
|
@ -404,7 +404,7 @@ class wizard_tech_guide_rst(wizard.interface):
|
|||
'name': 'modules_technical_guide_rst.tgz'
|
||||
}
|
||||
|
||||
def _get_views(self, cr, uid, module_id, context={}):
|
||||
def _get_views(self, cr, uid, module_id, context=None):
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
module_module_obj = pool.get('ir.module.module')
|
||||
res = {}
|
||||
|
|
|
@ -28,7 +28,7 @@ from osv import osv, fields
|
|||
|
||||
class quality_check(wizard.interface):
|
||||
|
||||
def _create_quality_check(self, cr, uid, data, context={}):
|
||||
def _create_quality_check(self, cr, uid, data, context=None):
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
obj_quality = pool.get('module.quality.check')
|
||||
objs = []
|
||||
|
|
|
@ -40,7 +40,7 @@ fields_rep = {
|
|||
'module_file': {'string': 'Save report', 'type': 'binary', 'required': True},
|
||||
}
|
||||
|
||||
def get_detail(self, cr, uid, datas, context={}):
|
||||
def get_detail(self, cr, uid, datas, context=None):
|
||||
data = pooler.get_pool(cr.dbname).get('module.quality.detail').browse(cr, uid, datas['id'])
|
||||
if not data.detail:
|
||||
raise wizard.except_wizard(_('Warning'), _('No report to save!'))
|
||||
|
|
|
@ -37,7 +37,7 @@ class report_creator(osv.osv):
|
|||
|
||||
if context is None:
|
||||
context = {}
|
||||
data_l = self.read(cr, uid, ids, ['sql_query'], context)
|
||||
data_l = self.read(cr, uid, ids, ['sql_query'], context=context)
|
||||
final_datas = []
|
||||
#start Loop
|
||||
for i in data_l:
|
||||
|
@ -183,7 +183,7 @@ class report_creator(osv.osv):
|
|||
}
|
||||
return result
|
||||
|
||||
def read(self, cr, user, ids, fields = None, context = None, load = '_classic_read'):
|
||||
def read(self, cr, user, ids, fields=None, context=None, load='_classic_read'):
|
||||
"""
|
||||
overrides orm Read method.Read List of fields for report creator.
|
||||
@param cr: the current row, from the database cursor,
|
||||
|
@ -357,13 +357,14 @@ class report_creator(osv.osv):
|
|||
"""
|
||||
return self.model_set_id and 'min('+self.model_set_id+'.id)'
|
||||
|
||||
def _sql_query_get(self, cr, uid, ids, prop, unknow_none, context, where_plus=[], limit=None, offset=None):
|
||||
def _sql_query_get(self, cr, uid, ids, prop, unknow_none, context=None, where_plus=[], limit=None, offset=None):
|
||||
"""
|
||||
Get sql query which return on sql_query field.
|
||||
@return: Dictionary of sql query.
|
||||
"""
|
||||
result = {}
|
||||
for obj in self.browse(cr, uid, ids):
|
||||
if not context: context = {}
|
||||
for obj in self.browse(cr, uid, ids, context=context):
|
||||
fields = []
|
||||
groupby = []
|
||||
i = 0
|
||||
|
@ -476,7 +477,7 @@ class report_creator(osv.osv):
|
|||
|
||||
return value
|
||||
|
||||
def _function_field(self, cr, uid, ids):
|
||||
def _function_field(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
constraints function which specify that
|
||||
not display field which are not stored in Database.
|
||||
|
@ -486,7 +487,8 @@ class report_creator(osv.osv):
|
|||
@return: True if display field which are stored in database.
|
||||
or false if display field which are not store in dtabase.
|
||||
"""
|
||||
this_objs = self.browse(cr, uid, ids)
|
||||
if not context: context = {}
|
||||
this_objs = self.browse(cr, uid, ids, context=context)
|
||||
for obj in this_objs:
|
||||
for fld in obj.field_ids:
|
||||
# Allowing to use count(*)
|
||||
|
@ -497,7 +499,7 @@ class report_creator(osv.osv):
|
|||
return False
|
||||
return True
|
||||
|
||||
def _aggregation_error(self, cr, uid, ids):
|
||||
def _aggregation_error(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
constraints function which specify that
|
||||
aggregate function to the non calculated field..
|
||||
|
@ -507,10 +509,10 @@ class report_creator(osv.osv):
|
|||
@return: True if model colume type is in integer or float.
|
||||
or false model colume type is not in integer or float.
|
||||
"""
|
||||
|
||||
if not context: context = {}
|
||||
aggregate_columns = ('integer', 'float')
|
||||
apply_functions = ('sum', 'min', 'max', 'avg', 'count')
|
||||
this_objs = self.browse(cr, uid, ids)
|
||||
this_objs = self.browse(cr, uid, ids, context=context)
|
||||
for obj in this_objs:
|
||||
for fld in obj.field_ids:
|
||||
# Allowing to use count(*)
|
||||
|
@ -521,9 +523,10 @@ class report_creator(osv.osv):
|
|||
return False
|
||||
return True
|
||||
|
||||
def _calander_view_error(self, cr, uid, ids):
|
||||
def _calander_view_error(self, cr, uid, ids, context=None):
|
||||
required_types = []
|
||||
this_objs = self.browse(cr, uid, ids)
|
||||
if not context: context = {}
|
||||
this_objs = self.browse(cr, uid, ids, context=context)
|
||||
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:
|
||||
|
|
|
@ -42,10 +42,11 @@ class report_xml(osv.osv):
|
|||
fp = open(addons.get_module_resource('base_report_designer','openerp_sxw2rml', 'normalized_odt2rml.xsl'),'rb')
|
||||
return {'report_rml_content': str(sxw2rml(sxwval, xsl=fp.read()))}
|
||||
|
||||
def upload_report(self, cr, uid, report_id, file_sxw, file_type, context):
|
||||
def upload_report(self, cr, uid, report_id, file_sxw, file_type, context=None):
|
||||
'''
|
||||
Untested function
|
||||
'''
|
||||
if not context: context = {}
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
sxwval = StringIO(base64.decodestring(file_sxw))
|
||||
if file_type=='sxw':
|
||||
|
@ -59,8 +60,9 @@ class report_xml(osv.osv):
|
|||
pool.get('ir.actions.report.xml').register_all(cr)
|
||||
return True
|
||||
|
||||
def report_get(self, cr, uid, report_id, context={}):
|
||||
report = self.browse(cr, uid, report_id, context)
|
||||
def report_get(self, cr, uid, report_id, context=None):
|
||||
if not context: context = {}
|
||||
report = self.browse(cr, uid, report_id, context=context)
|
||||
return {
|
||||
'file_type' : report.report_type,
|
||||
'report_sxw_content': report.report_sxw_content and base64.encodestring(report.report_sxw_content) or False,
|
||||
|
|
|
@ -29,8 +29,9 @@ class base_report_designer_installer(osv.osv_memory):
|
|||
_name = 'base_report_designer.installer'
|
||||
_inherit = 'res.config.installer'
|
||||
|
||||
def default_get(self, cr, uid, fields, context={}):
|
||||
data = super(base_report_designer_installer, self).default_get(cr, uid, fields, context)
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
if not context: context = {}
|
||||
data = super(base_report_designer_installer, self).default_get(cr, uid, fields, context=context)
|
||||
plugin_file = open(addons.get_module_resource('base_report_designer','plugin', 'openerp_report_designer.zip'),'rb')
|
||||
data['plugin_file'] = base64.encodestring(plugin_file.read())
|
||||
return data
|
||||
|
|
|
@ -38,11 +38,12 @@ class base_report_sxw(osv.osv_memory):
|
|||
}
|
||||
|
||||
|
||||
def get_report(self, cr, uid, ids, context):
|
||||
data=self.read(cr,uid,ids)[0]
|
||||
def get_report(self, cr, uid, ids, context=None):
|
||||
if not context: context = {}
|
||||
data = self.read(cr,uid,ids)[0]
|
||||
data_obj = self.pool.get('ir.model.data')
|
||||
id2 = data_obj._get_id(cr, uid, 'base_report_designer', 'view_base_report_file_sxw')
|
||||
report = self.pool.get('ir.actions.report.xml').browse(cr, uid, data['report_id'], context)
|
||||
report = self.pool.get('ir.actions.report.xml').browse(cr, uid, data['report_id'], context=context)
|
||||
if id2:
|
||||
id2 = data_obj.browse(cr, uid, id2, context=context).res_id
|
||||
return {
|
||||
|
@ -74,11 +75,11 @@ class base_report_file_sxw(osv.osv_memory):
|
|||
@return: A dictionary which of fields with values.
|
||||
|
||||
"""
|
||||
|
||||
if not context: context = {}
|
||||
res = super(base_report_file_sxw, self).default_get(cr, uid, fields, context=context)
|
||||
report_id1 = self.pool.get('base.report.sxw').search(cr,uid,[])
|
||||
data=self.pool.get('base.report.sxw').read(cr,uid,report_id1)[0]
|
||||
report = self.pool.get('ir.actions.report.xml').browse(cr, uid, data['report_id'], context)
|
||||
report = self.pool.get('ir.actions.report.xml').browse(cr, uid, data['report_id'], context=context)
|
||||
if not context:
|
||||
context={}
|
||||
if 'report_id' in fields:
|
||||
|
@ -92,9 +93,10 @@ class base_report_file_sxw(osv.osv_memory):
|
|||
'file_sxw_upload':fields.binary('Your .SXW file',required=True)
|
||||
}
|
||||
|
||||
def upload_report(self, cr, uid, ids, context):
|
||||
def upload_report(self, cr, uid, ids, context=None):
|
||||
from base_report_designer import openerp_sxw2rml
|
||||
import StringIO
|
||||
if not context: context = {}
|
||||
data=self.read(cr,uid,ids)[0]
|
||||
sxwval = StringIO.StringIO(base64.decodestring(data['file_sxw_upload']))
|
||||
fp = tools.file_open('normalized_oo2rml.xsl',subdir='addons/base_report_designer/openerp_sxw2rml')
|
||||
|
@ -106,7 +108,7 @@ class base_report_file_sxw(osv.osv_memory):
|
|||
cr.commit()
|
||||
data_obj = self.pool.get('ir.model.data')
|
||||
id2 = data_obj._get_id(cr, uid, 'base_report_designer', 'view_base_report_file_rml')
|
||||
report = self.pool.get('ir.actions.report.xml').browse(cr, uid, data['report_id'], context)
|
||||
report = self.pool.get('ir.actions.report.xml').browse(cr, uid, data['report_id'], context=context)
|
||||
if id2:
|
||||
id2 = data_obj.browse(cr, uid, id2, context=context).res_id
|
||||
return {
|
||||
|
@ -135,12 +137,14 @@ class base_report_rml_save(osv.osv_memory):
|
|||
@return: A dictionary which of fields with values.
|
||||
|
||||
"""
|
||||
if not context:
|
||||
context = {}
|
||||
|
||||
res = super(base_report_rml_save, self).default_get(cr, uid, fields, context=context)
|
||||
report_id = self.pool.get('base.report.sxw').search(cr,uid,[])
|
||||
data=self.pool.get('base.report.file.sxw').read(cr,uid,report_id)[0]
|
||||
report = self.pool.get('ir.actions.report.xml').browse(cr, uid, data['report_id'], context)
|
||||
if not context:
|
||||
context={}
|
||||
report = self.pool.get('ir.actions.report.xml').browse(cr, uid, data['report_id'], context=context)
|
||||
|
||||
if 'file_rml' in fields:
|
||||
res['file_rml'] = base64.encodestring(report.report_rml_content)
|
||||
return res
|
||||
|
|
|
@ -42,10 +42,10 @@ class base_setup_config_choice(osv.osv_memory):
|
|||
file_data = tools.file_open(path,'rb').read()
|
||||
return base64.encodestring(file_data)
|
||||
|
||||
def get_users(self, cr, uid, context={}):
|
||||
def get_users(self, cr, uid, context=None):
|
||||
user_obj = self.pool.get('res.users')
|
||||
user_ids = user_obj.search(cr, uid, [])
|
||||
users = user_obj.browse(cr, uid, user_ids)
|
||||
users = user_obj.browse(cr, uid, user_ids, context=context)
|
||||
user_str = '\n'.join(map(lambda x: ' - %s :\n\t\tLogin : %s \n\t\tPassword : %s' % (x.name, x.login, x.password), users))
|
||||
return _('The following users have been installed : \n')+ user_str
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ class base_setup_company(osv.osv_memory):
|
|||
company_id = companies.search(cr, uid, [], limit=1, order="id")
|
||||
if not company_id or 'company_id' not in fields_list:
|
||||
return defaults
|
||||
company = companies.browse(cr, uid, company_id[0])
|
||||
company = companies.browse(cr, uid, company_id[0], context=context)
|
||||
defaults['company_id'] = company.id
|
||||
|
||||
if not self._show_company_data(cr, uid, context=context):
|
||||
|
|
|
@ -1,111 +1,111 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# 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 <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
from osv import fields,osv
|
||||
import tools
|
||||
import re
|
||||
import time
|
||||
|
||||
class base_synchro_server(osv.osv):
|
||||
'''Class to store the information regarding server'''
|
||||
_name = "base.synchro.server"
|
||||
_description = "Synchronized server"
|
||||
_columns = {
|
||||
'name': fields.char('Server name', size=64,required=True),
|
||||
'server_url': fields.char('Server URL', size=64,required=True),
|
||||
'server_port': fields.integer('Server Port', size=64,required=True),
|
||||
'server_db': fields.char('Server Database', size=64,required=True),
|
||||
'login': fields.char('User Name',size=50,required=True),
|
||||
'password': fields.char('Password',size=64,invisible=True,required=True),
|
||||
'obj_ids' : fields.one2many('base.synchro.obj','server_id','Models',ondelete='cascade')
|
||||
}
|
||||
_defaults = {
|
||||
'server_port': lambda *args: 8069
|
||||
}
|
||||
base_synchro_server()
|
||||
|
||||
class base_synchro_obj(osv.osv):
|
||||
'''Class to store the operations done by wizard'''
|
||||
_name = "base.synchro.obj"
|
||||
_description = "Register Class"
|
||||
_columns = {
|
||||
'name':fields.char('Name', size=64, select=1, required=1),
|
||||
'domain':fields.char('Domain', size=64, select=1, required=1),
|
||||
'server_id':fields.many2one('base.synchro.server','Server', ondelete='cascade', select=1, required=1),
|
||||
'model_id': fields.many2one('ir.model', 'Object to synchronize',required=True),
|
||||
'action':fields.selection([('d','Download'),('u','Upload'),('b','Both')],'Synchronisation direction', required=True),
|
||||
'sequence': fields.integer('Sequence'),
|
||||
'active': fields.boolean('Active'),
|
||||
'synchronize_date':fields.datetime('Latest Synchronization', readonly=True),
|
||||
'line_id':fields.one2many('base.synchro.obj.line','obj_id','Ids Affected',ondelete='cascade'),
|
||||
'avoid_ids':fields.one2many('base.synchro.obj.avoid','obj_id','Fields Not Sync.'),
|
||||
}
|
||||
_defaults = {
|
||||
'active': lambda *args: True,
|
||||
'action': lambda *args: 'd',
|
||||
'domain': lambda *args: '[]'
|
||||
}
|
||||
_order = 'sequence'
|
||||
#
|
||||
# Return a list of changes: [ (date, id) ]
|
||||
#
|
||||
|
||||
def get_ids(self, cr, uid, object, dt, domain=[], context={}):
|
||||
return self._get_ids(cr, uid, object, dt, domain, context)
|
||||
|
||||
def _get_ids(self, cr, uid, object, dt, domain=[], context={}):
|
||||
result = []
|
||||
if dt:
|
||||
domain2 = domain+[('write_date','>=',dt)]
|
||||
domain3 = domain+[('create_date','>=',dt)]
|
||||
else:
|
||||
domain2 = domain3 = domain
|
||||
ids = self.pool.get(object).search(cr, uid, domain2, context=context)
|
||||
ids += self.pool.get(object).search(cr, uid, domain3, context=context)
|
||||
for r in self.pool.get(object).perm_read(cr, uid, ids, context, details=False):
|
||||
result.append( (r['write_date'] or r['create_date'], r['id'], context.get('action', 'd')))
|
||||
return result
|
||||
base_synchro_obj()
|
||||
|
||||
class base_synchro_obj_avoid(osv.osv):
|
||||
_name = "base.synchro.obj.avoid"
|
||||
_description = "Fields to not synchronize"
|
||||
_columns = {
|
||||
'name':fields.char('Field Name', size=64, select=1, required=1),
|
||||
'obj_id':fields.many2one('base.synchro.obj', 'Object', required=1,ondelete='cascade'),
|
||||
}
|
||||
base_synchro_obj_avoid()
|
||||
|
||||
|
||||
class base_synchro_obj_line(osv.osv):
|
||||
'''Class to store the operations done by wizard'''
|
||||
_name = "base.synchro.obj.line"
|
||||
_description = "Synchronized instances"
|
||||
_columns = {
|
||||
'name': fields.datetime('Date', required=True),
|
||||
'obj_id': fields.many2one('base.synchro.obj', 'Object', ondelete='cascade', select=True),
|
||||
'local_id': fields.integer('Local Id',readonly=True),
|
||||
'remote_id':fields.integer('Remote Id',readonly=True),
|
||||
}
|
||||
_defaults = {
|
||||
'name': lambda *args: time.strftime('%Y-%m-%d %H:%M:%S')
|
||||
}
|
||||
base_synchro_obj_line()
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# 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 <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
from osv import fields,osv
|
||||
import tools
|
||||
import re
|
||||
import time
|
||||
|
||||
class base_synchro_server(osv.osv):
|
||||
'''Class to store the information regarding server'''
|
||||
_name = "base.synchro.server"
|
||||
_description = "Synchronized server"
|
||||
_columns = {
|
||||
'name': fields.char('Server name', size=64,required=True),
|
||||
'server_url': fields.char('Server URL', size=64,required=True),
|
||||
'server_port': fields.integer('Server Port', size=64,required=True),
|
||||
'server_db': fields.char('Server Database', size=64,required=True),
|
||||
'login': fields.char('User Name',size=50,required=True),
|
||||
'password': fields.char('Password',size=64,invisible=True,required=True),
|
||||
'obj_ids' : fields.one2many('base.synchro.obj','server_id','Models',ondelete='cascade')
|
||||
}
|
||||
_defaults = {
|
||||
'server_port': lambda *args: 8069
|
||||
}
|
||||
base_synchro_server()
|
||||
|
||||
class base_synchro_obj(osv.osv):
|
||||
'''Class to store the operations done by wizard'''
|
||||
_name = "base.synchro.obj"
|
||||
_description = "Register Class"
|
||||
_columns = {
|
||||
'name':fields.char('Name', size=64, select=1, required=1),
|
||||
'domain':fields.char('Domain', size=64, select=1, required=1),
|
||||
'server_id':fields.many2one('base.synchro.server','Server', ondelete='cascade', select=1, required=1),
|
||||
'model_id': fields.many2one('ir.model', 'Object to synchronize',required=True),
|
||||
'action':fields.selection([('d','Download'),('u','Upload'),('b','Both')],'Synchronisation direction', required=True),
|
||||
'sequence': fields.integer('Sequence'),
|
||||
'active': fields.boolean('Active'),
|
||||
'synchronize_date':fields.datetime('Latest Synchronization', readonly=True),
|
||||
'line_id':fields.one2many('base.synchro.obj.line','obj_id','Ids Affected',ondelete='cascade'),
|
||||
'avoid_ids':fields.one2many('base.synchro.obj.avoid','obj_id','Fields Not Sync.'),
|
||||
}
|
||||
_defaults = {
|
||||
'active': lambda *args: True,
|
||||
'action': lambda *args: 'd',
|
||||
'domain': lambda *args: '[]'
|
||||
}
|
||||
_order = 'sequence'
|
||||
#
|
||||
# Return a list of changes: [ (date, id) ]
|
||||
#
|
||||
|
||||
def get_ids(self, cr, uid, object, dt, domain=[], context=None):
|
||||
return self._get_ids(cr, uid, object, dt, domain, context=context)
|
||||
|
||||
def _get_ids(self, cr, uid, object, dt, domain=[], context=None):
|
||||
result = []
|
||||
if dt:
|
||||
domain2 = domain+[('write_date','>=',dt)]
|
||||
domain3 = domain+[('create_date','>=',dt)]
|
||||
else:
|
||||
domain2 = domain3 = domain
|
||||
ids = self.pool.get(object).search(cr, uid, domain2, context=context)
|
||||
ids += self.pool.get(object).search(cr, uid, domain3, context=context)
|
||||
for r in self.pool.get(object).perm_read(cr, uid, ids, context, details=False):
|
||||
result.append( (r['write_date'] or r['create_date'], r['id'], context.get('action', 'd')))
|
||||
return result
|
||||
base_synchro_obj()
|
||||
|
||||
class base_synchro_obj_avoid(osv.osv):
|
||||
_name = "base.synchro.obj.avoid"
|
||||
_description = "Fields to not synchronize"
|
||||
_columns = {
|
||||
'name':fields.char('Field Name', size=64, select=1, required=1),
|
||||
'obj_id':fields.many2one('base.synchro.obj', 'Object', required=1,ondelete='cascade'),
|
||||
}
|
||||
base_synchro_obj_avoid()
|
||||
|
||||
|
||||
class base_synchro_obj_line(osv.osv):
|
||||
'''Class to store the operations done by wizard'''
|
||||
_name = "base.synchro.obj.line"
|
||||
_description = "Synchronized instances"
|
||||
_columns = {
|
||||
'name': fields.datetime('Date', required=True),
|
||||
'obj_id': fields.many2one('base.synchro.obj', 'Object', ondelete='cascade', select=True),
|
||||
'local_id': fields.integer('Local Id',readonly=True),
|
||||
'remote_id':fields.integer('Remote Id',readonly=True),
|
||||
}
|
||||
_defaults = {
|
||||
'name': lambda *args: time.strftime('%Y-%m-%d %H:%M:%S')
|
||||
}
|
||||
base_synchro_obj_line()
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -65,7 +65,9 @@ class base_synchro(osv.osv_memory):
|
|||
report_create = 0
|
||||
report_write = 0
|
||||
|
||||
def synchronize(self, cr, uid, server, object, context):
|
||||
def synchronize(self, cr, uid, server, object, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
self.meta = {}
|
||||
ids = []
|
||||
|
@ -136,7 +138,9 @@ class base_synchro(osv.osv_memory):
|
|||
self.meta = {}
|
||||
return True
|
||||
|
||||
def get_id(self, cr, uid, object_id, id, action, context={}):
|
||||
def get_id(self, cr, uid, object_id, id, action, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
line_pool = pool.get('base.synchro.obj.line')
|
||||
field_src = (action=='u') and 'local_id' or 'remote_id'
|
||||
|
@ -147,9 +151,11 @@ class base_synchro(osv.osv_memory):
|
|||
result = line_pool.read(cr, uid, rid, [field_dest], context=context)[0][field_dest]
|
||||
return result
|
||||
|
||||
def relation_transform(self, cr, uid, pool_src, pool_dest, object, id, action, context={}):
|
||||
def relation_transform(self, cr, uid, pool_src, pool_dest, object, id, action, context=None):
|
||||
if not id:
|
||||
return False
|
||||
if not context:
|
||||
context = {}
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
cr.execute('''select o.id from base_synchro_obj o left join ir_model m on (o.model_id =m.id) where
|
||||
m.model=%s and
|
||||
|
@ -181,10 +187,12 @@ class base_synchro(osv.osv_memory):
|
|||
# Otherwise, use the name_search method
|
||||
#
|
||||
|
||||
def data_transform(self, cr, uid, pool_src, pool_dest, object, data, action='u', context={}):
|
||||
def data_transform(self, cr, uid, pool_src, pool_dest, object, data, action='u', context=None):
|
||||
self.meta.setdefault(pool_src, {})
|
||||
if not context:
|
||||
context = {}
|
||||
if not object in self.meta[pool_src]:
|
||||
self.meta[pool_src][object] = pool_src.get(object).fields_get(cr, uid, context)
|
||||
self.meta[pool_src][object] = pool_src.get(object).fields_get(cr, uid, context=context)
|
||||
fields = self.meta[pool_src][object]
|
||||
|
||||
for f in fields:
|
||||
|
@ -196,7 +204,7 @@ class base_synchro(osv.osv_memory):
|
|||
del data[f]
|
||||
elif ftype == 'many2one':
|
||||
if data[f]:
|
||||
df = self.relation_transform(cr, uid, pool_src, pool_dest, fields[f]['relation'], data[f][0], action, context)
|
||||
df = self.relation_transform(cr, uid, pool_src, pool_dest, fields[f]['relation'], data[f][0], action, context=context)
|
||||
data[f] = df
|
||||
if not data[f]:
|
||||
del data[f]
|
||||
|
@ -212,11 +220,13 @@ class base_synchro(osv.osv_memory):
|
|||
#
|
||||
|
||||
|
||||
def upload_download(self, cr, uid, ids, context):
|
||||
def upload_download(self, cr, uid, ids, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
start_date = time.strftime('%Y-%m-%d, %Hh %Mm %Ss')
|
||||
syn_obj = self.browse(cr, uid, ids)[0]
|
||||
syn_obj = self.browse(cr, uid, ids, context=context)[0]
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
server = pool.get('base.synchro.server').browse(cr, uid, ids, context)[0]
|
||||
server = pool.get('base.synchro.server').browse(cr, uid, ids, context=context)[0]
|
||||
for object in server.obj_ids:
|
||||
dt = time.strftime('%Y-%m-%d %H:%M:%S')
|
||||
self.synchronize(cr, uid, server, object, context)
|
||||
|
@ -249,7 +259,9 @@ Exceptions:
|
|||
})
|
||||
return True
|
||||
|
||||
def upload_download_multi_thread(self, cr, uid, data, context):
|
||||
def upload_download_multi_thread(self, cr, uid, data, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
threaded_synchronization = threading.Thread(target=self.upload_download, args=(cr, uid, data, context))
|
||||
threaded_synchronization.run()
|
||||
data_obj = self.pool.get('ir.model.data')
|
||||
|
|
|
@ -52,12 +52,12 @@ class res_partner(osv.osv):
|
|||
vat_country, vat_number = vat[:2].lower(), vat[2:].replace(' ', '')
|
||||
return vat_country, vat_number
|
||||
|
||||
def check_vat(self, cr, uid, ids):
|
||||
def check_vat(self, cr, uid, ids, context=None):
|
||||
'''
|
||||
Check the VAT number depending of the country.
|
||||
http://sima-pc.com/nif.php
|
||||
'''
|
||||
for partner in self.browse(cr, uid, ids):
|
||||
for partner in self.browse(cr, uid, ids, context=context):
|
||||
if not partner.vat:
|
||||
continue
|
||||
vat_country, vat_number = self._split_vat(partner.vat)
|
||||
|
@ -75,7 +75,7 @@ class res_partner(osv.osv):
|
|||
'vat_subjected': fields.boolean('VAT Legal Statement', help="Check this box if the partner is subjected to the VAT. It will be used for the VAT legal statement.")
|
||||
}
|
||||
|
||||
def _construct_constraint_msg(self, cr, uid, ids):
|
||||
def _construct_constraint_msg(self, cr, uid, ids, context=None):
|
||||
def default_vat_check(cn, vn):
|
||||
# by default, a VAT number is valid if:
|
||||
# it starts with 2 letters
|
||||
|
|
|
@ -70,7 +70,7 @@ class board_board(osv.osv):
|
|||
|
||||
return arch
|
||||
|
||||
def write(self, cr, uid, ids, vals, context = {}):
|
||||
def write(self, cr, uid, ids, vals, context=None):
|
||||
|
||||
"""
|
||||
Writes values in one or several fields.
|
||||
|
@ -81,10 +81,12 @@ class board_board(osv.osv):
|
|||
dictionary must be with the form: {‘name_of_the_field’: value, ...}.
|
||||
@return: True
|
||||
"""
|
||||
result = super(board_board, self).write(cr, uid, ids, vals, context)
|
||||
if not context:
|
||||
context = {}
|
||||
result = super(board_board, self).write(cr, uid, ids, vals, context=context)
|
||||
|
||||
board = self.pool.get('board.board').browse(cr, uid, ids[0])
|
||||
view = self.create_view(cr, uid, ids[0], context)
|
||||
board = self.pool.get('board.board').browse(cr, uid, ids[0], context=context)
|
||||
view = self.create_view(cr, uid, ids[0], context=context)
|
||||
id = board.view_id.id
|
||||
cr.execute("update ir_ui_view set arch=%s where id=%s", (view, id))
|
||||
return result
|
||||
|
@ -104,13 +106,13 @@ class board_board(osv.osv):
|
|||
|
||||
if not 'name' in vals:
|
||||
return False
|
||||
id = super(board_board, self).create(cr, user, vals, context)
|
||||
id = super(board_board, self).create(cr, user, vals, context=context)
|
||||
view_id = self.pool.get('ir.ui.view').create(cr, user, {
|
||||
'name': vals['name'],
|
||||
'model': 'board.board',
|
||||
'priority': 16,
|
||||
'type': 'form',
|
||||
'arch': self.create_view(cr, user, id, context),
|
||||
'arch': self.create_view(cr, user, id, context=context),
|
||||
})
|
||||
|
||||
super(board_board, self).write(cr, user, [id], {'view_id': view_id}, context)
|
||||
|
@ -135,7 +137,7 @@ class board_board(osv.osv):
|
|||
[('user_id', '=', user), ('ref_id' ,'=', view_id)])
|
||||
if vids:
|
||||
view_id = vids[0]
|
||||
arch = self.pool.get('ir.ui.view.custom').browse(cr, user, view_id)
|
||||
arch = self.pool.get('ir.ui.view.custom').browse(cr, user, view_id, context=context)
|
||||
res['arch'] = arch.arch
|
||||
|
||||
res['toolbar'] = {'print': [], 'action': [], 'relate': []}
|
||||
|
@ -193,13 +195,13 @@ class board_note_type(osv.osv):
|
|||
|
||||
board_note_type()
|
||||
|
||||
def _type_get(self, cr, uid, context={}):
|
||||
def _type_get(self, cr, uid, context=None):
|
||||
"""
|
||||
Get by default Note type.
|
||||
"""
|
||||
obj = self.pool.get('board.note.type')
|
||||
ids = obj.search(cr, uid, [])
|
||||
res = obj.read(cr, uid, ids, ['name'], context)
|
||||
res = obj.read(cr, uid, ids, ['name'], context=context)
|
||||
res = [(r['name'], r['name']) for r in res]
|
||||
return res
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ class board_menu_create(osv.osv_memory):
|
|||
"""
|
||||
data = context and context.get('active_id', False) or False
|
||||
if data:
|
||||
board = self.pool.get('board.board').browse(cr, uid, data)
|
||||
board = self.pool.get('board.board').browse(cr, uid, data, context=context)
|
||||
if not board.line_ids:
|
||||
raise osv.except_osv(_('User Error!'),
|
||||
_('Please Insert Dashboard View(s) !'))
|
||||
|
@ -60,7 +60,7 @@ class board_menu_create(osv.osv_memory):
|
|||
|
||||
context_id = context and context.get('active_id', False) or False
|
||||
if context_id:
|
||||
board = self.pool.get('board.board').browse(cr, uid, context_id)
|
||||
board = self.pool.get('board.board').browse(cr, uid, context_id, context=context)
|
||||
action_id = self.pool.get('ir.actions.act_window').create(cr, uid, {
|
||||
'name': board.name,
|
||||
'view_type': 'form',
|
||||
|
|
|
@ -160,7 +160,7 @@ def get_attribute_mapping(cr, uid, calname, context=None):
|
|||
type_id = type_obj.search(cr, uid, domain)
|
||||
fids = field_obj.search(cr, uid, [('type_id', '=', type_id[0])])
|
||||
res = {}
|
||||
for field in field_obj.browse(cr, uid, fids):
|
||||
for field in field_obj.browse(cr, uid, fids, context=context):
|
||||
attr = field.name.name
|
||||
res[attr] = {}
|
||||
res[attr]['field'] = field.field_id.name
|
||||
|
|
|
@ -35,6 +35,8 @@ class calendar_collection(osv.osv):
|
|||
}
|
||||
|
||||
def _get_root_calendar_directory(self, cr, uid, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
objid = self.pool.get('ir.model.data')
|
||||
try:
|
||||
mid = objid._get_id(cr, uid, 'document', 'dir_calendars')
|
||||
|
@ -50,6 +52,8 @@ class calendar_collection(osv.osv):
|
|||
return False
|
||||
|
||||
def get_node_class(self, cr, uid, ids, dbro=None, dynamic=False, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
if dbro is None:
|
||||
dbro = self.browse(cr, uid, ids, context=context)
|
||||
|
||||
|
@ -70,6 +74,8 @@ class calendar_collection(osv.osv):
|
|||
return False
|
||||
|
||||
def get_schedule_inbox_URL(self, cr, uid, ids, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
calendar_obj = self.pool.get('basic.calendar')
|
||||
|
||||
calendar_ids = calendar_obj.search(cr, uid, [
|
||||
|
|
|
@ -46,27 +46,31 @@ AVAILABLE_PRIORITIES = [
|
|||
class crm_case(object):
|
||||
"""A simple python class to be used for common functions """
|
||||
|
||||
def _get_default_partner_address(self, cr, uid, context):
|
||||
def _get_default_partner_address(self, cr, uid, context=None):
|
||||
"""Gives id of default address for current user
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
if not context:
|
||||
context = {}
|
||||
if not context.get('portal', False):
|
||||
return False
|
||||
return self.pool.get('res.users').browse(cr, uid, uid, context).address_id.id
|
||||
|
||||
def _get_default_partner(self, cr, uid, context):
|
||||
def _get_default_partner(self, cr, uid, context=None):
|
||||
"""Gives id of partner for current user
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
if not context:
|
||||
context = {}
|
||||
if not context.get('portal', False):
|
||||
return False
|
||||
user = self.pool.get('res.users').browse(cr, uid, uid, context)
|
||||
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
|
||||
if not user.address_id:
|
||||
return False
|
||||
return user.address_id.partner_id.id
|
||||
|
@ -100,7 +104,7 @@ class crm_case(object):
|
|||
})
|
||||
return super(osv.osv, self).copy(cr, uid, id, default, context=context)
|
||||
|
||||
def _get_default_email(self, cr, uid, context):
|
||||
def _get_default_email(self, cr, uid, context=None):
|
||||
"""Gives default email address for current user
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
|
@ -109,29 +113,31 @@ class crm_case(object):
|
|||
"""
|
||||
if not context.get('portal', False):
|
||||
return False
|
||||
user = self.pool.get('res.users').browse(cr, uid, uid, context)
|
||||
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
|
||||
if not user.address_id:
|
||||
return False
|
||||
return user.address_id.email
|
||||
|
||||
def _get_default_user(self, cr, uid, context):
|
||||
def _get_default_user(self, cr, uid, context=None):
|
||||
"""Gives current user id
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
if context.get('portal', False):
|
||||
if context and context.get('portal', False):
|
||||
return False
|
||||
return uid
|
||||
|
||||
def _get_section(self, cr, uid, context):
|
||||
def _get_section(self, cr, uid, context=None):
|
||||
"""Gives section id for current User
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
if not context:
|
||||
context = {}
|
||||
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
|
||||
return user.context_section_id.id or False
|
||||
|
||||
|
@ -147,7 +153,7 @@ class crm_case(object):
|
|||
context = {}
|
||||
stage_pool = self.pool.get('crm.case.stage')
|
||||
model = self._name
|
||||
for case in self.browse(cr, uid, ids, context):
|
||||
for case in self.browse(cr, uid, ids, context=context):
|
||||
next_stage = False
|
||||
data = {}
|
||||
domain = [('object_id.model', '=', model)]
|
||||
|
@ -181,7 +187,7 @@ class crm_case(object):
|
|||
context = {}
|
||||
stage_pool = self.pool.get('crm.case.stage')
|
||||
model = self._name
|
||||
for case in self.browse(cr, uid, ids, context):
|
||||
for case in self.browse(cr, uid, ids, context=context):
|
||||
prev_stage = False
|
||||
data = {}
|
||||
domain = [('object_id.model', '=', model)]
|
||||
|
@ -236,7 +242,7 @@ class crm_case(object):
|
|||
address = self.pool.get('res.partner.address').browse(cr, uid, add)
|
||||
return {'value': {'email_from': address.email, 'phone': address.phone}}
|
||||
|
||||
def _history(self, cr, uid, cases, keyword, history=False, subject=None, email=False, details=None, email_from=False, message_id=False, attach=[], context={}):
|
||||
def _history(self, cr, uid, cases, keyword, history=False, subject=None, email=False, details=None, email_from=False, message_id=False, attach=[], context=None):
|
||||
mailgate_pool = self.pool.get('mailgate.thread')
|
||||
return mailgate_pool.history(cr, uid, cases, keyword, history=history,\
|
||||
subject=subject, email=email, \
|
||||
|
@ -356,7 +362,7 @@ class crm_case(object):
|
|||
self._action(cr, uid, cases, 'draft')
|
||||
return True
|
||||
|
||||
def remind_partner(self, cr, uid, ids, context={}, attach=False):
|
||||
def remind_partner(self, cr, uid, ids, context=None, attach=False):
|
||||
|
||||
"""
|
||||
@param self: The object pointer
|
||||
|
@ -369,7 +375,7 @@ class crm_case(object):
|
|||
return self.remind_user(cr, uid, ids, context, attach,
|
||||
destination=False)
|
||||
|
||||
def remind_user(self, cr, uid, ids, context={}, attach=False,destination=True):
|
||||
def remind_user(self, cr, uid, ids, context=None, attach=False,destination=True):
|
||||
"""
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
|
@ -378,7 +384,9 @@ class crm_case(object):
|
|||
@param context: A standard dictionary for contextual values
|
||||
|
||||
"""
|
||||
for case in self.browse(cr, uid, ids):
|
||||
if not context:
|
||||
context = {}
|
||||
for case in self.browse(cr, uid, ids, context=context):
|
||||
if not case.section_id.reply_to:
|
||||
raise osv.except_osv(_('Error!'), ("Reply To is not specified in the sales team"))
|
||||
if not case.email_from:
|
||||
|
@ -420,7 +428,7 @@ class crm_case(object):
|
|||
self._history(cr, uid, [case], _('Send'), history=True, subject=subject, email=dest, details=body, email_from=src)
|
||||
return True
|
||||
|
||||
def _check(self, cr, uid, ids=False, context={}):
|
||||
def _check(self, cr, uid, ids=False, context=None):
|
||||
"""
|
||||
Function called by the scheduler to process cases for date actions
|
||||
Only works on not done and cancelled cases
|
||||
|
@ -438,10 +446,10 @@ class crm_case(object):
|
|||
time.strftime('%Y-%m-%d %H:%M:%S')))
|
||||
|
||||
ids2 = map(lambda x: x[0], cr.fetchall() or [])
|
||||
cases = self.browse(cr, uid, ids2, context)
|
||||
cases = self.browse(cr, uid, ids2, context=context)
|
||||
return self._action(cr, uid, cases, False, context=context)
|
||||
|
||||
def _action(self, cr, uid, cases, state_to, scrit=None, context={}):
|
||||
def _action(self, cr, uid, cases, state_to, scrit=None, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
context['state_to'] = state_to
|
||||
|
@ -461,6 +469,8 @@ class crm_case(object):
|
|||
""" Get a list of emails of the people following this thread
|
||||
"""
|
||||
res = {}
|
||||
if not context:
|
||||
context = {}
|
||||
for case in self.browse(cr, uid, ids, context=context):
|
||||
l=[]
|
||||
if case.email_cc:
|
||||
|
@ -515,8 +525,8 @@ class crm_case_section(osv.osv):
|
|||
_description = "Sales Teams"
|
||||
_order = "complete_name"
|
||||
|
||||
def get_full_name(self, cr, uid, ids, field_name, arg, context={}):
|
||||
return dict(self.name_get(cr, uid, ids, context))
|
||||
def get_full_name(self, cr, uid, ids, field_name, arg, context=None):
|
||||
return dict(self.name_get(cr, uid, ids, context=context))
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Sales Team', size=64, required=True, translate=True),
|
||||
|
@ -546,7 +556,7 @@ class crm_case_section(osv.osv):
|
|||
('code_uniq', 'unique (code)', 'The code of the sales team must be unique !')
|
||||
]
|
||||
|
||||
def _check_recursion(self, cr, uid, ids):
|
||||
def _check_recursion(self, cr, uid, ids, context=None):
|
||||
|
||||
"""
|
||||
Checks for recursion level for sales team
|
||||
|
|
|
@ -50,7 +50,9 @@ this if you want the rule to send an email to the partner."),
|
|||
}
|
||||
|
||||
|
||||
def email_send(self, cr, uid, obj, emails, body, emailfrom=tools.config.get('email_from', False), context={}):
|
||||
def email_send(self, cr, uid, obj, emails, body, emailfrom=tools.config.get('email_from', False), context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
body = self.format_mail(obj, body)
|
||||
if not emailfrom:
|
||||
if hasattr(obj, 'user_id') and obj.user_id and obj.user_id.address_id and obj.user_id.address_id.email:
|
||||
|
@ -67,11 +69,13 @@ this if you want the rule to send an email to the partner."),
|
|||
_("No E-Mail ID Found for your Company address!"))
|
||||
return tools.email_send(emailfrom, emails, name, body, reply_to=reply_to, openobject_id=str(obj.id))
|
||||
|
||||
def do_check(self, cr, uid, action, obj, context={}):
|
||||
def do_check(self, cr, uid, action, obj, context=None):
|
||||
""" @param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param context: A standard dictionary for contextual values"""
|
||||
if not context:
|
||||
context = {}
|
||||
ok = super(base_action_rule, self).do_check(cr, uid, action, obj, context=context)
|
||||
|
||||
if hasattr(obj, 'section_id'):
|
||||
|
@ -102,11 +106,13 @@ this if you want the rule to send an email to the partner."),
|
|||
ok = ok and res_count
|
||||
return ok
|
||||
|
||||
def do_action(self, cr, uid, action, model_obj, obj, context={}):
|
||||
def do_action(self, cr, uid, action, model_obj, obj, context=None):
|
||||
""" @param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param context: A standard dictionary for contextual values """
|
||||
if not context:
|
||||
context = {}
|
||||
res = super(base_action_rule, self).do_action(cr, uid, action, model_obj, obj, context=context)
|
||||
write = {}
|
||||
|
||||
|
@ -138,20 +144,24 @@ this if you want the rule to send an email to the partner."),
|
|||
return True
|
||||
|
||||
|
||||
def state_get(self, cr, uid, context={}):
|
||||
def state_get(self, cr, uid, context=None):
|
||||
"""Gets available states for crm
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param context: A standard dictionary for contextual values """
|
||||
if not context:
|
||||
context = {}
|
||||
res = super(base_action_rule, self).state_get(cr, uid, context=context)
|
||||
return res + crm.AVAILABLE_STATES
|
||||
|
||||
def priority_get(self, cr, uid, context={}):
|
||||
def priority_get(self, cr, uid, context=None):
|
||||
"""@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param context: A standard dictionary for contextual values """
|
||||
if not context:
|
||||
context = {}
|
||||
res = super(base_action_rule, self).priority_get(cr, uid, context=context)
|
||||
return res + crm.AVAILABLE_PRIORITIES
|
||||
|
||||
|
|
|
@ -40,6 +40,8 @@ class crm_installer(osv.osv_memory):
|
|||
}
|
||||
|
||||
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
|
||||
if not context:
|
||||
context = {}
|
||||
res = super(crm_installer, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False)
|
||||
#Checking sale module is installed or not
|
||||
cr.execute("SELECT * from ir_module_module where state='installed' and name = 'sale'")
|
||||
|
|
|
@ -41,7 +41,7 @@ class crm_lead(crm_case, osv.osv):
|
|||
_description = "Lead"
|
||||
_order = "date_action, priority, id desc"
|
||||
_inherit = ['mailgate.thread','res.partner.address']
|
||||
def _compute_day(self, cr, uid, ids, fields, args, context={}):
|
||||
def _compute_day(self, cr, uid, ids, fields, args, context=None):
|
||||
"""
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
|
@ -53,7 +53,9 @@ class crm_lead(crm_case, osv.osv):
|
|||
res_obj = self.pool.get('resource.resource')
|
||||
|
||||
res = {}
|
||||
for lead in self.browse(cr, uid, ids , context):
|
||||
if not context:
|
||||
context = {}
|
||||
for lead in self.browse(cr, uid, ids, context=context):
|
||||
for field in fields:
|
||||
res[lead.id] = {}
|
||||
duration = 0
|
||||
|
@ -311,7 +313,7 @@ class crm_lead(crm_case, osv.osv):
|
|||
self.log(cr, uid, case.id, message)
|
||||
return stage
|
||||
|
||||
def message_new(self, cr, uid, msg, context):
|
||||
def message_new(self, cr, uid, msg, context=None):
|
||||
"""
|
||||
Automatically calls when new email message arrives
|
||||
|
||||
|
@ -319,7 +321,8 @@ class crm_lead(crm_case, osv.osv):
|
|||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks
|
||||
"""
|
||||
|
||||
if not context:
|
||||
context = {}
|
||||
mailgate_pool = self.pool.get('email.server.tools')
|
||||
|
||||
subject = msg.get('subject')
|
||||
|
@ -356,14 +359,15 @@ class crm_lead(crm_case, osv.osv):
|
|||
|
||||
return res
|
||||
|
||||
def message_update(self, cr, uid, ids, vals={}, msg="", default_act='pending', context={}):
|
||||
def message_update(self, cr, uid, ids, vals={}, msg="", default_act='pending', context=None):
|
||||
"""
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param ids: List of update mail’s IDs
|
||||
"""
|
||||
|
||||
if not context:
|
||||
context = {}
|
||||
if isinstance(ids, (str, int, long)):
|
||||
ids = [ids]
|
||||
|
||||
|
|
|
@ -145,7 +145,7 @@ class calendar_attendee(osv.osv):
|
|||
_inherit = 'calendar.attendee'
|
||||
_description = 'Calendar Attendee'
|
||||
|
||||
def _compute_data(self, cr, uid, ids, name, arg, context):
|
||||
def _compute_data(self, cr, uid, ids, name, arg, context=None):
|
||||
"""
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
|
@ -154,7 +154,9 @@ class calendar_attendee(osv.osv):
|
|||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
name = name[0]
|
||||
result = super(calendar_attendee, self)._compute_data(cr, uid, ids, name, arg, context)
|
||||
if not context:
|
||||
context = {}
|
||||
result = super(calendar_attendee, self)._compute_data(cr, uid, ids, name, arg, context=context)
|
||||
|
||||
for attdata in self.browse(cr, uid, ids, context=context):
|
||||
id = attdata.id
|
||||
|
@ -181,7 +183,7 @@ class res_users(osv.osv):
|
|||
def create(self, cr, uid, data, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
user_id = super(res_users, self).create(cr, uid, data, context)
|
||||
user_id = super(res_users, self).create(cr, uid, data, context=context)
|
||||
data_obj = self.pool.get('ir.model.data')
|
||||
try:
|
||||
data_id = data_obj._get_id(cr, uid, 'crm', 'ir_ui_view_sc_calendar0')
|
||||
|
|
|
@ -135,7 +135,7 @@ class crm_opportunity(osv.osv):
|
|||
self.write(cr, uid, ids, {'date_open': time.strftime('%Y-%m-%d %H:%M:%S')})
|
||||
return res
|
||||
|
||||
def onchange_stage_id(self, cr, uid, ids, stage_id, context={}):
|
||||
def onchange_stage_id(self, cr, uid, ids, stage_id, context=None):
|
||||
|
||||
""" @param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
|
@ -144,8 +144,11 @@ class crm_opportunity(osv.osv):
|
|||
@stage_id: change state id on run time """
|
||||
if not stage_id:
|
||||
return {'value':{}}
|
||||
|
||||
if not context:
|
||||
context = {}
|
||||
|
||||
stage = self.pool.get('crm.case.stage').browse(cr, uid, stage_id, context)
|
||||
stage = self.pool.get('crm.case.stage').browse(cr, uid, stage_id, context=context)
|
||||
|
||||
if not stage.on_change:
|
||||
return {'value':{}}
|
||||
|
@ -168,7 +171,9 @@ class crm_opportunity(osv.osv):
|
|||
@return : Dictionary value for created Meeting view
|
||||
"""
|
||||
value = {}
|
||||
for opp in self.browse(cr, uid, ids):
|
||||
if not context:
|
||||
context = {}
|
||||
for opp in self.browse(cr, uid, ids, context=context):
|
||||
data_obj = self.pool.get('ir.model.data')
|
||||
|
||||
# Get meeting views
|
||||
|
|
|
@ -157,7 +157,9 @@ class crm_phonecall(crm_case, osv.osv):
|
|||
@return : Dictionary value for created Meeting view
|
||||
"""
|
||||
value = {}
|
||||
for phonecall in self.browse(cr, uid, ids):
|
||||
if not context:
|
||||
context = {}
|
||||
for phonecall in self.browse(cr, uid, ids, context=context):
|
||||
data_obj = self.pool.get('ir.model.data')
|
||||
|
||||
# Get meeting views
|
||||
|
|
|
@ -52,7 +52,7 @@ class report_custom(report_int):
|
|||
|
||||
""" Create Custom Report """
|
||||
|
||||
def create(self, cr, uid, ids, datas, context={}):
|
||||
def create(self, cr, uid, ids, datas, context=None):
|
||||
|
||||
""" @param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
|
|
|
@ -122,9 +122,11 @@ class crm_lead2opportunity(osv.osv_memory):
|
|||
@param context: A standard dictionary for contextual values
|
||||
|
||||
"""
|
||||
if not context:
|
||||
context = {}
|
||||
lead_obj = self.pool.get('crm.lead')
|
||||
|
||||
for lead in lead_obj.browse(cr, uid, context.get('active_ids', [])):
|
||||
for lead in lead_obj.browse(cr, uid, context.get('active_ids', []), context=context):
|
||||
if lead.state in ['done', 'cancel']:
|
||||
raise osv.except_osv(_("Warning !"), _("Closed/Cancelled \
|
||||
Leads Could not convert into Opportunity"))
|
||||
|
@ -178,7 +180,7 @@ class crm_lead2opportunity_partner(osv.osv_memory):
|
|||
if not context:
|
||||
context = {}
|
||||
|
||||
partner_ids = self._create_partner(cr, uid, ids, context)
|
||||
partner_ids = self._create_partner(cr, uid, ids, context=context)
|
||||
value = {}
|
||||
data_obj = self.pool.get('ir.model.data')
|
||||
data_id = data_obj._get_id(cr, uid, 'crm', 'view_crm_lead2opportunity_action')
|
||||
|
@ -212,6 +214,8 @@ class crm_lead2opportunity_partner(osv.osv_memory):
|
|||
@return : Dictionary value for Opportunity form
|
||||
"""
|
||||
value = {}
|
||||
if not context:
|
||||
context = {}
|
||||
data_obj = self.pool.get('ir.model.data')
|
||||
data_id = data_obj._get_id(cr, uid, 'crm', 'view_crm_lead2opportunity_create')
|
||||
view_id = False
|
||||
|
@ -243,9 +247,11 @@ class crm_lead2opportunity_partner(osv.osv_memory):
|
|||
@param context: A standard dictionary for contextual values
|
||||
|
||||
"""
|
||||
if not context:
|
||||
context = {}
|
||||
lead_obj = self.pool.get('crm.lead')
|
||||
|
||||
for lead in lead_obj.browse(cr, uid, context.get('active_ids', [])):
|
||||
for lead in lead_obj.browse(cr, uid, context.get('active_ids', []), context=context):
|
||||
if lead.state in ['done', 'cancel']:
|
||||
raise osv.except_osv(_("Warning !"), _("Closed/Cancelled \
|
||||
Leads Could not convert into Opportunity"))
|
||||
|
@ -276,6 +282,8 @@ class crm_lead2opportunity_action(osv.osv_memory):
|
|||
@return : Dictionary value for Opportunity form
|
||||
"""
|
||||
value = {}
|
||||
if not context:
|
||||
context = {}
|
||||
data_obj = self.pool.get('ir.model.data')
|
||||
view_id = False
|
||||
for this in self.browse(cr, uid, ids, context=context):
|
||||
|
|
|
@ -174,8 +174,8 @@ class crm_lead2partner(osv.osv_memory):
|
|||
contact_id = False
|
||||
rec_ids = context and context.get('active_ids', [])
|
||||
|
||||
for data in self.browse(cr, uid, ids):
|
||||
for lead in lead_obj.browse(cr, uid, rec_ids):
|
||||
for data in self.browse(cr, uid, ids, context=context):
|
||||
for lead in lead_obj.browse(cr, uid, rec_ids, context=context):
|
||||
if data.action == 'create':
|
||||
partner_id = partner_obj.create(cr, uid, {
|
||||
'name': lead.partner_name or lead.contact_name or lead.name,
|
||||
|
@ -229,7 +229,7 @@ class crm_lead2partner(osv.osv_memory):
|
|||
if not context:
|
||||
context = {}
|
||||
|
||||
partner_ids = self._create_partner(cr, uid, ids, context)
|
||||
partner_ids = self._create_partner(cr, uid, ids, context=context)
|
||||
mod_obj = self.pool.get('ir.model.data')
|
||||
result = mod_obj._get_id(cr, uid, 'base', 'view_res_partner_filter')
|
||||
res = mod_obj.read(cr, uid, result, ['res_id'])
|
||||
|
|
|
@ -57,7 +57,7 @@ class crm_partner2opportunity(osv.osv_memory):
|
|||
res.update({'partner_id': data and data[0] or False})
|
||||
return res
|
||||
|
||||
def make_opportunity(self, cr, uid, ids, context):
|
||||
def make_opportunity(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
|
@ -67,7 +67,7 @@ class crm_partner2opportunity(osv.osv_memory):
|
|||
|
||||
data = context and context.get('active_ids', []) or []
|
||||
make_opportunity = self.pool.get('crm.partner2opportunity')
|
||||
for make_opportunity_obj in make_opportunity.browse(cr,uid,ids):
|
||||
for make_opportunity_obj in make_opportunity.browse(cr, uid, ids, context=context):
|
||||
data_obj = self.pool.get('ir.model.data')
|
||||
result = data_obj._get_id(cr, uid, 'crm', 'view_crm_case_opportunities_filter')
|
||||
res = data_obj.read(cr, uid, result, ['res_id'])
|
||||
|
|
|
@ -31,7 +31,9 @@ import pooler
|
|||
|
||||
class phonecall2meeting(wizard.interface):
|
||||
|
||||
def _makeMeeting(self, cr, uid, data, context):
|
||||
def _makeMeeting(self, cr, uid, data, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
phonecall_case_obj = pool.get('crm.phonecall')
|
||||
data_obj = pool.get('ir.model.data')
|
||||
|
|
|
@ -138,8 +138,8 @@ class crm_phonecall2partner(osv.osv_memory):
|
|||
|
||||
rec_ids = context and context.get('active_ids', [])
|
||||
|
||||
for data in self.browse(cr, uid, ids):
|
||||
for phonecall in phonecall_obj.browse(cr, uid, rec_ids):
|
||||
for data in self.browse(cr, uid, ids, context=context):
|
||||
for phonecall in phonecall_obj.browse(cr, uid, rec_ids, context=context):
|
||||
if data.action == 'create':
|
||||
partner_id = partner_obj.create(cr, uid, {
|
||||
'name': phonecall.name or phonecall.name,
|
||||
|
@ -181,7 +181,7 @@ class crm_phonecall2partner(osv.osv_memory):
|
|||
if not context:
|
||||
context = {}
|
||||
|
||||
partner_ids = self._create_partner(cr, uid, ids, context)
|
||||
partner_ids = self._create_partner(cr, uid, ids, context=context)
|
||||
mod_obj = self.pool.get('ir.model.data')
|
||||
result = mod_obj._get_id(cr, uid, 'base', 'view_res_partner_filter')
|
||||
res = mod_obj.read(cr, uid, result, ['res_id'])
|
||||
|
|
|
@ -181,7 +181,7 @@ class crm_send_new_email(osv.osv_memory):
|
|||
user_obj = self.pool.get('res.users')
|
||||
user_mail_from = user_obj._get_email_from(cr, uid, [uid], context=context)[uid]
|
||||
|
||||
for case in mod_obj.browse(cr, uid, res_id):
|
||||
for case in mod_obj.browse(cr, uid, res_id, context=context):
|
||||
if 'email_to' in fields:
|
||||
res.update({'email_to': case.email_from and tools.ustr(case.email_from) or ''})
|
||||
if 'email_from' in fields:
|
||||
|
|
|
@ -24,7 +24,9 @@ import wizard
|
|||
import pooler
|
||||
import time
|
||||
|
||||
def _open_history_event(self, cr, uid, data, context):
|
||||
def _open_history_event(self, cr, uid, data, context=None):
|
||||
if not context:
|
||||
context = {}
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
data_obj = pool.get('ir.model.data')
|
||||
result = data_obj._get_id(cr, uid, 'crm', 'view_crm_case_filter')
|
||||
|
@ -35,7 +37,7 @@ def _open_history_event(self, cr, uid, data, context):
|
|||
res = ''
|
||||
if data.get('model',False) and data.get('ids',False):
|
||||
model_obj = pooler.get_pool(cr.dbname).get(data['model'])
|
||||
res = model_obj.browse(cr,uid,data['ids'])
|
||||
res = model_obj.browse(cr, uid, data['ids'], context=context)
|
||||
if len(res):
|
||||
res = res[0].name
|
||||
return {
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue