summaryrefslogtreecommitdiff
path: root/odoo/addons/base
diff options
context:
space:
mode:
authorAdrian Torres <adt@odoo.com>2018-07-11 13:06:00 +0200
committerGitHub <noreply@github.com>2018-07-11 13:06:00 +0200
commitc002e2eb379e8a3db90b45269f8ff2b7e246c8b2 (patch)
treec4f737ce584d60d73cceadbc7e21ab06ab9c3997 /odoo/addons/base
parent5bf5d45b7d1ac381a1419c010352e56b79515599 (diff)
[IMP] allow installing demo data post db init
Intended for demo / throwaway databases only Task-ID: 1856493
Diffstat (limited to 'odoo/addons/base')
-rw-r--r--odoo/addons/base/__manifest__.py1
-rw-r--r--odoo/addons/base/data/ir_demo_data.xml23
-rw-r--r--odoo/addons/base/models/__init__.py3
-rw-r--r--odoo/addons/base/models/ir_demo.py15
4 files changed, 41 insertions, 1 deletions
diff --git a/odoo/addons/base/__manifest__.py b/odoo/addons/base/__manifest__.py
index 9caa89917c1..99f634350e2 100644
--- a/odoo/addons/base/__manifest__.py
+++ b/odoo/addons/base/__manifest__.py
@@ -20,6 +20,7 @@ The kernel of Odoo, needed for all installation.
'data/report_paperformat_data.xml',
'data/res_currency_data.xml',
'data/res_country_data.xml',
+ 'data/ir_demo_data.xml',
'security/base_groups.xml',
'security/base_security.xml',
'views/base_menus.xml',
diff --git a/odoo/addons/base/data/ir_demo_data.xml b/odoo/addons/base/data/ir_demo_data.xml
new file mode 100644
index 00000000000..e108590147a
--- /dev/null
+++ b/odoo/addons/base/data/ir_demo_data.xml
@@ -0,0 +1,23 @@
+<odoo>
+ <record model="ir.actions.act_window" id="demo_force_install_action">
+ <field name="name">Load demo data</field>
+ <field name="res_model">ir.demo</field>
+ <field name="view_mode">form</field>
+ <field name="target">new</field>
+ </record>
+
+ <record model="ir.ui.view" id="demo_force_install_form">
+ <field name="name">ir.demo.form</field>
+ <field name="model">ir.demo</field>
+ <field name="arch" type="xml">
+ <form>
+ <p>Demo data should only be used on test databases. Once they are loaded, they cannot be removed.</p>
+ <p>Are you sure you want to load demo data?</p>
+ <footer>
+ <button name="install_demo" string="Load demo data" type="object" class="btn-primary"/>
+ <button special="cancel" string="Discard" class="btn-default"/>
+ </footer>
+ </form>
+ </field>
+ </record>
+</odoo>
diff --git a/odoo/addons/base/models/__init__.py b/odoo/addons/base/models/__init__.py
index 59d125ab30e..4506929a5c5 100644
--- a/odoo/addons/base/models/__init__.py
+++ b/odoo/addons/base/models/__init__.py
@@ -27,6 +27,7 @@ from . import ir_http
from . import ir_logging
from . import ir_property
from . import ir_module
+from . import ir_demo
from . import report_paperformat
from . import res_country
from . import res_lang
@@ -35,4 +36,4 @@ from . import res_bank
from . import res_config
from . import res_currency
from . import res_company
-from . import res_users \ No newline at end of file
+from . import res_users
diff --git a/odoo/addons/base/models/ir_demo.py b/odoo/addons/base/models/ir_demo.py
new file mode 100644
index 00000000000..34e4292be28
--- /dev/null
+++ b/odoo/addons/base/models/ir_demo.py
@@ -0,0 +1,15 @@
+from odoo import models
+from odoo.modules.loading import force_demo
+
+
+class IrDemo(models.TransientModel):
+
+ _name = 'ir.demo'
+
+ def install_demo(self):
+ force_demo(self.env.cr)
+ return {
+ 'type': 'ir.actions.act_url',
+ 'target': 'self',
+ 'url': '/web',
+ }