Skip to content

[18.0][MIG] connector_ecommerce: Migration to 18.0 #83

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

Draft
wants to merge 86 commits into
base: 18.0
Choose a base branch
from

Conversation

vvrossem
Copy link

@vvrossem vvrossem commented Feb 12, 2025

[MIG][17.0] connector_ecommerce: Migration to 17.0 used as source

Removed dependencies:

  • sale_automatic_workflow_payment_mode (glue module of sale_automatic_workflow and account_payment_sale), to use account_payment_sale only

Missing dependencies:

guewen and others added 30 commits February 12, 2025 10:27
[FIX] decimal_precision import does not use openerp.addons namespace
[FIX] remove an old view not installable
[IMP] finish onchange support, add doc string, support tax. The option use external taxe will be not implemented, as re-computing tax in OpenERP is the best option. If you need it, create a independant module for it, fix copyright

[REF] refactor introduce the class SaleOrderOnChange
…ork, + support adding extra s.o. lines on the fly

add comments on the internals of SaleOrderOnChange.play()
[IMP] work on stock.picking.out instead of stock.picking

[REM] clean delivery carrier old code

[ADD] a connector hook in the stock.picking.out view

[FIX] action_done is not called on stock.picking.out but only on stock.picking

[CHG] rename base_sale_data.xml to ecommerce_data.xml

[ADD] hook in invoice view for connectors

[ADD] account_invoice.origin_order_id, link to the order which created the invoice

[REF] moved sale.py code to old_stuff.py

[ADD] copy the order id to the invoice it creates

[REM] remove code

[REF] move content of partner.py to old_stuff.py

[REF] move partner_view.xml content to old_xml_stuff.xml

[REF] moved code from product.py to old_stuff.py

[REF] removed views and act_window links to ir.model.data from sale_view.xml

[REF] removed external.referential.category.csv

[REF] remove obsolete access groups

[REF] comment out the sale exception until its reimplementation

[REF] removed the import order wizard

[REF] removed connector.py

[FIX] style

[REF] moved external_referential.py code to old_stuff.py

[REF] remove empty files

[ADD] hook for connectors in sale view

[FIX] do not load removed file

[REF] updated __openerp__ manifest, changed copyright attribution to reflect the facts, changed the license from GPL to AGPL-3

[FIX] reintroduce methods used for the import of magento sale orders

[FIX] connector_ecommerce: replace dependencies on sale_quick_payment by sale_quick_payment

[ADD] connector_ecommerce: add import_rule and days_before_cancel in payment.method, theses fields will be used by the connectors

[IMP] connector_ecommerce: call the onchanges on the sale order to apply the workflow default values

[IMP] connector_ecommerce: activate the options 'Allow different addresses', 'Multiple shop', 'Discount on SO lines'

[FIX] noupdate=1 on the global settings activation

[FIX] missing name in a view

[IMP] add hints in payment method view to help in the choice of the import rules

[ADD] on_product_price_changed Event, fired when the price of a product could have changed

As the price is a fields.function based on the contextual pricelist, we can never be sure
that a price has changed, it depends on the context.

So we search all the base fields used to compute the price, and if one of these has changed,
the event is fired.

[FIX] initialize the context when None

[IMP] reviewed the connector_ecommerce's description in the manifest __openerp__.py

[FIX] remove obsolete sale exception

[ADD] fields cancelled_in_backend and cancellation_resolved to handle the cancellation of the sales orders from a backend

[IMP] add a notification when a user choose to not cancel a sales order cancelled on the backend

[ADD] notification when a sales order is cancelled on the backend

[IMP] ignore the cancellation from the backend should be done by a sales manager only

[IMP] ask for a reason when the sale order is not cancelled despite the cancellation on the backend

[FIX] filter on cancels should exclude the resolved cancels

[ADD] a parent_id field on the sale order, base implementation, the logic needs to be implemented in the connectors due to their own specificities

[ADD] button to open the parent sale order

[ADD] sale exception preventing confirmation of a sale order when it has a parent order cancelled on the backend

[IMP] add the sales manager rights to the connector manager because they usually need these rights

[IMP] fields 'need_cancel' and 'parent_need_cancel'

[FIX] spells cancelled with the US form: canceled

[FIX] typos in views

[FIX] hide the 'keep open' button in canceled state

[ADD] when we write 'canceled_in_backend' in a sales order, try to automatically cancel it

[FIX] filter out already cancelled sales orders from the filter 'to cancel'

[FIX] domain for the invisible attribute of the 'keep open' button, logic was reversed

[IMP] add a note on the related pickings and invoices of an order cancelled from backend

[FIX] cancelation of sales order: quotation states requires to be canceled via the workflow, sales order states with the action_cancel method. Some states can not be canceled.

[ADD] sale exception when an ordered product has a pending connector checkpoint

[ADD] french translation
…horized by a payment institute but not paid yet.
… orders (shipping, ...), need a refactoring of the Mapper though. WIP
…ne for prestashoperpconnect in a first place to be able to add or not the tax on delivery lines)
[ADD] a test which check if on_invoice_validated is correctly fired

[ADD] test the fire of 'on_invoice_paid'

[FIX] formatting of the onchange test

[FIX] fix the failing test: the payment_method_id and workflow_payment_id are not mandatory in a sale order

[FIX] fr_FR.po files not loaded, should be named fr.po

[FIX] context not propagated

[ADD] docstring

[CHG] rename ExtraOrderLineBuilder to SpecialOrderLineBuilder

[FIX] use session

[ADD] deprecation warning

[IMP] allow to use a product id or a product browse_record in lines builders

[FIX] Sales Orders onchanges: allow to have lines with other commands than (0, 0, {values}).

[FIX] simplify last change

[FIX] in lines builders, product_ref is not mandatory if we provide a product, renames 'product_id' to 'product', keeping ambiguity as we can have an int or browse_record.

[IMP] propagate the 'shop_id' in the context if it exists so the fiscal position rules (from openerp-fiscal-rules' project) can apply automatically

[FIX] 'int' object is not iterable error

[FIX] 'int' object is not iterable error, again
…ity by default so they are likely to appear at the bottom, shipping line being the last one
…d in case of orders with many lines, leave some space if people want to insert custom special lines in between

The default special's sequence is 980, for the same reason than before

do not build a new dict when default is an empty dict, not necessary to build a context dict (not used)

add read accesses on the sales users so they can confirm a sales order
Move connector_ecommerce in the root folder and set installable

It now depends on sale_payment_automatic_workflow

In v7. sale_automatic_workflow had a dependency on sale_payment_method.
This is no longer true, now the module sale_payment_automatic_workflow
makes the glue between sale_automatic_workflow and sale_payment_method.

sale.shop has passed away

Remove the deprecated methods used to generate special lines, yeah!

stock.picking.out is no longer there

Remove the fiscal position rule onchange

As something similar has been implemented in v8, I'm not sure that
the fiscal position rule will be used and if it will, the onchange signature
will change, so let's remove it and add it again if necessary later.

Adapt the onchange players to the new API

Thanks to Model.onchange(), we apply the onchanges on a temporary 'new record' and get back the changed values.
Then we apply these values on our order values.

Use relative imports and remove fast_suite, checks in tests

Use the new env when building special lines

Rename environment to connector_env (follows connector's changes)

Use the new API

Correctly raise the event when a picking becomes 'done'

Test that on_tracking_number_added is fired

Correctly fire the event for partial pickings

Update the manifest and description; bump to 3.0.0

Correction of typos

Use @api.one as we have nothing outside the loop

Corrections of more typos
Cédric Pigeon and others added 15 commits February 12, 2025 10:27
Currently translated at 93.9% (62 of 66 strings)

Translation: connector-ecommerce-16.0/connector-ecommerce-16.0-connector_ecommerce
Translate-URL: https://translation.odoo-community.org/projects/connector-ecommerce-16-0/connector-ecommerce-16-0-connector_ecommerce/es/
Currently translated at 100.0% (63 of 63 strings)

Translation: connector-ecommerce-16.0/connector-ecommerce-16.0-connector_ecommerce
Translate-URL: https://translation.odoo-community.org/projects/connector-ecommerce-16-0/connector-ecommerce-16-0-connector_ecommerce/es/
Currently translated at 100.0% (60 of 60 strings)

Translation: connector-ecommerce-16.0/connector-ecommerce-16.0-connector_ecommerce
Translate-URL: https://translation.odoo-community.org/projects/connector-ecommerce-16-0/connector-ecommerce-16-0-connector_ecommerce/es/
@vvrossem vvrossem marked this pull request as draft February 12, 2025 09:42
@vvrossem vvrossem force-pushed the 18.0-mig-connector_ecommerce branch from fddb949 to ef4fee8 Compare February 12, 2025 10:34
@gurneyalex
Copy link
Member

Hello @vvrossem
We would like to split out the dependency on sale automatic workflow from the connector_ecommerce in 18.0. Do you think this would cause issues (for instance if the code for this is tightly coupled inside the module)?

@vvrossem vvrossem force-pushed the 18.0-mig-connector_ecommerce branch 3 times, most recently from b148848 to a0d8553 Compare February 25, 2025 14:33
@vvrossem vvrossem force-pushed the 18.0-mig-connector_ecommerce branch from a0d8553 to 80fde91 Compare February 25, 2025 14:59
default="always",
required=True,
help="""
- Never: the sales orders using the payment method will never be imported.

Choose a reason for hiding this comment

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

why don't we have anything for "Authorized"?

>
<group>
<field name="canceled_in_backend" />
<field name="cancellation_resolved" invisible="1" />

Choose a reason for hiding this comment

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

https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-18.0
If the module brings from past versions fields in the views as invisible because they are used in expressions (invisible, column_invisible, readonly, required, context, domain) of other fields, you can now remove them for cleanliness, as they are auto-added. See more info at odoo/odoo#137031.

Copy link

@yankinmax yankinmax left a comment

Choose a reason for hiding this comment

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

Thanks

_inherit = "account.payment.method"

@api.model
def _get_payment_method_domain(self, payment_method):

Choose a reason for hiding this comment

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

@leemannd
Copy link

Warning: you depend on a module that is not merged. It has been superseeded by -> OCA/bank-payment#1447
And the two PRs have huge changes.

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.