summaryrefslogtreecommitdiff
path: root/odoo/addons/base/populate
diff options
context:
space:
mode:
authorChristophe Monniez <moc@odoo.com>2020-03-23 15:36:12 +0000
committerXavier-Do <xdo@odoo.com>2020-03-30 21:30:15 +0000
commit748cc7e501e375d3a06aedbda17eb5ee968c10df (patch)
tree5bc17000f425cd01bd481d1275a64a18d7f7bf72 /odoo/addons/base/populate
parent9d1a92548e69ed5f49dffc1e2e1ab0c9299f79af (diff)
[IMP] base, lunch: populate res.users and lunch models
closes odoo/odoo#48636 X-original-commit: f3f2a1e4723240b6396cea943fc86291c16f4c9d Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
Diffstat (limited to 'odoo/addons/base/populate')
-rw-r--r--odoo/addons/base/populate/__init__.py1
-rw-r--r--odoo/addons/base/populate/res_partner.py1
-rw-r--r--odoo/addons/base/populate/res_user.py34
3 files changed, 36 insertions, 0 deletions
diff --git a/odoo/addons/base/populate/__init__.py b/odoo/addons/base/populate/__init__.py
index e2356f517ee..f12e207ef65 100644
--- a/odoo/addons/base/populate/__init__.py
+++ b/odoo/addons/base/populate/__init__.py
@@ -1,2 +1,3 @@
from . import res_partner
from . import res_company
+from . import res_user
diff --git a/odoo/addons/base/populate/res_partner.py b/odoo/addons/base/populate/res_partner.py
index 3958be57083..baee6bd90d7 100644
--- a/odoo/addons/base/populate/res_partner.py
+++ b/odoo/addons/base/populate/res_partner.py
@@ -10,6 +10,7 @@ _logger = logging.getLogger(__name__)
class Partner(models.Model):
_inherit = "res.partner"
+ _populate_dependencies = ["res.company", "res.partner.industry"]
_populate_sizes = {
'small': 10,
diff --git a/odoo/addons/base/populate/res_user.py b/odoo/addons/base/populate/res_user.py
new file mode 100644
index 00000000000..518d9fa6fee
--- /dev/null
+++ b/odoo/addons/base/populate/res_user.py
@@ -0,0 +1,34 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+import logging
+
+from odoo import models
+from odoo.tools import populate
+
+_logger = logging.getLogger(__name__)
+
+
+class Users(models.Model):
+ _inherit = "res.users"
+
+ _populate_sizes = {"small": 10, "medium": 2000, "large": 10000}
+
+ _populate_dependencies = ["res.partner"]
+
+ def _populate_factories(self):
+ partner_ids = self.env.registry.populated_models["res.partner"]
+
+ def get_partner_id(random=None, **kwargs):
+ partner_id = random.choice(partner_ids)
+ partner_ids.remove(partner_id)
+ return partner_id
+
+ return [
+ ("active", populate.cartesian([True, False], [0.9, 0.1])),
+ ("partner_id", populate.compute(get_partner_id)),
+ ("login", populate.constant("user_login_{counter}")),
+ ]
+
+ def _populate(self, scale):
+ self = self.with_context(no_reset_password=True) # avoid sending reset password email
+ return super(Users, self)._populate(scale)