diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index a7d3eb2c40c..0e5d889f361 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -2491,9 +2491,13 @@ +# check for unconfigured companies account_installer_obj = self.pool.get('account.installer') account_installer_obj.check_unconfigured_cmp(cr, uid, context=context) action_ids = [] +# fetch the act_window actions related to chart of account configuration +# we use ir.actions.todo to enable the possibility for other modules to insert their own +# wizards during the configuration process ref = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account', 'action_wizard_multi_chart') if ref: action_ids += [ref[1]] diff --git a/addons/account/installer.py b/addons/account/installer.py index e7b8efae696..ad48da00b0f 100644 --- a/addons/account/installer.py +++ b/addons/account/installer.py @@ -80,6 +80,8 @@ class account_installer(osv.osv_memory): } def get_unconfigured_cmp(self, cr, uid, context=None): + """ get the list of companies that have not been configured yet + but don't care about the demo chart of accounts """ cmp_select = [] company_ids = self.pool.get('res.company').search(cr, uid, [], context=context) cr.execute("SELECT company_id FROM account_account WHERE active = 't' AND account_account.parent_id IS NULL AND name != %s", ("Chart For Automated Tests",)) @@ -88,12 +90,14 @@ class account_installer(osv.osv_memory): return unconfigured_cmp def check_unconfigured_cmp(self, cr, uid, context=None): + """ check if there are still unconfigured companies """ if not self.get_unconfigured_cmp(cr, uid, context=context): raise osv.except_osv(_('No unconfigured company !'), _("There are currently no company without chart of account. The wizard will therefore not be executed.")) def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): res = super(account_installer, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False) cmp_select = [] + # display in the widget selection only the companies that haven't been configured yet unconfigured_cmp = self.get_unconfigured_cmp(cr, uid, context=context) for field in res['fields']: if field == 'company_id':