Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[17.0][MIG] account_chart_update: Migration to 17.0 #1989

Open
wants to merge 92 commits into
base: 17.0
Choose a base branch
from

Conversation

victoralmau
Copy link
Member

@victoralmau victoralmau commented Dec 13, 2024

Supersedes #1888

Migration to 17.0

Changes done:

  • Purge translations
  • Squash administrative commits
  • Change name_get to _compute_display_name
  • Change attrs to invisible/required
  • Adapt to the new account.chart.template system without records
  • Remove recreate_xml_ids fields (It is always necessary for them to have the expected xml_id)
  • Adapt tests
  • Improve similar methods to reduce code

Please @pedrobaeza can you review it?

@Tecnativa TT49275

@victoralmau victoralmau force-pushed the 17.0-mig-account_chart_update branch 2 times, most recently from 7eca605 to d6fa9c0 Compare December 13, 2024 17:20
@victoralmau victoralmau marked this pull request as ready for review December 13, 2024 17:24
Copy link

@giarve giarve left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

these 3 diffs always appear on runbot even after applying the wizard twice with the same chart. I do not know if you want to take a look. Everything else works good.

It is true though that not being able to edit the chart template from inside odoo is less convenient (to change the number of padding zeroes for example).

account_chart_update/wizard/wizard_chart_update.py Outdated Show resolved Hide resolved
string="Account template",
required=True,
)
xml_id = fields.Char()
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

only showing the xml id makes it harder to see new accounts and their name.
image

However, this is just an improvement so not requesting anything here. Also might be enough in 99% of the cases.

@victoralmau victoralmau force-pushed the 17.0-mig-account_chart_update branch from d6fa9c0 to ae497db Compare December 17, 2024 12:12
@victoralmau
Copy link
Member Author

image

these 3 diffs always appear on runbot even after applying the wizard twice with the same chart. I do not know if you want to take a look. Everything else works good.

It is true though that not being able to edit the chart template from inside odoo is less convenient (to change the number of padding zeroes for example).

Thanks, checked and fixed.

Copy link
Contributor

@DavidJForgeFlow DavidJForgeFlow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code LGTM! Seems to be working fine also 👍

percevaq and others added 20 commits December 19, 2024 12:20
[FIX]: Changed types to orm.Model, orm.TransientModel and orm.AbstractModel.
[FIX]: Fix deletion method for some fields of objects.
[FIX]: Contributions have been written in the standard format of the community.
[FIX]: Changes in the form to work as a real wizard.
[FIX]: Remove 'init_xml' keys, because it's no longer needed in v7.
[FIX]: Rename 'demo_xml' key to the new standard 'demo'.
[FIX]: Change imports calls.
[FIX]: Remove __author__ variables in files, because authors are put on manifest file (__openerp__.py).
[FIX]: Update view definitions to version 7.0
[FIX]: Rename variables to OpenERP standard.
[FIX]: Increased compatibility with standard PEP8.
[IMP]:  User Invitu add the method call _reopen to keep open the wizard.
[MRG]: User Invitu add frech language.
…ing.

[FIX] account_chart_update: Adapted to work with inherited account chart templates.
[FIX] account_chart_update: Remove required=True for chart_template_id on DB and put on screen to avoid error when removing chart templates.
[FIX] account_chart_update: Change method to compare taxes of fiscal positions to match with the one comparing taxes.
[FIX] account_chart_update: Change method to compare accounts of fiscal positions to match with the one comparing accounts.
[IMP] account_chart_update: Wizard now shows in tree view modification notes.
[IMP] account_chart_update: For new data to be created, it is marked on notes the reason for the creation (just for clarity).
[IMP] account_chart_update: Tabs for operations that are not going to be performed are hidden.
[IMP] account_chart_update: Some PEP8 here and there.
[IMP] account_chart_update: Enhance a little the mapping searches (there's more room to improve).
[IMP] account_chart_update: Now it takes into account name and description for mapping taxes.
* Move out of unported
* Set account_chart_update installable
* value_reference of ir.property is a char
* Use get_by_record method of ir.property
* number digits is returned before assignment in case of property exist but account not
* product_obj isn't used
* search on code first to match tax codes

  The tax code code should be more discriminant that the tax code name.

* compare more fields in tax codes
* deletion of tax codes removed from templates

  For tax codes, it make sense to propose deletion, since tax codes
  are normally defined by the tax authority and the user does not
  customize them.

* update accounts on taxes even if an update of the account was not requested

  Useful when the chart of taxes changes but the chart of account
  need not be updated.

* depth-first search of tax codes

  This helps creating parents before children.

* compare more fields in taxes
* add active field on tax code

  Deactivate tax codes which are not in the template.

* deactivate taxes that are not in the template
* multi-company criteria for taxes
* avoid inserting duplicates in presence of inactive taxes or tax codes
* Fix calculated field when showing inactives + add field to view
* Migrated to new API.
* Provided hooks for detecting changes and for adding update/create values.
* Purge dead error detection code (not applying).
* Use global mapping dictionaries stored on class instead of passing arguments down to top and viceversa.
* Number fields computed by a function field instead of being computed by hand.
* Use recordsets as indexes instead of ids to avoid repetitive browses.
* Re-enable local cache variables
* README + authors
* Set updated taxes as active
* Check parent_id field in '_is_different_tax' method
* PEP8
* Spanish translation
As there's a constraint that forbids to write the code of the account
if it has moves, we delete the corresponding entry on update only,
because the method that prepares the values is the same for new and
existing accounts.
* Process price_include field
* Detect change in price_include field
- New-style license headers.
- Remove .pot file.
- Remove tax codes stuff, now removed from v9.
- Refactor methods for search, create, update, delete. Now they are smaller, fitter, happier, more productive.
- Only update fields that have any kind of change on any updated record.
- Place the wizard in the configuration page, instead of its own menu item.
- Display amount of disabled taxes at ending page.
…tions + clean authors

As this module has been written from scratch with a totally different technique, I clean the list and update copyrights.
pedrobaeza and others added 14 commits December 19, 2024 12:20
…ansactionCase

- Depending on l10n_generic_coa is the lazy option for not putting
  proper initialization data on the test, and it also couples the tests
  to the external module changes.
- Switch to TransactionCase, for populating once the company, CoA, etc.
- Speed up a bit the tests, removing superflual mail operations.

account_chart_update 16.0.2.0.2
Currently translated at 100.0% (137 of 137 strings)

Translation: account-financial-tools-16.0/account-financial-tools-16.0-account_chart_update
Translate-URL: https://translation.odoo-community.org/projects/account-financial-tools-16-0/account-financial-tools-16-0-account_chart_update/es/

[UPD] README.rst
Use tax record as key in tax_template_ref dict because in odoo/account/models/chart_template.py line 959, the given key on dict reading is a tax record and not a simple id.

[BOT] post-merge updates
Currently translated at 100.0% (137 of 137 strings)

Translation: account-financial-tools-16.0/account-financial-tools-16.0-account_chart_update
Translate-URL: https://translation.odoo-community.org/projects/account-financial-tools-16-0/account-financial-tools-16-0-account_chart_update/es_AR/
Currently translated at 94.1% (129 of 137 strings)

Translation: account-financial-tools-16.0/account-financial-tools-16.0-account_chart_update
Translate-URL: https://translation.odoo-community.org/projects/account-financial-tools-16-0/account-financial-tools-16-0-account_chart_update/pt_BR/
Currently translated at 100.0% (137 of 137 strings)

Translation: account-financial-tools-16.0/account-financial-tools-16.0-account_chart_update
Translate-URL: https://translation.odoo-community.org/projects/account-financial-tools-16-0/account-financial-tools-16-0-account_chart_update/sv/
Currently translated at 100.0% (137 of 137 strings)

Translation: account-financial-tools-16.0/account-financial-tools-16.0-account_chart_update
Translate-URL: https://translation.odoo-community.org/projects/account-financial-tools-16-0/account-financial-tools-16-0-account_chart_update/pt_BR/
… and ditch decorators as mentioned in code review

[BOT] post-merge updates
Copy link
Contributor

@LoisRForgeFlow LoisRForgeFlow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Functional review 👍

@pedrobaeza
Copy link
Member

/ocabot migration account_chart_update

@OCA-git-bot OCA-git-bot added this to the 17.0 milestone Dec 24, 2024
@OCA-git-bot OCA-git-bot mentioned this pull request Dec 24, 2024
33 tasks
Copy link
Member

@pedrobaeza pedrobaeza left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Several things:

  • Is there any possibility to only load in the "Chart template" dropdown those that are already installed?
  • When a tax group is not present (because for example is added in the last update), you get an error. You can force to happen trying to load Spanish taxes on generic CoA for example.

@victoralmau victoralmau force-pushed the 17.0-mig-account_chart_update branch from 49d121b to 313753c Compare January 7, 2025 12:03
@victoralmau
Copy link
Member Author

Several things:

* Is there any possibility to only load in the "Chart template" dropdown those that are already installed?

* When a tax group is not present (because for example is added in the last update), you get an error. You can force to happen trying to load Spanish taxes on generic CoA for example.

Changes done. The test error related to _logger I don't understand, any idea?

@victoralmau victoralmau force-pushed the 17.0-mig-account_chart_update branch from 313753c to b20ed9d Compare January 8, 2025 08:19
@victoralmau
Copy link
Member Author

The test error is finally fixed.

@syci
Copy link

syci commented Jan 10, 2025

The wizard does not take into account the selected language.

https://github.com/Tecnativa/account-financial-tools/blob/b20ed9d7be75352d92041b2478c4af557fa769d4/account_chart_update/wizard/wizard_chart_update.py#L767

In a plan update the name of the taxes always appears in English.

image

With this change it works correctly.

    def _load_data(self, model, data):
        """Process similar to the one in chart template."""
        template = self.env["account.chart.template"].with_context(
            default_company_id=self.company_id.id,
            allowed_company_ids=[self.company_id.id],
            tracking_disable=True,
            delay_account_group_sync=True,
            lang=self.lang,
        )

Changes done:
- Purge translations
- Squash administrative commits
- Change name_get to _compute_display_name
- Change attrs to invisible/required
- Adapt to the new account.chart.template system without records
- Remove recreate_xml_ids fields (It is always necessary for them to have the expected xml_id)

TT49275
@victoralmau victoralmau force-pushed the 17.0-mig-account_chart_update branch from b20ed9d to 4346793 Compare January 10, 2025 09:45
@victoralmau
Copy link
Member Author

The wizard does not take into account the selected language.

https://github.com/Tecnativa/account-financial-tools/blob/b20ed9d7be75352d92041b2478c4af557fa769d4/account_chart_update/wizard/wizard_chart_update.py#L767

In a plan update the name of the taxes always appears in English.

image

With this change it works correctly.

    def _load_data(self, model, data):
        """Process similar to the one in chart template."""
        template = self.env["account.chart.template"].with_context(
            default_company_id=self.company_id.id,
            allowed_company_ids=[self.company_id.id],
            tracking_disable=True,
            delay_account_group_sync=True,
            lang=self.lang,
        )

Thanks for the comment, it has been solved so that the language is correctly taken into account (the suggestion you proposed was not enough).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.