diff options
| author | Nicolas Martinelli <nim@odoo.com> | 2019-04-25 07:12:56 +0000 |
|---|---|---|
| committer | Nicolas Martinelli <nim@odoo.com> | 2019-06-28 07:57:26 +0000 |
| commit | 6b647139b446f6196baa119a609da3bd4ad719f1 (patch) | |
| tree | 100d27359cf9b4de7f7636791158d541b73810c9 /addons/mail/static/src/js/models/threads/document_thread.js | |
| parent | 5eb15c01b556620c77c0f7327494d4bf3117d115 (diff) | |
[IMP] base: make the integrity constraint violation error messages clearer
When an `IntegrityError` is raised, the user receives a cryptic error
message which doesn't provide much valuable information in order to
solve the problem.
However, such an error is raised in 3 cases:
1. A mandatory field is not provided at creation/update.
2. The deletion of a record makes a mandatory Many2one field NULL on a
referenced table (`ON DELETE SET NULL` on a not nullable field).
3. The deletion of a record raises a `ON DELETE RESTRICT` foreign-key
constaints.
In the first and second cases, we provide the table and field on which
the `NOT NULL` constaint is raised. We also suggest to archive the
record in case of a deletion.
In the third case, we provide the table and the constraint raised. We
also suggest to archive the record.
Notes:
- The IDs of the records causing the issue is not provided since the
information is not provided by PostgreSQL.
- Although cases 2 and 3 have a different root cause, the error
message raised is very similar. Indeed, from an end-user perspective
the solution is identical: archive the record. Another solution would
also be to manually edit the records raising the error, but most of
the time this is not an option: these records are locked and cannot be
edited anymore.
task-1970853
Closes #32949
closes odoo/odoo#33922
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Co-authored-by: Sapan Zaveri <sza@odoo.com>
Co-authored-by: Pragya Ladda <pla@odoo.com>
Diffstat (limited to 'addons/mail/static/src/js/models/threads/document_thread.js')
0 files changed, 0 insertions, 0 deletions
