Cédric Krier
6718a613cf
Convert UnidentifiedImageError from PIL into validation error
...
The image conversion that are done as preprocessing of the user input should be
considered as data validation.
Closes #14084
2025-06-18 01:26:39 +02:00
Cédric Krier
2cd40e46a8
Catch error from clipboard.writeText
...
Closes #14082
2025-06-17 17:21:52 +02:00
Cédric Krier
c3a9faea42
Convert domain without checking access
...
The searcher of Function field may execute code for which the user has no
access.
Closes #14077
2025-06-16 19:42:12 +02:00
Cédric Krier
98f6f4b037
Convert tuple from XML ID into string before join them
...
9941357a9b7c modified the 'ref' method of the eval context of XML file to
return reference string but get_id return a tuple of string and integer. So the
integer must be converted to string before being joined.
Closes #14066
2025-06-19 09:45:55 +02:00
Cédric Krier
a41611ddd5
Do not fail if the cache name to clear does not exist
...
Cache instance can be created on usage like in ValueMixin, so a process may not
have an instance of the cleared cache.
Closes #14067
2025-06-12 12:48:22 +02:00
Cédric Krier
d1b33c2dc0
Define product variable to raise error when cost price expression is not a Decimal
...
The product variable is used to format the error message but also as for
50bf49b7b031 it may be empty.
Closes #14062
2025-06-10 18:12:43 +02:00
Adrià Tarroja Caubet
4b07c0d666
Inherit marketing reporting abstract models in right order
...
Abstract models should be always the last in inheritance because
they are object when optional dependencies are not activated
Closes #14057
2025-06-13 10:56:40 +02:00
Maxime Richez
207f097a95
Do not check access when register button click
...
e6c72b1f23e7 missed to add the decorator on the register method.
Closes #14060
2025-06-19 23:40:11 +02:00
Cédric Krier
fa4c2ae1fb
Limit the height of completion dropdown
...
The actions are set as sticky to be always visible.
Closes #14063
2025-06-10 23:00:30 +02:00
Cédric Krier
7425bc176a
Use dedicated list view to display children line on budget form
...
We do not need to full record name but just the current name when editing
children from the parent form.
2025-05-10 11:57:50 +02:00
Maxime Richez
776814ba5c
Convert shipments set to list when calling set_measurements
...
Closes #14071
2025-06-13 15:57:31 +02:00
Cédric Krier
1921487213
Replace the usage of field definitions with field attributes in the ModelStorage
...
Model.fields_get is expensive to call as it create a new dictionary for each field.
Closes #14061
2025-06-10 14:31:11 +02:00
Cédric Krier
5e560afbdc
Do not use field definitions when exporting data
...
Calling Model.fields_get is expensive especially for each record to export.
Closes #14061
2025-06-10 14:29:07 +02:00
Cédric Krier
ed1e9d8916
Fill payment amount cache only when cache column is added by register
...
Closes #14034
2025-06-02 10:54:15 +02:00
Cédric Krier
593c8f0aea
Use AND-ed clause when searching for implicit location for internal shipment
...
88978685 added a clause on the type but using an OR-ed clause which includes
all the storage locations instead of only the storage location with a
provisioning or overflowing location.
Closes #14016
2025-05-13 18:49:32 +02:00
Cédric Krier
b708094026
Make trytond-gis depends on the trytond extras test for its tests
2025-06-01 23:19:18 +02:00
Cédric Krier
ae71913833
Add transition from packed to cancelled for internal shipment
...
Since fee9e4e8c864 the internal shipment has a new packed state that can be
cancelled.
Closes #14053
2025-06-05 16:43:10 +02:00
Xavi Hermoso
3e4fea4b3c
Set default flag to False in Own Requisition rule group as it is linked to Purchase Requisition group
...
Closes #13930
2025-03-20 12:22:47 +01:00
Cédric Krier
733df9d2dd
Use the configured display size when selected or expanded row are defined
...
This ensure that we store on the view the selected/expanded rows by displaying
them after a reload.
Closes #14048
2025-06-01 12:49:28 +02:00
Cédric Krier
eb7336c1c4
Delay the observation of the more button
...
#14048
2025-06-01 12:46:57 +02:00
Cédric Krier
c37abac5dc
Do not save tree state when setting value on form view
2025-06-01 12:45:53 +02:00
Cédric Krier
8e1e68727d
Always wait for the promise of save_tree_state
...
#14048
2025-06-01 12:45:06 +02:00
Cédric Krier
312ae7b387
Forbid to set closed account on statement rule line
...
The domain must be the same as account domain of statement line.
2025-05-31 14:41:01 +02:00
Cédric Krier
75ccdb1ba2
Use -1 as fallback value for company in account domain of statement line
2025-05-31 14:40:02 +02:00
Sergi Almacellas Abellana
e61ed092f6
Remove debug exception introduced by 2fbe3b55927a
2025-06-12 10:54:46 +02:00
Cédric Krier
1bc9046fbe
Add test scenario for tax test wizard
2025-05-30 21:36:23 +02:00
Cédric Krier
a4a655b05e
Use explicit key when computing taxes and object instead of dict
...
This defines explicitly the available attribute and unify the use the values as
tax line instead of the keys.
2025-05-30 21:35:55 +02:00
Cédric Krier
cc8901276e
Round only the tax amount of the line when rounding per line
...
If we round the tax amount already added to the other line, the result may vary
depending on the order of the lines.
This is because round half even is used so the result may depend on the already
summed tax amounts.
Closes #14047
2025-05-30 18:10:27 +02:00
Cédric Krier
c710994e2e
Store the selected state before deselect all the rows
...
We must toggle the state of the row based on the original state.
Otherwise on single mode, clicking on a selected row keep it selected.
Closes #14045
2025-05-28 18:15:07 +02:00
Cédric Krier
45d3a25343
Unselect other rows when radio button of row is selected
...
The selection of a radio button, deselect automatically the other radio button
so we must update the selection of other rows to remove the selected class.
Closes #14044
2025-05-28 18:11:23 +02:00
Cédric Krier
bd4b030518
Change the border color of checkbox and radio when focus
...
This provides a visual hint that the element has the focus.
Closes #14043
2025-05-28 18:05:16 +02:00
Cédric Krier
eadd7bcffe
Do not execute tab shortcuts if there is a modal open
...
The modals are linked to the current tab so we can not change the tab as long
as there is a modal.
Closes #14042
2025-05-28 18:02:21 +02:00
Cédric Krier
e88fea9fc6
Apply filter on icon under primary background
...
Otherwise the icon is not visible as it has the same color as the background.
Closes #14032
2025-05-21 17:10:34 +02:00
Cédric Krier
d10a8a243f
Remove thousand separator when converting domain string to float
...
Since c8d97fac the domain parser format number using locale but the atof
function does not remove the thousand separator which could prevent Number to
parse the string.
Closes #14024
2025-05-23 12:53:44 +02:00
Cédric Krier
095ac6509b
Use first description of statement lines as description of move line without origin
...
Closes #14038
2025-05-27 20:00:18 +02:00
Cédric Krier
b859ee5074
Invert boolean operator when searching description with negative operator
...
Closes #14037
2025-05-27 19:57:03 +02:00
Maxime Richez
676050ff70
Remove useless variable quantity in explode_bom method
...
Closes #14036
2025-05-27 19:54:43 +02:00
Cédric Krier
6e49fd3e79
Add closed constraint on default receivable/payable account of configuration storage
...
The same domain constraint from the multivalue field must be applied to the
storage field.
2025-05-25 17:09:45 +02:00
Cédric Krier
98db94d3ef
Remove explicit record name from export of relation field
...
This provides the same format as the import.
2025-05-21 17:02:51 +02:00
Cédric Krier
16d36ff2f7
Export Many2One and Reference using record name
2025-05-21 17:03:43 +02:00
Cédric Krier
d769ff12c3
Support import of one2many as list of name
2025-05-21 17:03:21 +02:00
Cédric Krier
eab2b6deb0
Support export of xxx2many fields as list of name
2025-05-21 17:00:31 +02:00
Cédric Krier
9843587815
Import multiselection field as CSV list
...
Closes #13995
2025-05-21 16:58:36 +02:00
Cédric Krier
840a342214
Export multiselection field as CSV list
...
Closes #13995
2025-05-21 18:38:40 +02:00
Cédric Krier
10c273d576
Avoid parsing image content as XML is they do not look like XML
...
This prevent the browser to log an error in the console.
Also we test for the presence of svg tag to be sure it is an svg image.
Closes #14019
2025-05-14 12:56:23 +02:00
Cédric Krier
0ad9570070
Document preferred languages order for get_email
2025-05-23 17:13:37 +02:00
Cédric Krier
5307e3303a
Set email content with maintype when needed and correctly set Content-Language header
...
When the content is not a string, EmailMessage.set_content requires a maintype
argument but not when it is a string. The maintype is then deduced using the
mimetypes module.
The Content-Language of content or alternate must be set using the headers
parameter instead of params which is for the Content-Type.
And finally the Content-Language must be set on the main message only if it
contains multiparts otherwise it is set twice.
Closes #14028
2025-05-23 17:07:57 +02:00
Nicolas Évrard
d3f93b46f8
Use class access model when testing for parent access
2025-05-22 10:59:36 +02:00
Cédric Krier
db95c26b09
Store URL to open before getting the preferences
...
The preferences may execute actions which may change the original URL at the
login. Such that the original URL is never open.
This is more visible since ac5d71376fca which makes the actions sequential.
Closes #13975
2025-05-21 11:16:56 +02:00
Cédric Krier
0d361542fe
Do not use state Function field of line to check against modification
...
The Function field is an helper to write PYSON statement so there is no need to
use it for checks.
Closes #14002
2025-05-08 18:36:13 +02:00