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>
4 lines
253 B
CSV
4 lines
253 B
CSV
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
|
access_test_rpc_model_a,access_test_rpc_model_a,model_test_rpc_model_a,,1,1,1,1
|
|
access_test_rpc_model_b,access_test_rpc_model_b,model_test_rpc_model_b,,1,1,1,1
|