Repository navigation
Conversation
Contributor
- Bump version to 20.0.1.0.0 and set installable - Label batching: follow the unified 20.0 label reports (Dymo and sheets), labels[].copies data, batches counted in labels and cut at whole pages; get_param -> get_int; single render when it comes back as HTML (tests) - Pricelist rules: default rounding only on surcharge (markup) rules and only when unset, so discount rules stay plain discounts - Pricelist: add item_count, shown in the rules stat button inside the native button_box (Material icon) - Drop applied_description (same as the native rule name) - Views: drop inheritance of removed product_variant_easy_edit_view; uom views inherit uom_uom_view_list/form; uom and pricelist rule search views extend the native ones; image keeps the 20.0 options, only without convert_to_webp - Demo: compute_price formula -> discount - Remove migrations/18.0.1.4.0 (cannot run when upgrading from 19.0) - Add tests; update README and translations Change note: Las listas de precios muestran en su botón cuántas reglas tienen, y las reglas se pueden buscar y agrupar por producto, categoría y tipo de aplicación. Las unidades de medida se buscan también por su descripción. Imprimir miles de etiquetas, también en hoja, ya no corta la generación del PDF. Las reglas de recargo nuevas se redondean solas a la precisión de precio, y las de descuento siguen mostrando el descuento en la venta.
jcadhoc
force-pushed
the
20.0-t-76355-jc
branch
2 times, most recently
from
October 22, 2026 15:03
be52c51 to
496c2ef
Compare
…omplete - Let a consultant pick up to 3 extra product fields in Settings, with the native field_selector widget over an auxiliary field holding the model. A compute with inverse joins the three boxes into a system parameter, in the same format as the one of the eCommerce - Extend the autocomplete from name_search with super(), and only when the native search did not fill the limit. Every word, in any order and on any of the fields (name and default_code always included), in a single query - Validate on save, on every step of the path, what the widget cannot: the field exists, Odoo can search it (stored or with a search method) and this user can read it, the same criterion as the search. The last step has to be a text field or a relation, never HTML nor an attachment - Do not offer properties on the selector: the validation cannot confirm a property exists, so a path with a typo would be saved and find nothing - Skip at search time the paths this user cannot reach, instead of raising. The validation on save is about the definition of the field, while the access rights are of whoever searches, and a saved path can also stop resolving when a module is uninstalled - Leave the cap of three to the boxes and to the search itself, so a hand edited parameter with more paths never blocks saving the settings of another app - Without configuration the search behaves exactly like Odoo, and the switch is read with str2bool, so a parameter holding the text "False" is off Change note: En Ajustes se pueden elegir hasta 3 campos del producto por los que además se busca. Con eso, el autocompletado del producto en una línea de venta o de compra encuentra también por esos campos. Se aceptan varias palabras en cualquier orden, repartidas entre esos campos, el nombre y la referencia interna. Sin configurar nada, la búsqueda se comporta igual que antes. Al guardar se rechaza un campo que Odoo no puede buscar, con un mensaje que explica el motivo. Si un usuario no tiene permiso para leer el modelo al que llega un campo configurado, para ese usuario se busca sin ese campo, en vez de cortarle el autocompletado. closes ingadhoc#951 Signed-off-by: Juan Carreras <jc@adhoc.com.ar> (cherry picked from commit 6a6101d)
Updated by "Update PO files to match POT (msgmerge)" add-on in Weblate. Translation: product-19.0/product-19.0-product_ux Translate-URL: https://translation.dev-adhoc.com/projects/product-19-0/product-19-0-product_ux/ (cherry picked from commit f327321)
jcadhoc
force-pushed
the
20.0-t-76355-jc
branch
from
October 22, 2026 18:10
496c2ef to
e9400bf
Compare
Contributor
|
@roboadhoc r+ nobump |
Contributor
|
@jcadhoc @mav-adhoc because this PR has multiple commits, I need to know how to merge it:
|
Contributor
|
@roboadhoc rebase-ff |
Contributor
|
Merge method set to rebase and fast-forward. |
roboadhoc
pushed a commit
that referenced
this pull request
Oct 22, 2026
- Bump version to 20.0.1.0.0 and set installable - Label batching: follow the unified 20.0 label reports (Dymo and sheets), labels[].copies data, batches counted in labels and cut at whole pages; get_param -> get_int; single render when it comes back as HTML (tests) - Pricelist rules: default rounding only on surcharge (markup) rules and only when unset, so discount rules stay plain discounts - Pricelist: add item_count, shown in the rules stat button inside the native button_box (Material icon) - Drop applied_description (same as the native rule name) - Views: drop inheritance of removed product_variant_easy_edit_view; uom views inherit uom_uom_view_list/form; uom and pricelist rule search views extend the native ones; image keeps the 20.0 options, only without convert_to_webp - Demo: compute_price formula -> discount - Remove migrations/18.0.1.4.0 (cannot run when upgrading from 19.0) - Add tests; update README and translations Change note: Las listas de precios muestran en su botón cuántas reglas tienen, y las reglas se pueden buscar y agrupar por producto, categoría y tipo de aplicación. Las unidades de medida se buscan también por su descripción. Imprimir miles de etiquetas, también en hoja, ya no corta la generación del PDF. Las reglas de recargo nuevas se redondean solas a la precisión de precio, y las de descuento siguen mostrando el descuento en la venta. Part-of: #963 Signed-off-by: Matias Velazquez <mav@adhoc.com.ar>
roboadhoc
pushed a commit
that referenced
this pull request
Oct 22, 2026
…omplete - Let a consultant pick up to 3 extra product fields in Settings, with the native field_selector widget over an auxiliary field holding the model. A compute with inverse joins the three boxes into a system parameter, in the same format as the one of the eCommerce - Extend the autocomplete from name_search with super(), and only when the native search did not fill the limit. Every word, in any order and on any of the fields (name and default_code always included), in a single query - Validate on save, on every step of the path, what the widget cannot: the field exists, Odoo can search it (stored or with a search method) and this user can read it, the same criterion as the search. The last step has to be a text field or a relation, never HTML nor an attachment - Do not offer properties on the selector: the validation cannot confirm a property exists, so a path with a typo would be saved and find nothing - Skip at search time the paths this user cannot reach, instead of raising. The validation on save is about the definition of the field, while the access rights are of whoever searches, and a saved path can also stop resolving when a module is uninstalled - Leave the cap of three to the boxes and to the search itself, so a hand edited parameter with more paths never blocks saving the settings of another app - Without configuration the search behaves exactly like Odoo, and the switch is read with str2bool, so a parameter holding the text "False" is off Change note: En Ajustes se pueden elegir hasta 3 campos del producto por los que además se busca. Con eso, el autocompletado del producto en una línea de venta o de compra encuentra también por esos campos. Se aceptan varias palabras en cualquier orden, repartidas entre esos campos, el nombre y la referencia interna. Sin configurar nada, la búsqueda se comporta igual que antes. Al guardar se rechaza un campo que Odoo no puede buscar, con un mensaje que explica el motivo. Si un usuario no tiene permiso para leer el modelo al que llega un campo configurado, para ese usuario se busca sin ese campo, en vez de cortarle el autocompletado. closes #951 Signed-off-by: Juan Carreras <jc@adhoc.com.ar> (cherry picked from commit 6a6101d) Part-of: #963 Signed-off-by: Matias Velazquez <mav@adhoc.com.ar>
This branch was previously deployed
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.

Migration of
product_uxfrom 19.0 to 20.0.Task: https://www.adhoc.inc/odoo/project.task/76355
What changed for 20.0
product.report_product_label_dymoandproduct.report_product_label_pdf) and the data now travels aslabels[].copies, so the 19.0 override no longer triggered. Rewritten for the new shape and extended to sheet formats (2x7/4x7/4x12, also used by lot/package/location labels), cutting batches at whole pages.product_ux.dymo_label_batch_sizekeeps its key and meaning (labels per wkhtmltopdf call).get_param→get_int. Falls back to a single render when the report comes back as HTML (test mode).compute_pricelostpercentage/formula(nowdiscount/markup/fixed). The default rounding now applies only to surcharge (markup) rules and only when unset: a rounded discount is no longeris_plain_discount, and sales would stop showing the discount.product.product_variant_easy_edit_view; uom list/form inherituom.uom_uom_view_list/uom_uom_view_form; the image keeps the new 20.0 options and only dropsconvert_to_webp; the rules stat button goes inside the nativebutton_boxwith a Material icon.formula→discount.migrations/18.0.1.4.0(cannot run when upgrading from 19.0; filtered oncompute_price = 'formula').Simplification and improvements
applied_description(same as the native rulename).item_count).Test plan
--test-tags /product_ux: 14 tests OK.-uthey become extensions.