Nicolas Évrard
1e5fa01e63
Add launch_action helper function
2025-03-07 19:06:04 +01:00
Nicolas Évrard
1f414b20e5
Refactor _convert_action to use keyword-only arguments
2025-03-20 11:37:51 +01:00
Nicolas Évrard
1168597b27
Handle errors when processing wizard steps
...
Closes #13906
2025-02-13 18:35:32 +01:00
Nicolas Évrard
c9072f993e
Use an SSL Context when making a request to check the server version
...
python 3.13 removed the cafile keyword argument thus we have to use an SSL
Context to use those
Closes #13772
2024-12-23 11:56:35 +01:00
Nicolas Évrard
2ab12e8b40
Don't overflow select tag arrow with the option text
...
Closes #13765
2024-12-19 16:15:39 +01:00
Nicolas Évrard
6f77a527b5
Add missing dot on the form-binary class selector
...
Closes #13766
2024-12-19 17:08:28 +01:00
Nicolas Évrard
05abf8ef2b
Do not set the Group's context when setting a default group on xxx2Many
...
The context of the field is dynamic so evaluating it only once when creating
the group make it static.
Also the group is already evaluating the parent field context on the fly when
its context is retrieved.
Closes #13726
2024-12-16 10:29:26 +01:00
Nicolas Évrard
294f2d1474
Allow searching on subdivision shorter code
...
When searching with a pattern, the shorter code is also tested.
Closes #13564
2024-12-15 12:53:34 +01:00
Nicolas Évrard
ffeeb1cdfe
Parse child of group tags at the end
...
This allows to preserve the order of the state widgets in the form which is
important when evaluating the emptiness of a group
Closes #13622
2024-11-30 10:24:52 +01:00
Nicolas Évrard
35fb76f754
Add tests on ir.model and ir.model.field write calls on translated fields
2024-09-25 00:12:46 +02:00
Nicolas Évrard
be0e2e691a
Update only the actual ir.model and ir.model.field translations
...
Closes #13546
2024-10-01 16:45:46 +02:00
Nicolas Évrard
87ce09a7c7
Deactivate only the class buttons in x2M widgets
...
Closes #13530
2024-09-19 11:09:47 +02:00
Nicolas Évrard
6907ea5b7b
Add warning when using implicit rec_name target for relational domain
2024-09-07 00:39:55 +02:00
Nicolas Évrard
618f20d453
Return the display promise when creating a new record from the screen
...
This is necessary because otherwise it could result in concurrent update of the
models of the models used by the underlying widgets.
Closes #13545
2024-09-24 16:37:50 +02:00
Nicolas Évrard
afd48ab128
Add method to the backend to estimate number of rows
...
Such that each backend can rely on its own statistics.
Closes #13118
2024-09-28 18:02:31 +02:00
Nicolas Évrard
5cbedc1afd
Add tests on PYSON default value
2024-09-27 15:30:47 +02:00
Nicolas Évrard
4a8300f0b2
Handle PYSON default value in Eval for repr
...
Closes #13533
2024-09-19 16:16:20 +02:00
Nicolas Évrard
aa56b367d2
Raise the original RPCException when handling it in RPCProgress
...
Closes #13385
2024-09-08 17:25:20 +02:00
Nicolas Évrard
428825ac6a
Use JSONB to store MultiSelection field by default
...
Closes #11513
2024-09-02 11:25:49 +02:00
Nicolas Évrard
1fbcf70283
Apply the function field searcher transformation before doing any optimization
...
This allows to use the OR-to-UNION optimization if the searcher returns only
local columns.
2024-06-27 19:15:07 +02:00
Nicolas Évrard
02f054bd26
Check the return type of Function fields searchers
2024-06-28 15:38:46 +02:00
Nicolas Évrard
6512d36bd1
Rely on the tables dict to choose when to apply the OR-to-UNION optimization
...
The dict changes in size if non-local columns are used to order the search
results.
Closes #13346
2024-06-13 18:57:14 +02:00
Nicolas Évrard
a11522ffd6
Externalize the method to apply sorting on order tuples
2024-06-27 18:09:07 +02:00
Nicolas Évrard
fab9093188
Fill default values of record in exception in a single loop
2024-08-31 14:01:36 +02:00
Nicolas Évrard
5e3daac1b8
Do not override id as default values of failed read
...
Closes #13331
2024-08-31 12:19:20 +02:00
Nicolas Évrard
e2e520b280
Raise non processed exceptions when they occur during load of records
...
It is needed to not bypass catch_error decorator.
Closes #13332
2024-08-31 11:34:20 +02:00
Nicolas Évrard
53bb613564
Implement __deepcopy__ on ImmutableDict
...
Closes #13408
2024-07-19 19:04:01 +02:00
Nicolas Évrard
93a95bbf4e
Allow resizing the attachment preview panel
...
Closes #13234
2024-07-11 10:21:11 +02:00
Nicolas Évrard
84f987b673
Execute user login's actions sequentially
...
Closes #13074
2024-03-05 16:37:41 +01:00
Nicolas Évrard
eecda83f1d
Add a promise to denote the state of the wizard
2024-04-09 18:48:08 +02:00
Nicolas Évrard
c8a2e7ad7a
Return a promise in Sao.Action.exec_report
2024-03-05 16:36:00 +01:00
Nicolas Évrard
68360837be
Use a grid to display dictionaries
...
Closes #13120
2024-06-30 01:39:08 +02:00
Nicolas Évrard
30eb297753
Use move_to_end to update key recency of memory cache
...
This is faster than popping and setting the item.
2024-06-19 00:40:38 +02:00
Nicolas Évrard
be0ea9e6b7
Update visible columns at the end of tree's redraw
...
Updating the visibility of all the cells at once allows the browser to compute
the style and layout once instead of once per row.
Closes #13200
2024-04-04 20:56:21 +02:00
Nicolas Évrard
0cd6aaf298
Sort X2M fields according to the order
...
Since 40615f3e3e8e .browse calls have been replaced by a .read one but .read
does not respect the order of the ids.
Closes #13288
2024-05-30 19:30:14 +02:00
Nicolas Évrard
d3e9f3ac5f
Use read to fetch reverse field value of x2M field in field get
...
This avoid to create instances for origin or target just to get their id.
Closes #13245
2024-05-25 12:59:45 +02:00
Nicolas Évrard
56d580ae5b
Optimize instance creation in ModelStorage.__getattr__
...
The kwargs and pysoned context are put in a cache to avoid rebuild them for
each similar instance.
Closes #13245
2024-05-25 12:50:02 +02:00
Nicolas Évrard
4df7a36de3
Set the language when parsing XML files
2024-04-22 10:42:28 +02:00
Nicolas Évrard
370e2f3b41
Use English when fetching records from the database
...
Closes #13204
2024-04-18 19:00:34 +02:00
Nicolas Évrard
907bcafd64
Fix typo in the name of the filesystem caching class of the XML parser
2024-04-19 15:40:23 +02:00
Nicolas Évrard
5d2e5f9329
Use the catch_warnings context manager when importing relatorio
...
Using warnings.resetwarnings also reset the warnings filter set from the
environment variable which makes working on fixing warnings more difficult.
2024-05-16 21:19:17 +02:00
Nicolas Évrard
a73b28ce96
Check for the existence of a screen before restoring size of wizard's dialog window
...
Closes #12944
2024-04-13 17:42:02 +02:00
Nicolas Évrard
026ae5bff4
Use PYSON's Bool evaluation for PYSON's Not evaluation
...
Closes #13096
2024-03-11 16:35:39 +01:00
Nicolas Évrard
3e06f5043a
Instantiate PYSON.Bool expression with new from PYSON.Not instances
...
Closes #13177
2024-03-11 12:43:53 +01:00
Nicolas Évrard
b346fc23fb
Hide notebooks and groups when they are empty
...
Closes #13070
2024-03-04 17:14:04 +01:00
Nicolas Évrard
80ffcdea53
Read xxx2Many fields using the dotted notation
...
Closes #12856
2024-04-07 17:39:13 +02:00
Nicolas Évrard
b973f371c8
Add a contextual read limit for related fields
2024-04-08 13:13:14 +02:00
Nicolas Évrard
c3a7758c5c
Remove the switch-page hack on the notebook
...
The hack isn't used anymore anyway as the test on self.view.widget is always
True since e8ffb2b2e722
2023-12-20 22:00:13 +01:00
Nicolas Évrard
2f29a24c9c
Stop loading fields definition already known by the field
2023-12-18 19:19:39 +01:00
Nicolas Évrard
a442953776
Use a pure CSS solution to compute the container view height and width
...
Closes #12983
2024-04-06 18:30:01 +02:00
Nicolas Évrard
00f81cf62f
Limit search for NULL rows when adding a NOT NULL constraint
2024-03-05 16:08:19 +01:00
Nicolas Évrard
a12ce3cdc2
Apply overflow value to every parent group of node
...
Closes #12960
2024-01-26 12:40:14 +01:00
Nicolas Évrard
5c36f4ddee
Commit when all modules are upgraded
...
Closes #12542
Closes #12518
2023-10-24 20:27:14 +02:00
Nicolas Évrard
a466db9eed
Create table as they are finally set up
...
If the base tables are not in their final set up the update process will lock
them and it could result in a deadlock when the ir_cache table is used by the
Cache
2023-10-25 18:11:31 +02:00
Nicolas Évrard
75d1af9f84
Allow creating index concurrently
2023-09-27 17:20:20 +02:00
Nicolas Évrard
9ef3a0aafa
Allow skipping index creation
...
Closes #12596
2023-09-27 17:15:44 +02:00
Nicolas Évrard
e66e35a0bd
Sort correclty eager and lazy fields when calling Form.display
...
Closes #12890
2023-12-22 14:48:49 +01:00
Nicolas Évrard
c5e5ddf2a1
Mark M2M records for addition in parent after they're saved
...
Closes #12832
2023-12-14 17:54:27 +01:00
Nicolas Évrard
8c82dccd9f
Filter history using SQL
...
Closes #12687
2023-10-29 01:31:05 +02:00
Nicolas Évrard
2f2f15e49b
Create indexes on the history table
...
Closes #12686
2023-10-30 16:37:40 +01:00
Nicolas Évrard
67fe5021ba
Do not prevent to fill the cache of fields with a datetime_field set
...
The value of those fields do not depend on the value of the datetime_field,
only the value of the remote fields read.
Closes #12715
2023-11-22 01:29:47 +01:00
Nicolas Évrard
32fa5569ad
Do not prevent to fill the cache of fields with a context
...
The value of those fields in the database do not depend of the context and
Function fields getter depending on context are tested separately.
Closes #12715
2023-12-12 22:48:01 +01:00
Nicolas Évrard
59b686b264
Report DatabaseOperationalError as an HTTP Service Unavailable error
...
Closes #12736
2023-11-13 10:42:37 +01:00
Nicolas Évrard
e084ca5d66
Use a standard reporting mecanism for all HTTP errors
2023-11-13 10:40:21 +01:00
Nicolas Évrard
f756c5f2e3
Insert new keys in dictionary while respecting the key sequence
...
Closes #12750
2023-11-14 10:20:07 +01:00
Nicolas Évrard
300bad3f6b
Assert that only one thread is active in trytond.application
2023-11-22 01:37:11 +01:00
Nicolas Évrard
50c102a2e5
Do not start threads before the end of the evaluation of trytond.application
...
When uwsgi forks workers it can happen that python execute the code from one of
the launched thread (eg: the cache listener or trytond-status). In that case
python will keep executing the thread and never switch to the main thread. Thus
preventing to listen for incoming connections.
Closes #12758
2023-11-16 23:37:19 +01:00
Nicolas Évrard
e1e6492a40
Add a test on search of historical records
2023-11-23 17:56:11 +01:00
Nicolas Évrard
bd5e4d6714
Filter history lines matching search when they're too old
...
Closes #12687
2023-11-03 19:07:11 +01:00
Nicolas Évrard
02650a0ffd
Share record's _ids when saving new records
...
Closes #12657
2023-11-11 13:48:16 +01:00
Nicolas Évrard
a42cb450f7
Add timeout parameter on RPC calls
...
Closes #11293
2023-10-08 00:08:52 +02:00
Nicolas Évrard
a09de147a6
Add timeout parameter on RPC calls
...
Closes #11293
2023-10-08 00:08:52 +02:00
Nicolas Évrard
3f8c74138f
Reset state of records when a sibling is in exception on node collapse
...
When loading a record raises an error, the record stays in error forever.
With the node resetted to an unloaded state another opening of the parent node
will trigger a reread which solves the transient errors
Closes #12463
2023-08-14 17:57:19 +02:00
Nicolas Évrard
583d911bc8
Use grid layout to implement form container in sao
...
Closes #11966
2023-10-02 12:54:03 +02:00
Nicolas Évrard
d1d2437daf
Use multiple jobs to dump and restore a test database
2023-09-16 12:36:43 +02:00
Nicolas Évrard
c32c645483
Support database cache as template for tests on PostgreSQL
2023-10-02 11:16:27 +02:00
Nicolas Évrard
3d204e96ce
Stop the edition of Selection fields in editable Treeviews on focus-out
...
Closes #12308
2023-06-05 19:09:46 +02:00
Nicolas Évrard
42cdc26e23
Preserve order of inserted column names on multiple insertion
...
The order of column names must be the same as the list of values to recompose
a correct dictionary of values when raising error message.
Closes #12552
2023-09-10 11:23:19 +02:00
Nicolas Évrard
fbc05e3d22
Use source of translation in the unique_key of Translation objects
...
Closes #12467
2023-08-11 18:40:32 +02:00
Nicolas Évrard
71e9eb854e
Reset search offset when domain has changed
2023-08-14 22:33:15 +02:00
Nicolas Évrard
82ae036d3a
Add a canonicalize function for domains
2023-08-14 22:32:14 +02:00
Nicolas Évrard
99211dd03d
Activate EcmaScript 6 compatibility for tests
2023-06-15 22:30:30 +02:00
Nicolas Évrard
f8de1d23c6
Replace NEXTVAL call by IDENTITY for database initialisation
2023-08-14 21:26:59 +02:00
Nicolas Évrard
fe44d98d76
Move sleep loop introduced in a32b84d96649 to prevent deadlock to tests
...
In this changeset we fix an issue with testing.
When using the listener for cache invalidation it results into the database
lock used by the pool that is acquired twice. Once when calling Pool.init ;
once when the transaction is started which calls Cache.sync which in turn calls
Pool.refresh and finaly Pool.stop. It tries to acquire again the re-entrant
lock (but it cannot because it's another thread).
Closes #12457
2023-08-08 15:33:33 +02:00
Nicolas Évrard
6893789faa
Rename function with_inactive_records in documentation
...
The commit e6c72b1f23e7 added the function but the documentation used another
name
2023-06-13 13:39:22 +02:00
Nicolas Évrard
768e44bc8a
Return period end date as default date for account move
...
When period is before today, the default date of the account move must be set
with the period end date.
Closes #12408
2023-08-02 22:05:22 +02:00
Nicolas Évrard
99ded91b41
Clear caches after commit when installing modules
...
A call to clear_all is required after the commit in order to ensure that the
transaction uses an empty cache from this point. clear_all is not required to
prevent the deadlock on ir.cache because the rollback ensures that nothing
changed from the point of view of this transaction.
Close #12343
2023-07-14 18:50:44 +02:00
Nicolas Évrard
0918f6f425
Allow to use width attribute in button columns of tree views
2023-07-05 10:08:42 +02:00
Nicolas Évrard
e445dac393
Transfer configuration, profiles and plugins from previous version
...
Closes #11016
2023-02-28 16:37:15 +01:00
Nicolas Évrard
e77efcc885
Do not reset view when switching to a tabbed wizard form
...
Closes #12317
2023-05-11 15:39:34 +02:00
Nicolas Évrard
75facbaf4d
Do not set previous record in selection changed callback when it is destroyed
...
Closes #12357
2023-06-27 14:59:33 +02:00
Nicolas Évrard
91ed1cddc1
Use indexes and cache to make search on amounts faster
...
This optimization relies on the idea that few invoices should stay in the
states where the amount cache fields are empty. It splits the search query in
two parts: one on the cached fields, the other on the computation with the
invoice lines (and tax lines when it applies).
Closes #11919
2023-05-27 09:53:47 +02:00
Nicolas Évrard
d894c1f442
Add cache on invoice's amounts
...
Having cache on the invoice's amounts will allow to make search more efficient
for #11919
2023-05-25 16:21:49 +02:00
Nicolas Évrard
120fe19598
Set right XML ID on message about amount to pay
2023-05-10 17:27:35 +02:00
Nicolas Évrard
ba66fb9c6d
Set the score to 0 for HashTranslator in PostgreSQL when include is specified
...
For now indexes using the HASH method do not support the use of included
columns on Postgres.
Closes #12294
2023-05-27 17:12:48 +02:00
Nicolas Évrard
4f28d7ac39
Shorten arguments when logging
2023-05-03 23:13:42 +02:00
Nicolas Évrard
3e6b8bf54d
Fill the empty spaces when computing alignment while expanded
...
Closes #12141
2023-03-14 10:26:08 +01:00
Nicolas Évrard
4301c56033
Drop default on id column of history tables
...
The migration introduced in baa87cf1a343 would fail because previous migration
would have wrongly set a default value in id column of history tables
Closes #12186
2023-04-05 19:36:27 +02:00
Nicolas Évrard
23304fc2e0
Handle string value set from domain inversion in MultiSelection fields
...
Closes #12181
2023-04-03 17:02:51 +02:00
Nicolas Évrard
5179e6cd40
Insert multiple rows at once
...
Closes #12106
2023-03-02 22:43:30 +01:00