~account-core-editors/account-consolidation/6.1

« back to all changes in this revision

Viewing changes to account_consolidation/wizard/consolidation_check.py

  • Committer: Guewen Baconnier @ CampToCamp
  • Date: 2011-08-19 13:08:01 UTC
  • Revision ID: guewen.baconnier@camptocamp.com-20110819130801-4n7g9o2e93osrh1i
[IMP] account_consolidation: better display of errors in checks, fiscal year field on check instead of periods, tests
(lp:c2c-addons/6.1  rev 7)

Show diffs side-by-side

added added

removed removed

Lines of Context:
30
30
 
31
31
from osv import osv
32
32
 
33
 
 
34
 
class account_consolidation_base(osv.osv_memory):
 
33
from tools.translate import _
 
34
 
 
35
 
 
36
class account_consolidation_check(osv.osv_memory):
35
37
    _name = 'account.consolidation.check'
36
38
    _inherit = 'account.consolidation.base'
37
39
    _description = 'Consolidation Checks. Model used for views'
48
50
        @param context: A standard dictionary for contextual values
49
51
        """
50
52
        invalid_items_per_company = \
51
 
        super(account_consolidation_base, self).check_account_charts(cr, uid, ids, context=context)
 
53
        super(account_consolidation_check, self).check_account_charts(cr, uid, ids, context=context)
52
54
        if invalid_items_per_company:
53
 
            raise osv.except_osv('Error',
54
 
                                 'Invalid charts, TODO display a report %s'
55
 
                                 % (invalid_items_per_company,))
 
55
            err_lines = []
 
56
            for company_id, account_codes in invalid_items_per_company.iteritems():
 
57
                company_obj = self.pool.get('res.company')
 
58
                company = company_obj.browse(cr, uid, company_id, context=context)
 
59
                err_lines.append(_("%s :") % (company.name,))
 
60
                [err_lines.append(_("Account with code %s does not exist on the Holding company.") % (account_code,))
 
61
                                  for account_code
 
62
                                  in account_codes]
 
63
                err_lines.append('')
 
64
 
 
65
            raise osv.except_osv(_('Invalid charts'),
 
66
                                 '\n'.join(err_lines))
 
67
 
 
68
        else:
 
69
            raise osv.except_osv(_('Validation'), _('Chart of Accounts are OK.'))
56
70
        # open a confirmation view ?
57
71
        return True
58
72
 
68
82
        @param context: A standard dictionary for contextual values
69
83
        """
70
84
        errors_by_company = \
71
 
        super(account_consolidation_base, self).check_all_periods(cr, uid, ids, context=context)
 
85
        super(account_consolidation_check, self).check_all_periods(cr, uid, ids, context=context)
 
86
 
72
87
        if errors_by_company:
73
 
            raise osv.except_osv('Error',
74
 
                                 'Invalid periods, TODO display a report %s' % (errors_by_company,))
 
88
            company_obj = self.pool.get('res.company')
 
89
 
 
90
            err_lines = []
 
91
            for company_id, errors in errors_by_company.iteritems():
 
92
                company = company_obj.browse(cr, uid, company_id, context=context)
 
93
                err_lines.append(_("%s :") % (company.name,))
 
94
                [err_lines.append(error) for error in errors]
 
95
                err_lines.append('')
 
96
 
 
97
            raise osv.except_osv(_('Invalid periods'),
 
98
                                 '\n'.join(err_lines))
 
99
        else:
 
100
            raise osv.except_osv(_('Validation'), _('Periods are OK.'))
75
101
        # open a confirmation view ?
76
102
        return True
77
103
 
78
 
account_consolidation_base()
 
104
account_consolidation_check()