openspp-modules icon indicating copy to clipboard operation
openspp-modules copied to clipboard

Sample data generation failure when "_check_registration_date" detects an invalid birth date

Open kneckinator opened this issue 1 year ago • 0 comments

When generating sample data, I quite often run into the issue "Registration date must be later than the birth date.". This is easy to reproduce if I select a sample data size of 1000 or higher. When this happens, the data generation fails and none of the so far generated data is available. The bug is making is hard/tedious/impossible to create meaningful amounts of sample data, i.e 500,000 groups.

The configuration for 1000 groups looks like this: Image

Expected behavior: The sample data generator should make sure that the generated birth date is later than the generated registration date.

Full traceback:

Traceback (most recent call last):
  File "/opt/odoo/auto/addons/queue_job/controllers/main.py", line 104, in runjob
    self._try_perform_job(env, job)
  File "/opt/odoo/auto/addons/queue_job/controllers/main.py", line 36, in _try_perform_job
    job.perform()
  File "/opt/odoo/auto/addons/queue_job/job.py", line 517, in perform
    self.result = self.func(*tuple(self.args), **self.kwargs)
  File "/opt/odoo/auto/addons/spp_demo/models/generate_group.py", line 178, in _generate_sample_data
    create_member_id = self.env["res.partner"].create(member)
  File "<decorator-gen-228>", line 2, in create
  File "/opt/odoo/custom/src/odoo/odoo/api.py", line 414, in _model_create_multi
    return create(self, [arg])
  File "/opt/odoo/auto/addons/g2p_registry_membership/models/individual.py", line 47, in create
    res = super().create(vals_list)
  File "<decorator-gen-227>", line 2, in create
  File "/opt/odoo/custom/src/odoo/odoo/api.py", line 394, in _model_create_single
    return self.browse().concat(*(create(self, vals) for vals in arg))
  File "/opt/odoo/custom/src/odoo/odoo/api.py", line 394, in <genexpr>
    return self.browse().concat(*(create(self, vals) for vals in arg))
  File "/opt/odoo/auto/addons/g2p_registry_membership/models/group.py", line 42, in create
    new_record = super().create(values)
  File "<decorator-gen-207>", line 2, in create
  File "/opt/odoo/custom/src/odoo/odoo/api.py", line 414, in _model_create_multi
    return create(self, [arg])
  File "/opt/odoo/auto/addons/account/models/partner.py", line 751, in create
    return super().create(vals_list)
  File "<decorator-gen-195>", line 2, in create
  File "/opt/odoo/custom/src/odoo/odoo/api.py", line 415, in _model_create_multi
    return create(self, arg)
  File "/opt/odoo/auto/addons/partner_autocomplete/models/res_partner.py", line 212, in create
    partners = super(ResPartner, self).create(vals_list)
  File "<decorator-gen-96>", line 2, in create
  File "/opt/odoo/custom/src/odoo/odoo/api.py", line 415, in _model_create_multi
    return create(self, arg)
  File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/res_partner.py", line 752, in create
    partners = super(Partner, self).create(vals_list)
  File "<decorator-gen-139>", line 2, in create
  File "/opt/odoo/custom/src/odoo/odoo/api.py", line 415, in _model_create_multi
    return create(self, arg)
  File "/opt/odoo/auto/addons/mail/models/mail_thread.py", line 259, in create
    threads = super(MailThread, self).create(vals_list)
  File "<decorator-gen-12>", line 2, in create
  File "/opt/odoo/custom/src/odoo/odoo/api.py", line 415, in _model_create_multi
    return create(self, arg)
  File "/opt/odoo/custom/src/odoo/odoo/models.py", line 4626, in create
    records = self._create(data_list)
  File "/opt/odoo/custom/src/odoo/odoo/models.py", line 4888, in _create
    records._validate_fields(name for data in data_list for name in data['stored'])
  File "/opt/odoo/custom/src/odoo/odoo/models.py", line 1462, in _validate_fields
    check(self)
  File "/opt/odoo/auto/addons/g2p_registry_base/models/registrant.py", line 83, in _check_registration_date
    raise ValidationError(error_message)
odoo.exceptions.ValidationError: Registration date must be later than the birth date.

kneckinator avatar Oct 12 '24 11:10 kneckinator