openerp-community-reviewer team mailing list archive
-
openerp-community-reviewer team
-
Mailing list archive
-
Message #01999
[Merge] lp:~pedro.baeza/ocb-addons/6.1-fix-1223243 into lp:ocb-addons/6.1
Pedro Manuel Baeza has proposed merging lp:~pedro.baeza/ocb-addons/6.1-fix-1223243 into lp:ocb-addons/6.1.
Requested reviews:
OpenERP Community Backports Team (ocb)
For more details, see:
https://code.launchpad.net/~pedro.baeza/ocb-addons/6.1-fix-1223243/+merge/198291
Improvement made on 7.0 when posting account move lines. I have to admit that I haven't fully tested it, but overall checks are OK and the improvement deserves to make the MP.
Regards.
--
https://code.launchpad.net/~pedro.baeza/ocb-addons/6.1-fix-1223243/+merge/198291
Your team OpenERP Community Backports Team is requested to review the proposed merge of lp:~pedro.baeza/ocb-addons/6.1-fix-1223243 into lp:ocb-addons/6.1.
=== modified file 'account/account.py'
--- account/account.py 2013-11-20 01:17:39 +0000
+++ account/account.py 2013-12-09 17:06:05 +0000
@@ -1422,11 +1422,14 @@
l[2]['period_id'] = default_period
context['period_id'] = default_period
- if 'line_id' in vals:
+ if vals.get('line_id', False):
c = context.copy()
c['novalidate'] = True
result = super(account_move, self).create(cr, uid, vals, c)
- self.validate(cr, uid, [result], context)
+ tmp = self.validate(cr, uid, [result], context)
+ journal = self.pool.get('account.journal').browse(cr, uid, vals['journal_id'], context)
+ if journal.entry_posted and tmp:
+ self.button_validate(cr,uid, [result], context)
else:
result = super(account_move, self).create(cr, uid, vals, context)
return result
@@ -1569,11 +1572,6 @@
obj_analytic_line = self.pool.get('account.analytic.line')
obj_move_line = self.pool.get('account.move.line')
for move in self.browse(cr, uid, ids, context):
- # Unlink old analytic lines on move_lines
- for obj_line in move.line_id:
- for obj in obj_line.analytic_lines:
- obj_analytic_line.unlink(cr,uid,obj.id)
-
journal = move.journal_id
amount = 0
line_ids = []
=== modified file 'account/account_move_line.py'
--- account/account_move_line.py 2012-09-06 14:35:17 +0000
+++ account/account_move_line.py 2013-12-09 17:06:05 +0000
@@ -171,6 +171,8 @@
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, ))
+ if obj_line.analytic_lines:
+ acc_ana_line_obj.unlink(cr,uid,[obj.id for obj in obj_line.analytic_lines])
amt = (obj_line.credit or 0.0) - (obj_line.debit or 0.0)
vals_lines = {
'name': obj_line.name,
@@ -1316,20 +1318,6 @@
if not ok:
raise osv.except_osv(_('Bad account !'), _('You can not use this general account in this journal, check the tab \'Entry Controls\' on the related journal !'))
- if vals.get('analytic_account_id',False):
- if journal.analytic_journal_id:
- vals['analytic_lines'] = [(0,0, {
- 'name': vals['name'],
- 'date': vals.get('date', time.strftime('%Y-%m-%d')),
- 'account_id': vals.get('analytic_account_id', False),
- 'unit_amount': vals.get('quantity', 1.0),
- 'amount': vals.get('debit', 0.0) or vals.get('credit', 0.0),
- 'general_account_id': vals.get('account_id', False),
- 'journal_id': journal.analytic_journal_id.id,
- 'ref': vals.get('ref', False),
- 'user_id': uid
- })]
-
result = super(account_move_line, self).create(cr, uid, vals, context=context)
# CREATE Taxes
if vals.get('account_tax_id', False):
@@ -1391,7 +1379,7 @@
self.create(cr, uid, data, context)
del vals['account_tax_id']
- if check and ((not context.get('no_store_function')) or journal.entry_posted):
+ if check and not context.get('novalidate') and ((not context.get('no_store_function')) or journal.entry_posted):
tmp = move_obj.validate(cr, uid, [vals['move_id']], context)
if journal.entry_posted and tmp:
move_obj.button_validate(cr,uid, [vals['move_id']], context)
Follow ups