Cédric Krier
7d040c8cb9
Check button states when testing access
...
Closes #14591
2026-02-09 18:13:34 +01:00
Cédric Krier
fa9e60bb9c
Do not use Literal to count in SQL
...
Following ce972acc1cf2, this conversion was missing and prevent psycopg 3 to
determine the data type.
2026-03-24 18:25:19 +01:00
Nicolas Évrard
475e68df76
Remove the files of Binary fields from the Filestore
...
Closes #13861
2026-03-24 09:30:17 +01:00
Nicolas Évrard
b44c004825
Add deletion on FileStore
...
We're identifying each file in the filestore with a UUID4 in order to avoid
collisions. It has the drawback that we will store twice the same file but on
the other hand we can now remove each file from the store as there is no more
collision.
In order to identify files named previously we're using textual representation
of the UUID with the hyphens. Previous IDs do not have hyphens.
2025-01-09 18:53:09 +01:00
Cédric Krier
a88c575fcc
Retry to dump status later after unexpected exception
...
Closes #14678
2026-03-16 10:30:54 +01:00
Cédric Krier
145ce8f2f8
Make retrieval of metadata via build really quiet
2026-03-22 09:07:23 +01:00
Cédric Krier
5310b00496
Remove grouped_slice per IN_MAX
...
The usage of ``grouped_slice`` without size is deprecated since `=
ANY(ARRAY[%s])` is used for PostgreSQL and SQLite is used only for tests.
The ``Database.IN_MAX`` is replaced by ``backend.MAX_QUERY_PARAMS`` which is a
more accurate limit of the backend.
The SQLite limits is indeed SQLITE_MAX_EXPR_DEPTH so we use a empirical value.
2026-03-22 21:05:26 +01:00
Cédric Krier
0da67bce21
Deprecate reduce_ids for SQL_OPERATORS['in']
...
Closes #12989 #13897
2025-12-26 10:57:44 +01:00
Cédric Krier
7b231e74e9
Use array as IN operators
2025-12-26 10:58:30 +01:00
Cédric Krier
6b4218f8dd
Use psycopg_pool resize to clear unused database connections
2025-11-25 15:05:02 +01:00
Nicolas Évrard
299dd6b1c9
Update to Psycopg 3
...
Closes #10901
2026-03-22 19:53:32 +01:00
Cédric Krier
7fb5a4a3de
Do not use Literal to count in SQL
...
The * is not actually a parameter of the aggregate function so it is better to
let python-sql manage it with its default value.
2025-12-25 09:47:23 +01:00
Nicolas Évrard
4ab7069dab
Delegate the notifications handling to the backend
2025-11-25 13:27:24 +01:00
Cédric Krier
dada23bcb5
Do not install mrml on Python version greater than 3.14
...
See https://github.com/jdrouet/mrml/issues/597
2026-03-21 12:07:21 +01:00
Cédric Krier
d3c8a8e55d
Add support for Python 3.14
2026-03-21 09:02:25 +01:00
Cédric Krier
42b0fc7061
Remove support for Python 3.9
2026-03-21 08:48:06 +01:00
Cédric Krier
e15c0b7d7a
Upgrade to pyproject using hatchling as build-system
2026-03-21 18:46:34 +01:00
Cédric Krier
199408510a
Store column widths per occurrence
...
Closes #14645
2026-03-03 19:48:24 +01:00
Cédric Krier
2eafdd5564
Explicitly close sqlite connection
...
The context manage on Connection only commit the connection but it should still
be explicitly closed.
Closes #13859
2026-03-05 08:10:46 +01:00
Cédric Krier
33856ac2a1
Add model attribute to table handler
2026-03-14 18:12:02 +01:00
Cédric Krier
2b626f1708
Document history attribute of table handler
2026-03-14 18:11:34 +01:00
Maxime Richez
72efd7a9de
Rename also columns in history table when renaming columns
...
Closes #14561
2026-03-14 18:09:29 +01:00
Cédric Krier
c0396ab1db
Define Function field with column_ as searchable and sortable
2026-02-25 09:08:24 +01:00
Cédric Krier
e4c5d7c575
Add model and field Many2One on translations
2026-02-24 11:35:00 +01:00
Cédric Krier
fa9749fe48
Support fmany2one based on Function fields
2026-02-24 11:34:42 +01:00
Cédric Krier
d494939b5f
Use label Name for the name of translation
2026-02-24 09:19:37 +01:00
Cédric Krier
a81f79a497
Use length of the name field of translation as fallback of substring
...
Closes #14623
2026-02-24 09:19:16 +01:00
Cédric Krier
126d71063c
Do not insert values for Function fields in history table
...
Since 49748579c23a Function fields can have an SQL type so it is not enough to
distinct the columns that must be inserted as first record in history table.
Closes #14636
2026-03-02 09:55:54 +01:00
Cédric Krier
b06d0b3c7e
Remove internal name from record name of model field
2026-02-18 14:24:35 +01:00
Cédric Krier
4d0070784b
Search for unused view XML recursively
2026-02-27 13:30:52 +01:00
José Antonio Díaz Miralles
72c809e6f6
Fix typo in menuitem handler docstring
...
Closes #14655
2026-03-05 19:13:11 +01:00
Cédric Krier
3d41e8c42b
Order cron logs by descending ID
...
User is mostly interested in the last runs.
2026-02-27 21:41:52 +01:00
Cédric Krier
e37a2be600
Use relation name to retrieve the invalid domain of Reference field
...
Closes #14603
2026-02-12 12:58:09 +01:00
Cédric Krier
071d5e4fef
Add timestamp field on ModelStorage for last modified
...
Closes #14202
2026-02-25 09:04:03 +01:00
Cédric Krier
62bc81360b
Filter dictionary mapping of model names by classes
...
Closes #14601
2026-02-12 11:14:07 +01:00
Cédric Krier
57aabfb14e
Support Function field without getter but SQL expression
...
Closes #4369
2026-01-30 18:06:45 +01:00
Cédric Krier
52326c4b08
Allow customizing SQL expression of field
2026-01-29 15:24:10 +01:00
Cédric Krier
dfe58aa125
Use tables and Model as arguments for sql_column of the Field
2026-01-29 12:42:56 +01:00
Nicolas Évrard
cceb3e81d9
Use always fork method to test process local
...
We can not rely on the default process method of multiprocessing module.
Closes #14579
2026-02-09 17:33:32 +01:00
Cédric Krier
86bc62d126
Display and order by create date/time in error list
2026-01-31 17:22:42 +01:00
Cédric Krier
16ca654159
Allow the UserError and UserWarning exceptions to be raised when testing the buttons
...
Closes #14539
2026-01-22 23:15:21 +01:00
Cédric Krier
14088e1de3
Replace extension separator by underscore in report name used as temporary file
2026-01-28 10:39:07 +01:00
Cédric Krier
d7b80ff2ee
Add support for basic authentication for user application
...
Closes #14528
2026-01-21 14:55:49 +01:00
Cédric Krier
e7fa8e4461
Add environment variable to enable development mode
...
Closes #14530
2026-01-21 19:12:34 +01:00
Cédric Krier
bddbc06222
Do not check for missing parent depends when the One2Many is readonly
...
Closes #14526
2026-01-20 17:31:26 +01:00
Nicolas Évrard
a56b42b66c
Rename history sequence when the table is renamed
...
Just like in ff68233bdeb1 we need to also rename the history sequence name as
the migration to identity relies on the sequence name including the table name.
Closes #14598
2026-02-10 18:21:47 +01:00
Cédric Krier
2989e66585
Lazy import html2text and weasyprint
2025-12-11 17:57:01 +01:00
Cédric Krier
b034e23e91
Support the conversion of MJML reports to HTML
...
Closes #12597
2025-12-11 16:31:51 +01:00
Cédric Krier
a5bb7d8835
Remove old field names when updating model data
...
Closes #14511
2026-01-17 00:55:00 +01:00
Cédric Krier
b57bedf337
Support clause on multiselection field with operator in and value None
...
Closes #14520
2026-01-19 16:40:01 +01:00