Commit Graph
5631 Commits
Author SHA1 Message Date
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