diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py
index 81d09b30ae9..ec61248e147 100644
--- a/addons/account/__openerp__.py
+++ b/addons/account/__openerp__.py
@@ -125,6 +125,7 @@ module named account_voucher.
"wizard/account_report_balance_sheet_view.xml",
"edi/invoice_action_data.xml",
"account_bank_view.xml",
+ "account_pre_install.yml"
],
'demo_xml': [
'demo/account_demo.xml',
diff --git a/addons/account/account.py b/addons/account/account.py
index c8895fa6946..8aa1569520e 100644
--- a/addons/account/account.py
+++ b/addons/account/account.py
@@ -861,19 +861,6 @@ class account_fiscalyear(osv.osv):
}
_order = "date_start"
- def _check_fiscal_year(self, cr, uid, ids, context=None):
- current_fiscal_yr = self.browse(cr, uid, ids, context=context)[0]
- obj_fiscal_ids = self.search(cr, uid, [('company_id', '=', current_fiscal_yr.company_id.id)], context=context)
- obj_fiscal_ids.remove(ids[0])
- data_fiscal_yr = self.browse(cr, uid, obj_fiscal_ids, context=context)
-
- for old_fy in data_fiscal_yr:
- if old_fy.company_id.id == current_fiscal_yr['company_id'].id:
- # Condition to check if the current fiscal year falls in between any previously defined fiscal year
- if old_fy.date_start <= current_fiscal_yr['date_start'] <= old_fy.date_stop or \
- old_fy.date_start <= current_fiscal_yr['date_stop'] <= old_fy.date_stop:
- return False
- return True
def _check_duration(self, cr, uid, ids, context=None):
obj_fy = self.browse(cr, uid, ids[0], context=context)
@@ -882,8 +869,7 @@ class account_fiscalyear(osv.osv):
return True
_constraints = [
- (_check_duration, 'Error! The start date of the fiscal year must be before his end date.', ['date_start','date_stop']),
- (_check_fiscal_year, 'Error! You can not define overlapping fiscal years for the same company.',['date_start', 'date_stop'])
+ (_check_duration, 'Error! The start date of the fiscal year must be before his end date.', ['date_start','date_stop'])
]
def create_period3(self, cr, uid, ids, context=None):
diff --git a/addons/account/account_installer.xml b/addons/account/account_installer.xml
index 230078c4e33..e249f8fa872 100644
--- a/addons/account/account_installer.xml
+++ b/addons/account/account_installer.xml
@@ -57,7 +57,7 @@
Accounting
5
-
+
diff --git a/addons/account/account_pre_install.yml b/addons/account/account_pre_install.yml
new file mode 100644
index 00000000000..13adbe8108f
--- /dev/null
+++ b/addons/account/account_pre_install.yml
@@ -0,0 +1,22 @@
+-
+ I configure automatically if the country is set on the company, mainly for online offers.
+-
+ !python {model: account.installer}: |
+ modules = self.pool.get('ir.module.module')
+ wizards = self.pool.get('ir.actions.todo')
+ wiz = wizards.browse(cr, uid, ref('account.account_configuration_installer_todo'))
+ part = self.pool.get('res.partner').browse(cr, uid, ref('base.main_partner'))
+ # if we know the country and the wizard has not yet been executed, we do it
+ if (part.country.id) and (wiz.state=='open'):
+ mod = 'l10n_'+part.country.code.lower()
+ ids = modules.search(cr, uid, [ ('name','=',mod) ], context=context)
+ if ids:
+ wizards.write(cr, uid, [ref('account.account_configuration_installer_todo')], {
+ 'state': 'done'
+ })
+ wiz_id = self.create(cr, uid, {
+ 'charts': mod
+ })
+ self.execute_simple(cr, uid, [wiz_id])
+ modules.state_update(cr, uid, ids,
+ 'to install', ['uninstalled'], context=context)
diff --git a/addons/account/demo/account_demo.xml b/addons/account/demo/account_demo.xml
index 566185c70c3..0bbfa71af62 100644
--- a/addons/account/demo/account_demo.xml
+++ b/addons/account/demo/account_demo.xml
@@ -7,7 +7,7 @@
-->
-
+
@@ -20,7 +20,7 @@
-
+
@@ -29,7 +29,7 @@
-
+
@@ -38,7 +38,7 @@
-
+
@@ -47,7 +47,7 @@
-
+
@@ -56,7 +56,7 @@
-
+
@@ -65,7 +65,7 @@
-
+
@@ -74,7 +74,7 @@
-
+
@@ -83,7 +83,7 @@
-
+
@@ -92,7 +92,7 @@
-
+
@@ -101,7 +101,7 @@
-
+
@@ -110,7 +110,7 @@
-
+
@@ -119,7 +119,7 @@
-
+
@@ -129,6 +129,6 @@
-
+
diff --git a/addons/account/installer.py b/addons/account/installer.py
index fcd29e9e323..a0157e51c8e 100644
--- a/addons/account/installer.py
+++ b/addons/account/installer.py
@@ -111,6 +111,10 @@ class account_installer(osv.osv_memory):
return {}
def execute(self, cr, uid, ids, context=None):
+ self.execute_simple(cr, uid, ids, context)
+ super(account_installer, self).execute(cr, uid, ids, context=context)
+
+ def execute_simple(self, cr, uid, ids, context=None):
if context is None:
context = {}
fy_obj = self.pool.get('account.fiscalyear')
@@ -219,7 +223,6 @@ class account_installer(osv.osv_memory):
fy_obj.create_period(cr, uid, [fiscal_id])
elif res['period'] == '3months':
fy_obj.create_period3(cr, uid, [fiscal_id])
- super(account_installer, self).execute(cr, uid, ids, context=context)
def modules_to_install(self, cr, uid, ids, context=None):
modules = super(account_installer, self).modules_to_install(
diff --git a/addons/product/product_data.xml b/addons/product/product_data.xml
index fc085aab922..122c8594de4 100644
--- a/addons/product/product_data.xml
+++ b/addons/product/product_data.xml
@@ -23,8 +23,8 @@
+ Resource: product.uom
+ -->
PCE