[19.0][MIG] base_export_manager: Migration to 19.0#1309
Open
lbisiach wants to merge 47 commits into
OCA:19.0OCA/server-ux:19.0from
AITIC:19.0-mig-base_export_managerAITIC/server-ux:19.0-mig-base_export_managerCopy head branch name to clipboard
Open
[19.0][MIG] base_export_manager: Migration to 19.0#1309lbisiach wants to merge 47 commits intoOCA:19.0OCA/server-ux:19.0from AITIC:19.0-mig-base_export_managerAITIC/server-ux:19.0-mig-base_export_managerCopy head branch name to clipboard
lbisiach wants to merge 47 commits into
OCA:19.0OCA/server-ux:19.0from
AITIC:19.0-mig-base_export_managerAITIC/server-ux:19.0-mig-base_export_managerCopy head branch name to clipboard
Conversation
* Improve UX for base_export_manager. - Improve user instructions in README. - Require some required fields. - Allow to select models from a list. - Allow to select up to 3 fields from dynamic lists. - Improve translations. - More tests. - Translate column labels. Some methods have been renamed, so version tag is raised to 8.0.2.0.0. * Make inverse method be called at view time. * Hardcode constraints in the `create` method instead of using normal ones. Depending on the context where the record is created, it gets `resource` or `model_id`. The problem is that Odoo checks constrains before inverses, so constrains would fail always. Test added to ensure future versions contemplate all use cases. * Allow to reorder fields.
* Upgrade base_export_manager to v9 * Rename JS to base_export_manager
* Change osv_memory to transient for model_id domain
* Improve UX for base_export_manager. - Improve user instructions in README. - Require some required fields. - Allow to select models from a list. - Allow to select up to 3 fields from dynamic lists. - Improve translations. - More tests. - Translate column labels. Some methods have been renamed, so version tag is raised to 8.0.2.0.0. * Hardcode constraints in the `create` method instead of using normal ones. Depending on the context where the record is created, it gets `resource` or `model_id`. The problem is that Odoo checks constrains before inverses, so constrains would fail always. Test added to ensure future versions contemplate all use cases. * Allow to reorder fields.
…9 * Rename JS to base_export_manager
[FIX][base_export_manager] Fix "Expected singleton" bug.
If you had a field that got translated in more than 1 addon, you'd possibly getto this error:
File "/opt/odoo/0079_ahk_openerp/oca/base_export_manager/models/ir_exports_line.py", line 105, in _compute_label
field.name)),
File "/opt/odoo/common/openerp/v8/openerp/fields.py", line 825, in __get__
record.ensure_one()
File "/opt/odoo/common/openerp/v8/openerp/models.py", line 5355, in ensure_one
raise except_orm("ValueError", "Expected singleton: %s" % self)
except_orm: ('ValueError', 'Expected singleton: ir.translation(4899, 703976)')
With this patch, now we let Odoo return the translated string by using its
standard method to do so, so we have to care for less.
* Move installation outside a data file.
This makes the whole installation to be able to roll back if something goes
wrong, instead of entering an error loop.
* Include envorionment in its manager.
* Add 4th field
* Move to api.multi, refactoring some stuff.
- Add some comments in complex parts.
- Rename `onchange_name` to `_onchange_name` (guidelines).
- Make `_compute_name`'s try block shorter and easier to understand.
* Allow R/W of name directly in model.
* Update tests to cover new behaviors.
- Remove all possible translation commits - Aesthetical changes - Bump version - Some new standards, such as split readme Basically, nothing.
Currently translated at 80.0% (20 of 25 strings) Translation: server-ux-11.0/server-ux-11.0-base_export_manager Translate-URL: https://translation.odoo-community.org/projects/server-ux-11-0/server-ux-11-0-base_export_manager/da/
Currently translated at 100.0% (31 of 31 strings) Translation: server-ux-12.0/server-ux-12.0-base_export_manager Translate-URL: https://translation.odoo-community.org/projects/server-ux-12-0/server-ux-12-0-base_export_manager/pt/
Currently translated at 100.0% (31 of 31 strings) Translation: server-ux-12.0/server-ux-12.0-base_export_manager Translate-URL: https://translation.odoo-community.org/projects/server-ux-12-0/server-ux-12-0-base_export_manager/zh_CN/
Currently translated at 90.3% (28 of 31 strings) Translation: server-ux-12.0/server-ux-12.0-base_export_manager Translate-URL: https://translation.odoo-community.org/projects/server-ux-12-0/server-ux-12-0-base_export_manager/hr/
Currently translated at 100.0% (31 of 31 strings) Translation: server-ux-14.0/server-ux-14.0-base_export_manager Translate-URL: https://translation.odoo-community.org/projects/server-ux-14-0/server-ux-14-0-base_export_manager/es/
If not, we are not assigning the label value for the record and we get a missing cache value error.
WARNING odoo.fields: Redundant default on ir.exports.line.model1_id
Steps to reproduce: - Create an export profile in any model. - Login with a user without setting permissions. - Go to export popup on that model. - Try to select the saved export profile. You'll get an access error. Using sudo for computed/related stuff linked to ir.model, we avoid the problem. TT44721
Currently translated at 100.0% (31 of 31 strings) Translation: server-ux-16.0/server-ux-16.0-base_export_manager Translate-URL: https://translation.odoo-community.org/projects/server-ux-16-0/server-ux-16-0-base_export_manager/es/
Currently translated at 100.0% (31 of 31 strings) Translation: server-ux-16.0/server-ux-16.0-base_export_manager Translate-URL: https://translation.odoo-community.org/projects/server-ux-16-0/server-ux-16-0-base_export_manager/it/
Currently translated at 100.0% (31 of 31 strings) Translation: server-ux-16.0/server-ux-16.0-base_export_manager Translate-URL: https://translation.odoo-community.org/projects/server-ux-16-0/server-ux-16-0-base_export_manager/sv/
Currently translated at 100.0% (31 of 31 strings) Translation: server-ux-16.0/server-ux-16.0-base_export_manager Translate-URL: https://translation.odoo-community.org/projects/server-ux-16-0/server-ux-16-0-base_export_manager/pt_BR/
…event access error TT56933
… loading When ir.exports.line._inverse_name() is triggered during Odoo's own module data loading (e.g. project_enterprise), the parent ir.exports record may not have model_id set yet (version mismatch or records pre-dating this module). Instead of crashing with a ParseError, skip field resolution gracefully. Also recompute model_id for existing ir.exports records in post_init_hook before processing lines.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Migration of
base_export_managerto Odoo 19.0, including a fix for a crash during module data loading.Changes
_inverse_namecrash during data loading: When Odoo loads data for modules likeproject_enterprise, it createsir.exports.linerecords via XML. If the parentir.exportsrecord'smodel_idis not yet computed (e.g. version mismatch between CE and EE, or records pre-dating this module),_inverse_namewould raise aValidationErrorthat propagated as aParseErrorand prevented the registry from loading entirely. The fix skips field resolution gracefully when the model is unknown.post_init_hook: Now recomputesmodel_idfor existingir.exportsrecords that have aresourcebut nomodel_idstored, before processing lines.Test plan
base_export_manageron a fresh Odoo 19 database withprojectandproject_enterpriseinstalled — server should start without errorsbase_export_manager