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

[14.0][MIG] intrastat_base #105

Merged
merged 39 commits into from
Nov 19, 2020
Merged

Conversation

alexis-via
Copy link
Contributor

No description provided.

Alexis de Lattre and others added 30 commits October 14, 2020 10:05
Complete change of design for intrastat_type ! Now that report_intrastat_product/service object is stored in database, we don't need the legal_intrastat state on invoices any more, because we will be able to create entry lines for DEB for a repair of equipment under warranty without using a legal_intrastat. Report_intrastat_type is now only required for DEB -> object moved to module l10n_fr_intrastat_product. For DEB, the button "regenerate lines" only regenerate DEB lines related to invoices.

Renamed intrastat base module, because it doesn't have France-specific parameters any more.

Add demo data.

Full re-design of intrastat types : probably requires deleting the report_intrastat_type table, restarting OpenERP and re-creating intrastat types. Moved intrastat departments from stock.warehouse to stock.location. Dropped SQL queries ; replaced by traditionnal python code logic. No more need to have one rate per day for invoices with foreign currency. Add total fiscal value for DEB More code factorization. Prepare translation work.

Moved some demo data from l10n_fr_intrastat_product to intrastat_base Moved configuration about taxes from company form to tax form Some modifications to ease v5 -> v6 migration : - object report_intrastat_code now belong to group account manager - button functions now return True Tried to implement the following feature : open attachement form when the XML file as been generated : works on v6, but make client crash en v5 -> code has been commented DEB lines with procedure code = 25 are now deducted from the fiscal total. Round invoice total.

Moved the field exclude_from_intrastat_if_present of account.tax from l10n_fr_intrastat_product to intrastat_base, because it should also be used in the module l10n_fr_intrastat_service. Take this field into account in the generation of DEB lines (module l10n_fr_intrastat_service).

It is now possible to set the H.S. code on the product category. Some "return None" changed to "return True"

 Implemented the fiscal representative : for example, when you ship to the EU but invoice outside of the EU, your customer needs to have a fiscal representative inside the EU, which will be used for the DEB . depend on base_vat instead of account.

Same modification as my previous commit for DEB : when we sell to a physical person in the EU with VAT, the move is not declared in DEB, so it must not block with a "raise" if the partner doesn't have a VAT number.

Add option "is_accessory_cost" on product.template : If the invoice has is_accessory_cost services but no regular product -> DES If the invoice has is_accessory_cost services and regular product -> added to the cost of products in DEB

Now allows "pricelist for statistical value" which is not in EUR (the currency conversion will be made from the pricelist currency to EUR)

Usability improvements :
- Order for DEB and DES tree view : "the more recent at the top"
- distinction between "Information to declare" and "Additionnal information" in intrastat lines

Better string. Update French translation.

Use the new logger API of OpenERP 6.1 Move the "EU fiscal representative" field in order to avoid the "compression" of the VAT field that made it too small.

Code clean-up : - context is not passed in constraints - don't use lambda when not necessary

IMPORTANT CHANGE : - All EU countries should now be intrastat=True, including your own country - When generating lines for Intrastat Product/Service, all invoices for which country == Company's country are excluded

Update help message according to my change of commit 61. Fix copyright header.
Should now be compatible with both OCB and RS-OCB Add field import_obligation_level on res.company Add group group_detailed_intrastat_product, so that companies that only use obligation = simplified don't see all the additionnal fields. Remove transaction code corresponding to repairs in intrastat types Better on_change on intrastat types (code is mutualised with field.function) Update syntax : demo_xml/update_xml/init_xml -> data/demo

Welcome to Croatia in the European Union !

Add an e-mail reminder for l10n_fr_intrastat_product and l10n_fr_intrastat_service (hope that Akretion France won't forget it's own declarations now !!!) On report.intrastat.product and report.intrastat.service : add copy() fonctions, tracking of important fields, a year_month function field and enhance views. Remove date_done field (the tracking in the chatter does the job). Remove class instanciation in the code.

Better form view of product category, courtesy of David Beal.

Raise an explicit exception (take into account Stefan remark on the merge proposal)

Fix to make the module truly usable when user is not part of the group "Detailed intrastat product". Remove dead code and fields that was used when we had to put DEB lines for repair operations (a thing of the past !). Update coding style. Reduce the number of flake8 warnings.

On OpenERP 7, when you have the document module installed and you download the attachement via the drop down list on the form view, the name of the file will be the name of the attachement and not datas_fname ; so we need to have name = datas_fname.
* switch required=True for country_id from model to views in res.partner
* xpath in partner view as Niels Huylebroeck suggest
* simplify first xpath too in partner view
* xpath in a more generic way
* Use l10n_fr_* : use the method _company_default_get() intrastat_base : - the module is now PEP-8 compliant ! - add search view on countries - is_accessory_cost is now invisible when product != service - update POT file and FR translation - remove double import of logging lib
* Add context in on_change (to be able to use web_context_tunnel) XSD files are now pure XSD files, not python file with the content as string. Convert l10n_fr_intrastat_service to PEP-8 Start to convert l10n_fr_intrastat_product to PEP-8 (not finished yet) l10n_fr_intrastat_product : Update POT file and FR translation.
* l10n_fr_intrastat_service : update POT file and FR translation. l10n_fr_intrastat_product : continue PEP-8 compliance
* Add intrastat_type_data and update demo data accordingly Remove version="7.0" from form views Add ondelete='restrict' on M2O pointing to intrastat.type Add graph views on intrastat.product and intrastat.service... because Odoo v8 graph views are so cool ! :)
* When the obligation level for import is none, the type of the DEB is automatically set to export. [FIX] country -> country_id type='string' -> type='char' (v8 only accepts char) Change "error msg in raise", because v8 displays this to the user Remove statistical_pricelist_id from demo data Harmonize labels of button between DEB and DES
* Add module intrastat_product. Rename report.intrastat.product to l10n.fr.report.intrastat.product (same for service and for lines) + migration scripts
* intrastat_base + l10n_fr_intrastat_service : port to new API
…n base, to make check_generate_lines better reusable (no need to force currency field on report), and do away with '_' before method name, as method should not be private, as it is called from other classes.
    In pending merge request from Alexis, _check_generate_lines will no
    longer be called from outside the class, so no longer any need to change
    private function name convention to public name convention.

    This will also make it easier to merge all changes.
* Move description from __openerp__.py to README.rst Add conflict key in __openerp__.py Simplify code that create attachment Thanks to Luc de Meyer (Noviat) for his help on this.
* Update README.rst and translation files
* Simplify @Depends, as suggested by Yannick
* Better use of the new API for send_mail(), as suggested by Yannick (and tested be me)
* Large code re-engineering following the Akretion-Noviat code sprint on intrastat
  This code has been written both by Luc de Meyer and myself.
* Add first draft of code to generate decl lines
* Add product_origin_country_id on declaration/computation lines

  Copy incoterms and destination country from SO to invoice when invoicing from SO
  We need weight even when supplementary units is used
  Small cleanups and enhancements

* Add support for accessory costs

  Add default values for intrastat transaction on company
  Code cleanup

* If rounded weight is 0, put 1

  Take into account the taxes for B2C
  Small code cleanup

* Remove field exclude_from_intrastat

  Re-organise view of intrastat.product.declaration

* Add option intrastat_accessory_costs on company

  Set more fields as invisible (localisation should put them visible if they need it)
  Fix handling of suppl. units when hs_code is empty on invoice line (but set on product)
  Small usability enhancements

* Warning -> UserError

* Inspired by the PR akretion/account-financial-reporting#8 of Luc de Meyer

* total_amount is a sum of integers, so it should be an integer

  Add transport mode in computation tree view

* Demo VAT number should be on EU customers
…code lost in transition to github/OCA/intrastat
* Update README.rst: switch to new intrastat project
* Move Intrastat menu entry to Accounting > Report instead of Accounting > Report > PDF Reports (because intrastat reports are not in PDF !)
* company model test, country model test as in v8
* png logo instead of svg, removed Python 2 utf-8 headers

[UPD] squashed administrative commits
EU countries are subject to Intrastat, also EU countries outside of the EU zone.
As a consequence the check on company currency == EUR must be removed from this module (the right place are the localization modules).
* Add readonly on some fields when state of declaration is done
* Division by zero in computation of accessory costs
* Add FR translation
* Fix strings
* Minor code updates
* Small fixes in intrastat_base
* account_tax_template

[UPD] Update intrastat_base.pot
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: intrastat-extrastat-11.0/intrastat-extrastat-11.0-intrastat_base
Translate-URL: https://translation.odoo-community.org/projects/intrastat-extrastat-11-0/intrastat-extrastat-11-0-intrastat_base/
[UPD] Update intrastat_base.pot
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: intrastat-extrastat-12.0/intrastat-extrastat-12.0-intrastat_base
Translate-URL: https://translation.odoo-community.org/projects/intrastat-extrastat-12-0/intrastat-extrastat-12-0-intrastat_base/

[UPD] README.rst

[UPD] README.rst
oca-transbot and others added 8 commits October 14, 2020 10:05
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: intrastat-extrastat-13.0/intrastat-extrastat-13.0-intrastat_base
Translate-URL: https://translation.odoo-community.org/projects/intrastat-extrastat-13-0/intrastat-extrastat-13-0-intrastat_base/
intrastat_product: add mail.activity.mixin and widget in form view
product_harmonized_system: remove archive button (use Action menu)
All modules:
- use super() instead of super(class, self)
- Update domain_force in multi-company ir.rule to v13 standard
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: intrastat-extrastat-13.0/intrastat-extrastat-13.0-intrastat_base
Translate-URL: https://translation.odoo-community.org/projects/intrastat-extrastat-13-0/intrastat-extrastat-13-0-intrastat_base/
…l any more

Rename variables to avoid misunderstanding between string and bytes
Copy link
Contributor

@luc-demeyer luc-demeyer left a comment

Choose a reason for hiding this comment

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

I propose we align the intrastat modules fully to the OCA guidelines as part of the 14.0 migration.
Imho not a lot of work for this one.

  • rename views to comply with "views/<main_model>_views.xml" file naming convention
  • move res_config_settings to wizards folder

@alexis-via
Copy link
Contributor Author

I'm not really in favor of strictly adopting the OCA guidelines, in particular when they don't make a lot of sense. For example, what's the point of adding a "_views.xml" suffix when you are in the "views" subfolder ? "views/<main_model.xml" makes more sense and avoids 6 caracters :)

@luc-demeyer
Copy link
Contributor

@alexis-via
It's not a breaking point to me for merging this PR but I also don't think we should be solo players in this repo when we disagree with some OCA guidelines. Such a discussion should be initiated on the maintainer tools repo.

Concerning this specific guideline:
When looking into e.g. https://github.com/odoo/odoo/tree/14.0/addons/account/views than you see there is a point, odoo terminates nearly all xml files in this folder with _views but account_menuitem.xml is different since no views in this file.

@bealdav
Copy link
Member

bealdav commented Oct 15, 2020

see OCA/maintainer-tools#466

@alexis-via alexis-via merged commit b70a906 into OCA:14.0 Nov 19, 2020
@pedrobaeza pedrobaeza mentioned this pull request Feb 16, 2021
6 tasks
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.

None yet

9 participants