Cédric Krier
da9cc4bb87
Patch global PATH variable of filestore in test
...
Changing the configuration value is not enough as its value is cached in the
global variable.
Closes #14248
2025-09-20 09:07:18 +02:00
Cédric Krier
80eaf304d1
Remove padding in base64 converter
2025-08-27 12:35:31 +02:00
Cédric Krier
8d56e4fbf1
Return proper bad request error for request with incorrect data
2025-09-09 22:38:27 +02:00
Cédric Krier
cae48b576e
Restore limit when searching for searching for wizard name
...
20cdba7a1bf3 removed the limit but it is still needed to extract the single
record.
Closes #14238
2025-09-18 07:48:50 +02:00
Cédric Krier
b21d1497fa
Use the FILTER syntax with SQL aggregate functions
...
Closes #14199
2025-08-27 10:17:31 +02:00
Nicolas Évrard
d14e82281d
Get name for wizards not linked to a model
...
Closes #14033
2025-09-14 15:27:16 +02:00
Nicolas Évrard
cb48d24489
Add cache on ir.action.wizard get_models and get_name
2025-09-14 15:25:23 +02:00
Nicolas Évrard
ace7be31be
Use the EXISTS operator when using the 'where' operator in Many2One
...
Closes #11935
2025-09-14 12:38:50 +02:00
Cédric Krier
15f2650954
Redact sensitive values from the log
...
Closes #14220
2025-09-09 15:17:31 +02:00
Nicolas Évrard
689473f50f
Make sure that the search order is predictable when either the limit or the offset is set
...
Closes #14169
2025-08-18 10:40:02 +02:00
Nicolas Évrard
77984124dd
Add a test to ensure that Model._order is predictable
2025-09-11 00:30:16 +02:00
Sergi Almacellas Abellana
e73ff8af6a
Remove the empty notebook pages caused by field access
...
Closes #14157
2025-08-31 11:04:16 +02:00
Lars Wuerfel
26d931f238
Correct typos in the report documentation
2025-07-23 10:44:12 +02:00
Cédric Krier
20109ca332
Fix highlight syntax of board documentation
2025-06-26 19:05:43 +02:00
Cédric Krier
d33a0e9cb0
Remove metadata columns from tutorial of table query
...
Since 5095928ec38a those columns are added automatically.
2025-05-10 19:38:24 +02:00
Cédric Krier
411392bb09
Use constant-time to compare session key
2025-08-07 20:55:20 +02:00
Cédric Krier
dec047d676
Do not check www.gnu.org URLs
...
The server has a rate limit that the CI reaches.
2025-08-01 09:39:50 +02:00
Nicolas Évrard
65c93a338e
Use the canonical name of the test timezone
...
Closes #14170
2025-08-18 11:35:25 +02:00
Cédric Krier
16cbeeee2c
Use rfc role in documentation and ignore checking datatracker.ietf.org links
2025-05-03 17:10:58 +02:00
Cédric Krier
acc9c6972a
Add test to enforce One2Many Function field to have a setter
...
The clients may always try to write on One2Many even if it is readonly so such
Function field must have a setter.
Closes #8739
2025-06-17 15:02:55 +02:00
Cédric Krier
c5600c0f9b
Set multiple to some buttons on list view
2025-06-16 12:24:16 +02:00
Cédric Krier
b88d9004ef
Replace menu entry for upgrade module wizard by multiple button on module list
2025-06-13 17:40:28 +02:00
Cédric Krier
9058fc381d
Simplify buttons of module
2025-06-13 17:41:01 +02:00
Cédric Krier
e994731e14
Add multiple attribute to the buttons in the tree view
...
Closes #14072
2025-06-13 17:34:39 +02:00
Cédric Krier
b0f7d45254
Manage readonly wizard
...
readonly wizards do not check for write access on the active model.
Closes #13989
2025-04-29 09:31:05 +02:00
Cédric Krier
ee76d45fd8
Add test for methods of buttons
...
Closes #14121
2025-07-15 17:45:56 +02:00
Cédric Krier
d0332b3852
Set default values for fields of button_change decorator
...
Closes #14120
2025-07-15 17:37:59 +02:00
Nicolas Évrard
8d7279778b
Get ir.model Model from the pool
...
Closes #14131
2025-07-23 18:01:24 +02:00
Cédric Krier
750bfe2045
Do not convert integer value from binary function field
...
Binary fields can have two types bytes and integer when only the size is
requested. So integer value should not be converted to bytes.
Closes #14100
2025-07-03 23:10:30 +02:00
Cédric Krier
8ce69b1055
Use only foreign Many2One for domain on field for field access
...
The Char fields are not filled when using the foreign Many2One so the domain
must rely only on the foreign Many2One.
Closes #14081
2025-06-17 15:25:09 +02:00
Cédric Krier
380f7c6941
Slugify filename of email attachment
...
This gives more chance for the email to not be blocked as some mail server
implement restrictions on the filename of attachment.
Closes #14074
2025-06-15 12:19:39 +02:00
Cédric Krier
1fc8fa8809
Use chain to iterate over records to create and to write
2025-06-29 19:14:36 +02:00
Cédric Krier
dbb65081b0
Do not restore values for created records when exception is raised when saving
...
Once a record has been created, the id is modified which change its hash value
such that it can not be found anymore.
But as the creation succeeded (and only the write part has failed) we can just
restore the values to None.
Closes #14093
2025-06-29 19:13:42 +02:00
Cédric Krier
4238add5e3
Do not set Content-Length header to data response
...
Since version 0.8 werkzeug set the header automatically by default.
Closes #14010
2025-06-21 23:02:52 +02:00
Nicolas Évrard
69690daa2c
Fix a typo introduced in 71bad2d56f96
2025-07-02 01:02:22 +02:00
Cédric Krier
b63c28503c
Use recursive CTE for child/parent-of clause when the number of ids is too large
...
The path or MPTT queries are faster than the recursive CTE only when the number
of OR-ed clauses does not require more index scan than the CTE.
This number can be approximate to the depth of the tree.
Log10 is used to estimate the depth of the tree if it has an average of 10
children per node.
Closes #14078
2025-06-16 13:48:00 +02:00
Cédric Krier
ea1393bb84
Reduce the clauses of child-of using common roots
...
For the path, if the longer path contains another searched path, we can ignore
it.
For MPTT, if a range is inside a larger range, we can also ignore it.
Closes #14064
2025-06-10 23:22:01 +02:00
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
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
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
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
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
0ad9570070
Document preferred languages order for get_email
2025-05-23 17:13:37 +02:00