diff --git a/addons/account/account.py b/addons/account/account.py
index eca8bf9b397..969f843bec9 100644
--- a/addons/account/account.py
+++ b/addons/account/account.py
@@ -1763,52 +1763,6 @@ class account_subscription_line(osv.osv):
_rec_name = 'date'
account_subscription_line()
-
-class account_config_wizard(osv.osv_memory):
- _name = 'account.config.wizard'
- _inherit = 'res.config'
-
- _columns = {
- 'name':fields.char(
- 'Name', required=True, size=64,
- help="Name of the fiscal year as displayed on screens."),
- 'code':fields.char(
- 'Code', required=True, size=64,
- help="Name of the fiscal year as displayed in reports."),
- 'date1': fields.date('Start Date', required=True),
- 'date2': fields.date('End Date', required=True),
- 'period':fields.selection([('month','Month'), ('3months','3 Months')],
- 'Periods', required=True),
- }
- _defaults = {
- 'code': lambda *a: time.strftime('%Y'),
- 'name': lambda *a: time.strftime('%Y'),
- 'date1': lambda *a: time.strftime('%Y-01-01'),
- 'date2': lambda *a: time.strftime('%Y-12-31'),
- 'period':lambda *a:'month',
- }
-
- def execute(self, cr, uid, ids, context=None):
- for res in self.read(cr,uid,ids):
- if 'date1' in res and 'date2' in res:
- res_obj = self.pool.get('account.fiscalyear')
- start_date=res['date1']
- end_date=res['date2']
- name=res['name']#DateTime.strptime(start_date, '%Y-%m-%d').strftime('%m.%Y') + '-' + DateTime.strptime(end_date, '%Y-%m-%d').strftime('%m.%Y')
- vals={
- 'name':name,
- 'code':name,
- 'date_start':start_date,
- 'date_stop':end_date,
- }
- new_id=res_obj.create(cr, uid, vals, context=context)
- if res['period']=='month':
- res_obj.create_period(cr,uid,[new_id])
- elif res['period']=='3months':
- res_obj.create_period3(cr,uid,[new_id])
-account_config_wizard()
-
-
# ---------------------------------------------------------------
# Account Templates : Account, Tax, Tax Code and chart. + Wizard
# ---------------------------------------------------------------
@@ -2163,6 +2117,7 @@ class wizard_multi_charts_accounts(osv.osv_memory):
'company_id': lambda self, cr, uid, c: self.pool.get('res.users').browse(cr,uid,[uid],c)[0].company_id.id,
'chart_template_id': _get_chart,
'code_digits': lambda *a:6,
+ 'seq_journal': True
}
def execute(self, cr, uid, ids, context=None):
@@ -2435,10 +2390,14 @@ class account_bank_accounts_wizard(osv.osv_memory):
_name='account.bank.accounts.wizard'
_columns = {
- 'acc_no':fields.many2one('res.partner.bank','Account No.',required=True),
+ 'acc_name':fields.char('Account Name.', size=64, required=True),
'bank_account_id':fields.many2one('wizard.multi.charts.accounts', 'Bank Account', required=True),
'currency_id':fields.many2one('res.currency', 'Currency'),
+ 'account_type':fields.selection([('cash','Cash'),('check','Check'),('bank','Bank')], 'Type', size=32),
}
+ _defaults = {
+ 'currency_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.currency_id.id,
+ }
account_bank_accounts_wizard()
diff --git a/addons/account/account_installer.xml b/addons/account/account_installer.xml
index 4c9742fd127..d3a6ce979a6 100644
--- a/addons/account/account_installer.xml
+++ b/addons/account/account_installer.xml
@@ -17,17 +17,51 @@
- You can enhance OpenERP's basic accounting support with a few additional OpenERP applications
+ You can enhance OpenERP's basic accounting support with a few additional OpenERP applications.
-
-
-
+
+ Configure
+
+
+ 23
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -46,6 +80,20 @@
3
+ onskip
+
+
+ ir.actions.todo
+ account_installer_action_replace
+ tree
+
+
+
+
+
+
+
+
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 9ace27294fa..38b628ab594 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -1445,49 +1445,6 @@
-
-
-
-
-
- Account Configure wizard
- account.config.wizard
- form
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Account Configure Wizard
- ir.actions.act_window
- account.config.wizard
-
- form
- form
- new
-
-
-
-
-
- onskip
-
-
Account Add wizard
account.addtmpl.wizard
@@ -1741,25 +1698,35 @@
+
+ Generate Chart of Accounts from a Chart Template
+
+
+ This will automatically configure your chart of accounts, bank accounts, taxes and journals according to the selected template
+ 150
+
+
+ 15
+
+
-
-
+ />
-
-
+
+
+
diff --git a/addons/account/configurable_account_chart.xml b/addons/account/configurable_account_chart.xml
new file mode 100644
index 00000000000..a6b271bedcb
--- /dev/null
+++ b/addons/account/configurable_account_chart.xml
@@ -0,0 +1,516 @@
+
+
+
+
+
+
+ Receivable
+ receivable
+ unreconciled
+
+
+
+ Payable
+ payable
+ unreconciled
+
+
+
+ View
+ view
+ none
+
+
+
+ Income
+ income
+ none
+
+
+
+ Expense
+ expense
+ none
+
+
+
+ Tax
+ tax
+ unreconciled
+
+
+
+ Cash
+ cash
+ balance
+
+
+
+ Asset
+ asset
+ balance
+
+
+
+ Equity
+ equity
+ balance
+
+
+
+ Bank
+ bank
+ balance
+
+
+ Check
+ check
+ balance
+
+
+
+
+
+
+ 0
+ Configurable Account Chart
+
+ view
+
+
+
+
+
+
+ 1
+ Balance Sheet
+
+ view
+
+
+
+
+ 10
+ Fixed Assets
+
+ view
+
+
+
+
+ 100
+ Fixed Asset Account
+
+ other
+
+
+
+
+ 11
+ Net Current Assets
+
+ view
+
+
+
+
+ 110
+ Current Assets
+
+ view
+
+
+
+
+ 1101
+ Purchased Stocks
+
+ other
+
+
+
+
+ 1102
+ Debtors
+
+ receivable
+
+
+
+
+
+
+
+ 1103
+ Output VAT
+
+ other
+
+
+
+
+ 1104
+ Bank Current Account
+
+ other
+
+
+
+
+ 1105
+ Cash
+
+ other
+
+
+
+
+ 111
+ Current Liabilities
+
+ view
+
+
+
+
+ 1111
+ Creditors
+
+ payable
+
+
+
+
+
+
+
+ 1112
+ Input VAT
+
+ other
+
+
+
+
+
+
+ 2
+ Profit and Loss
+
+ view
+
+
+
+
+ 20
+ Revenue
+
+ view
+
+
+
+
+ 200
+ Product Sales
+
+ other
+
+
+
+
+
+
+ 21
+ Cost of Sales
+
+ view
+
+
+
+
+ 210
+ Cost of Goods Sold
+
+ other
+
+
+
+
+ 22
+ Overheads
+
+ view
+
+
+
+
+ 220
+ Expenses
+
+ other
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Plan Fees
+
+
+
+ VAT Balance to Pay
+
+
+
+
+ Input VAT
+
+
+
+
+
+ Input VAT Rate S (15%)
+
+
+
+
+ Input VAT Rate R (5%)
+
+
+
+
+
+
+ Output VAT
+
+
+
+
+ Output VAT Rate S (15%)
+
+
+
+
+ Output VAT Rate R (5%)
+
+
+
+
+
+
+
+
+ Tax Bases
+
+
+
+
+ Taxable Purchases Base
+
+
+
+
+ Taxable Purchases Rated S (15%)
+
+
+
+
+ Taxable Purchases Rated R (5%)
+
+
+
+
+ Taxable Purchases Rated Z (0%)
+
+
+
+
+ Taxable Purchases Type X (Exempt)
+
+
+
+
+ Taxable Purchases Type O (Out of scope)
+
+
+
+
+
+
+ Base of Taxable Sales
+
+
+
+
+ Taxable Sales Rated S (15%)
+
+
+
+
+ Taxable Sales Rated R (5%)
+
+
+
+
+ Taxable Sales Rated Z (0%)
+
+
+
+
+ Taxable Sales Type X (Exempt)
+
+
+
+
+ Taxable Sales Type O (Out of scope)
+
+
+
+
+ Configurable Account Chart Template
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IVAT S
+
+ percent
+
+
+
+
+
+
+ purchase
+
+
+
+
+ IVAT R
+
+ percent
+
+
+
+
+
+
+ purchase
+
+
+
+
+ IVAT Z
+
+ percent
+
+
+ purchase
+
+
+
+
+ IVAT X
+
+ percent
+
+
+ purchase
+
+
+
+
+ IVAT O
+
+ percent
+
+
+ purchase
+
+
+
+
+
+
+ OVAT S
+
+ percent
+
+
+
+
+
+
+ sale
+
+
+
+
+ OVAT R
+
+ percent
+
+
+
+
+
+
+ sale
+
+
+
+
+ OVAT Z
+
+ percent
+
+
+ sale
+
+
+
+
+ OVAT X
+
+ percent
+
+
+ sale
+
+
+
+
+ OVAT O
+
+ percent
+
+
+ sale
+
+
+
diff --git a/addons/account/i18n/account.pot b/addons/account/i18n/account.pot
index a777acb9c5c..ef00056ee8e 100644
--- a/addons/account/i18n/account.pot
+++ b/addons/account/i18n/account.pot
@@ -785,10 +785,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
diff --git a/addons/account/i18n/ar.po b/addons/account/i18n/ar.po
index f69b3246eff..e838f3bce27 100644
--- a/addons/account/i18n/ar.po
+++ b/addons/account/i18n/ar.po
@@ -805,10 +805,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
diff --git a/addons/account/i18n/bg.po b/addons/account/i18n/bg.po
index 91dfbca2279..56befb5c212 100644
--- a/addons/account/i18n/bg.po
+++ b/addons/account/i18n/bg.po
@@ -819,11 +819,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/bs.po b/addons/account/i18n/bs.po
index d1da22ef906..36cd444b21d 100644
--- a/addons/account/i18n/bs.po
+++ b/addons/account/i18n/bs.po
@@ -816,11 +816,6 @@ msgstr "(Ostaviti prazno za sve otvorene fiskalne godine)"
msgid "Move Lines"
msgstr "Retci prijenosa"
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr "account.config.wizard"
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/ca.po b/addons/account/i18n/ca.po
index 9f2c82ec366..6a5f47dfb24 100644
--- a/addons/account/i18n/ca.po
+++ b/addons/account/i18n/ca.po
@@ -829,11 +829,6 @@ msgstr "(deixar-lo buit per a tots els exercicis fiscals oberts)"
msgid "Move Lines"
msgstr "Línies moviment"
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr "account.config.assistent"
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/cs.po b/addons/account/i18n/cs.po
index 8d393298e01..be9a9612f42 100644
--- a/addons/account/i18n/cs.po
+++ b/addons/account/i18n/cs.po
@@ -809,11 +809,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/da.po b/addons/account/i18n/da.po
index 55cb096e90e..e27b080077d 100644
--- a/addons/account/i18n/da.po
+++ b/addons/account/i18n/da.po
@@ -811,11 +811,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/de.po b/addons/account/i18n/de.po
index e978a71d610..4f9893960bf 100644
--- a/addons/account/i18n/de.po
+++ b/addons/account/i18n/de.po
@@ -827,11 +827,6 @@ msgstr "(frei lassen für alle Wirtschaftsjahre)"
msgid "Move Lines"
msgstr "Buchungszeilen"
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr "account.config.wizard"
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/el.po b/addons/account/i18n/el.po
index f2e5ed77ea6..af0ca7265c3 100644
--- a/addons/account/i18n/el.po
+++ b/addons/account/i18n/el.po
@@ -829,11 +829,6 @@ msgstr "(Διατηρήστε κενό για όλα τα ανοιχτά λογ
msgid "Move Lines"
msgstr "Μετακίνηση Γραμμών"
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr "account.config.wizard"
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/es.po b/addons/account/i18n/es.po
index 0a2b2c626d6..21becbd9c99 100644
--- a/addons/account/i18n/es.po
+++ b/addons/account/i18n/es.po
@@ -828,11 +828,6 @@ msgstr "(dejarlo vacío para todos los ejercicios fiscales abiertos)"
msgid "Move Lines"
msgstr "Líneas movimiento"
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr "account.config.asistente"
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/es_AR.po b/addons/account/i18n/es_AR.po
index f578cbc7493..cbdf13eb4b0 100644
--- a/addons/account/i18n/es_AR.po
+++ b/addons/account/i18n/es_AR.po
@@ -827,11 +827,6 @@ msgstr "(dejar vacío para todos los ejercicios fiscales abiertos)"
msgid "Move Lines"
msgstr "Líneas del movimiento"
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr "asistente.configuracion.contable"
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/es_EC.po b/addons/account/i18n/es_EC.po
index 0f0f933abdb..bed04b5b069 100644
--- a/addons/account/i18n/es_EC.po
+++ b/addons/account/i18n/es_EC.po
@@ -826,11 +826,6 @@ msgstr "(dejarlo vacío para todos los ejercicios fiscales abiertos)"
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/et.po b/addons/account/i18n/et.po
index 69a3ef62f7a..db92507f36d 100644
--- a/addons/account/i18n/et.po
+++ b/addons/account/i18n/et.po
@@ -807,11 +807,6 @@ msgstr "(Jäta tühjaks kõigi avatud majandusaastate jaoks)"
msgid "Move Lines"
msgstr "Liiguta read"
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/fa.po b/addons/account/i18n/fa.po
index 95af7a94323..3dace56df79 100644
--- a/addons/account/i18n/fa.po
+++ b/addons/account/i18n/fa.po
@@ -806,11 +806,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/fi.po b/addons/account/i18n/fi.po
index b5274399fea..1f1de60a69e 100644
--- a/addons/account/i18n/fi.po
+++ b/addons/account/i18n/fi.po
@@ -826,11 +826,6 @@ msgstr "(Jätä tyhjäksi käyttääksesi kaikkia avoimia tilikausia)"
msgid "Move Lines"
msgstr "Siirron rivit"
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr "account.config.wizard"
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/fr.po b/addons/account/i18n/fr.po
index ffb5f882d9b..1785d79bf38 100644
--- a/addons/account/i18n/fr.po
+++ b/addons/account/i18n/fr.po
@@ -1240,11 +1240,6 @@ msgstr "Livre de coûts"
msgid "Move Lines"
msgstr "Lignes de mouvements"
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr "account.config.wizard"
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/gl.po b/addons/account/i18n/gl.po
index 65856053bdd..6bcd627b0bf 100644
--- a/addons/account/i18n/gl.po
+++ b/addons/account/i18n/gl.po
@@ -806,10 +806,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
diff --git a/addons/account/i18n/gu.po b/addons/account/i18n/gu.po
index 3a997d3000f..ecd36932d38 100644
--- a/addons/account/i18n/gu.po
+++ b/addons/account/i18n/gu.po
@@ -806,11 +806,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/hr.po b/addons/account/i18n/hr.po
index e6b360683ea..e01b198f2d5 100644
--- a/addons/account/i18n/hr.po
+++ b/addons/account/i18n/hr.po
@@ -805,11 +805,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/hu.po b/addons/account/i18n/hu.po
index c8349d8f0c5..8f70c2fd083 100644
--- a/addons/account/i18n/hu.po
+++ b/addons/account/i18n/hu.po
@@ -805,11 +805,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/id.po b/addons/account/i18n/id.po
index 1d999f12888..c7c2f143c8b 100644
--- a/addons/account/i18n/id.po
+++ b/addons/account/i18n/id.po
@@ -806,11 +806,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/it.po b/addons/account/i18n/it.po
index 3e1cac8d4b5..6d5e5fd6f4a 100644
--- a/addons/account/i18n/it.po
+++ b/addons/account/i18n/it.po
@@ -826,11 +826,6 @@ msgstr "(Lasciare vuoto per tutti gli esercizi fiscali aperti)"
msgid "Move Lines"
msgstr "Righe Movimentate"
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr "account.config.wizard"
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/kab.po b/addons/account/i18n/kab.po
index 67801be10cf..383cf564a8b 100644
--- a/addons/account/i18n/kab.po
+++ b/addons/account/i18n/kab.po
@@ -806,10 +806,7 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
+
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
diff --git a/addons/account/i18n/ko.po b/addons/account/i18n/ko.po
index e97724467c6..4391aa7bb08 100644
--- a/addons/account/i18n/ko.po
+++ b/addons/account/i18n/ko.po
@@ -806,11 +806,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/lt.po b/addons/account/i18n/lt.po
index 0adf15c8787..4558f305972 100644
--- a/addons/account/i18n/lt.po
+++ b/addons/account/i18n/lt.po
@@ -809,11 +809,6 @@ msgstr "(palikite tuščią, jei norite visų atvirų fiskalinių metų)"
msgid "Move Lines"
msgstr "Didžiosios knygos įrašai"
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/lv.po b/addons/account/i18n/lv.po
index e17722af03f..67a585f4a57 100644
--- a/addons/account/i18n/lv.po
+++ b/addons/account/i18n/lv.po
@@ -818,11 +818,6 @@ msgstr "(Atstāt tukšu visiem nenoslēgtajiem fiskālajiem gadiem)"
msgid "Move Lines"
msgstr "Grāmatojumu Rindas"
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr "account.config.wizard"
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/mn.po b/addons/account/i18n/mn.po
index 11bab9eed81..52512785a61 100644
--- a/addons/account/i18n/mn.po
+++ b/addons/account/i18n/mn.po
@@ -806,11 +806,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/nb.po b/addons/account/i18n/nb.po
index e27d8cc9677..1041a90be21 100644
--- a/addons/account/i18n/nb.po
+++ b/addons/account/i18n/nb.po
@@ -806,11 +806,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/nl.po b/addons/account/i18n/nl.po
index ea10f588dc6..ac1f183a5fa 100644
--- a/addons/account/i18n/nl.po
+++ b/addons/account/i18n/nl.po
@@ -827,11 +827,6 @@ msgstr "(laat leeg om alle boekjaren mee te nemen)"
msgid "Move Lines"
msgstr "Verplaats boekingsregels"
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr "account.config.wizard"
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/nl_BE.po b/addons/account/i18n/nl_BE.po
index c9fda154dab..f298c31854d 100644
--- a/addons/account/i18n/nl_BE.po
+++ b/addons/account/i18n/nl_BE.po
@@ -805,11 +805,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/oc.po b/addons/account/i18n/oc.po
index a322bf511b0..53532fba0ac 100644
--- a/addons/account/i18n/oc.po
+++ b/addons/account/i18n/oc.po
@@ -808,10 +808,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr "account.config.wizard"
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
diff --git a/addons/account/i18n/pl.po b/addons/account/i18n/pl.po
index 075000596c9..c1632caa35b 100644
--- a/addons/account/i18n/pl.po
+++ b/addons/account/i18n/pl.po
@@ -825,11 +825,6 @@ msgstr "(Pozostaw puste dla wszystkich otwartych lat podatkowych)"
msgid "Move Lines"
msgstr "Pozycje zapisów"
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/pt.po b/addons/account/i18n/pt.po
index 2f23e7ccc7e..1f006f5ba61 100644
--- a/addons/account/i18n/pt.po
+++ b/addons/account/i18n/pt.po
@@ -823,11 +823,6 @@ msgstr "(Manter vazio para todos os anos fiscais aberto)"
msgid "Move Lines"
msgstr "Linhas de movimentos"
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr "account.config.wizard"
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/pt_BR.po b/addons/account/i18n/pt_BR.po
index deb3ee9afb8..95117f2d96e 100644
--- a/addons/account/i18n/pt_BR.po
+++ b/addons/account/i18n/pt_BR.po
@@ -826,11 +826,6 @@ msgstr "(Manter vazio para todos os anos fiscais abertos)"
msgid "Move Lines"
msgstr "Mover Linhas"
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr "account.config.wizard"
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/ro.po b/addons/account/i18n/ro.po
index 30c07e9f381..d70c8ee4c69 100644
--- a/addons/account/i18n/ro.po
+++ b/addons/account/i18n/ro.po
@@ -827,11 +827,6 @@ msgstr "(Lasaţi necompletat pentru toţi anii fiscali deschişi)"
msgid "Move Lines"
msgstr "Linii mişcări"
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr "account.config.wizard"
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/ru.po b/addons/account/i18n/ru.po
index 9e34bba0b59..7c0acebc4bc 100644
--- a/addons/account/i18n/ru.po
+++ b/addons/account/i18n/ru.po
@@ -820,11 +820,6 @@ msgstr "Оставить пустым для всех открытых фина
msgid "Move Lines"
msgstr "Строки финансового документа"
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr "Мастер конфигурации"
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/si.po b/addons/account/i18n/si.po
index b717c4bfcec..e7d7718f9e6 100644
--- a/addons/account/i18n/si.po
+++ b/addons/account/i18n/si.po
@@ -806,11 +806,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/sk.po b/addons/account/i18n/sk.po
index 7d8c17aee9a..cbe99fcfee3 100644
--- a/addons/account/i18n/sk.po
+++ b/addons/account/i18n/sk.po
@@ -809,11 +809,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/sl.po b/addons/account/i18n/sl.po
index ae98b095426..6eb777a8261 100644
--- a/addons/account/i18n/sl.po
+++ b/addons/account/i18n/sl.po
@@ -818,11 +818,6 @@ msgstr "(Prazno za vsa odprta davčna leta)"
msgid "Move Lines"
msgstr "Postavke knjižb"
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr "account.config.wizard"
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/sq.po b/addons/account/i18n/sq.po
index de0b5913aa6..e82be2f3bc9 100644
--- a/addons/account/i18n/sq.po
+++ b/addons/account/i18n/sq.po
@@ -828,11 +828,6 @@ msgstr "(Mbaje zbrazët për të gjitha vitet fiskale)"
msgid "Move Lines"
msgstr "Lëviz Linjat"
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/sr.po b/addons/account/i18n/sr.po
index 99cda7934ad..c2a3d8276ae 100644
--- a/addons/account/i18n/sr.po
+++ b/addons/account/i18n/sr.po
@@ -809,11 +809,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/sv.po b/addons/account/i18n/sv.po
index 5959bd7abbe..085cc58caba 100644
--- a/addons/account/i18n/sv.po
+++ b/addons/account/i18n/sv.po
@@ -815,11 +815,6 @@ msgstr "(tomt för alla öppna verksamhetsår)"
msgid "Move Lines"
msgstr "Flytta rader"
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr "account.config.wizard"
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/te.po b/addons/account/i18n/te.po
index 53daa3531e5..eaa42f35d86 100644
--- a/addons/account/i18n/te.po
+++ b/addons/account/i18n/te.po
@@ -806,11 +806,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/th.po b/addons/account/i18n/th.po
index 3c3e7026dea..320fdc82290 100644
--- a/addons/account/i18n/th.po
+++ b/addons/account/i18n/th.po
@@ -806,11 +806,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/tlh.po b/addons/account/i18n/tlh.po
index dbda43952e8..41390d44aac 100644
--- a/addons/account/i18n/tlh.po
+++ b/addons/account/i18n/tlh.po
@@ -805,11 +805,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/tr.po b/addons/account/i18n/tr.po
index 6f445a81528..a203f350368 100644
--- a/addons/account/i18n/tr.po
+++ b/addons/account/i18n/tr.po
@@ -805,11 +805,6 @@ msgstr ""
msgid "Move Lines"
msgstr "Hareket Kalemleri"
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/uk.po b/addons/account/i18n/uk.po
index fb52db34f13..02020dd4cb8 100644
--- a/addons/account/i18n/uk.po
+++ b/addons/account/i18n/uk.po
@@ -805,11 +805,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/vi.po b/addons/account/i18n/vi.po
index b83ea120c76..6e5a40ad057 100644
--- a/addons/account/i18n/vi.po
+++ b/addons/account/i18n/vi.po
@@ -817,11 +817,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/zh_CN.po b/addons/account/i18n/zh_CN.po
index c89e2e107cf..93b325d879e 100644
--- a/addons/account/i18n/zh_CN.po
+++ b/addons/account/i18n/zh_CN.po
@@ -808,11 +808,6 @@ msgstr "(留空为所有开启的会计年度)"
msgid "Move Lines"
msgstr "凭证明细"
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr "科目.设置.向导"
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/zh_HK.po b/addons/account/i18n/zh_HK.po
index fa207ddcf49..7ca8d6548e9 100644
--- a/addons/account/i18n/zh_HK.po
+++ b/addons/account/i18n/zh_HK.po
@@ -806,11 +806,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/i18n/zh_TW.po b/addons/account/i18n/zh_TW.po
index 0b8bfac659b..c73c4d65323 100644
--- a/addons/account/i18n/zh_TW.po
+++ b/addons/account/i18n/zh_TW.po
@@ -805,11 +805,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
-#. module: account
-#: model:ir.model,name:account.model_account_config_wizard
-msgid "account.config.wizard"
-msgstr ""
-
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print
diff --git a/addons/account/installer.py b/addons/account/installer.py
index 35a09406891..81993908be9 100644
--- a/addons/account/installer.py
+++ b/addons/account/installer.py
@@ -18,10 +18,15 @@
# along with this program. If not, see .
#
##############################################################################
+import time
+import datetime
+from dateutil.relativedelta import relativedelta
+from tools.translate import _
from operator import itemgetter
-
from osv import fields, osv
import netsvc
+import tools
+from os.path import join as opj
class account_installer(osv.osv_memory):
_name = 'account.installer'
@@ -30,10 +35,12 @@ class account_installer(osv.osv_memory):
def _get_charts(self, cr, uid, context=None):
modules = self.pool.get('ir.module.module')
ids = modules.search(cr, uid, [('category_id','=','Account Charts')])
- return list(
+ charts = list(
sorted(((m.name, m.shortdesc)
for m in modules.browse(cr, uid, ids)),
key=itemgetter(1)))
+ charts.insert(0,('configurable','Configurable Chart of Account'))
+ return charts
_columns = {
# Accounting
@@ -42,9 +49,6 @@ class account_installer(osv.osv_memory):
help="Installs localized accounting charts to match as closely as "
"possible the accounting needs of your company based on your "
"country."),
- 'account_analytic_default':fields.boolean('Analytic Accounting',
- help="Automatically selects analytic accounts based on various "
- "criteria."),
'account_analytic_plans':fields.boolean('Multiple Analytic Plans',
help="Allows invoice lines to impact multiple analytic accounts "
"simultaneously."),
@@ -57,16 +61,407 @@ class account_installer(osv.osv_memory):
"per-partner policies."),
'account_asset':fields.boolean('Assets Management',
help="Enables asset management in the accounting application, "
- "including asset categories and usage periods.")
+ "including asset categories and usage periods."),
+ 'date_start': fields.date('Start Date', required=True),
+ 'date_stop': fields.date('End Date', required=True),
+ 'period':fields.selection([('month','Monthly'), ('3months','3 Monthly')],
+ 'Periods', required=True),
+ 'bank_accounts_id': fields.one2many('account.bank.accounts.wizard', 'bank_account_id', 'Bank Accounts',required=True),
+ 'sale_tax':fields.float('Sale Tax(%)'),
+ 'purchase_tax':fields.float('Purchase Tax(%)')
}
_defaults = {
- 'account_analytic_default':True,
+ 'date_start': lambda *a: time.strftime('%Y-01-01'),
+ 'date_stop': lambda *a: time.strftime('%Y-12-31'),
+ 'period':lambda *a:'month',
+ 'sale_tax':lambda *a:0.0,
+ 'purchase_tax':lambda *a:0.0,
+ 'charts':'configurable',
}
+ def on_change_start_date(self, cr, uid, id, start_date):
+ if start_date:
+ start_date = datetime.datetime.strptime(start_date, "%Y-%m-%d")
+ end_date = (start_date + relativedelta(months=12)) - relativedelta(days=1)
+ return {'value':{'date_stop':end_date.strftime('%Y-%m-%d')}}
+ return {}
+
+ def generate_configurable_chart(self, cr, uid, ids, context=None):
+ mod_obj = self.pool.get('ir.model.data')
+ result = mod_obj._get_id(cr, uid, 'account', 'configurable_chart_template')
+ id = mod_obj.read(cr, uid, [result], ['res_id'])[0]['res_id']
+ obj_multi = self.pool.get('account.chart.template').browse(cr,uid, id)
+
+ obj_acc = self.pool.get('account.account')
+ obj_acc_tax = self.pool.get('account.tax')
+ obj_journal = self.pool.get('account.journal')
+ obj_sequence = self.pool.get('ir.sequence')
+ obj_acc_template = self.pool.get('account.account.template')
+ obj_fiscal_position_template = self.pool.get('account.fiscal.position.template')
+ obj_fiscal_position = self.pool.get('account.fiscal.position')
+ company_id = self.pool.get('res.users').browse(cr,uid,[uid],context)[0].company_id
+ seq_journal = True
+
+ # Creating Account
+ obj_acc_root = obj_multi.account_root_id
+ tax_code_root_id = obj_multi.tax_code_root_id.id
+
+ #new code
+ acc_template_ref = {}
+ tax_template_ref = {}
+ tax_code_template_ref = {}
+ todo_dict = {}
+
+ #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):
+ vals={
+ 'name': (tax_code_root_id == tax_code_template.id) and company_id.name or tax_code_template.name,
+ 'code': tax_code_template.code,
+ 'info': tax_code_template.info,
+ 'parent_id': tax_code_template.parent_id and ((tax_code_template.parent_id.id in tax_code_template_ref) and tax_code_template_ref[tax_code_template.parent_id.id]) or False,
+ 'company_id': company_id.id,
+ 'sign': tax_code_template.sign,
+ }
+ new_tax_code = self.pool.get('account.tax.code').create(cr,uid,vals)
+ #recording the new tax code to do the mapping
+ tax_code_template_ref[tax_code_template.id] = new_tax_code
+
+ #create all the tax
+ for tax in obj_multi.tax_template_ids:
+ #create it
+ vals_tax = {
+ 'name':tax.name,
+ 'sequence': tax.sequence,
+ 'amount':tax.amount,
+ 'type':tax.type,
+ 'applicable_type': tax.applicable_type,
+ 'domain':tax.domain,
+ 'parent_id': tax.parent_id and ((tax.parent_id.id in tax_template_ref) and tax_template_ref[tax.parent_id.id]) or False,
+ 'child_depend': tax.child_depend,
+ 'python_compute': tax.python_compute,
+ 'python_compute_inv': tax.python_compute_inv,
+ 'python_applicable': tax.python_applicable,
+ 'tax_group':tax.tax_group,
+ 'base_code_id': tax.base_code_id and ((tax.base_code_id.id in tax_code_template_ref) and tax_code_template_ref[tax.base_code_id.id]) or False,
+ 'tax_code_id': tax.tax_code_id and ((tax.tax_code_id.id in tax_code_template_ref) and tax_code_template_ref[tax.tax_code_id.id]) or False,
+ 'base_sign': tax.base_sign,
+ 'tax_sign': tax.tax_sign,
+ 'ref_base_code_id': tax.ref_base_code_id and ((tax.ref_base_code_id.id in tax_code_template_ref) and tax_code_template_ref[tax.ref_base_code_id.id]) or False,
+ 'ref_tax_code_id': tax.ref_tax_code_id and ((tax.ref_tax_code_id.id in tax_code_template_ref) and tax_code_template_ref[tax.ref_tax_code_id.id]) or False,
+ 'ref_base_sign': tax.ref_base_sign,
+ 'ref_tax_sign': tax.ref_tax_sign,
+ 'include_base_amount': tax.include_base_amount,
+ 'description':tax.description,
+ 'company_id': company_id.id,
+ 'type_tax_use': tax.type_tax_use
+ }
+ new_tax = obj_acc_tax.create(cr,uid,vals_tax)
+ #as the accounts have not been created yet, we have to wait before filling these fields
+ todo_dict[new_tax] = {
+ 'account_collected_id': tax.account_collected_id and tax.account_collected_id.id or False,
+ 'account_paid_id': tax.account_paid_id and tax.account_paid_id.id or False,
+ }
+ tax_template_ref[tax.id] = new_tax
+
+ #deactivate the parent_store functionnality on account_account for rapidity purpose
+ self.pool._init = True
+
+ 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):
+ tax_ids = []
+ for tax in account_template.tax_ids:
+ tax_ids.append(tax_template_ref[tax.id])
+ #create the account_account
+
+ dig = 6
+ code_main = account_template.code and len(account_template.code) or 0
+ code_acc = account_template.code or ''
+ if code_main>0 and code_main<=dig and account_template.type != 'view':
+ code_acc=str(code_acc) + (str('0'*(dig-code_main)))
+ vals={
+ 'name': (obj_acc_root.id == account_template.id) and company_id.name or account_template.name,
+ #'sign': account_template.sign,
+ 'currency_id': account_template.currency_id and account_template.currency_id.id or False,
+ 'code': code_acc,
+ 'type': account_template.type,
+ 'user_type': account_template.user_type and account_template.user_type.id or False,
+ 'reconcile': account_template.reconcile,
+ 'shortcut': account_template.shortcut,
+ 'note': account_template.note,
+ 'parent_id': account_template.parent_id and ((account_template.parent_id.id in acc_template_ref) and acc_template_ref[account_template.parent_id.id]) or False,
+ 'tax_ids': [(6,0,tax_ids)],
+ 'company_id': company_id.id,
+ }
+ new_account = obj_acc.create(cr,uid,vals)
+ acc_template_ref[account_template.id] = new_account
+ if account_template.name == 'Bank Current Account':
+ view_id_cash = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Cash Journal View')])[0]
+ view_id_cur = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Multi-Currency Cash Journal View')])[0]
+ ref_acc_bank = obj_multi.bank_account_view_id
+
+ cash_result = mod_obj._get_id(cr, uid, 'account', 'conf_account_type_cash')
+ cash_type_id = mod_obj.read(cr, uid, [cash_result], ['res_id'])[0]['res_id']
+
+ bank_result = mod_obj._get_id(cr, uid, 'account', 'conf_account_type_bnk')
+ bank_type_id = mod_obj.read(cr, uid, [bank_result], ['res_id'])[0]['res_id']
+
+ check_result = mod_obj._get_id(cr, uid, 'account', 'conf_account_type_chk')
+ check_type_id = mod_obj.read(cr, uid, [check_result], ['res_id'])[0]['res_id']
+
+ record = self.browse(cr, uid, ids, context=context)[0]
+ code_cnt = 1
+ vals_seq = {
+ 'name': _('Bank Journal '),
+ 'code': 'account.journal',
+ }
+ seq_id = obj_sequence.create(cr,uid,vals_seq)
+
+ #create the bank journal
+ vals_journal = {}
+ vals_journal['name']= _('Bank Journal ')
+ vals_journal['code']= _('BNK')
+ vals_journal['sequence_id'] = seq_id
+ vals_journal['type'] = 'cash'
+ if vals.get('currency_id', False):
+ vals_journal['view_id'] = view_id_cur
+ vals_journal['currency'] = vals.get('currency_id', False)
+ else:
+ vals_journal['view_id'] = view_id_cash
+ vals_journal['default_credit_account_id'] = new_account
+ vals_journal['default_debit_account_id'] = new_account
+ obj_journal.create(cr,uid,vals_journal)
+
+ for val in record.bank_accounts_id:
+ if val.account_type == 'cash':type = cash_type_id
+ elif val.account_type == 'bank':type = bank_type_id
+ else:type = check_type_id
+ vals_bnk = {'name': val.acc_name or '',
+ 'currency_id': val.currency_id.id or False,
+ 'code': str(110400 + code_cnt),
+ 'type': 'other',
+ 'user_type': type,
+ 'parent_id':new_account,
+ 'company_id': company_id.id }
+ child_bnk_acc = obj_acc.create(cr, uid, vals_bnk)
+ vals_seq_child = {
+ 'name': _(vals_bnk['name']),
+ 'code': 'account.journal',
+ }
+ seq_id = obj_sequence.create(cr, uid, vals_seq_child)
+
+ #create the bank journal
+ vals_journal = {}
+ vals_journal['name']= vals_bnk['name'] + ' Journal'
+ vals_journal['code']= _(vals_bnk['name'][:3])
+ vals_journal['sequence_id'] = seq_id
+ vals_journal['type'] = 'cash'
+ if vals.get('currency_id', False):
+ vals_journal['view_id'] = view_id_cur
+ vals_journal['currency'] = vals_bnk.get('currency_id', False)
+ else:
+ vals_journal['view_id'] = view_id_cash
+ vals_journal['default_credit_account_id'] = child_bnk_acc
+ vals_journal['default_debit_account_id'] = child_bnk_acc
+ obj_journal.create(cr,uid,vals_journal)
+ code_cnt += 1
+
+
+ #reactivate the parent_store functionnality on account_account
+ self.pool._init = False
+ self.pool.get('account.account')._parent_store_compute(cr)
+
+ for key,value in todo_dict.items():
+ if value['account_collected_id'] or value['account_paid_id']:
+ obj_acc_tax.write(cr, uid, [key], {
+ 'account_collected_id': acc_template_ref[value['account_collected_id']],
+ 'account_paid_id': acc_template_ref[value['account_paid_id']],
+ })
+
+ # Creating Journals
+ vals_journal={}
+ view_id = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Journal View')])[0]
+ seq_id = obj_sequence.search(cr,uid,[('name','=','Account Journal')])[0]
+
+ if seq_journal:
+ seq_id_sale = obj_sequence.search(cr,uid,[('name','=','Sale Journal')])[0]
+ seq_id_purchase = obj_sequence.search(cr,uid,[('name','=','Purchase Journal')])[0]
+ else:
+ seq_id_sale = seq_id
+ seq_id_purchase = seq_id
+
+ vals_journal['view_id'] = view_id
+
+ #Sales Journal
+ vals_journal['name'] = _('Sales Journal')
+ vals_journal['type'] = 'sale'
+ vals_journal['code'] = _('SAJ')
+ vals_journal['sequence_id'] = seq_id_sale
+
+ if obj_multi.property_account_receivable:
+ vals_journal['default_credit_account_id'] = acc_template_ref[obj_multi.property_account_income_categ.id]
+ vals_journal['default_debit_account_id'] = acc_template_ref[obj_multi.property_account_income_categ.id]
+
+ obj_journal.create(cr,uid,vals_journal)
+
+ # Purchase Journal
+ vals_journal['name'] = _('Purchase Journal')
+ vals_journal['type'] = 'purchase'
+ vals_journal['code'] = _('EXJ')
+ vals_journal['sequence_id'] = seq_id_purchase
+
+ if obj_multi.property_account_payable:
+ vals_journal['default_credit_account_id'] = acc_template_ref[obj_multi.property_account_expense_categ.id]
+ vals_journal['default_debit_account_id'] = acc_template_ref[obj_multi.property_account_expense_categ.id]
+
+ obj_journal.create(cr,uid,vals_journal)
+
+ # Bank Journals
+ view_id_cash = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Cash Journal View')])[0]
+ view_id_cur = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Multi-Currency Cash Journal View')])[0]
+ ref_acc_bank = obj_multi.bank_account_view_id
+
+
+ #create the properties
+ property_obj = self.pool.get('ir.property')
+ fields_obj = self.pool.get('ir.model.fields')
+
+ todo_list = [
+ ('property_account_receivable','res.partner','account.account'),
+ ('property_account_payable','res.partner','account.account'),
+ ('property_account_expense_categ','product.category','account.account'),
+ ('property_account_income_categ','product.category','account.account'),
+ ('property_account_expense','product.template','account.account'),
+ ('property_account_income','product.template','account.account')
+ ]
+ for record in todo_list:
+ r = []
+ r = property_obj.search(cr, uid, [('name','=', record[0] ),('company_id','=',company_id.id)])
+ account = getattr(obj_multi, record[0])
+ field = fields_obj.search(cr, uid, [('name','=',record[0]),('model','=',record[1]),('relation','=',record[2])])
+ vals = {
+ 'name': record[0],
+ 'company_id': company_id.id,
+ 'fields_id': field[0],
+ 'value': account and 'account.account,'+str(acc_template_ref[account.id]) or False,
+ }
+ if r:
+ #the property exist: modify it
+ property_obj.write(cr, uid, r, vals)
+ else:
+ #create the property
+ property_obj.create(cr, uid, vals)
+
+ fp_ids = obj_fiscal_position_template.search(cr, uid,[('chart_template_id', '=', obj_multi.id)])
+
+ if fp_ids:
+ for position in obj_fiscal_position_template.browse(cr, uid, fp_ids):
+
+ vals_fp = {
+ 'company_id' : company_id.id,
+ 'name' : position.name,
+ }
+ new_fp = obj_fiscal_position.create(cr, uid, vals_fp)
+
+ obj_tax_fp = self.pool.get('account.fiscal.position.tax')
+ obj_ac_fp = self.pool.get('account.fiscal.position.account')
+
+ for tax in position.tax_ids:
+ vals_tax = {
+ 'tax_src_id' : tax_template_ref[tax.tax_src_id.id],
+ 'tax_dest_id' : tax.tax_dest_id and tax_template_ref[tax.tax_dest_id.id] or False,
+ 'position_id' : new_fp,
+ }
+ obj_tax_fp.create(cr, uid, vals_tax)
+
+ for acc in position.account_ids:
+ vals_acc = {
+ 'account_src_id' : acc_template_ref[acc.account_src_id.id],
+ 'account_dest_id' : acc_template_ref[acc.account_dest_id.id],
+ 'position_id' : new_fp,
+ }
+ obj_ac_fp.create(cr, uid, vals_acc)
+
+ def execute(self, cr, uid, ids, context=None):
+ super(account_installer, self).execute(cr, uid, ids, context=context)
+ record = self.browse(cr, uid, ids, context=context)[0]
+ company_id = self.pool.get('res.users').browse(cr,uid,[uid],context)[0].company_id
+ for res in self.read(cr,uid,ids):
+ if record.charts == 'configurable':
+ fp = tools.file_open(opj('account','configurable_account_chart.xml'))
+ tools.convert_xml_import(cr, 'account', fp, {}, 'init',True, None)
+ fp.close()
+ self.generate_configurable_chart(cr, uid, ids, context=context)
+ obj_tax = self.pool.get('account.tax')
+ obj_product = self.pool.get('product.product')
+ ir_values = self.pool.get('ir.values')
+ s_tax = (res.get('sale_tax',0.0))/100
+ p_tax = (res.get('purchase_tax',0.0))/100
+ tax_val = {}
+ default_tax = []
+ if s_tax*100 > 0.0:
+ vals_tax_code = {
+ 'name': 'VAT%s%%'%(s_tax*100),
+ 'code': 'VAT%s%%'%(s_tax*100),
+ 'company_id': company_id.id,
+ 'sign': 1,
+ }
+ new_tax_code = self.pool.get('account.tax.code').create(cr,uid,vals_tax_code)
+ sales_tax = obj_tax.create(cr, uid,
+ {'name':'VAT%s%%'%(s_tax*100),
+ 'description':'VAT%s%%'%(s_tax*100),
+ 'amount':s_tax,
+ 'base_code_id':new_tax_code,
+ 'tax_code_id':new_tax_code
+ })
+ tax_val.update({'taxes_id':[(6,0,[sales_tax])]})
+ default_tax.append(('taxes_id',sales_tax))
+ if p_tax*100 > 0.0:
+ vals_tax_code = {
+ 'name': 'VAT%s%%'%(p_tax*100),
+ 'code': 'VAT%s%%'%(p_tax*100),
+ 'company_id': company_id.id,
+ 'sign': 1,
+ }
+ new_tax_code = self.pool.get('account.tax.code').create(cr,uid,vals_tax_code)
+ purchase_tax = obj_tax.create(cr, uid,
+ {'name':'VAT%s%%'%(p_tax*100),
+ 'description':'VAT%s%%'%(p_tax*100),
+ 'amount':p_tax,
+ 'base_code_id':new_tax_code,
+ 'tax_code_id':new_tax_code
+ })
+ tax_val.update({'supplier_taxes_id':[(6,0,[purchase_tax])]})
+ default_tax.append(('supplier_taxes_id',purchase_tax))
+ if len(tax_val):
+ product_ids = obj_product.search(cr,uid, [])
+ for product in obj_product.browse(cr, uid, product_ids):
+ obj_product.write(cr, uid, product.id, tax_val)
+ for name, value in default_tax:
+ ir_values.set(cr, uid, key='default', key2=False, name=name, models =[('product.product',False)], value=[value])
+
+ if 'date_start' in res and 'date_stop' in res:
+ name = code = res['date_start'][:4]
+ if int(name) != int(res['date_stop'][:4]):
+ name = res['date_start'][:4] +'-'+ res['date_stop'][:4]
+ code = res['date_start'][2:4] +'-'+ res['date_stop'][2:4]
+ res_obj = self.pool.get('account.fiscalyear')
+ vals = {'name':name,
+ 'code':code,
+ 'date_start':res['date_start'],
+ 'date_stop':res['date_stop'],
+ }
+ period_id = res_obj.create(cr, uid, vals, context=context)
+ if res['period'] == 'month':
+ res_obj.create_period(cr, uid, [period_id])
+ elif res['period'] == '3months':
+ res_obj.create_period3(cr, uid, [period_id])
+
def modules_to_install(self, cr, uid, ids, context=None):
modules = super(account_installer, self).modules_to_install(
cr, uid, ids, context=context)
-
chart = self.read(cr, uid, ids, ['charts'],
context=context)[0]['charts']
self.logger.notifyChannel(
@@ -76,3 +471,18 @@ class account_installer(osv.osv_memory):
account_installer()
+
+class account_bank_accounts_wizard(osv.osv_memory):
+ _name='account.bank.accounts.wizard'
+
+ _columns = {
+ 'acc_name':fields.char('Account Name.', size=64, required=True),
+ 'bank_account_id':fields.many2one('wizard.multi.charts.accounts', 'Bank Account', required=True),
+ 'currency_id':fields.many2one('res.currency', 'Currency'),
+ 'account_type':fields.selection([('cash','Cash'),('check','Check'),('bank','Bank')], 'Type', size=32),
+ }
+ _defaults = {
+ 'currency_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.currency_id.id,
+ }
+
+account_bank_accounts_wizard()
diff --git a/addons/account/security/ir.model.access.csv b/addons/account/security/ir.model.access.csv
index 656e05e2a9b..e1aa3b6510a 100644
--- a/addons/account/security/ir.model.access.csv
+++ b/addons/account/security/ir.model.access.csv
@@ -65,8 +65,6 @@
"access_account_fiscalyear_invoice","account.fiscalyear.invoice","model_account_fiscalyear","account.group_account_invoice",1,0,0,0
"access_res_currency_account_manager","res.currency account manager","base.model_res_currency","group_account_manager",1,1,1,1
"access_res_currency_rate_account_manager","res.currency.rate account manager","base.model_res_currency_rate","group_account_manager",1,1,1,1
-"access_account_config_wizard_account_manager","account.config.wizard account manager","model_account_config_wizard","group_account_manager",1,1,1,1
-"access_account_config_wizard_system_manager","account.config.wizard system manager","model_account_config_wizard","base.group_system",1,1,1,1
"access_account_add_tmpl_wizard_account_manager","account.addtmpl.wizard account manager","model_account_addtmpl_wizard","group_account_manager",1,1,1,1
"access_account_add_tmpl_wizard_system_manager","account.addtmpl.wizard system manager","model_account_addtmpl_wizard","base.group_system",1,1,1,1
"access_account_invoice_user","account.invoice user","model_account_invoice","base.group_user",1,0,0,0
diff --git a/addons/account_analytic_default/account_analytic_default_view.xml b/addons/account_analytic_default/account_analytic_default_view.xml
index ebf304100fd..b94afdc9292 100644
--- a/addons/account_analytic_default/account_analytic_default_view.xml
+++ b/addons/account_analytic_default/account_analytic_default_view.xml
@@ -54,7 +54,8 @@
id="analytic_rule_action_partner"
res_model="account.analytic.default"
src_model="res.partner"
- domain="[('partner_id','=',active_id)]"/>
+ domain="[('partner_id','=',active_id)]"
+ groups="base.group_extended"/>
+ domain="[('product_id','=',active_id)]"
+ groups="base.group_extended"/>
diff --git a/addons/association/profile_association.xml b/addons/association/profile_association.xml
index 0f376ea4069..0d0a65b3644 100644
--- a/addons/association/profile_association.xml
+++ b/addons/association/profile_association.xml
@@ -11,6 +11,9 @@
+
+
+
Install more modules. A few modules are proposed according to the Association Profile you selected. You will be able to install them based on our requirements.
@@ -45,5 +48,16 @@
3
+
+ ir.actions.todo
+ association_installer_action_replace
+ tree
+
+
+
+
+
+
+
diff --git a/addons/base_setup/__init__.py b/addons/base_setup/__init__.py
index e4a4c3c80d8..3b78c6cb557 100644
--- a/addons/base_setup/__init__.py
+++ b/addons/base_setup/__init__.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
##############################################################################
-#
+#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL ().
#
@@ -15,16 +15,21 @@
# 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 .
+# along with this program. If not, see .
#
##############################################################################
import installer
import todo
+import gtk_contact_form
import wizard
-
-from osv import osv
+import os
+import base64
+import random
+import tools
+from osv import fields, osv
import netsvc
+from tools.translate import _
class base_setup_config_choice(osv.osv_memory):
"""
@@ -32,6 +37,29 @@ class base_setup_config_choice(osv.osv_memory):
_name = 'base.setup.config'
logger = netsvc.Logger()
+ def _get_image(self, cr, uid, context=None):
+ file_no = str(random.randint(1,3))
+ path = os.path.join('base','res','config_pixmaps/%s.png'%file_no)
+ file_data = tools.file_open(path,'rb').read()
+ return base64.encodestring(file_data)
+
+ def get_users(self, cr, uid, context={}):
+ user_obj = self.pool.get('res.users')
+ user_ids = user_obj.search(cr, uid, [])
+ users = user_obj.browse(cr, uid, user_ids)
+ user_str = '\n'.join(map(lambda x: ' - %s: %s / %s' % (x.name, x.login, x.password), users))
+ return _('The following users have been installed on your database: \n')+ user_str
+
+ _columns = {
+ 'installed_users':fields.text('Installed Users', readonly=True),
+ 'config_logo' : fields.binary('Image', readonly=True),
+ }
+
+ _defaults = {
+ 'installed_users':get_users,
+ 'config_logo' : _get_image
+ }
+
def set_default_menu(self, cr, uid, menu, context=None):
user = self.pool.get('res.users')\
.browse(cr, uid, uid, context=context)
diff --git a/addons/base_setup/__openerp__.py b/addons/base_setup/__openerp__.py
index c6dd64d7bcc..ee0cc6a8f56 100644
--- a/addons/base_setup/__openerp__.py
+++ b/addons/base_setup/__openerp__.py
@@ -43,7 +43,7 @@
'init_xml': ['base_setup_data.xml'],
'update_xml': ['security/ir.model.access.csv',
'base_setup_installer.xml',
- 'base_setup_todo.xml',],
+ 'base_setup_todo.xml','gtk_contact_form.xml'],
'demo_xml': ['base_setup_demo.xml'],
'installable': True,
'active': True,
diff --git a/addons/base_setup/base_setup_data.xml b/addons/base_setup/base_setup_data.xml
index 0feb39bd563..90d48de5eba 100644
--- a/addons/base_setup/base_setup_data.xml
+++ b/addons/base_setup/base_setup_data.xml
@@ -6,25 +6,27 @@
base.setup.config
form
-
-
-
+
+
+
Setup
diff --git a/addons/base_setup/base_setup_installer.xml b/addons/base_setup/base_setup_installer.xml
index 3b1a98f4d05..2b4a870236a 100644
--- a/addons/base_setup/base_setup_installer.xml
+++ b/addons/base_setup/base_setup_installer.xml
@@ -10,29 +10,32 @@
-
- Install Modules
-
Now that OpenERP is installed, we have selected applications commonly useful to users which you can install directly, as well as sets of applications for more specific types or groups of businesses (the vertical modules).
+ >Now that OpenERP is installed, We have selected applications commonly useful to users which you can install directly, as well as sets of applications for more specific types or groups of businesses (the vertical modules).
If you don't think you need any of these right now, you can easily install them later on.
+
+
+ 15
+
+
+ Install Generic Modules
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
@@ -52,5 +55,16 @@ If you don't think you need any of these right now, you can easily install them
2
+
+ ir.actions.todo
+ base_setup_installer_action_replace
+ tree
+
+
+
+
+
+
+
diff --git a/addons/base_setup/base_setup_todo.xml b/addons/base_setup/base_setup_todo.xml
index 08691e60d35..eb108aef229 100644
--- a/addons/base_setup/base_setup_todo.xml
+++ b/addons/base_setup/base_setup_todo.xml
@@ -10,33 +10,44 @@
-
+
+ Information of your company will be used to custiomize your documents like Invoices, Sale Orders,...
+
+
+ Configure Your Company
+
+
+ 23
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
diff --git a/addons/base_setup/gtk_contact_form.py b/addons/base_setup/gtk_contact_form.py
new file mode 100644
index 00000000000..b1d01cecb66
--- /dev/null
+++ b/addons/base_setup/gtk_contact_form.py
@@ -0,0 +1,99 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-2010 Tiny SPRL ().
+#
+# 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 .
+#
+##############################################################################
+from operator import itemgetter
+
+from osv import osv, fields
+import netsvc
+import tools
+from tools import misc
+
+class base_gtkcontactform(osv.osv_memory):
+ """
+ """
+ _name = 'base.gtkcontactform'
+ _inherit = 'res.config'
+ logger = netsvc.Logger()
+
+ def default_get(self, cr, uid, fields_list=None, context=None):
+ ''' set email and phone number selected in the previous company information
+ form '''
+ defaults = super(base_gtkcontactform, self)\
+ .default_get(cr, uid, fields_list=fields_list, context=context)
+ company_id = self.pool.get('base.setup.company').search(cr, uid, [])
+ company = self.pool.get('base.setup.company').read(cr, uid, company_id)
+ company = company and company[0] or False
+ if company:
+ defaults.update({'email':company.get('email',''),
+ 'phone': company.get('phone','')})
+ return defaults
+
+ _columns = {
+ 'name':fields.char('Your Name', size=64, required=True),
+ 'job':fields.char('Job Title', size=64,),
+ 'email':fields.char('E-mail', size=64, required=True),
+ 'phone':fields.char('Phone', size=64, required=True),
+ 'total_employees':fields.selection([('1-5','1-5'),('5-20','5-20'),('20-100','20-100'),('100-500','100-500'),('500','500+')], 'No Of Employees', size=32),
+ 'industry':fields.selection([('apparel','Apparel'),('banking','Banking'),('biotechnology','Biotechnology'),('chemicals','Chemicals'),('communications','Communications'),
+ ('construction','Construction'),('consulting','Consulting'),('education','Education'),('electronics','Electronics'),('energy','Energy'),('engineering','Engineering'),
+ ('entertainment','Entertainment'),('environmental','Environmental'),('finance','Finance'),('government','Government'),('healthcare','Healthcare'),('hospitality','Hospitality'),
+ ('insurance','Insurance'),('machinery','Machinery'),('manufacturing','Manufacturing'),('media','Media'),('notforprofit','Not For Profit'),
+ ('recreation','Recreation'),('retail','Retail'),('shipping','Shipping'),('technology','Technology'),('telecommunications','Telecommunications'),
+ ('transportation','Transportation'),('utilities','Utilities'),('other','Other'),
+ ], 'Industry', size=32),
+ 'use_openerp':fields.boolean('We plan to use OpenERP'),
+ 'already_using_openerp':fields.boolean('Already using OpenERP'),
+ 'sell_openerp':fields.boolean('Plan to sell OpenERP'),
+ 'already_selling__openerp':fields.boolean('Already selling OpenERP'),
+
+ 'features':fields.boolean('The features of OpenERP'),
+ 'saas':fields.boolean('OpenERP Online Solutions (SaaS)'),
+ 'partners_program':fields.boolean('OpenERP Partners Program (for integrators)'),
+ 'support':fields.boolean('Support and Maintenance Solutions'),
+ 'training':fields.boolean('OpenERP Training Program'),
+ 'other':fields.boolean('Other'),
+ 'ebook':fields.boolean('ebook'),
+ 'updates':fields.boolean('updates'),
+ }
+ def execute(self, cr, uid, ids, context=None):
+ company_id = self.pool.get('base.setup.company').search(cr, uid, [])
+ company_data = self.pool.get('base.setup.company').read(cr, uid, company_id)
+ company_data = company_data and company_data[0] or False
+ country1 = ''
+ if company_data and company_data.get('country_id', False):
+ country = self.pool.get('res.country').read(cr, uid, company_data['country_id'],['name'])['name']
+ for res in self.read(cr, uid, ids):
+ email = res.get('email','')
+ result = "\ncompany: "+ str(company_data.get('name',''))
+ result += "\nname: " + str(res.get('name',''))
+ result += "\nphone: " + str(res.get('phone',''))
+ result += "\ncity: " + str(company_data.get('city',''))
+ result += "\ncountry: " + str(country)
+ result += "\nindustry: " + str(res.get('industry', ''))
+ result += "\ntotal_employees: " + str(res.get('total_employees', ''))
+ result += "\nplan_use: " + str(res.get('use_openerp', False))
+ result += "\nsell_openerp: " + str(res.get('sell_openerp', False))
+ result += "\nebook: " + str(res.get('ebook',False))
+ result += "\ngtk: " + str(True)
+ misc.upload_data(email, result, type='SURVEY')
+
+
+
+base_gtkcontactform()
\ No newline at end of file
diff --git a/addons/base_setup/gtk_contact_form.xml b/addons/base_setup/gtk_contact_form.xml
new file mode 100644
index 00000000000..c4fe08207dd
--- /dev/null
+++ b/addons/base_setup/gtk_contact_form.xml
@@ -0,0 +1,77 @@
+
+
+
+ Contact information
+ base.gtkcontactform
+ form
+
+
+
+
+
+ Information about you and the company you are related too. The Basic information related to the company has already been collected and some more information required by you to fill.
+
+
+ Do You Need Them ?
+ 4
+
+
+ 22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Setup contact information
+ ir.actions.act_window
+ base.gtkcontactform
+
+ form
+ form
+ new
+
+
+
+
+ 1
+ onskip
+
+
+
diff --git a/addons/base_setup/installer.py b/addons/base_setup/installer.py
index d86e5f61796..13b37c67e1f 100644
--- a/addons/base_setup/installer.py
+++ b/addons/base_setup/installer.py
@@ -69,7 +69,7 @@ class base_setup_installer(osv.osv_memory):
help="Helps you manage your marketing campaigns step by step."),
'misc_tools':fields.boolean('Miscellaneous Tools',
help="Lets you install various interesting but non-essential "
- "tools."),
+ "tools like Survey, Lunch,..."),
'report_designer':fields.boolean('Advanced Reporting',
help="Lets you install various tools to simplify and enhance "
"OpenERP's report creation."),
@@ -90,5 +90,25 @@ class base_setup_installer(osv.osv_memory):
_defaults = {
'crm': True,
}
+
+
+ def onchange_moduleselection(self, cr, uid, ids, *args):
+ progress = self._progress(cr, uid) - (2.5 * len(filter(lambda x: x==1, args)))
+ if progress <= 5.0:
+ progress = 5.0
+ return {'value':{'progress':progress}}
+
+ def modules_to_install(self, cr, uid, ids, context=None):
+ modules = super(base_setup_installer, self).modules_to_install(cr, uid, ids, context=context)
+ interface_id = self.pool.get('res.config.view').search(cr, uid, [])
+ interface = self.pool.get('res.config.view').read(cr, uid, interface_id)[0]
+ modules_selected = self.read(cr, uid, ids)[0]
+ added_modules = []
+ if interface.get('view', '') == 'simple' :
+ if modules_selected.get('mrp', False):
+ added_modules.append('mrp_jit')
+ if modules_selected.get('knowledge', False):
+ added_modules.append('document_ftp')
+ return modules | set(added_modules)
base_setup_installer()
diff --git a/addons/base_setup/todo.py b/addons/base_setup/todo.py
index d23ac71d60b..6d161d581f8 100644
--- a/addons/base_setup/todo.py
+++ b/addons/base_setup/todo.py
@@ -48,23 +48,23 @@ class base_setup_company(osv.osv_memory):
cr, uid, 'res.country.state', context=context)
def _get_all_countries(self, cr, uid, context=None):
return self._get_all(cr, uid, 'res.country', context=context)
- def _get_all_currencies(self, cr, uid, context=None):
- return self._get_all(cr, uid, 'res.currency', context=context)
def default_get(self, cr, uid, fields_list=None, context=None):
""" get default company if any, and the various other fields
from the company's fields
"""
+ base_mod = self.pool.get('ir.module.module').search(cr, uid, [('name','ilike','base')])
+ base_mod_rec = self.pool.get('ir.module.module').browse(cr, uid, base_mod)[0]
defaults = super(base_setup_company, self)\
.default_get(cr, uid, fields_list=fields_list, context=context)
-
companies = self.pool.get('res.company')
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])
-
defaults['company_id'] = company.id
+ if not base_mod_rec.demo:
+ return defaults
defaults['currency'] = company.currency_id.id
for field in ['name','logo','rml_header1','rml_footer1','rml_footer2']:
defaults[field] = company[field]
@@ -90,7 +90,7 @@ class base_setup_company(osv.osv_memory):
'country_id':fields.selection(_get_all_countries, 'Countries'),
'email':fields.char('E-mail', size=64),
'phone':fields.char('Phone', size=64),
- 'currency':fields.selection(_get_all_currencies, 'Currency', required=True),
+ 'currency':fields.many2one('res.currency', 'Currency', required=True),
'rml_header1':fields.char('Report Header', size=200,
help='''This sentence will appear at the top right corner of your reports.
We suggest you to put a slogan here:
@@ -112,7 +112,6 @@ IBAN: BE74 1262 0121 6907 - SWIFT: CPDF BE71 - VAT: BE0477.472.701'''),
if not getattr(payload, 'company_id', None):
raise ValueError('Case where no default main company is setup '
'not handled yet')
-
company = payload.company_id
company.write({
'name':payload.name,
@@ -120,6 +119,7 @@ IBAN: BE74 1262 0121 6907 - SWIFT: CPDF BE71 - VAT: BE0477.472.701'''),
'rml_footer1':payload.rml_footer1,
'rml_footer2':payload.rml_footer2,
'logo':payload.logo,
+ 'currency_id':payload.currency.id,
})
company.partner_id.write({
diff --git a/addons/crm/crm_meeting_menu.xml b/addons/crm/crm_meeting_menu.xml
index 3f680b61f15..7dcb0ec3ec8 100644
--- a/addons/crm/crm_meeting_menu.xml
+++ b/addons/crm/crm_meeting_menu.xml
@@ -121,6 +121,12 @@
action="crm_case_categ_meet" parent="menu_meeting_sale"
sequence="1" />
+
+ Calendar
+ ir.ui.menu
+
+
+
Meeting Invitations
ir.actions.act_window
diff --git a/addons/crm/crm_opportunity_view.xml b/addons/crm/crm_opportunity_view.xml
index 9ce2a89ad34..e56ccb7b1b0 100644
--- a/addons/crm/crm_opportunity_view.xml
+++ b/addons/crm/crm_opportunity_view.xml
@@ -101,7 +101,7 @@
-
@@ -224,7 +224,7 @@
-
+
@@ -288,7 +288,6 @@
/>
-
+ domain="[('user_id','=',uid)]" context="{'group_by':'user_id'}" />
diff --git a/addons/crm/crm_view.xml b/addons/crm/crm_view.xml
index 31d82cd94fb..9dab0e4af89 100644
--- a/addons/crm/crm_view.xml
+++ b/addons/crm/crm_view.xml
@@ -2,7 +2,7 @@
+ parent="base.menu_base_config" sequence="0" groups="base.group_extended"/>
@@ -115,7 +115,7 @@
-
+
@@ -155,7 +155,7 @@
form
-
+
+ parent="crm.menu_crm_configuration" groups="base.group_extended" />
Cases by section
diff --git a/addons/delivery/delivery_view.xml b/addons/delivery/delivery_view.xml
index f14d45c79de..6a8058ff8bc 100644
--- a/addons/delivery/delivery_view.xml
+++ b/addons/delivery/delivery_view.xml
@@ -61,14 +61,16 @@
-
+
-
-
+
+
+
+
diff --git a/addons/document/document_view.xml b/addons/document/document_view.xml
index 0185f9fe444..c7cfe3fc2e3 100644
--- a/addons/document/document_view.xml
+++ b/addons/document/document_view.xml
@@ -317,7 +317,8 @@
+ src_model="res.partner"
+ groups="base.group_extended"/>
Auto Configure
+
+ FTP Server Configuration
+
+
+ Choose the address for the Document Management System's FTP server.
+
+
+ 12
+
+
-
-
@@ -47,6 +54,7 @@
+
diff --git a/addons/hr/hr_department_view.xml b/addons/hr/hr_department_view.xml
index a66951e9f45..977cc22f005 100644
--- a/addons/hr/hr_department_view.xml
+++ b/addons/hr/hr_department_view.xml
@@ -73,7 +73,7 @@
-
+
res.users.form
diff --git a/addons/hr/hr_installer.xml b/addons/hr/hr_installer.xml
index ff6025cda64..b01f538b193 100644
--- a/addons/hr/hr_installer.xml
+++ b/addons/hr/hr_installer.xml
@@ -8,18 +8,20 @@
- Configure Human Resources"
+ Select Human Resources Modules To Install
+
+
+
The base Human Resources addon will help you manage your employee roster, but your can enhance it even further by installing a few HR-related applications.
-
@@ -28,6 +30,9 @@
+
+ Configure
+
@@ -46,5 +51,16 @@
3
+
+ ir.actions.todo
+ hr_installer_action_replace
+ tree
+
+
+
+
+
+
+
diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml
index 5e04cf1aaad..47efc17825e 100644
--- a/addons/hr/hr_view.xml
+++ b/addons/hr/hr_view.xml
@@ -2,7 +2,7 @@
-
+
diff --git a/addons/hr_evaluation/wizard/hr_evaluation_mail_view.xml b/addons/hr_evaluation/wizard/hr_evaluation_mail_view.xml
index fff55095712..3769efcdfa8 100644
--- a/addons/hr_evaluation/wizard/hr_evaluation_mail_view.xml
+++ b/addons/hr_evaluation/wizard/hr_evaluation_mail_view.xml
@@ -10,8 +10,8 @@
diff --git a/addons/hr_expense/hr_expense_view.xml b/addons/hr_expense/hr_expense_view.xml
index 292cbf6f027..cb74901fc4e 100644
--- a/addons/hr_expense/hr_expense_view.xml
+++ b/addons/hr_expense/hr_expense_view.xml
@@ -30,8 +30,8 @@
-
+
@@ -49,8 +49,8 @@
-
+
@@ -68,8 +68,7 @@
-
-
+
@@ -82,7 +81,7 @@
diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py
index 7ea4f52a392..fe0e7f2dde1 100644
--- a/addons/hr_recruitment/hr_recruitment.py
+++ b/addons/hr_recruitment/hr_recruitment.py
@@ -62,6 +62,14 @@ class hr_applicant(osv.osv):
'response' : fields.integer("Response"),
}
+ def onchange_job(self,cr, uid, ids, job, context={}):
+ result = {}
+ if job:
+ job_obj = self.pool.get('hr.job')
+ result['department_id'] = job_obj.browse(cr, uid, job).department_id.id
+ return {'value': result}
+ return {'value': {'department_id': []}}
+
def stage_previous(self, cr, uid, ids, context=None):
"""This function computes previous stage for case from its current stage
using available stage for that case type
diff --git a/addons/hr_recruitment/hr_recruitment_menu.xml b/addons/hr_recruitment/hr_recruitment_menu.xml
index ba3278b3c66..760c7f08f2f 100644
--- a/addons/hr_recruitment/hr_recruitment_menu.xml
+++ b/addons/hr_recruitment/hr_recruitment_menu.xml
@@ -37,7 +37,8 @@
+ parent="base.menu_hr"
+ sequence="1"/>
@@ -47,11 +47,10 @@
-
-
+
diff --git a/addons/hr_timesheet/wizard/hr_timesheet_print_users_view.xml b/addons/hr_timesheet/wizard/hr_timesheet_print_users_view.xml
index 4e12f4f2333..de834621c23 100644
--- a/addons/hr_timesheet/wizard/hr_timesheet_print_users_view.xml
+++ b/addons/hr_timesheet/wizard/hr_timesheet_print_users_view.xml
@@ -16,7 +16,7 @@
-
+
diff --git a/addons/hr_timesheet/wizard/hr_timesheet_sign_in_out_view.xml b/addons/hr_timesheet/wizard/hr_timesheet_sign_in_out_view.xml
index 487208bfbf6..6f6ce56b091 100644
--- a/addons/hr_timesheet/wizard/hr_timesheet_sign_in_out_view.xml
+++ b/addons/hr_timesheet/wizard/hr_timesheet_sign_in_out_view.xml
@@ -52,6 +52,7 @@
diff --git a/addons/hr_timesheet_invoice/hr_timesheet_invoice_report.xml b/addons/hr_timesheet_invoice/hr_timesheet_invoice_report.xml
index f2d9f5a8c4a..a801e21082b 100644
--- a/addons/hr_timesheet_invoice/hr_timesheet_invoice_report.xml
+++ b/addons/hr_timesheet_invoice/hr_timesheet_invoice_report.xml
@@ -5,12 +5,12 @@
id="hr.menu_hr_reporting"
name="Reporting"
parent="hr.menu_hr_root"
- sequence="40" />
+ sequence="10" />
+ sequence="5" />
diff --git a/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report_view.xml b/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report_view.xml
index 4de60162d1a..cb6c8d5771c 100644
--- a/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report_view.xml
+++ b/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report_view.xml
@@ -441,6 +441,30 @@
+
+ random.timesheet.lines.search
+ random.timesheet.lines
+ search
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
random.timesheet.lines.tree
random.timesheet.lines
@@ -448,7 +472,7 @@
-
+
diff --git a/addons/hr_timesheet_invoice/wizard/hr_timesheet_analytic_profit_view.xml b/addons/hr_timesheet_invoice/wizard/hr_timesheet_analytic_profit_view.xml
index f79cae2eef8..b68112a5a38 100644
--- a/addons/hr_timesheet_invoice/wizard/hr_timesheet_analytic_profit_view.xml
+++ b/addons/hr_timesheet_invoice/wizard/hr_timesheet_analytic_profit_view.xml
@@ -17,7 +17,7 @@
-
+
@@ -34,7 +34,7 @@
+ parent="menu_hr_reporting_timesheet_invoice" groups="base.group_extended"/>
\ No newline at end of file
diff --git a/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_analytic_cost_ledger_view.xml b/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_analytic_cost_ledger_view.xml
index c8f9806a309..ea14e52ed52 100644
--- a/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_analytic_cost_ledger_view.xml
+++ b/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_analytic_cost_ledger_view.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml
index 1a8b110d690..eae4e8e1e9a 100644
--- a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml
+++ b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml
@@ -114,7 +114,7 @@
-
+
@@ -192,7 +192,7 @@
-
+
@@ -220,8 +220,10 @@
hr_timesheet_sheet.sheet
form
+ {'search_default_my_timesheet':1}
+
Configure Your Knowledge Management System
+ >Knowledge Management
+
+
+
From this screen, you can select various OpenERP applications which will help employees store information, distribute it and share it with one another.
-
-
+
+
@@ -28,6 +31,10 @@
+
+
+ Configure
+
@@ -45,6 +52,19 @@
3
+
+
+
+ ir.actions.todo
+ knowledge_installer_action_replace
+ tree
+
+
+
+
+
+
+
diff --git a/addons/mrp/mrp_installer.xml b/addons/mrp/mrp_installer.xml
index 3e42ec2840e..fe4fb6b8348 100644
--- a/addons/mrp/mrp_installer.xml
+++ b/addons/mrp/mrp_installer.xml
@@ -12,14 +12,16 @@
- Configure Your Manufacturing
+ Manufacturing Resource Planning
After having installed the core manufacturing application, you can extend it with a few more depending on the needs of your organization
+
+
+
-
@@ -43,6 +45,19 @@
3
+
+
+
+ ir.actions.todo
+ mrp_installer_action_replace
+ tree
+
+
+
+
+
+
+
diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml
index ba86fc1facc..dcea7ac4f9e 100644
--- a/addons/mrp/mrp_view.xml
+++ b/addons/mrp/mrp_view.xml
@@ -12,7 +12,7 @@
id="menu_mrp_bom"
parent="base.menu_mrp_root"
sequence="5" />
-
+
@@ -379,24 +379,24 @@
-
+
-
+
-
-
+
-
-
+
+
-
+
@@ -783,11 +783,11 @@
-
-
-
+
mrp.procurement.form.inherit
mrp.procurement
@@ -799,7 +799,6 @@
-
+ id="act_make_procurement"
+ groups="base.group_extended"/>
diff --git a/addons/product/product.py b/addons/product/product.py
index b21ebe5ee3a..e8a226597e7 100644
--- a/addons/product/product.py
+++ b/addons/product/product.py
@@ -210,11 +210,11 @@ class product_category(osv.osv):
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of product categories."),
'type': fields.selection([('view','View'), ('normal','Normal')], 'Category Type'),
}
-
+
_defaults = {
'type' : lambda *a : 'normal',
}
-
+
_order = "sequence"
def _check_recursion(self, cr, uid, ids):
level = 100
@@ -274,7 +274,7 @@ class product_template(osv.osv):
'sale_ok': fields.boolean('Can be Sold', help="Determines if the product can be visible in the list of product within a selection from a sale order line."),
'purchase_ok': fields.boolean('Can be Purchased', help="Determine if the product is visible in the list of products within a selection from a purchase order line."),
'state': fields.selection([('',''),('draft', 'In Development'),('sellable','In Production'),('end','End of Lifecycle'),('obsolete','Obsolete')], 'State', help="Tells the user if he can use the product or not."),
- 'uom_id': fields.many2one('product.uom', 'Default UoM', required=True, help="Default Unit of Measure used for all stock operation."),
+ 'uom_id': fields.many2one('product.uom', 'Default Unit Of Measure', required=True, help="Default Unit of Measure used for all stock operation."),
'uom_po_id': fields.many2one('product.uom', 'Purchase UoM', required=True, help="Default Unit of Measure used for purchase orders. It must be in the same category than the default unit of measure."),
'uos_id' : fields.many2one('product.uom', 'Unit of Sale',
help='Used by companies that manage two units of measure: invoicing and inventory management. For example, in food industries, you will manage a stock of ham but invoice in Kg. Keep empty to use the default UOM.'),
@@ -551,7 +551,7 @@ class product_product(osv.osv):
price_type_currency_id = pricetype_obj.browse(cr,uid,price_type_id).currency_id.id
res[product.id] = self.pool.get('res.currency').compute(cr, uid, price_type_currency_id,
context['currency_id'], res[product.id],context=context)
-
+
return res
def copy(self, cr, uid, id, default=None, context=None):
diff --git a/addons/product/product_view.xml b/addons/product/product_view.xml
index b9858e19eaf..24976a71533 100644
--- a/addons/product/product_view.xml
+++ b/addons/product/product_view.xml
@@ -607,6 +607,12 @@
+
+ Products
+ ir.ui.menu
+
+
+
+
diff --git a/addons/sale_crm/sale_crm_view.xml b/addons/sale_crm/sale_crm_view.xml
index 24912052190..f8242c18fbb 100644
--- a/addons/sale_crm/sale_crm_view.xml
+++ b/addons/sale_crm/sale_crm_view.xml
@@ -34,7 +34,7 @@
-
+
-
+
diff --git a/addons/service/service_installer.xml b/addons/service/service_installer.xml
index 059d114a66b..98b1eab4bce 100644
--- a/addons/service/service_installer.xml
+++ b/addons/service/service_installer.xml
@@ -1,7 +1,7 @@
-
+
Service Profile : Install extra modules
profile.service.config.install_modules_wizard
@@ -12,7 +12,9 @@
Install Extra Service Profile Modules
-
+
+
+
Services Management
@@ -42,7 +44,7 @@
-
+
Service Profile : Install Extra Modules
ir.actions.act_window
@@ -58,5 +60,16 @@
3
+
+ ir.actions.todo
+ service_installer_action_replace
+ tree
+
+
+
+
+
+
+
diff --git a/addons/stock/report/report_stock_picking_view.xml b/addons/stock/report/report_stock_picking_view.xml
index 5d54634d72b..d4116313a7e 100644
--- a/addons/stock/report/report_stock_picking_view.xml
+++ b/addons/stock/report/report_stock_picking_view.xml
@@ -63,7 +63,7 @@
-
+
diff --git a/addons/stock/report/report_stock_view.xml b/addons/stock/report/report_stock_view.xml
index f2606e764b4..8ee15e1093d 100644
--- a/addons/stock/report/report_stock_view.xml
+++ b/addons/stock/report/report_stock_view.xml
@@ -105,21 +105,24 @@
id="act_stock_product_location_open"
name="Stock by Location"
res_model="stock.location"
- src_model="product.product"/>
+ src_model="product.product"
+ groups="base.group_extended"/>
+ src_model="stock.location"
+ />
+ src_model="product.product"
+ groups="base.group_extended"/>
-
+
diff --git a/addons/stock/stock_report.xml b/addons/stock/stock_report.xml
index 7b8d9eb13b3..60de8d1f74f 100644
--- a/addons/stock/stock_report.xml
+++ b/addons/stock/stock_report.xml
@@ -4,7 +4,7 @@
-
+
diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml
index 3c9f1d393ad..b7a865e3d8f 100644
--- a/addons/stock/stock_view.xml
+++ b/addons/stock/stock_view.xml
@@ -3,10 +3,10 @@
-
+
-
+
stock.inventory.line.tree
@@ -54,6 +54,11 @@
+
+
+
+
+
@@ -175,7 +180,7 @@
form
-
+
@@ -403,7 +408,7 @@
-
+
@@ -488,7 +493,7 @@
tree
-
+
stock.warehouse
@@ -577,7 +582,7 @@
-
+
@@ -595,10 +600,10 @@
-
+
-
-
+
+
@@ -728,7 +733,7 @@
-
+
@@ -748,7 +753,7 @@
-
+
@@ -905,7 +910,7 @@
-
+
@@ -1030,13 +1035,14 @@
-
+
-
+
+
@@ -1079,11 +1085,11 @@
-
+
-
+
@@ -1098,10 +1104,11 @@
-
+
-
+
+
@@ -1112,7 +1119,7 @@
-
+
@@ -1195,8 +1202,8 @@
-
-
+
+
@@ -1204,8 +1211,13 @@
+
+
-
+
+
+
+
@@ -1258,8 +1270,10 @@
+
-
+
+
@@ -1276,7 +1290,7 @@
{'contact_display': 'partner',"search_default_confirmed":1}
-
+
stock.move.tree
@@ -1288,7 +1302,7 @@
-
+
@@ -1315,14 +1329,14 @@
-
-
+
+
-
-
+
+
@@ -1368,19 +1382,20 @@
-
-
+
+
-
+
+
+
+
-
-
@@ -1393,6 +1408,7 @@
form
+ {'search_default_Available':1}
@@ -1412,10 +1428,10 @@
-
+
-
+
@@ -1591,7 +1607,8 @@
id="act_product_stock_move_futur_open"
name="Future Stock Moves"
res_model="stock.move"
- src_model="product.product"/>
+ src_model="product.product"
+ groups="base.group_extended"/>
tree_but_open
diff --git a/addons/thunderbird/thunderbird_installer.xml b/addons/thunderbird/thunderbird_installer.xml
index 59e0cc4f604..356282d2de5 100644
--- a/addons/thunderbird/thunderbird_installer.xml
+++ b/addons/thunderbird/thunderbird_installer.xml
@@ -12,13 +12,17 @@
Thunderbird Module Installation
- Configure Thunderbird Module
+ Thunderbird
This module is required for the thuderbird plug-in to work properly.This allows you to select an object that you had like to add to your email and its attachments. You can select a partner, a task, a project, an analytical account, or any other object and attach selected mail as .eml file in attachment of selected record.
-
-
+
+
+ 15
+
+
+
@@ -33,6 +37,7 @@
+