unpaismejor
c9a27f343a
Integrate standalone Dominican Spanish catalogs
...
Add es_DO to the Tryton core, every server module and SAO.
2026-10-13 20:16:52 -04:00
José Arturo García
9faa1dd9b5
feat(i18n): add standalone Dominican Spanish catalogs
2026-10-13 20:14:45 -04:00
Cédric Krier
881f17cce7
Increase version number
...
--HG--
branch : 8.2
2026-10-06 13:53:41 +02:00
Cédric Krier
efda6d465e
Add tag sao-8.2.1
...
--HG--
branch : 8.2
2026-10-06 13:53:12 +02:00
Cédric Krier
c05e118bcb
Prepare release sao-8.2.1
...
--HG--
branch : 8.2
2026-10-06 13:53:11 +02:00
Cédric Krier
cb6804c1e1
Test if parent is not null before testing classList
...
Closes #15152
(grafted from 45cf3086a1f63732e3298845a1fa183375ec76b4)
--HG--
branch : 8.2
2026-10-06 13:12:24 +02:00
Cédric Krier
60c5684c27
Increase version number
...
--HG--
branch : 8.2
2026-10-06 01:54:52 +02:00
Cédric Krier
77a34e95e8
Create branch 8.2
...
--HG--
branch : 8.2
2026-10-06 01:41:53 +02:00
Cédric Krier
64720dddb6
Add tag 8.2.0
2026-10-06 00:56:58 +02:00
Cédric Krier
e011222dc3
Prepare release 8.2.0
2026-10-06 00:56:37 +02:00
Cédric Krier
c17e032cb3
Update translations [skip ci]
2026-10-05 23:51:09 +02:00
Cédric Krier
197a988ef1
Ensure readonly fields are copied with the default value
...
Since 6c611c520744, the readonly of field is enforced so the copied value of
readonly field must be the default value to skip the check.
2026-10-05 23:21:28 +02:00
Cédric Krier
275cf3aadc
Allow to create any action from the UI
...
The action field must not be used to create the main action and the inherited
fields from the parent action must not be set a second time.
Closes #15149
2026-10-05 18:21:13 +02:00
Cédric Krier
0cc22fcd25
Use default value when copying "updated" fields of stock move
...
Since 6c611c520744, the readonly of field is enforced so the copied value of
boolean field must be the default value for readonly fields.
Closes #15148
2026-10-05 18:03:10 +02:00
Cédric Krier
5a85ab48a8
Use default value when copying to_invoice from purchase
...
Since 6c611c520744, the readonly of field is enforced so the copied value of
boolean field must be the default value for readonly fields.
Closes #15147
2026-10-05 16:41:04 +02:00
Cédric Krier
2648f5a8cb
Move tests about stock period closed in scenario
...
4ab7b9eb0ef5 added a scenario which could replace the checks in test_period.
2026-10-05 13:03:52 +02:00
Maxime Richez
4ee75ae44e
Allow draft and staging moves to be created and modified in the closed period
...
Closes #15056
2026-10-05 12:54:17 +02:00
Cédric Krier
88d8e9baeb
Clear stock_conversion changelog prior to release
2026-10-04 16:48:54 +02:00
Cédric Krier
9583afa251
Update to Stripe API version 2026-09-30.endive
2026-10-04 15:18:42 +02:00
Cédric Krier
d8aa48dbf0
Catch all SubprocessError and OSError when converting report
...
The subprocess run may raises one of those exceptions.
Closes #15141
2026-10-02 23:00:51 +02:00
Nicolas Évrard
f19ed887d2
Do not go further than the modal window when computing the scrollable ancestors
...
Closes #15143
2026-10-02 16:07:28 +02:00
Cédric Krier
c24235f075
Prevent editing inputs and outputs of production without a company
2026-10-02 11:12:28 +02:00
Cédric Krier
89708c2257
Fallback to 0 when cost price is empty for product of production
...
Closes #15138
2026-10-02 11:11:48 +02:00
Cédric Krier
2d9a773212
Add test scenario for stock supply production with phantom BoM
...
This tests that Production.set_moves supports the phantom BoM for #14908
2026-10-02 10:49:57 +02:00
Cédric Krier
31ee962cd1
Support phantom input and output when setting moves to production
...
Closes #14908
2026-10-02 10:48:48 +02:00
Cédric Krier
e9b1e5636e
Validate stdnum code before compacting and formatting it
...
Closes #15017
2026-09-30 18:30:11 +02:00
Cédric Krier
e1b241e983
Show price and currency fields on stock move when they are not required but still filled
...
This is to let the user clear the invalid fields from past moves.
Closes #14919
2026-10-01 09:54:29 +02:00
Cédric Krier
b7ed652269
Invert editable expression of the accounting field on product category
...
Closes #15137
2026-10-02 10:38:57 +02:00
Cédric Krier
35acbded8e
Trim trailing spaces in UNCL7161 codes
...
Closes #15135
2026-10-01 14:53:03 +02:00
Cédric Krier
49659590a8
Do not set note nor notification as readonly if id is 0
...
Closes #15130
2026-09-30 09:37:51 +02:00
Cédric Krier
3042288aa9
Make type and action fields readonly only after creation
...
The user needs to be allowed to set those fields when creating or copying an
action.
2026-09-30 09:35:55 +02:00
Cédric Krier
4196231fa8
Ensure street format is stripped as empty when substituted with empty values
2026-09-29 17:17:01 +02:00
Cédric Krier
e56498d0b6
Use only stripped char in address format
...
Closes #15107
2026-09-29 17:15:28 +02:00
Cédric Krier
10c4a8d62d
Use total package weight and volume as shipment weight for PDP
...
The shipment weight must not be less than the sum of parcel weights.
Closes #15121
2026-10-01 15:30:57 +02:00
Cédric Krier
7b809a4bf9
Do not normalize Decimal value in XML document
...
Some third party expect to always have the trailing 0 in the format of currency
amount. So the amount coming from the database must already have the right
precision to format.
Closes #15085
2026-09-28 11:26:56 +02:00
Cédric Krier
86c51cd9da
Do not make buttons read-only based on groups for administrator users
...
Since 6ebedcf8826e administrators no longer have groups, disabling buttons
based on groups should be skipped for administrators.
Closes #15134
2026-10-01 12:29:05 +02:00
Cédric Krier
2f88ea7830
Escape arguments of report convert command
...
Closes #15035
2026-09-30 09:34:18 +02:00
Cédric Krier
c2478a5626
Escape title and text when rendering HTML editor
...
Closes #15032
2026-09-30 09:39:21 +02:00
Nicolas Évrard
f4372108c2
Compute the minimal width of a treeview on display as it's done when parsing
...
Closes #15094
2026-10-01 15:32:58 +02:00
Cédric Krier
5a7e5d0452
Do not translate Factur-X profiles
2026-09-30 09:55:32 +02:00
Cédric Krier
a558dbffb1
Fix typo in help text of default Factur-X profile
2026-09-30 09:55:20 +02:00
Cédric Krier
bb79d8029f
Sort advance payment invoices on Function fields of sale
...
Closes #15131
2026-09-30 13:00:48 +02:00
Cédric Krier
f219204eb6
Restrict account disbursement to account with disbursement type
...
It is needed to ensure that the account is valid when used on the invoice line.
Closes #15128
2026-09-28 14:55:24 +02:00
Adrià Tarroja Caubet
5c389c3bb5
Set Selection value synchronously when available
...
Restore the displayed value before Window.Form reads the widgets. Otherwise
rebuilding the selection may temporarily select its first option.
Closes #15117
2026-09-29 15:31:30 +02:00
Cédric Krier
efed804e60
Prevent the provisioning and overflowing locations from being a child of the order point location
...
Closes #12410 #14196
2026-09-22 09:47:03 +02:00
Adrià Tarroja Caubet
eb49ec2c47
Prevent form content from pushing chat sidebar outside viewport
...
Closes #15057
2026-09-03 15:28:26 +02:00
Adrià Tarroja Caubet
78eba2ada3
Set supplier direct debit only on supplier invoice lines
...
Closes #15058
2026-09-29 11:27:32 +02:00
Cédric Krier
86766d7210
Search company and employee by only party name
...
Closes #15095
2026-09-15 09:31:57 +02:00
Cédric Krier
9209b77b50
Do not search for device without cookie
...
The cookie is required so we already known that the result will be empty.
2026-09-23 12:11:17 +02:00
Cédric Krier
6db09c8d41
Remove unnecessary readonly on device cookie
...
It does not inherit from ModelView so it can only be accessed from the server
which makes the readonly useless.
2026-09-23 12:10:32 +02:00
Cédric Krier
9e3d8a79e1
Do not enforce check access when renewing device cookie
...
Closes #15118
2026-09-23 12:08:23 +02:00
Nicolas Évrard
174ea46d73
Lock the whole manipulation of the instance __dict__ when accessing attributes
...
Previously the lock was too fine grained and missed some concurrent access that
could result in AttributeError. We implement a slightly changed double-checked
locking technique to ensure a fast path when the initialization already
occured.
Closes #15122
2026-09-24 14:55:59 +02:00
Adrià Tarroja Caubet
f86eefe8ec
Filter receivable lines by mandate company
...
The receivable-with-mandate tab must use the company of each move line,
as payment processing does. A mandate of another company does not make
the line collectible.
Closes #15125
2026-09-28 12:19:07 +02:00
Cédric Krier
0bf6aa2d6b
Update documentation of web shop module
2026-07-29 18:13:09 +02:00
Cédric Krier
fb833c3252
Register opportunity report as report in tutorial
2026-09-28 18:10:16 +02:00
Cédric Krier
be8d9b9b76
Update cookiecutter-module README to pyproject
2026-09-28 18:08:42 +02:00
Lars Wuerfel
a613386b47
Update wizard tutorial to use tryton.cfg to register model
...
Closes #15089
2026-09-28 18:07:34 +02:00
Adrià Tarroja Caubet
0cb3f6a11e
Use super invoice grouping origins when extending sale for kit
...
Closes #15127
2026-09-28 17:47:13 +02:00
Cédric Krier
79d7e52abc
Make mandate required for SEPA direct debit reception
...
Closes #15093
2026-09-18 23:41:26 +02:00
Cédric Krier
c3ce50024c
Update test file of Winbooks export to include invoice line quantity in comment
...
Since 0795dca1e366 the record name of an invoice line include also the
quantity.
2026-09-28 08:34:05 +02:00
Cédric Krier
0e0533a659
Update oAuth 2.0 link to wikipedia for Chorus documentation
2026-09-27 09:39:51 +02:00
Cédric Krier
40bbc6a293
Update signup link to Eagle Doc
2026-09-27 09:39:06 +02:00
Cédric Krier
61ba7e961f
Add missing closing parenthesis in plural note label
2026-09-26 09:21:45 +02:00
Cédric Krier
039927d2ff
Fill direct debit payment with Stripe customer
...
Closes #15110
2026-09-18 23:35:40 +02:00
Cédric Krier
d056757bf3
Do not set non salable product on sale line when synchronise with Shopify
...
Closes #15096
2026-09-15 12:04:11 +02:00
Cédric Krier
27e0997a85
Replace typing of stock move origin by sale and purchase Function field
...
The origin may not always be a sale or purchase line like with product kit.
So such test must be extendable by other modules implicitly. This can be
achieved by using the Function fields.
Closes #15084
2026-09-10 14:22:34 +02:00
Cédric Krier
94695e5914
Test international shipping with UPS with and without different agent account
2026-09-17 17:10:34 +02:00
Cédric Krier
83087bbb97
Use BillThirdParty tag when requesting UPS to bill charge to customs agent
...
It is not allowed to use BillShipper or BillReceiver with different accounts
for different charges.
Closes #15105
2026-09-17 17:02:06 +02:00
Cédric Krier
ff14dc4889
Set on delete cascade on invoice of payment mean
...
Closes #15080
2026-09-10 10:02:49 +02:00
Cédric Krier
b977d880ce
Copy the field used for Function field
...
Closes #15079
2026-09-10 08:11:03 +02:00
Cédric Krier
79cdce9dda
Execute the lock_id when computing the running values of cron
...
Closes #15078
2026-09-09 18:55:29 +02:00
Cédric Krier
78769ac924
Add timeout for requests to Peppyrus API
2026-09-09 12:25:27 +02:00
Cédric Krier
eebd27fa79
Include the minimal input/output quantity the same day as input in the average quantity for the turnover
...
Such quantity should be accounted as staying 1 day in the warehouse otherwise
we may have more quantity leaving than the average stock.
Closes #15014
2026-09-24 09:27:50 +02:00
Nicolas Évrard
6fbd38e9d5
Use a minimal size of 2 for the select tag of MultiSelection widgets
...
Browsers based on Chromium renders the select as a "normal" select tag when
size=1. Such that the mousedown event is triggered twice which clear the
selection.
Closes #14529
2026-09-23 17:59:29 +02:00
Adrià Tarroja Caubet
39033df41c
Restrict direct debit reception to receivable accounts
...
Closes #15059
2026-09-03 15:56:17 +02:00
Cédric Krier
84dc3f95cf
Requires at least version 3.2 of psycopg
...
get_notifications uses the timeout parameter which was added only in version
3.2
Closes #15103
2026-09-16 14:37:43 +02:00
Maxime Richez
621fded36b
Allow sales configurations to create shipments in draft
...
Closes #15088
2026-09-23 09:46:34 +02:00
Adrià Tarroja Caubet
bada63ef4b
Allow trytond-admin to manage any user
...
Closes #13630
2026-09-22 18:32:04 +02:00
Cédric Krier
b82603d258
Add BOM tolerance warning on production inputs and outputs
...
Closes #14475
2026-09-22 17:49:00 +02:00
Cédric Krier
d4fddeb5a1
Include test PDF in document incoming OCR
2026-09-22 18:35:13 +02:00
Cédric Krier
b367f48a0d
Add document_incoming_ocr_eagle_doc module
2026-09-22 17:49:54 +02:00
Cédric Krier
12b779346b
Fix typo in setup documentation of Typless
2026-04-28 19:28:46 +02:00
Cédric Krier
77fc252ef1
Raise TyplessError from the original exception
2026-04-28 19:26:10 +02:00
Cédric Krier
8895920864
Move supplier invoice sample PDF from document_incoming_ocr_typless to document_incoming_ocr
2026-04-28 19:24:56 +02:00
Cédric Krier
03e6c04262
Manage disbursement on project
2026-09-22 15:20:38 +02:00
Cédric Krier
30711fc397
Set all grouping keys when creating invoice line for project
2026-06-02 11:50:58 +02:00
Cédric Krier
8a5090c92f
Add documentation for project configuration
2026-06-19 18:55:47 +02:00
sbend
a160de628a
Use the summary as the fallback record name for lines without a product
...
Closes #14198
2026-09-22 12:35:06 +02:00
Cédric Krier
5ea8b1f784
Add lot to POS line
...
Closes #15109
2026-09-21 15:28:29 +02:00
Maxime Richez
8690e9aa07
Add stock_conversion module
...
Closes #14806
2026-09-22 11:13:55 +02:00
Cédric Krier
3d29395a19
Add production prefix to label of cost price fields for production
2026-09-18 10:54:09 +02:00
Cédric Krier
c83e497296
Write post date and number on account move without check access in French test scenario
2026-09-21 15:42:49 +02:00
Cédric Krier
cbb762530b
Use editable instead of of readonly for account template override
2026-09-21 15:24:43 +02:00
Cédric Krier
a5b3061674
Distinct readonly and editable states for SEPA mandate identification
2026-09-21 10:39:12 +02:00
Cédric Krier
0d7658b08f
Increase maximum sleep in Stripe scenario
...
Stripe takes more time to process the events.
2026-09-21 10:19:36 +02:00
Cédric Krier
c17618d0d8
Make landed cost field on account invoice line not editable instead of readonly
...
Users must be allowed to edit it when adding invoice lines to a landed cost.
2026-09-21 10:04:34 +02:00
Cédric Krier
bdefd24bbc
Use decorator before ModelView.button to set default records for cron task
...
Closes #15076
2026-09-09 12:22:52 +02:00
Cédric Krier
1bc165be5e
Set timeout to 0 when receiving PostgreSQL notifications
...
There is no need to wait 2 seconds for more notifications as we call
get_notifications only when the selector is triggered.
Closes #15102
2026-09-16 14:35:33 +02:00
Cédric Krier
6b95e56a70
Remove unnecessary assert on _defaults
...
By design the _defaults can always contain only field name from _fields.
2026-09-10 08:13:03 +02:00
Cédric Krier
0974e54035
Add sleep between two update status call in test scenario
2026-09-09 14:22:57 +02:00
Cédric Krier
9350bcc1c6
Make customs boolean on product category not editable when in a tree
2026-09-19 15:39:08 +02:00
Cédric Krier
c25042df09
Make Stripe idempotency key field readonly only once stored
...
When copying the default value is set to None but the actual default value is a
random value. This triggers the check of access right on the readonly field.
2026-09-19 15:36:05 +02:00
Cédric Krier
49b16db32f
Disable check access when account payment tests write on readonly fields
2026-09-19 15:34:10 +02:00
Cédric Krier
b94883b9be
Save imported translations only if they are modified
...
Closes #15071
2026-09-08 10:05:31 +02:00
Cédric Krier
07a2e268c6
Use bulk context manager
...
Closes #11750
2026-07-15 09:31:05 +02:00
Cédric Krier
f32aef30d0
Add bulk_create, bulk_delete, bulk_save and bulk_func to ModelStorage
2026-07-15 09:31:21 +02:00
Cédric Krier
29890edba2
Make package on stock move not editable instead of readonly
2026-09-19 11:26:06 +02:00
Cédric Krier
eb3fbb1882
Update the UPS API version
2026-09-08 16:47:11 +02:00
Cédric Krier
055725b329
Display the journal-periods of a period on its form
...
Closes #15074
2026-09-08 10:34:46 +02:00
Cédric Krier
cf9144a4cf
Permit the selection of companies for which to create invoices and consumptions for subscriptions
...
Closes #15068
2026-09-04 22:11:11 +02:00
Cédric Krier
0f223d5b73
Permit the selection of companies for which to create direct debits
...
Closes #15067
2026-09-04 22:10:07 +02:00
Cédric Krier
e428655c1e
Permit the selection of companies for which to create dunnings
...
Closes #15066
2026-09-04 22:09:07 +02:00
Cédric Krier
d87a108def
Add companies and employees to the user context
...
This allows to use the context for domain to restrict to allowed companies and
employees.
2026-09-04 22:07:25 +02:00
Cédric Krier
2502327405
Do not copy payment amount cache when copying account move line
...
Closes #15111
2026-09-19 10:03:57 +02:00
Cédric Krier
8a65fb249b
Use router url_for to set return url of Stripe checkout
2026-09-03 15:54:42 +02:00
Cédric Krier
bc8def47b0
Enforce the type of login parameters
...
As they are received from a non authenticated entrypoint, we must ensure their
types.
2026-09-02 12:19:42 +02:00
Cédric Krier
53a97c277d
Check if the user argument is a string on login and reset password
...
Those entrypoints do not require authentication so we must enforce explicitly
the type of argument.
Closes #15048
2026-09-02 12:18:08 +02:00
Cédric Krier
b2fba546de
Do not deactivate coupon number starting the future
...
If they are deactivated, they can not more be created or modified.
2026-08-31 18:36:13 +02:00
Cédric Krier
56e1a24be4
Distinct readonly and editable states
2026-08-31 23:21:03 +02:00
Cédric Krier
e711ce7cb0
Add editable state on field
2026-08-31 13:45:03 +02:00
Cédric Krier
422c99bd7b
Do not enforce access rights when performing action on delete
...
Closes #15050
2026-08-31 13:43:41 +02:00
Cédric Krier
91f27f64fd
Permit to set _check_access when using trytond config
2026-08-31 13:39:42 +02:00
Cédric Krier
86e3da9b96
Enforce readonly on field when checking access
...
Closes #4207
2026-09-19 08:09:17 +02:00
Nicolas Évrard
8c64c300e6
Support getting and setting tree widths without a screen width
...
Closes #15099
2026-09-18 23:52:09 +02:00
Cédric Krier
cfee0e7589
Add missing comment about structured tag for remittance information
2026-08-24 15:10:12 +02:00
Cédric Krier
f3c460972c
Add pain.008.001.08 flavor to SEPA payment
2026-08-24 15:08:28 +02:00
Cédric Krier
1d796d560d
Add pain.001.001.09 flavor to SEPA payment
2026-08-24 11:50:30 +02:00
Nicolas Évrard
89b50e2459
Add an optional icon to the login services
...
Closes #14915
2026-09-18 13:30:12 +02:00
Cédric Krier
548226de8e
Store any selection in selection mixin to compute textual value
...
Since 917de1b3e124 the current selection is no more stored but it is needed to
render textual value of a column synchronously.
Closes #15104
2026-09-17 16:18:47 +02:00
Cédric Krier
d9c59a242d
Disable the login services on the localhost URL
...
Closes #15045
2026-08-27 09:19:47 +02:00
Cédric Krier
b0136be619
Parse Cross Industry Invoice as supplier invoice
2026-08-31 12:26:39 +02:00
Cédric Krier
e7bbc4218b
Display account moves field on stock move form
...
Closes #9190
2026-07-30 09:35:03 +02:00
Cédric Krier
6792138df4
Override contextual groups and administrator when evaluating button states
...
Closes #15098
2026-09-15 15:23:42 +02:00
Cédric Krier
7a563a3789
Include administrators in button states based on groups
...
Since 6ebedcf8826e, administrators have no more groups.
Closes #15097
2026-09-15 15:19:40 +02:00
Cédric Krier
c55bdeed26
Add routes for sao custom in base route
...
Closes #13927
2026-09-08 09:58:42 +02:00
Cédric Krier
ef58bc6b82
Edit selected One2Many rows at once
...
Closes #14997
2026-08-06 14:53:51 +02:00
Cédric Krier
bc1de342d1
Pass query as a list of argument to format_args for Shopify query logging
2026-08-06 09:46:51 +02:00
Cédric Krier
264cb3eaee
Add logging info about Shopify request
...
The shopify_app does not generate any logging except the raw info from httpx.
2026-08-06 08:48:19 +02:00
Cédric Krier
8c09693e15
Do not clear incoming moves that has been added to a shipment for amendment
...
Closes #15070
2026-09-07 15:24:40 +02:00
Cédric Krier
a89a70f6f3
Add Factur-X format to invoice report
2026-09-15 08:32:03 +02:00
Cédric Krier
f48cb3e7b1
Allow to customize the storage of invoice report
2026-06-15 15:25:20 +02:00
Cédric Krier
ddaeb181c0
Require a message file for SEPA message
...
Closes #15073
2026-09-07 18:12:38 +02:00
Cédric Krier
436e20a75f
Test if the line's origin is an instance of ModelStorage before accessing the record name
...
Closes #15072
2026-09-07 18:01:00 +02:00
Nicolas Évrard
2b240751ce
Use the selection from the update_selection call in Selection editable columns
...
Since 917de1b3e124 the selection is not stored on the selection_mixins we must
thus use the one coming from the callback call
Closes #15087
2026-09-10 22:12:59 +02:00
Nicolas Évrard
6fafcaca82
Use the default search implementation on ResourceAccessMixin
...
The access to search is now guarded by a method allowing only administrator to
access it.
Closes #14817
2026-09-11 17:53:07 +02:00
Nicolas Évrard
305301a53e
Replace the administration group by a flag on the user
2026-09-13 17:28:32 +02:00
Nicolas Évrard
1e778036ce
Remove password column from res_user in initialization SQL script
2026-07-24 14:15:03 +02:00
Cédric Krier
b8a638f918
Returns unique and ordered shipments when extending sale and purchase for kit
...
Since 9385c3660f17 the super method returns instances so only instances must be
added to the set to ensure uniqueness.
Closes #15091
2026-09-13 14:01:21 +02:00
Cédric Krier
fef30e24b1
Use explicit order for shipments and invoices on sale and purchase
...
Closes #15090
2026-09-13 13:57:29 +02:00
Cédric Krier
12699bc16c
Sort invoices and shipments on Function fields of sale and purchase
...
Closes #15083
2026-09-10 14:14:16 +02:00
Cédric Krier
1677e52cba
Forbid to set role to admin user
...
The links between admin user and groups are managed by XML record.
But the sync task may delete such link if a role is assigned to admin because
the task is run as root which skip the XML check.
Closes #15086
2026-09-10 16:07:26 +02:00
Cédric Krier
28c3b66569
Remove duplicate activation of stock_package module in stock shipment measurements test case
2026-09-12 00:25:24 +02:00
Cédric Krier
cdb082f133
Use extras to activate account_invoice module in UNCEFACT test case
2026-09-12 00:24:43 +02:00
Cédric Krier
d3934d3473
Make DBTestCase public
2026-09-12 00:31:43 +02:00
Cédric Krier
1b29bcfb73
Display the screen after button confirmation has been rejected
...
Since 0b692f8ac308 the screen must be displayed again in order to remove the
disabled property.
Closes #15061
2026-09-03 17:23:33 +02:00
Cédric Krier
aef6acca76
Store delete rule of column per constraint
...
If a column is used for different foreign keys with different delete rules, the
foreign key may be recreated if the last rule stored is different.
Closes #15053
2026-09-02 11:43:46 +02:00
Nicolas Évrard
5f3c5c7b50
Explicitly set the previous view to switch to when opening a new Form
...
Closes #14975
2026-07-29 17:48:54 +02:00
Adrià Tarroja Caubet
0b1971ab59
Check for running deferrals when closing a standard period only
...
Invoice deferred creates moves only on standard period
Closes #15042
2026-09-10 08:20:15 +02:00
Cédric Krier
b2521dcaf2
Set button decorator for sending and updating invoices on Chorus to a different method than the cron
...
Closes #15069
2026-09-06 10:21:56 +02:00
Cédric Krier
17ff34984c
Test domain from searcher by using it in search call
2026-09-04 08:31:58 +02:00
Cédric Krier
dac45a24dc
Do not set searcher on ethanol volume of products by locations
...
The field on product is not searchable.
Closes #15064
2026-09-04 08:31:27 +02:00
Cédric Krier
075c14f296
Do not add searcher to the template function fields if the template field is not searchable
...
Closes #15063
2026-09-04 08:30:25 +02:00
Cédric Krier
d8ca390d1b
Generate a valid domain for the origin invoices via the searcher on the invoice
...
Closes #15062
2026-09-04 08:28:54 +02:00
Cédric Krier
88b4f59028
Set the company on the invoice before assigning the party
...
The party of the invoice must have the invoice's company in the context to
correctly set the account when calling on_change_party.
Closes #15049
2026-08-31 12:06:40 +02:00
Maxime Richez
dd821f7073
Calculate variation and check tolerance on inventory quantity and cost
...
Closes #14688
2026-09-03 00:02:28 +02:00
Cédric Krier
ccbfbaeafa
Wait until a message is received when testing subscription of bus
...
Closes #15065
2026-09-04 11:53:57 +02:00
Cédric Krier
e936e37d8f
Use a sentinel as default value for setting attribute only if changed
...
For new instances, we must set also the attribute with value `None` as they may
be tested later.
Closes #15060
2026-09-03 15:49:20 +02:00
Cédric Krier
f604a31f14
Test the existence of the request context key before using it for URL
...
Closes #15046
2026-08-27 15:56:47 +02:00
Cédric Krier
17780ef2f7
Add scheduled task to cancel abandoned draft sale from web shop
...
Closes #14974
2026-07-29 15:48:59 +02:00
Cédric Krier
8a1f2d870c
Add CSV as import format for account statement
2026-07-23 14:52:10 +02:00
Dimitrios Josef Moustos
17fe789471
Fix typo in MyGLS description
2026-08-29 20:21:09 +03:00
Cédric Krier
c02578478e
Add missing _method to url for webhooks
2026-09-03 15:42:15 +02:00
Nicolas Évrard and Cédric Krier
77cf224b2f
Apply 1 suggestion(s) to 1 file(s)
...
Co-authored-by: Cédric Krier <ced@b2ck.com >
2026-09-03 11:52:08 +00:00
Nicolas Évrard
c2b3d6cc66
Check the existence of a getter before adding it to a field depends
...
Closes #15055
2026-09-03 12:24:29 +02:00
Cédric Krier
acc3586deb
Clear attachment preview when there is no current record
...
Closes #15044
2026-08-26 10:26:45 +02:00
Cédric Krier
e36f2bb56d
Raise BadRequest when accessing rpc properties from non RPC request
...
This avoids to generate a useless exception logging entry.
Closes #15039
2026-08-25 11:15:16 +02:00
Lars Wuerfel
03868125e5
Fix the "prefixes" key name in the cookiecutter template
...
Closes #15054
2026-09-03 12:38:02 +02:00
Cédric Krier
afcab1c05c
Ensure it is still the same record when executing the display callback of a widget
...
When a widget display is asynchronous, we must ensure that it is still the same
record that is being displayed when the callback is finally executed. Otherwise
it may render the data of a different record in the HTML.
Closes #15041
2026-08-25 13:09:25 +02:00
Cédric Krier
c1be38f14d
Use BIGINT for table query with composed unique ID
...
When the maximal id of the table is too big, int4 is not enough like #15010
shows.
2026-08-14 11:55:48 +02:00
Eva Luadora
b096ea372d
Bind graph using the DOM element instead of id
...
Billboard must receive the graph element directly because the chart can be
rendered while it is still detached from the document.
Closes #14970
2026-09-02 13:57:21 +02:00
Cédric Krier
bbbea59530
Include first line of unstructured street in AdrLine tag of SEPA message
...
Since 327f65ad55e6 the StrtNm tag is no more the first line of the street so
this lines must be included in AdrLine.
Closes #15036
2026-08-24 11:56:05 +02:00
Cédric Krier
c18ab9e30f
Cache the help with the selection per domain in selection mixin
...
Closes #15031
2026-08-21 10:04:05 +02:00
Cédric Krier
34b9ac086c
Do not set selection after asynchronous call if parameters have changed
...
And do not store the current selection nor help but only pass them to the
callback.
Closes #15029
2026-08-21 15:26:56 +02:00
Nicolas Évrard
14de445672
Remove useless XML file from tests module
2026-02-24 22:38:23 +01:00
Nicolas Évrard
4e3ac1e465
Remove unrequired XML files from tests module registration
2026-02-24 22:37:16 +01:00
Nicolas Évrard
385bce6315
Add function to import XML files for tests
...
Close #14627
2026-09-01 18:49:45 +02:00
Cédric Krier
f53376fa30
Use the directory of the stream name as base when parsing XML
2026-09-01 21:57:25 +02:00
Cédric Krier
352dedba42
Display the new record form of wizard after setting the default values
...
We must delay the display after the default values of the record has been set
otherwise we may trigger unnecessary RPCs (like search/reading for useless
domain).
Closes #15030
2026-08-25 12:26:08 +02:00
Cédric Krier
6ac489eecb
Make wizard wait for setting default value before ending processing
...
Closes #15040
2026-08-25 12:24:36 +02:00
Cédric Krier
280fc5b322
Disable the wizard buttons while processing
...
Closes #15026
2026-08-20 11:56:35 +02:00
Cédric Krier
3a5da53376
Manage the sign on LineTotalAmount instead of BilledQuantity in UN/CEFACT 16B-CII
...
Closes #15006
2026-08-11 12:10:58 +02:00
Cédric Krier
37ca2e5340
Set PostOfficeBox when address has a post box in UN/CEFACT 16B-CII
...
Closes #15005
2026-08-11 12:08:26 +02:00
Cédric Krier
1b0836a846
Set format attribute for DateTimeString in UN/CEFACT 16B-CII
...
Closes #15004
2026-08-11 12:05:48 +02:00
Cédric Krier
541de2af25
Warn about using too much significant digits for float and numeric
...
Closes #14870
2026-07-29 18:28:56 +02:00
Cédric Krier
e99389176d
Prevent clicking on the toolbar while an action is still running
...
Closes #15028
2026-08-20 16:33:20 +02:00
Cédric Krier
24c1f31798
Always set the cursor on reload
...
The screen looses the cursor because it is set inert.
2026-08-20 15:19:36 +02:00
Cédric Krier
32bea93183
Prevent clicking on screen when record is reloading
...
When a record is reloading, the action of the widgets may be wrongly evaluated
like the context so we prevent the user to click by making inert the screen
container.
Closes #13595
2026-08-20 15:13:37 +02:00
Cédric Krier
4590287d2b
Ensure to use an estimated count greater than 1 when applying log10
...
Closes #15038
2026-08-25 09:46:47 +02:00
Cédric Krier
dc73f174bd
Store only records count greater than 0 in the cache when delete records
...
The existing cached count may be just an estimation so it is possible that more
records are deleted.
Closes #15038
2026-08-25 09:45:59 +02:00
Adrià Tarroja Caubet
8b3dfd63a9
Add missing transaction commit to SEPA mandate migration
...
The console does not commit the transaction automatically, so the updated
addresses are not persisted without an explicit commit.
Closes #15037
2026-08-06 13:09:48 +02:00
Adrià Tarroja Caubet
907bcde87c
Call on_change_party without assignment in SEPA mandate migration
...
The method updates the address in place and returns None. Assigning its
return value to the address raises an AssertionError.
Closes #14996
2026-08-06 13:08:45 +02:00
Cédric Krier
d7bf520b93
Use POST method to construct URL for Peppyrus webhooks
2026-09-01 00:44:08 +02:00
Cédric Krier
16c3858e36
Update the Stripe API version
2026-08-31 23:33:27 +02:00
Nicolas Évrard
331131f111
Use Router to register URL endpoints in the pool
2026-08-28 12:06:27 +02:00
Cédric Krier
c9c95f9bfd
Support explicit request context in URLAccessor
2026-08-27 13:08:43 +02:00
Nicolas Évrard
b54668ad94
Use Pool classes attributes to get allowed pool types
2026-06-06 16:16:47 +02:00
Nicolas Évrard
e81b251a09
Scroll smoothly as it provides a nicer effect for the users
2026-08-19 19:22:03 +02:00
Nicolas Évrard
43fef29239
Add horizontal scrolling to scrollIntoViewIfNeeded
...
Closes #15025
2026-08-19 19:21:05 +02:00
Cédric Krier
406737f9aa
Add record changed callback
...
Only when the current record has changed that those objects needs to be
refreshed/cleared:
- the info bar
- the resources
- the attachment preview
- the chat
Closes #15012
2026-08-14 12:55:53 +02:00
Cédric Krier
3cdb3b0fb5
Call on_change_product only if the sale line has been changed
...
Since f41c9c208d39 the _changed_values is a method instead of a property.
Closes #15013
2026-08-14 18:11:42 +02:00
Cédric Krier
47dd11660d
Set all attributes of transaction before connecting to the database
...
The connection to the database may fail and thus stop and rollback may be
called. All the attributes must be set to avoid to raise another AttributeError
exception.
Closes #15022
2026-08-17 17:32:55 +02:00
Cédric Krier
9726c4da41
Format IBAN number after edition
2026-08-01 10:21:45 +02:00
Cédric Krier
d5064e1b0b
Make locations readonly on stock move when linked to a shipment without being edited from it
...
This ensures that the domain from the shipment fields can not be skipped.
Closes #12564
2026-07-16 11:04:37 +02:00
Cédric Krier
bd350be3f8
Enforce shipment domain on stock moves
...
On shipment where moves are split into two fields, we must enforce at least one
of the domain of each field.
2026-07-16 11:03:16 +02:00
Cédric Krier
cc08e82ecc
Allow the creation of shipping label for packages when the shipment state is shipped
...
Closes #15027
2026-08-20 12:02:57 +02:00
Cédric Krier
550b638dc6
Remove prefix for statement and payment journals action
2026-07-15 18:16:16 +02:00
Cédric Krier
85beac3053
Protect writing configuration of tryton with a thread lock
...
Closes #6114
2026-07-27 12:10:00 +02:00
Cédric Krier
2298d04e2f
Make social taxes, payroll and taxes payable
...
Closes #4109
2026-07-24 15:17:04 +02:00
Cédric Krier
54240e65fa
Do not rely on invoices order from sale in sale supply test scenario
...
Closes #15034
2026-08-23 14:49:30 +02:00
Cédric Krier
813d38d63c
Do not rely on invoices order from sale and purchase in test scenario
...
Closes #15033
2026-08-23 08:28:53 +02:00
Cédric Krier
51003a7071
Do not rely on shipments order from sale in product kit test scenario
...
Closes #15016
2026-08-16 23:51:22 +02:00
Cédric Krier
1e0b40696f
Remove unreachable GATEWAY TIMEOUT in JSON-RPC retry
...
Only SERVICE UNAVAILABLE error code is retried.
2026-08-15 08:05:22 +02:00
Cédric Krier
39e9802c1b
Raise last retry exception from JSON-RPC request
...
Closes #15008
2026-08-15 08:03:57 +02:00
Cédric Krier
8c22828855
Register cache instance after being fully initialized
...
Otherwise an instance can be accessed by another thread via the registry when
it is still being initialized. And it may crash on missing attribute.
Closes #15007
2026-08-12 17:57:01 +02:00
Cédric Krier
c33f675b28
Add scheduled task to close stock period automatically
2026-08-19 00:14:52 +02:00
Cédric Krier
05474e621d
Add scheduled task to create stock period automatically
2026-08-19 00:14:21 +02:00
Cédric Krier
3fa8e0464b
Retry unfinished queued tasks
...
Closes #14949
2026-07-13 17:36:10 +02:00
Cédric Krier
25a22e3f9a
Add a timer to prevent requests from lasting longer than their timeout
...
Closes #14946
2026-07-08 22:58:48 +02:00
Cédric Krier
fd2c35cd77
Optimise stock quantity computations for warehouses only
...
When the 'location_ids' are only comprise warehouses, we know that the children
locations of each one cannot be shared.
Therefore, we can use the 72fff0ca9da7 optimisation by calculating the
quantities for each warehouse individually and then adding them together.
Closes #14956
2026-07-14 19:06:52 +02:00
Sergi Almacellas Abellana
90daf2e88b
Restrict updating party required of account with moves
...
Closes #14710
2026-08-17 23:31:29 +02:00
Cédric Krier
69c8e681ba
Add space between payees in UBL error message
2026-08-11 12:02:33 +02:00
Cédric Krier
9e7f1e0669
Test findtext result as boolean when parsing UBL invoice
...
Closes #15003
2026-08-11 12:02:09 +02:00
Cédric Krier
53fe643e61
Limit the start id of table to 500 for tests
...
By using the formula `(idx * prime) % range + 1`, tables created consecutively
have start id distant by `prime` and the maximum start id is `range`.
This avoid to overflow int4 when composing unique ID for table query.
Closes #15010
2026-08-17 15:06:09 +02:00
Cédric Krier
ec55360d12
Check the validity of the European tax identifiers when posting invoice
...
Closes #14931
2026-07-04 11:41:01 +02:00
Cédric Krier
eb90cbbd2a
Replace the VIES wizard by an automatic background task
...
Closes #14930
2026-07-04 11:39:19 +02:00
Cédric Krier
3e3b554889
Add mixin to Database and TableHandler from configuration
2026-06-30 16:49:13 +02:00
Cédric Krier
73c805a054
Use instances when copying analytic account entries to new line
...
Closes #14988
2026-08-04 15:56:21 +02:00
Cédric Krier
f61dc1afdf
Do not rely on shipments order from sale in test scenario
...
Closes #15009
2026-08-13 23:44:29 +02:00
Cédric Krier
2bbf319507
Group records written with the same values when saved
2026-07-31 12:39:47 +02:00
Cédric Krier
7ef25665ff
Set Shopify warehouse on sale line only if it has changed
...
Closes #14995
2026-08-06 10:52:54 +02:00
Nicolas Évrard
79d0493424
Reset TABLES_CREATED when dropping the database when testing
...
Closes #15002
2026-08-10 14:51:04 +02:00
Cédric Krier
55bc49950c
Validate current record before switching to next/previous record in window form
...
Closes #14994
2026-08-05 17:39:38 +02:00
Cédric Krier
a8c3bb8f25
Hide unstructured street of address when building name is filled
...
Closes #14993
2026-08-05 11:08:08 +02:00
Cédric Krier
06e917e5f4
Get Shopify order ID from the order_edit key for orders/edited topic
...
Closes #14992
2026-08-05 10:39:35 +02:00
Cédric Krier
bc6f47d033
Convert request headers to dict and body as text to verify Shopify webhook
...
Closes #14991
2026-08-05 10:07:54 +02:00
Cédric Krier
15d32505dc
Use webhook secret to verify Shopify webhook
...
Closes #14989
2026-08-04 17:32:47 +02:00
Cédric Krier
abe043c62e
Fill code compact in party identifier history table
...
Closes #14983
2026-08-03 12:26:11 +02:00
Cédric Krier
df5beb3c8f
Disable buttons to upgrade/update modules if there is no action to perform
...
Closes #4960
2026-07-24 14:39:41 +02:00
Cédric Krier
46f522ea68
Raise PeppolServiceError when missing sender or recipient for Peppyrus submission
...
Closes #14999
2026-08-06 15:59:39 +02:00
Cédric Krier
e83a9b8435
Do not try to update status of Peppyrus document without transmission ID
...
Closes #14998
2026-08-06 15:55:46 +02:00
Cédric Krier
6ad436d3d3
Use boolean operator to test remaining quantity of blanket agreement when closing
...
The remaining quantity may be None if the line has no quantity set.
But the getter ensure that the remaining quantity is always greater or equal to 0.
Closes #14987
2026-08-04 14:43:53 +02:00
Cédric Krier
329b7ac356
Store Peppyrus message using service instance instead of class
...
Closes #14990
2026-08-05 07:08:27 +02:00
Cédric Krier
a037458a5a
Use request data property to parse form data as json
...
Closes #14984
2026-08-04 07:49:57 +02:00
Cédric Krier
0c67648147
Update hostname of Romanian National Bank URL
...
Closes #15001
2026-08-10 09:21:25 +02:00
Cédric Krier
08616cfc63
Use https for namespaces for currency rate from Romanian National Bank
...
Closes #14986
2026-08-04 14:34:23 +02:00
Cédric Krier
628cf27546
Remove unused company from depends for on_change_with of sale point's total
2026-07-31 15:57:15 +02:00
Cédric Krier
1ebe99e62d
Do not create indexes if they already exist
...
The `IF NOT EXISTS` clause does not prevent PostgreSQL from taking a ShareLock
on the table if the index exists.
Closes #14966
2026-07-22 14:36:17 +02:00
Nicolas Évrard
1aef4dbdae
Remove required on resource ID of ir.translation
2026-07-27 11:55:35 +02:00
Nicolas Évrard
ecaf40a8ee
Skip translation refering to unknown XML ID or unactivated source
...
Closes #12969
2024-01-29 18:47:56 +01:00
Cédric Krier
4ec0e5c1c1
Do not set width and height to 100% for <img/> of document
...
Closes #14979
2026-07-30 16:20:47 +02:00
Adrià Tarroja Caubet
3a21bb8a65
Add rpc suffix when retrying JSONRPC request
...
Closes #14985
2026-08-06 14:55:18 +02:00
Cédric Krier
4d9a0e47d8
Do not set twice the extension in the attachment name for the UBL documents
...
Closes #14982
2026-08-01 10:49:03 +02:00
Cédric Krier
153dda4191
Do not compare to None PaymentDueDate value from findtext
...
It is not necessary because findtext returns a string.
2026-08-01 00:57:28 +02:00
Cédric Krier
7c6c676f97
Use DueDate as fallback for payment term date for UBL without payment terms
...
Closes #14981
2026-08-01 00:56:10 +02:00
Cédric Krier
7e462ffe52
Normalize the quantity before calculating the number of digits when parsing UBL
...
Trailing zero in the quantity should not require a bigger precision for the
unit.
Closes #14973
2026-07-28 19:27:57 +02:00
Cédric Krier
750a937024
Update the Stripe API version
2026-08-04 14:15:47 +02:00
Cédric Krier
8414cd718f
Restrict protocols allowed for weasyprint to http(s)
...
Closes #14947
2026-07-24 10:49:42 +02:00
Cédric Krier
4bd7cfa657
Clear Shopify ID for product template no more found on Shopify
...
If the Shopify ID of a template can not be found on Shopify, there is no need
to keep it as we could not reactivate the Shopify product it is added back.
Closes #14980
2026-07-30 16:37:30 +02:00
Cédric Krier
1e2c1ab795
Do not set a shipment cost method for Shopify order without shipping line
...
Without a shipping line, there is no carrier selected and thus no shipment cost
method to set.
Closes #14976
2026-07-29 19:30:48 +02:00
Cédric Krier
605bb21a07
Set button decorator of update Peppol status to a different method than the cron
...
The `ModelView.button` decorator requires to be called with a list of records
which the cron does not do.
Closes #14972
2026-07-28 19:23:07 +02:00
Cédric Krier
6b99dc69cc
Use binary version of psycopg for tests
2026-07-17 22:11:32 +02:00
Cédric Krier
5f53ac1629
Add menuitem to the documentation of the creation of account move from template
2026-07-07 19:11:07 +02:00
Cédric Krier
4572c4e3e5
Remove "close" prefix to processing menu entries of accounting
2026-07-07 19:10:08 +02:00
Cédric Krier
087db7dfcb
Set reconcile wizard as first menu entry for account processing
2026-07-07 19:08:34 +02:00
Cédric Krier
ff0cc1a6b9
Remove account prefix to account moves menu entry
2026-07-07 19:11:56 +02:00
Cédric Krier
a96cb0a84f
Replace open journal wizard by a context model
...
Closes #14937
2026-07-07 19:06:14 +02:00
Nicolas Évrard
138e95f7d8
Set the utc flag on Sao.Date
...
Closes #14510
2026-07-27 10:39:01 +02:00
Cédric Krier
7e84601c49
Clear the value of input select once data has been read
...
The display does not clear the input if the current record is changed so we
must ensure that the input is always empty once file has been selected.
Closes #14482
2026-07-27 10:59:31 +02:00
Cédric Krier
a5e64fc509
Use Text field for HTML content of report record
...
The field must contain strings in order to allow edition with the HTML editor.
Closes #14922
2026-07-24 16:10:12 +02:00
Cédric Krier
54183ea818
Make statement lines readonly when origins are filled
...
Closes #14965
2026-07-22 12:28:03 +02:00
Cédric Krier
55b26ce2bd
Add scenario to test the modification of stock lot without moves
2026-07-21 19:14:58 +02:00
Cédric Krier
a062121249
Remove unused class parameter in the function to find move for stock lot
...
The function is called only when the state as parameter.
Closes #14963
2026-07-21 19:14:20 +02:00
Cédric Krier
13bdfa8541
Use external parameter to activate the check for lot modification without move
...
#14963
2026-07-21 19:12:14 +02:00
Cédric Krier
efa6379b92
Calculate the number of parameters in INSERT query using the columns list
...
The column names list does not contain the create_uid nor create_date columns
instead of columns list.
Closes #14800
2026-07-23 11:37:36 +02:00
Nicolas Évrard
c559a119ac
Add login_service value when the redirection URL misses it
...
Closes #14893
2026-06-11 21:30:46 +02:00
Cédric Krier
e7954890d1
Use cell cursor on table row
...
This allows to distinct between clicking on the row and on the links.
Closes #14968
2026-07-23 18:39:42 +02:00
Cédric Krier
9a51438e80
Prevent switching row when double click on Many2One link
...
Closes #14967
2026-07-23 18:27:41 +02:00
Cédric Krier
3cddae8e8b
Do not set company on set production cost cron in the test scenario
...
Since bea535142d87 the company can not be set on cron that does not need it.
2026-07-20 13:38:38 +02:00
Cédric Krier
36a3b84c54
Always use the shipment address of the sale as delivery address for the shipment
...
The warehouse on the sale is not always filled instead it is the the warehouse
of the shipment that must be used for the comparison. But this makes the test
useless as the shipment address is always used ad delivery address.
Closes #14954
2026-07-13 18:26:34 +02:00
Adrià Tarroja Caubet
92bd0d7467
Do not create a production request when quantities are the same
...
If the available quantity is exactly the same as the quantity sold, there is no
need to create a production request.
Closes #14585
2026-07-24 10:12:57 +02:00
Cédric Krier
4c4020bc1c
Update zeep version for DPD
...
This allows to activate the in-memory cache.
2026-07-16 16:18:18 +02:00
Cédric Krier
0035590218
Set back XML record for English with other languages
2026-06-25 17:10:23 +02:00
Cédric Krier
6a790d3162
Add search attribute to XML record tag
...
Closes #13247
2026-06-25 16:50:42 +02:00
Cédric Krier
f0878cb49b
Do not copy vlist in ModelSQL.create
...
The vlist is already a copy from ModelStorage._before_create.
Closes #14953
2026-07-13 15:56:31 +02:00
Cédric Krier
c3c44c4875
Remove unnecessary depends for on_change_product of purchase requisition line
2026-07-08 14:27:07 +02:00
Cédric Krier
45611ca1fd
Compare tab against view index less or equals to 0
...
The view index may be -1 is the view is not yet displayed.
Closes #14961
2026-07-17 12:58:29 +02:00
Cédric Krier
b10eee3181
Allow npm to run puppeteer scripts
...
Closes #14960
2026-07-17 11:40:28 +02:00
Cédric Krier
7f07f8afe4
Use ngettext for warning message about pending purchases of outsourced productions
2026-07-16 16:08:38 +02:00
Cédric Krier
b38389bfe2
Warn when resetting to draft or cancelling production with pending purchase lines
2026-07-16 15:58:16 +02:00
Cédric Krier
81ef47735a
Do not create a purchase line for outsourced production with already one
...
Closes #14759
2026-07-16 15:57:11 +02:00
Cédric Krier
1f28439b09
Raise the final exception when all retries of Shopify request has failed
2026-07-21 17:33:03 +02:00
Cédric Krier
a089427b1d
Use dict.get instead of getattr to retrieve user errors from Shopify request
...
The GraphQL library returns dict instead of object.
Closes #14964
2026-07-21 17:32:21 +02:00
Cédric Krier
1f5997247b
Format numeric values in XML templates using fixed-point notation
...
Closes #14948
2026-07-15 18:07:22 +02:00
Cédric Krier
77966e69f8
Update Shopify product if any variant of the product has been removed
...
Closes #14955
2026-07-14 17:07:07 +02:00
Cédric Krier
4052e3bd7f
Show warehouses field of cron only for methods that need them
...
Closes #14952
2026-07-13 15:34:03 +02:00
Cédric Krier
24405399a0
Show companies field of cron only for methods that need them
...
Closes #14952
2026-07-13 15:33:35 +02:00
Nicolas Évrard
b167bd1e77
Do not fetch sub fields definition when prefetching views
...
Closes #14941
2026-07-08 14:59:40 +02:00
Cédric Krier
289b433b05
Remove direct URL to DPD documentation
...
The website requires login and Javascript to download the documentation.
2026-07-13 08:06:15 +02:00
Sergi Almacellas Abellana
1d6b88afaa
Test column_ methods in tests_fields_methods
2026-07-06 20:05:23 +02:00
Cédric Krier
907c6a49fe
Remove entry_points_selectable backport
...
Since c0f49db907fc the minimal Python version is 3.10 which supports selectable
entry-points.
2026-07-07 19:19:25 +02:00
Cédric Krier
059a304bc9
Set an UPS account number to the custom agent in test scenario
...
#14876
2026-07-13 17:25:29 +02:00
Cédric Krier
e8d82af6f2
Bill duties and charges to the customs agent for UPS shipment charges
...
Closes #14876
2026-06-03 16:01:25 +02:00
Cédric Krier
7f84a95b00
Remove only lot expiring in the future
...
Closes #13901
2025-03-04 22:05:19 +01:00
Cédric Krier
6af819c289
Do not dumps/loads context domain in URL
...
The context domain must be evaluated only by the screen when doing a domain
search.
Closes #14921
2026-07-08 15:03:35 +02:00
Cédric Krier
278896eac3
Add documentation for DatabaseTimeoutError
2026-07-08 23:01:08 +02:00
Cédric Krier
e317c87911
Return Gateway Timeout instead of Request Timeout for database timeout
...
Closes #14945
2026-07-08 22:12:42 +02:00
Cédric Krier
0c29a67c06
Add missing duration argument to database timeout warning
...
Closes #14944
2026-07-08 22:23:38 +02:00
Cédric Krier
d4252d01f2
Remove unnecessary image definition for check-dist
2026-07-06 23:36:42 +02:00
Cédric Krier
ef965ed384
Center checkbox in editable tree
...
For the auto margin to center the input, it must be displayed as block without
float.
Closes #14942
2026-07-08 14:59:54 +02:00
Cédric Krier
ca659201cd
Add a refund line for Shopify refund that are not linked to items
...
Closes #14875
2026-06-16 20:40:21 +02:00
Cédric Krier
bc8151c822
Process Shopify sale only if the authorized payment amount is greater than the amount to pay
...
The correction of #14816 was wrong and the amount to pay should be modified if
there is a global refund.
2026-06-03 15:06:05 +02:00
Sergi Almacellas Abellana
99b6830032
Add cache on import_module tool
...
Closes #14936
2026-07-07 17:16:02 +02:00
Cédric Krier
0839c83a2f
Add missing error message when no bank account is found when parsing UBL invoice
...
Closes #14938
2026-07-08 08:54:37 +02:00
Cédric Krier
fca02700e9
Re-raise transaction error from sub-test of button
...
Since a05fa06b3a4c the test of button is executed under the subTest context
manager but if the method is raising a TransactionError, it is considered as a
failure for the test.
But we need this exception to be raised up to the with_transaction decorator in
order to fix the transaction and execute fully the method of the button.
2026-07-07 19:16:08 +02:00
Cédric Krier
47ce216f35
Select the first supplier when all suppliers have the same maximum supply date
...
Since all suppliers have the same supply delay, the order must be used for
selection.
Closes #14939
2026-07-08 09:19:35 +02:00
Cédric Krier
fca6a120f0
Use NullConnectionPool for the default database
...
The default database is template1 which is usually used to create new database.
Keeping a pool of connection open on it prevents the creation of new database
because exclusive access is needed on the template.
Closes #14935
2026-07-06 19:34:24 +02:00
Cédric Krier
55b1cd06d3
Put agent field in sale form on a new line
...
This prevents to break the layout of other modules adding fields to the same
tab.
Closes #14934
2026-07-06 19:15:08 +02:00
Sergi Almacellas Abellana
eee72298d0
Remove empty space in account consolidation scenario
2026-07-06 20:04:18 +02:00
Cédric Krier
899ecc39e9
Update DPD API to Shipment Service 4.5
2026-06-24 11:01:19 +02:00
Cédric Krier
4ddc5340b8
Permit __url__ and __href__ attribute usage in Genshi evaluation
...
Closes #14932
2026-07-06 09:07:08 +02:00
Nicolas Évrard
2743c2abaa
Use subtest for each button method tested
2026-07-07 07:31:32 +02:00
Cédric Krier
16f19e9d0b
Add warning when deleting account reconciliation linked to receivable rule
...
Closes #14891
2026-07-07 00:04:54 +02:00
Cédric Krier
aacc97f905
Add support for reducing size of char if all rows are lower
2026-06-26 00:09:48 +02:00
Cédric Krier
07408dea49
Ensure "amount to pay today" of invoice is always positive
...
When a payment for the invoice is booked before the maturity date, the "amount
to pay today" must not become negative.
Closes #14924
2026-07-02 16:40:30 +02:00
Cédric Krier
4bada51330
Set danger visual on supplier invoice when amount to pay is greater than 0
...
The amount to pay is always positive so the test must be "greater than 0".
Closes #14925
2026-07-02 16:38:57 +02:00
Cédric Krier
1b92494767
Include context domain in URL and tab comparison
...
Closes #14921
2026-07-01 13:16:19 +02:00
Cédric Krier
91434daade
Define index using COALESCE for nullable Char fields
...
Closes #14909
2026-06-24 22:07:52 +02:00
Cédric Krier
23d9c20172
Do not apply COALESCE on required Char
...
Closes #14909
2026-06-24 22:06:59 +02:00
Cédric Krier
60f9a5c993
Optimize search on account's code
...
Closes #14910
2026-06-24 22:00:10 +02:00
Adrià Tarroja Caubet
232822d251
Add a comma between 'set' and 'slice' in the Genshi allowed builtins
...
Closes #14928
2026-07-04 00:17:12 +02:00
Cédric Krier
fe47b03167
Replace getattr by hasattr in general journal report
...
Closes #14929
2026-07-03 13:37:38 +02:00
Cédric Krier
5f042a5847
Use package name as start directory for tox unittest when using prefix
...
Closes #14926
2026-07-02 22:59:30 +02:00
Sergi Almacellas Abellana
7f5fc1b224
Return False when scanning code fails instead of using an invalid empty list
...
Closes #14923
2026-07-03 15:31:25 +02:00
Nicolas Évrard
9b35c9722e
Find the page in the direct children only
...
Closes #14918
2026-06-30 22:03:11 +02:00
Cédric Krier
67239eb9b4
Use rule check to enforce read access on report ids
2026-06-23 22:03:36 +02:00
Cédric Krier
d8b6da56a1
Enforce access rights on the email template record on marketing email
...
Closes #14907
2026-06-23 22:03:06 +02:00
Cédric Krier
c0fc6bf6f0
Enforce access rights on the email template record of marketing automation
...
Closes #14907
2026-06-23 22:02:47 +02:00
Cédric Krier
2e84b60e75
Enforce access right on the email template record
...
Closes #14907
2026-06-30 09:48:33 +02:00
Cédric Krier
8df60185f5
Add ModelAccessProxy
...
#14907
2026-06-25 13:31:30 +02:00
Cédric Krier
80a69bb67d
Replace getattr by hasattr in report
2026-06-09 13:01:23 +02:00
Cédric Krier
d1aba4dbb5
Restrict Genshi evaluation
...
Closes #14869 #5160
2026-06-08 23:44:10 +02:00
Cédric Krier
32cae6b2cb
Retry mutation query for Shopify tests
2026-06-25 19:03:12 +02:00
Cédric Krier
848b0d5773
Use clausify when grouping tokens from domain parser
2026-06-29 18:07:05 +02:00
Cédric Krier
fa0f6ce353
Clausify each clause of the parsed domain on date/time equality
...
Closes #14917
2026-06-29 18:06:10 +02:00
Cédric Krier
a574780de1
Set only one quantity per line items when creating Shopify fulfillment
...
Closes #14912
2026-06-25 15:26:30 +02:00
Cédric Krier
d549c14866
Use entry amount when amount is missing from details
...
Closes #14904
2026-06-22 11:14:23 +02:00
Cédric Krier
c8b75d6c5e
Resolve Tryton modules using entrypoints
...
The Pool tries to resolve registered string using the path `trytond.modules.`
which can not always be imported if the module is using an entry pointing to
another package.
Closes #14914
2026-06-26 15:17:14 +02:00
Cédric Krier
02c4177b08
Update the version of Stripe used
2026-06-28 15:22:54 +02:00
Cédric Krier
5a7976bea6
Update module tutorial to match with the cookiecutter output
2026-06-18 19:11:04 +02:00
Cédric Krier
3bb7c97554
Search for the record name of the contact mechanism using the 'name' field
...
Closes #14902
2026-06-18 15:42:24 +02:00
Cédric Krier
75ea4f7587
Complete selection value in domain parser using contains matcher
...
Closes #14886
2026-06-10 19:10:53 +02:00
Cédric Krier
1e053eb4c6
Convert exception value into string when used as HTTPException description
2026-06-18 16:28:03 +02:00
Cédric Krier
078dbf0e11
Let the WSGI dispatcher handling exception raised within with_pool decorator
2026-06-18 16:26:59 +02:00
Cédric Krier
a57ea670a8
Write traceback of unexpected Exception in wsgi.errors
2026-06-18 16:24:23 +02:00
Cédric Krier
e525eeb1cd
Log unexpected Exception using exception level
2026-06-18 16:23:15 +02:00
Alfonso Iglesias
0138eb02b5
Add a transition from running to cancelled to production
...
Since c801019931a0 a running production can be cancelled by stock cancellation
group.
Closes #14864
2026-06-27 08:50:17 +02:00
Cédric Krier
9c7bb8d712
Support ModelStorage.search API in ResourceAccessMixin
...
ResourceAccessMixin inherits from ModelStorage so it should support the
ModelStorage.search API.
Closes #14900
2026-06-18 11:04:10 +02:00
Sergi Almacellas Abellana
18d05b54d7
Use the effective date of the stock move to generate sequence when creating lot
...
Closes #14899
2026-06-26 19:04:26 +02:00
Cédric Krier
718a17a486
Restore initial state when the execution of a wizard fails
...
Since 1aad63cbbba7 there is a check that the button from a wizard are triggered
from the same state as they were created.
But when an exception is raised during the execution, the wizard must be put
back to the initial state such that buttons can still be triggered again.
Closes #14895
2026-06-16 13:41:49 +02:00
Nicolas Évrard
7155dcf872
Do not import module to find the path of one of its file
...
Closes #14892
2026-05-15 22:23:22 +02:00
Nicolas Évrard
bba6e052cb
Delete only the records marked to be deleted when restoring history
...
Closes #14913
2026-06-26 15:41:27 +02:00
Cédric Krier
2df52f729f
Correctly translate "Building Number" in French
...
Closes #14896
2026-06-16 15:36:46 +02:00
Cédric Krier
a38be4eb42
Aggregate product by locations before applying filter when searching by quantity
...
Closes #14887
2026-06-11 15:30:11 +02:00
Cédric Krier
897a8acbf4
Call the same super method for validate_fields of account move line
...
Closes #14901
2026-06-18 14:37:36 +02:00
Cédric Krier
724eb420e4
Filter lines by reconciliation date to calculate payable/receivable of party
...
The lines reconciled after the date should be included in the sum as the other
line may be filtered.
Closes #14857
2026-05-21 16:13:34 +02:00
Cédric Krier
e531835283
Use also maturity date to calculate reconciliation date
2026-06-05 15:50:42 +02:00
Cédric Krier
1a97d30945
Use package name as target for module with prefix
...
The entrypoint is pointing to the package name when using prefix so the target
should also.
Closes #14814
2026-06-18 19:09:35 +02:00
Cédric Krier
dccf30db96
Use new non-readonly transaction to create journal-period from opening wizard
...
Since 088e367462ce the execution of the wizard is on a readonly transaction
which prevents to insert in the database.
Closes #14894
2026-06-16 13:19:12 +02:00
Cédric Krier
f0d3a70b0f
Do not strip wildcard for number clause when searching work per record name
...
The strip of wildcard is usually applied for code not number.
Closes #14882
2026-06-11 10:37:29 +02:00
Cédric Krier
0c1652ca99
Skip second update of chart of account when template is overridden
...
Closes #14879
2026-06-09 10:48:51 +02:00
Cédric Krier
6467856e6f
Add purchase support to project work using depend on register
2026-05-06 09:04:23 +02:00
Cédric Krier
f0d937288f
Prevent to modify attachments on model without write access
...
When the user has no write access to the module, the "Add" button of the
attachment menu is not displayed and the manage button opens a screen in
readonly mode.
Closes #14863
2026-06-18 23:24:06 +02:00
Nicolas Évrard
ec11c9e83b
Allow to store empty files in Binary fields
...
Closes #14476
2026-01-08 01:06:16 +01:00
Cédric Krier
20f5089837
Do not convert select query value into list when searching on char with in operator
...
Closes #14898
2026-06-18 15:49:10 +02:00
Cédric Krier
66e09842d8
Avoid random payment amount of zero in braintree tests
...
The value 0 is not valid for a payment.
2026-06-18 14:55:21 +02:00
Cédric Krier
bb88737b22
Remove usage of warehouse field
...
26b2c5a94b90 replaced the field by a property.
2026-06-18 10:38:26 +02:00
Udo Spallek
16a5a90aff
Return the quantity of sale line component for manual shipment method
...
Closes #14888
2026-06-17 22:50:11 +02:00
Nicolas Évrard
962c9d02a1
Save the new ir.model.data instances before calling functions on them
...
Closes #14885
2026-06-09 18:33:51 +02:00
Cédric Krier
2f57974cef
Set shipment address only when empty when changing party of sale amendment
...
Closes #14796
2026-06-12 23:42:19 +02:00
Adrià Tarroja Caubet
a127ced8d1
Add missing invoice address when changing party of amendment
...
Closes #14796
2026-06-12 23:44:04 +02:00
Cédric Krier
8feb50c71c
Support query without where clause when searching on Many2One with where operator
...
When not using subquery but EXISTS and having a target domain converted into
UNION, the query result does not have a 'where' clause.
Closes #14889
2026-06-11 14:29:17 +02:00
José Antonio Díaz Miralles
d51621e14c
Sanitize screen.current_record if it is already destroyed
...
Closes #14827
2026-05-10 11:44:04 +02:00
Cédric Krier
dd03853b84
Document the usage of active_test in the context for ModelSQL.search_domain
2026-04-23 00:57:30 +02:00
Cédric Krier
77073c56e4
Improve help text for the tax rule fields on party
...
Closes #12674
2026-04-14 15:19:59 +02:00
Cédric Krier
8aaf6e1eb5
Replace warehouse field on location by a property
...
The Function field is not efficient so its usage should be reserved to
server side code only.
2026-05-07 18:36:18 +02:00
Cédric Krier
8dfa6915b7
Convert toolbar into mutable objects before modification
...
Since 619fd425e3bb the toolbar may be immutable when it comes from the cache.
Closes #14881
2026-06-08 09:09:23 +02:00
Cédric Krier
76f8794062
Sort selection strings without key function
...
The selection is a list of string so we can sort as-is.
Closes #14883
2026-06-08 16:19:50 +02:00
Cédric Krier
9d84995d12
Remove display on element style when showing element
...
The `revert` value prevents to inherit from the CSS rules.
Closes #14872
2026-06-02 12:24:25 +02:00
Cédric Krier
8962022c59
Remove unnecessary MANIFEST.in
2026-06-02 12:02:28 +02:00
Cédric Krier
57a9484da8
Prevent modifying the company of project work with parent, children or timesheet
...
Closes #14871
2026-06-02 12:00:50 +02:00
Cédric Krier
6243f405bd
Use only active journal for reception of direct debit
...
Closes #14866
2026-05-28 16:30:28 +02:00
Cédric Krier
ecfa483dfb
Do not copy accounting templates when copying product category for accounting
...
Closes #14862
2026-05-27 10:21:50 +02:00
Cédric Krier
62b2a4d89f
Reset the selection when cursor is set with reset view
...
The view is reset when a new record is displayed and on editable list or
list-form, we want to have only the current record selected even if the
selection checkbox is checked for all records.
Closes #14858
2026-05-21 17:54:51 +02:00
Cédric Krier
0c76beb1a0
Add row factory for postgis backend
...
#14797
2026-06-07 14:17:41 +02:00
Cédric Krier
d0f7906ef6
Update the version of Stripe used
2026-06-02 14:39:18 +02:00
Cédric Krier
cb1a298a4f
Make display synchronous when possible
...
In order to ensure that after the focus out of a field that triggers
on_change's, the view is fully displayed before the set_value call from the
Window.Form response. Otherwise the set_value restore the previous value.
Closes #14853
2026-05-20 18:50:58 +02:00
Cédric Krier
25d1b72c64
Store column optional per occurrence
...
Closes #14832
2026-05-13 15:08:23 +02:00
Cédric Krier
c92f64c1d6
Use join to calculate account party of general ledger line
2026-05-11 16:01:30 +02:00
Cédric Krier
ddc9186416
Print general ledger lines per party for account with party required
...
Closes #14828
2026-05-11 15:51:51 +02:00
Cédric Krier
9d33e837fe
Order the lines of the general ledger account
...
They must use the same order as the order used to calculate the cumulative
balance.
Closes #14829
2026-05-11 15:50:41 +02:00
Adrià Tarroja Caubet
23a96d751d
Use current record context when rendering email templates
...
Pass the current record context from the email dialog when fetching
template values and defaults. This keeps context-dependent models,
including table_query records, addressable after the user changes the
context.
Closes #14565
2026-06-06 11:47:25 +02:00
Cédric Krier
01b76919e4
Remove padding for item in notification menu
2026-05-21 11:05:51 +02:00
Cédric Krier
1b130740a5
Always use the body background for notification menu
...
On small screen the menu inherits of the navbar background which reduces the
contrast with the item of the menu.
Closes #14855
2026-05-21 11:05:05 +02:00
Cédric Krier
25ffdbff7b
Use defauldict for XML ID getter instead of construct a complete dict
2026-04-24 23:02:57 +02:00
Cédric Krier
0acec62e0b
Use ids from BrowseList instance instead of construct a new list
2026-04-24 23:01:55 +02:00
Cédric Krier
0dae022a06
Add BrowseList for Model instances
...
Closes #14808
2026-04-24 23:21:41 +02:00
Cédric Krier
60d63197fe
Do not display commission price on stock move if not set
...
Like the cost fields we should display it only if it is set.
2026-06-03 18:24:08 +02:00
Cédric Krier
7f42e0a3d7
Remove cost separator in stock move form
...
The cost fields are not always visible so the separator may be displayed when
no cost fields is.
Each cost field has its own invisible statement so it will be much complex to
build on for the separator than removing it.
2026-06-03 18:23:31 +02:00
Cédric Krier
9d032e7a48
Use defaultdict as result of get method of Field
...
This prevents loop to fill the result with default value.
2026-04-23 19:04:43 +02:00
Cédric Krier
b99e3b455e
Do not include _timestamp, _datetime nor __id in searched columns
...
Since 815a0a887c3e the history filtering is done using SQL query so these
columns are no more needed in the search result.
2026-04-23 00:56:02 +02:00
Cédric Krier
572bd146af
Do not prefetch columns when searching for RPC
...
Closes #14802
2026-06-05 10:10:01 +02:00
Cédric Krier
5f56aa0769
Add row factory to cursor
...
Closes #14797
2026-06-04 23:41:21 +02:00
Cédric Krier
8d8a5ffa14
Move invoice payment methods entry under invoice payments menu
2026-06-04 23:07:09 +02:00
Sergi Almacellas Abellana
c9987650b9
Use only 3 cols for plural field on lang form
...
Closes #14873
2026-06-03 12:48:36 +02:00
Cédric Krier
ff711ce37d
Use percentage of viewport height as maximal height for treeview and list-form
...
Closes #14840
2026-05-18 17:38:04 +02:00
Cédric Krier
00c5c5ee76
Grow vertically the tab content
2026-05-18 17:35:59 +02:00
Cédric Krier
a27b05e3b9
Move warehouse and shipping date of sale to other page
2026-05-18 17:23:47 +02:00
Cédric Krier
f97801a3e7
Use product or template record name as record name for product image
2026-05-07 13:31:21 +02:00
Cédric Krier
b496b4abf1
Set filename extension to jpg for product image
...
Closes #13334
2026-05-07 13:30:46 +02:00
Cédric Krier
5a493891da
Set filename extension to jpg for avatar
2026-05-07 13:29:48 +02:00
Cédric Krier
8af098bd17
Add filename extension to Binary field
2026-05-07 13:29:24 +02:00
Cédric Krier
af8c446a5b
Use record name as fallback for filename of Binary field
2026-05-07 13:28:19 +02:00
Cédric Krier
792602c230
Add filters attribute for binary and image widgets
...
Closes #14822
2026-05-12 15:40:54 +02:00
Cédric Krier
5745c651e6
Compare reset password using constant time function
2026-04-10 11:29:50 +02:00
Alen Sugimoto
3ba57cac70
Add regression tests for falsy negative currency formatting
2026-05-22 15:46:38 -07:00
Alen Sugimoto
0904162ec5
Fix falsy negative currency formatting selection
...
Closes #14860
2026-05-24 08:31:26 -07:00
Cédric Krier
88d280d500
Add phone types as guessing when phonenumbers is not installed
...
Closes #14861
2026-05-26 09:49:36 +02:00
Cédric Krier
02031672ca
Do not save record in editable tree view with parent when checkbox is toggled
...
The parent record is responsible to save the records which is part of a field.
Closes #14848
2026-05-19 17:33:44 +02:00
Cédric Krier
eec4bae8d0
Process response to wizard button only if the state is still the same
...
The response is asynchronous so when the event is processed the state may have
changed.
Closes #14847
2026-05-19 17:18:34 +02:00
Cédric Krier
c22c4acd7a
Set __processing when processing wizard state
...
The protection was copied from tryton but it was missing this activation.
Closes #14846
2026-05-19 17:13:41 +02:00
Cédric Krier
f4dfb8de08
Use tree's record name search for the name parts of project work
...
Closes #14834
2026-05-19 15:22:00 +02:00
Cédric Krier
642063d4c9
Return a proper DateTime in UTC for domain parser completion
...
Closes #14842
2026-05-18 18:28:00 +02:00
Cédric Krier
340c6cda94
Always process 503 and 401 HTTP errors
...
Closes #14836
2026-05-18 15:09:24 +02:00
Cédric Krier
a6a03ed2c4
Publish user notification on the bus when notifications are also modified or deleted
...
Closes #14835
2026-05-18 14:11:39 +02:00
Sergi Almacellas Abellana
2fba072d4a
Clear ShippingMixin shipping_reference's when copying it
...
Closes #14833
2026-05-28 09:45:46 +02:00
Adrià Tarroja Caubet
cc103371a8
Avoid crash on SEPA mandate report without bank
...
Closes #14831
2026-05-13 11:25:48 +02:00
Cédric Krier
8e0adee054
Close database after initialization of Pool from WSGI application
...
The psycopg pool starts worker threads that must be stopped.
Closes #14849
2026-05-19 18:19:59 +02:00
Cédric Krier
d52455c360
Support pool process with spawn context for cron and worker
...
When max_tasks_per_child is set, the ProcessPoolExecutor uses a spawn
multiprocessing context which starts a new process from scratch with a __name__
being __mp_main__ which prevents the configuration to be restored.
So in the ProcessPoolExecutor initializer the configuration is restored using
the initial options.
Closes #14843
2026-05-19 12:29:44 +02:00
Cédric Krier
62b3a3b475
Test origin from sale instead of line to calculate cost for return sale of product kit
...
Closes #14854
2026-05-21 10:26:44 +02:00
Cédric Krier
51eaae2070
Delete stock moves only of deactivated products
...
Closes #14844
2026-05-19 10:53:56 +02:00
Cédric Krier
66232f9929
Add optionally a journal column on the invoice list
2026-05-05 16:39:29 +02:00
Cédric Krier
e1b601f923
Remove dependency to pytz and backports.entry-points-selectable
2026-04-28 19:32:51 +02:00
Cédric Krier
a0a6bca457
Add invoice relate from period and fiscal year
...
Closes #14812
2026-04-24 18:26:48 +02:00
Cédric Krier
bd60a15973
Manage products directly on category form
...
Closes #14811
2026-04-24 23:31:34 +02:00
Cédric Krier
3317d0849a
Use search window to delete/remove records from xxx2Many widgets
...
Closes #14782
2026-04-17 18:59:58 +02:00
Nicolas Évrard
9aa924a504
Fetch limit records of ResourceAccessMixin models when they are available
...
Closes #14788
2026-04-21 13:40:21 +02:00
Nicolas Évrard
df1e087165
Use last_modification as the basis of the date of ir.model.log
...
Closes #14786
2026-04-20 17:03:34 +02:00
Nicolas Évrard
d5d9cf3889
Parse equality to a date as two clauses when handling datetime fields
...
Closes #14778
2026-04-14 18:29:42 +02:00
Nicolas Évrard
bee103868f
Modernize parse_clause tests
2026-04-14 18:20:45 +02:00
Cédric Krier
642ff61ab4
Add country organization as criteria of tax rule
...
Closes #14771
2026-04-14 17:29:07 +02:00
Cédric Krier
ad9f7bf8f2
Calculate average lead time for product suppliers
...
Closes #14764
2026-04-13 13:12:59 +02:00
Cédric Krier
b83d7055a9
Guess the type of contact mechanism
...
Closes #14768
2026-04-23 09:18:59 +02:00
Cédric Krier
48d5d5d996
Add check deliverability option to validate email tool
2026-04-23 09:19:13 +02:00
José Antonio Díaz Miralles
d45d477f4f
Reject O2M validate promise when record validation fails after screen display
...
Closes #14775
2026-04-19 13:11:06 +02:00
Cédric Krier
3691d1e8ef
Add a delay to PEPPOL edocument rendering and processing for each service
...
Closes #14767
2026-04-13 18:26:21 +02:00
Cédric Krier
f1e349beee
Restrict direct debit domain to party with receptions
...
Closes #14736
2026-04-02 15:29:10 +02:00
Maxime Richez
ee4bdd08bb
Display products used by customs category
...
Closes #14770
2026-05-07 11:19:56 +02:00
Xavi Hermoso
30a52dd460
Update purchase request state when it is manually linked to a quotation
...
Closes #14773
2026-05-12 09:33:32 +00:00
Cédric Krier
20b2eceed3
Calcule stock move weight on done when required for intrastat
...
The weight may not have been calculated at the creation of the move if the
product did not have a weight set at that time.
Closes #14824
2026-05-08 12:38:14 +02:00
Cédric Krier
081e7e124f
Do not fail to compute supply and purchase date for product supplier without weekdays
...
Closes #14841
2026-05-18 17:45:32 +02:00
Nicolas Évrard
066860fb17
Stop the propagation of the click event in buttons from list-form
...
Closes #14839
2026-05-18 15:57:55 +02:00
Cédric Krier
a9d44cab56
Ensure a reset password token is set before skipping the generation
2026-05-06 17:16:34 +02:00
Cédric Krier
dd56e5d88d
Do not generate a new reset password if the current one is still valid
...
Closes #14819
2026-05-06 17:15:31 +02:00
Cédric Krier
408cd5debf
Include timesheet cost in production work only if timesheet cost module is activated
...
f2642fe60c20 extends the cost method using the cost price of the timesheet line
but without ensuring the module is activated.
Closes #14830
2026-05-12 09:02:55 +02:00
Cédric Krier
f0445ae0bf
Do not add empty extension when slugify filename
...
Closes #14823
2026-05-07 13:34:06 +02:00
Cédric Krier
94f6470f70
Update the version of Stripe used
2026-05-11 09:11:38 +02:00
Cédric Krier
0c1492457e
Add support for AGE to SQLite backend
...
Closes #14763
2026-04-13 12:08:16 +02:00
Cédric Krier
b90030e0c7
Add missing '...' on menu entry that opens a dialog
2026-04-03 18:17:54 +02:00
Cédric Krier
c33e1825f5
Use plural form for attachment and note label
2026-04-03 18:17:33 +02:00
Cédric Krier
96f38c6da0
Display the number of records being deleted in the confirmation message
...
Closes #14745
2026-04-03 18:16:39 +02:00
Cédric Krier
14cec1520b
Raise a generic user error message when failing to parse statement
...
Closes #14621
2026-04-03 17:06:49 +02:00
Cédric Krier
a936b768d0
Add button to mark notifications as read
...
Closes #14744
2026-04-03 15:56:14 +02:00
Cédric Krier
d4518aae4d
Make search on boolean non equals to True is the same as different of False
...
Closes #14815
2026-05-06 09:23:35 +02:00
Cédric Krier
e95e3f989f
Do not reset to quotation Shopify order already processed
...
After a refund the authorized payment amount may be lower than the amount to
pay but the sale should still stay in processing or done state.
Closes #14816
2026-05-05 00:11:08 +02:00
Cédric Krier
3b16f5f6db
Ensure to refund Shopify order only once
...
There are no guarantee from Shopify that the fulfillableQuantity will be
updated just after the refund creation but the sale may be re-processed via the
Shopify webhooks just after the refund.
To avoid to refund multiple times, we need to keep track that the refund was
already be made.
Closes #14776
2026-04-16 11:11:01 +02:00
Cédric Krier
466f6c0120
Delegate notification handling of worker to the backend
...
Since bb52a833e823 the backend provides methods to handle notification.
Closes #14821
2026-05-07 18:12:20 +02:00
Cédric Krier
c1adf66b45
Add RPC method name as fragment of the URL for session methods
2026-05-06 17:25:44 +02:00
Cédric Krier
12c5be5391
Add rpc suffix to reset password procedure
...
Closes #14820
2026-05-06 17:24:23 +02:00
Nicolas Évrard
8066320c0d
Consider in-leaf with a unique value as constrained for domain inversion
...
Closes #13869
2025-02-13 01:02:11 +01:00
Nicolas Évrard
23d6566664
Synchronize trytond and tryton domain_inversion implementations
...
The commit d826376d08a5 was not correctly copied.
2025-02-12 18:59:33 +01:00
Cédric Krier
e90cff1f89
Flip expander and icons for RTL language
...
Closes #14810
2026-04-24 16:16:27 +02:00
Xavi Hermoso
0f28185db8
Filter draft purchase request using state
...
Using empty purchase line is confusing with the domain added for request quotation.
Closes #13700
2026-05-07 18:22:46 +02:00
Sergi Almacellas Abellana
ff2a02c2aa
Add missing space in ethanol volume uom string
2026-04-14 15:05:19 +02:00
Nicolas Évrard
372e8920cf
Fallback on the model name when there is no name param in a tryton URL
...
Closes #14743
2026-04-02 19:44:24 +02:00
Cédric Krier
17e71bf684
Always put form input inside an input-group to position accesskey
...
And invert left/right position on RTL.
Closes #14809
2026-04-24 16:14:05 +02:00
Sergi Almacellas Abellana
e74040ae42
Always use out/return as sale move types
...
Closes #14807
2026-04-23 16:51:09 +02:00
Cédric Krier
c074c26abc
Do not render buttons in readonly screen
...
Closes #14803
2026-04-23 12:47:01 +02:00
Cédric Krier
2638b0cb77
Activate module for TranslationTestCase
2026-04-24 16:06:46 +02:00
Sergi Almacellas Abellana
bbc76d4d94
Manage assigned moves on add lots wizard
...
Closes #14804
2026-04-23 13:36:23 +02:00
Nicolas Évrard
6a9252307b
User percent encoded name of inexistant database
...
Closes #14801
2026-04-22 18:19:51 +02:00
Nicolas Évrard
752265f908
Ensure check_warnings and _datamanagers are valid when using them
2026-04-24 11:47:03 +02:00
Nicolas Évrard
ac11ae4c55
Add missing _datamanagers property on Transaction creation
2026-04-24 11:45:37 +02:00
Cédric Krier
420217e3e9
Use python3 to make tryton installer
2026-04-21 11:41:23 +02:00
Cédric Krier
dd3d10756a
Prevent setuptools Distribution to parse config files
...
The pyproject.toml is not compatible with setuptools as it is based on
hatchling backend.
Closes #14789
2026-04-21 11:40:53 +02:00
Cédric Krier
09cdd20abf
Use version from setup-freeze when making tryton installer
...
This prevents the need to install the build backend dependencies.
2026-04-21 11:39:44 +02:00
Sergi Almacellas Abellana
0b5eb09dde
Shrink psycopg-pool to (0, 1) when cleaning connections
...
When min size is zero, max size must be greater than 0.
Closes #14795
2026-04-23 15:15:16 +02:00
Cédric Krier
518fbdfade
Use title case for task state on sale
2026-04-14 09:29:14 +02:00
Cédric Krier
852224278a
Remove fake gap from form containers on XS screen
...
Since e58b98a512c2 we apply a fake gap but it must be removed on XS screen.
Closes #14799
2026-04-22 16:57:03 +02:00
Cédric Krier
ca40cf3975
Make overflow visible for dropdown in table header of treeview
...
7d2e1761cee2 added an overflow invisible on the div of the table header to hide
the sort icon when the column width is too small. But the overflow must be
visible for the dropdown to display the menu.
Closes #14793
2026-04-21 19:04:13 +02:00
Cédric Krier
dc2b32782a
Do not pass the channel name as parameter to LISTEN call in the queue
...
psycopg3 can not determine the data type.
Closes #14792
2026-04-21 15:30:46 +02:00
Cédric Krier
87efead8eb
Process exception of RPC calls for chat
...
Closes #14790
2026-04-21 12:28:49 +02:00
Cédric Krier
06b33ffd75
Check access only on entry points of chat channel
...
Since 317e5ff39097 the read access is restricted to the admin group.
The access right should not be enforced for the transaction but only at the RPC
entry point.
Closes #14791
2026-04-21 12:15:36 +02:00
Cédric Krier
7f03f4ef3f
Prepend www to URL of bnr.ro website
...
Closes #14784
2026-04-20 10:32:39 +02:00
Cédric Krier
bc810532f5
Submit payment before approve it in demo
2026-04-21 10:06:41 +02:00
Cédric Krier
cfbee9c0fa
Activate modules that are not activated in demo
...
0af71ac1106b wrongly tested the module to activate
2026-04-21 10:06:09 +02:00
Cédric Krier
44664f6734
Fix computation of doc series for odd minor version
2026-04-20 22:24:47 +02:00
Cédric Krier
5e3c4ee93c
Fix computation of documentation series for odd minor version
2026-04-20 21:23:36 +02:00
Cédric Krier
d8594bd9fd
Increase version number
2026-04-20 21:08:15 +02:00
Cédric Krier
acde54d19e
Rename naiad package into tryton-naiad
2026-04-20 20:47:48 +02:00
Cédric Krier
042340bb71
Add tag 8.0.0
2026-04-20 20:10:26 +02:00
Cédric Krier
7f0d38f477
Prepare release 8.0.0
2026-04-20 20:10:13 +02:00
José Antonio Díaz Miralles
1993e447ce
Return the values from the promise of default_get method
...
Closes #14783
2026-04-20 18:14:28 +02:00
Cédric Krier
7a29801b68
Remove unrelated changelog entry
2026-04-20 18:10:24 +02:00
Nicolas Évrard
072d0317aa
Use a list of selection values to enable sorting in the filter window
...
Closes #14785
2026-04-20 10:41:45 +02:00
Cédric Krier
de1bb5d5d9
Update translations [skip ci]
2026-04-20 10:38:52 +02:00
Cédric Krier
c662bea8ad
Abstract the iteration for line items and vat taxes feedback for Typless
...
The generators can be extended for other type of result.
Closes #14781
2026-04-17 10:01:31 +02:00
Cédric Krier
a7c57aeef6
Execute only one menu item and button actions at a time per tab
...
Closes #14769
2026-04-16 23:00:54 +02:00
Cédric Krier
f07cf4dceb
Wait for the next/previous display promises before clearing info and set button sensitiveness
...
#14769
2026-04-16 22:50:42 +02:00
Cédric Krier
a973cdd9f8
Only set the value on the current view of One2Many when the form set values
...
If the current view is a form view, we need to ensure that the values are
actually set for all the widgets.
2026-04-16 22:48:34 +02:00
Cédric Krier
886a463adb
Support widget returning promise on display
...
The xxx2Many widgets can not be displayed synchronously so we need to include
there promise in the promise returned by the form view display method.
#14769
2026-04-16 22:45:15 +02:00
Cédric Krier
1c80557101
Sort Shopify products by ID when position is None
...
Closes #14774
2026-04-15 16:26:20 +02:00
Cédric Krier
4875c428e4
Render prepaid amount in UBL invoice
...
Closes #14766
2026-04-13 17:30:06 +02:00
Cédric Krier
4e4c294bb0
Move the sortable icon of table column outside of the label
...
This ensure that the labels have the same height even if they are or not
sortable.
Closes #14762
2026-04-11 08:42:50 +02:00
Cédric Krier
53bf0cefcd
Cast to integer reporting ID calculated using SQL Power
...
Closes #14732
2026-04-09 18:24:39 +02:00
Cédric Krier
4e97df25ba
Save the record when checkbox is clicked on editable tree view
...
Since 53ff6c9d8393 checkbox can be toggled even if the record is not the
currently selected record.
When the changed record is not the currently edited record, it must be saved as
editable tree handler will not save it.
Closes #14642
2026-04-09 17:28:37 +02:00
Cédric Krier
bbd062a61a
Return promise from save function on Tab
...
Closes #14604
2026-04-09 15:54:06 +02:00
Cédric Krier
4fbf75b518
Clear consolidation company if the invoice's changed party is incompatible
...
Closes #14757
2026-04-08 19:21:09 +02:00
Cédric Krier
a1a08ef8d9
Remove invalid SEPA mandate when payment is reset to draft
...
Closes #14756
2026-04-08 18:49:25 +02:00
Cédric Krier
cfff8414ff
Limit the application of receivable rules to accounts and parties in the statement
...
Closes #14755
2026-04-08 17:16:26 +02:00
Cédric Krier
7e01e915c5
Use no breaking spaces for language definitions
...
Closes #14754
2026-04-08 14:42:10 +02:00
Cédric Krier
3ea7d3a207
Call super in channel email methods extended by inbound email module
2026-04-17 07:42:34 +02:00
Korbinian Preisler
f2ceae17f3
Use correct message identifier when computing the chat email body
...
Closes #14780
2026-04-16 18:09:30 +02:00
Korbinian Preisler
ee6ec419a7
Add missing rule argument to post inbound email action
...
Closes #14779
2026-04-16 23:33:34 +02:00
Cédric Krier
0f67babf1f
Always remove spaces when converting value to number in domain parser
...
Closes #14753
2026-04-08 14:31:55 +02:00
Cédric Krier
cc1a046c9e
Test instances against the Response/Request classes from werkzeug
...
It should be allowed to use the base classes instead of the custom derived of
Tryton.
Closes #14765
2026-04-13 14:38:48 +02:00
Cédric Krier
cf8d245a9a
Add note in the documentation about the scheduled task to update Peppol document status
2026-03-26 07:38:42 +01:00
Cédric Krier
24ab3419a3
Update invoice documentation to describe the revised report
2026-03-27 09:18:14 +01:00
Cédric Krier
5c2579a62a
Search only for identifier of active party for supplier invoice party
...
Closes #14752
2026-04-08 12:12:54 +02:00
Nicolas Évrard
033e4326bf
Remove the implicit undefined return when computing the fields to update
...
Closes #14751
2026-04-07 18:54:39 +02:00
Cédric Krier
eb0cb933ef
Delete related resources when deleting records
...
Closes #14748
2026-04-07 13:39:54 +02:00
Cédric Krier
371c01984a
Use BIGINT for the party code digit and limit its size to 18 digits
...
Closes #14761
2026-04-09 19:20:38 +02:00
Cédric Krier
3a14737d86
Do not use a Transaction to copy SQLite database for tests restoration
...
Starting a Transaction can only be done on a already setup database as the
cache synchronisation may query the `ir_cache` table.
Closes #14742
2026-04-02 19:24:07 +02:00
Cédric Krier
f2ef34f8fc
Remove usage of deprecated grouped slice in ethanol production
...
Closes #14750
2026-04-07 15:27:48 +02:00
Cédric Krier
3a79a7a2e0
Remove leading space in VATEX codes for French chart of account
2026-04-13 12:37:14 +02:00
Sergi Almacellas Abellana
b162fe645b
Do not extract relatorio link's text as translation source
2026-04-10 13:52:02 +02:00
Cédric Krier
7bf94f6e79
Follow the guideline style for sections of main documentation
2026-02-27 08:35:57 +01:00
Cédric Krier
418a7bd898
Update documentation about handling exception
...
Since 57b1872a62fb the wizards display a list to be ignored and another to be
recreated.
2026-01-20 12:38:02 +01:00
Korbinian Preisler
dca94f7365
Add missing f-string prefix in search for contact mechanisms for chat
...
Closes #14760
2026-04-09 17:45:01 +02:00
Nicolas Évrard
1c98320ccc
Call on_modification on each Model with a replaced party
...
Closes #14684
2026-03-16 18:42:56 +01:00
Cédric Krier
bcf8181107
Split indexes for history table to have either id or __id
...
815a0a887c3e added the index but the id and __id are just included to the index
when the pre-filtering could be improved if id was in the index and the window
order could be improved if the __id was in the index.
2026-03-31 13:51:29 +02:00
Cédric Krier
a719345f7b
Add index for target column of xxx2Many field on history table
...
Closes #14725
2026-03-31 12:02:51 +02:00
Cédric Krier
686bec27a3
Make the payment term fields readonly for non draft amendment lines
...
Closes #14746
2026-04-04 00:52:12 +02:00
Cédric Krier
9342315ac3
Remove padding on menu and tabs on small screen
...
Once the menu has 100% width, the padding must be removed otherwise the tabs
can still be visible.
2026-04-02 23:47:00 +02:00
Cédric Krier
5a599d35f4
Force 100% width to menu on small screen
...
Once the menu can no more be resized, its CSS width must be forced over the one
in style attribute set by the user resize.
Closes #14696
2026-04-02 23:45:51 +02:00
Cédric Krier
44ead02d4c
Do not fail to apply statement rules if account is missing on party
...
Closes #14741
2026-04-02 17:57:49 +02:00
Cédric Krier
280d432ae4
Use party with origin's company in the context to retrieve accounts when applying statement rule
...
Closes #14740
2026-04-02 17:57:12 +02:00
Cédric Krier
9b255e2f63
Use mixin to copy of One2Many from product linked by template and product
2026-04-02 17:26:12 +02:00
Cédric Krier
f0447cb3d7
Do not simply copy One2Many from product linked by template and product
...
Closes #14739
2026-04-02 17:25:24 +02:00
Cédric Krier
d373790877
Do not match direct debit reception with SEPA mandate that is not validated
...
Closes #14738
2026-04-02 15:33:36 +02:00
Cédric Krier
7ba03db6eb
Refresh resources when reloading record of form view
...
As the record is only cancelled and not recreated, the cached resources are
kept so they must be refreshed.
Closes #14733
2026-04-02 10:26:27 +02:00
Cédric Krier
df765aee83
Do not use relation field from default order when fetching One2Many records
...
The records are already ordered by the field id to be grouped later so such
order clause has no impact on the result.
But they require joins that may not be needed otherwise.
Closes #14716
2026-03-26 18:00:24 +01:00
Cédric Krier
6a412267b0
Use gettext and normalized email for chat messages
2026-04-07 09:35:21 +02:00
Cédric Krier
cd0299cccd
Set List-Id and List-Post header to chat emails
...
Closes #14747
2026-04-07 09:36:13 +02:00
Cédric Krier
c3f7b2d655
Remove Auto-Submitted header from chat emails
2026-04-07 09:31:56 +02:00
Cédric Krier
fdc79d7144
Use the EXTRACT function to calculate the cost of the timesheet work
2026-04-07 16:58:15 +02:00
Sergi Almacellas Abellana
2fcfc82bcf
Add an option to include the timesheet costs in the production costs
...
Closes #13304
2026-04-07 16:46:21 +02:00
Cédric Krier
063d384a4e
Add naiad library
2026-04-07 17:40:41 +02:00
Cédric Krier
0e25c97f45
Add REST API
2026-04-04 23:03:18 +02:00
Cédric Krier
dbe5c74cb6
Add rpc suffix to URL for RPC call
2023-11-12 23:43:19 +01:00
Cédric Krier
7e068856e9
Add RPC method name as fragment of the URL
...
This generates more meaning full URL in the browser network monitor.
2023-11-12 20:43:00 +01:00
Cédric Krier
ceb1e9d0df
Use relative path for server requests of sao
...
Closes #9239
2023-11-12 23:43:41 +01:00
Cédric Krier
84c47a0433
Support mounting application under a prefix
...
Closes #9239
2023-11-12 23:44:43 +01:00
Cédric Krier
05b4e9a6e9
Restrict mandate on direct debit reception to the same company as the journal
...
Closes #14737
2026-04-02 15:32:01 +02:00
Nicolas Évrard
f623812818
Honor the sort parameter of Selection fields in the filter box
...
Closes #14731
2026-04-01 18:24:35 +02:00
Sergi Almacellas Abellana
e5b655fd39
Make product customer readonly for non draft amendment lines
...
Closes #14727
2026-03-31 15:35:28 +02:00
Cédric Krier
50756bfcf1
Calculate cached quantities for inactive locations when closing a stock period
...
Closes #14664
2026-03-26 09:09:00 +01:00
Cédric Krier
72a2aa648b
Enforce strictly positive rounding value for cash
...
Closes #14704
2026-03-25 12:53:28 +01:00
Cédric Krier
0f5f326964
Permit only valid lines to be selected for reconciliation
...
Closes #14703
2026-03-24 16:57:31 +01:00
Cédric Krier
6a10f36d49
Update the version of Stripe used
2026-03-29 12:04:54 +02:00
Cédric Krier
283b4fc0ca
Set direct debit based on party configuration if there is no payment mandate define
...
Closes #14702
2026-03-24 16:36:12 +01:00
Cédric Krier
4ab2b722f5
Preserve the filter text when executing the reload client action
...
Closes #14699
2026-03-20 19:19:15 +01:00
Cédric Krier
e38902b4ed
Replace non-ASCII characters in translated strings
2026-04-01 15:22:17 +02:00
Cédric Krier
226c4e63a6
Rename party identifier si_businessid into si_maticna
...
The identifier was added using the alias before 3dc08a936ef7.
2026-04-01 14:19:20 +02:00
Cédric Krier
0efb097f55
Store Message-Id of email received on the corresponding chat message
...
Closes #14730
2026-04-01 13:07:51 +02:00
Cédric Krier
c7c8810b8e
Add ModelView to chat message
...
It is needed to store the message as result on the inbound email.
Closes #14729
2026-04-01 13:06:11 +02:00
Cédric Krier
5411ad3340
Add record name to chat channel
2026-04-01 13:05:17 +02:00
Cédric Krier
2821e4ddab
Make chat channel readable only by the administrators
2026-04-01 13:04:45 +02:00
Cédric Krier
32d3cef4e4
Use session property instead of authorization for bus subscription
...
Since 375fb083e95a the userid may be defined in a cookie instead of the
authorization header.
Closes #14726
2026-03-31 13:26:00 +02:00
Cédric Krier
0a5b91f689
Fallback to Compact Syntax if RelaxNG files are not present
...
lxml can load compact syntax if rnc2rng package is installed.
This avoid the need to generate the RelaxNG files in development.
2026-03-30 11:29:57 +02:00
José Antonio Díaz Miralles
86800a9830
Do not use isolation in update_requirements hook unless necessary
...
Closes #14707
2026-03-26 22:39:31 +01:00
José Antonio Díaz Miralles
7c57fe0d9b
Specify missing develop requirements
...
Closes #14707
2026-03-25 23:52:53 +01:00
Cédric Krier
a516314edd
Remove unused pending window domain and include submitted to processing window domain
...
Closes #14728
2026-04-01 08:42:54 +02:00
Cédric Krier
e3a098ad11
Remove account_de_skr03 module
2026-04-01 10:59:57 +02:00
Sergi Almacellas Abellana
f6f624a70e
Remove account_es and account_es_sii modules
...
Closes #12277
2026-04-01 09:40:50 +02:00
Nicolas Évrard
44642bec77
Add support for emails on the chat channels
2026-03-31 18:59:55 +02:00
Nicolas Évrard
6a38874d57
Call _get_pixbuf_url with the right arguments
...
Closes #14666
2026-03-10 14:05:19 +01:00
Cédric Krier
833c2b9d72
Fix module name for migration of account value in payment
...
Closes #14523
2026-01-20 09:28:30 +01:00
Cédric Krier
8948297c23
Add labels to migration documentation
2026-01-20 09:26:56 +01:00
Sergi Almacellas Abellana
7d51113405
Update documentation of production work timesheet module
2026-03-30 22:20:54 +02:00
Sergi Almacellas Abellana
5ca906928c
Update documentation of production work module
2026-03-30 22:13:32 +02:00
Sergi Almacellas Abellana
e756249674
Update documentation of production routing
2026-03-30 22:13:40 +02:00
Alex Alias Montserrat
044ad2f1c0
Update documentation of sale complaint
2025-12-15 11:58:01 +01:00
Alex Alias Montserrat
626c61b3c1
Update documentation of stock supply
2026-03-29 17:14:46 +02:00
Alex Alias Montserrat
7e1bd14392
Update documentation of timesheet_cost
2026-03-29 13:22:15 +02:00
Alex Alias Montserrat
8894a88a53
Update documentation of timesheet
2025-11-13 12:43:57 +01:00
Cédric Krier
ca5608e606
Add ethanol volume to price list formula
2026-03-28 17:54:47 +01:00
Cédric Krier
06a21c6354
Add support for selling with excise number using excise tax to calculate price list
2026-03-28 17:50:12 +01:00
Cédric Krier
c71b23f817
Allow EU excise declaration in alcohol volume
2025-04-07 19:13:55 +02:00
Cédric Krier
0b9f808fcd
Add account_stock_eu_excise for excise declaration
2026-03-28 17:41:16 +01:00
Cédric Krier
544e5a2b7c
Manage ethanol in stock
2026-03-28 13:40:06 +01:00
Cédric Krier
ea7a417d4a
Add documentation about notification
2025-12-13 17:21:23 +01:00
Cédric Krier
792d8f9d5c
Follow standard for product anchor in production documentation
2026-03-30 19:25:51 +02:00
Cédric Krier
62c614a7b7
Add sale_project_task module
2026-03-27 17:37:53 +01:00
Cédric Krier
a49aa67d73
Calculate the quantities to ship and to invoice for sale and purchase
2026-03-27 19:32:32 +01:00
Cédric Krier
905a2b20ba
Rename invoice method on shipment into on fulfillment
2026-02-25 11:37:37 +01:00
Cédric Krier
67b9c34b25
Do not show empty invoiced progress on project work
2026-02-25 15:24:25 +01:00
Cédric Krier
d5b308ffb3
Add origin reference to work
2026-02-25 15:25:02 +01:00
Cédric Krier
801a805ab6
Add account_payment_check module
2026-03-27 18:36:21 +01:00
Cédric Krier
4bbe1e263c
Fix documentation label for strict sequence
2026-01-13 15:41:04 +01:00
Cédric Krier
b3da16647f
Remove google_maps module
...
Closes #14608
2026-03-30 22:36:05 +02:00
Cédric Krier
741eaf801c
Set sortable on table header instead of label
...
This way the cursor is rendered as pointer over the clickable element.
2026-03-18 19:47:50 +01:00
Cédric Krier
3c8621dc9f
Improve style when resizing columns
...
- use box-shadow to simulate border on the stick header
- show resizer on hover
- render dashed border for columns when resizing
Closes #14693
2026-03-18 19:46:20 +01:00
Cédric Krier
1a70a6e362
Set the processing label when it is shown to be translated
...
Closes #14692
2026-03-18 17:35:20 +01:00
Nicolas Évrard
7c0d6a295a
Allow to specify some XML fields value as relative to the subdirectory path
2026-02-24 22:39:38 +01:00
Nicolas Évrard
652f497110
Include subdirectories tryton.cfg when activating a module
...
Closes #14625
2026-02-28 00:16:45 +01:00
Nicolas Évrard
b403fe8f39
Use a cookie to store the session token
...
Closes #14412
2026-03-30 16:24:44 +02:00
Cédric Krier
17d7a1ad22
Clear _chat attribute and unregister when closing chat or tab
...
Closes #14576
2026-03-18 17:18:42 +01:00
José Antonio Díaz Miralles
69afb65171
Include inactive keys from the dict schema when searching
...
Closes #14694
2026-03-29 22:31:44 +02:00
Nicolas Évrard
28c03e5e81
Consider empty string and None as incompatible with full text searches
...
Closes #14691
2026-03-18 17:23:14 +01:00
Sergi Almacellas Abellana
ed30a4efde
Delete the movable locations when the internal shipment is deleted
...
Closes #14690
2026-03-18 16:46:38 +01:00
Nicolas Évrard
d0f6af4881
Reset the session login when cancelling the password challenge
...
Closes #14687
2026-03-17 17:45:22 +01:00
Nicolas Évrard
8d932ff6ff
Set the overpaying statement line related_to type to account.invoice
...
We can infer that the extra amount will be used to pay another invoice so we
might as well help a little bit the user to select the right one
Closes #14683
2026-03-16 17:26:59 +01:00
Nicolas Évrard
502e2d5ecb
Create a hook to compute the reverse tax and amount from the tax type
...
Closes #14681
2026-03-16 15:54:38 +01:00
Cédric Krier
264e27d88e
Replace ShopifyAPI by shopifyapp
...
Closes #14243
2026-03-29 20:05:46 +02:00
Cédric Krier
aba5c5b157
Do not call on_change_party when creating sale from webshop
...
Only the addresses are set from the party to prevent side effects from other
modules who may extended the method.
2026-03-25 22:11:59 +01:00
Cédric Krier
75ec32b080
Set header for sale from shopify before setting the lines
...
The lines may depend on the header like the shipping line which depends on the
carrier.
Closes #14706
2026-03-25 23:25:50 +01:00
Cédric Krier
5db4bb63c8
Fill invoice source amounts instead of checking amounts from UBL
...
Closes #14624
2026-03-14 00:46:13 +01:00
Cédric Krier
acfece868a
Check the invoice amounts against the source amounts
2026-03-13 23:53:22 +01:00
Cédric Krier
df5dc23253
Add support for pick-up delivery method from Shopify
...
Closes #14581
2026-03-27 13:38:34 +01:00
Cédric Krier
41f63dbb1a
Log the update of sales from Shopify
...
Closes #14711
2026-03-26 10:58:16 +01:00
Cédric Krier
65342e9877
Add contextual `_log` to force logging events
...
Closes #14712
2026-03-26 10:56:59 +01:00
José Antonio Díaz Miralles
080dc694ec
Remove unused table instances in dispatcher
...
Since 8f2297978263 there are no more used.
Closes #14661
2026-03-29 11:50:11 +02:00
Cédric Krier
84bcad1e83
Close the database connection after memory database has been dropped
...
When dropped the global connection is set to None but it should be closed when
the transaction put back the connection.
Closes #13859
2026-03-24 10:55:44 +01:00
Cédric Krier
43cf9b7634
Commit after each reconciliation of the automatic reconciliation scheduled task
...
This avoid having a long running transaction on large database but keep sharing
most of the code with the wizard.
Closes #14674
2026-03-13 11:52:40 +01:00
Cédric Krier
86edccf764
Make retrieval of metadata for main doc via build really quiet
2026-03-29 08:57:01 +02:00
Cédric Krier
9055b68e74
Use current timestamp as last modified at for table query
...
The ModelSQL with table query may not define write nor create date since
5095928ec38a
2026-03-28 19:07:51 +01:00
Cédric Krier
794b61b163
Filter the MIME type of the additional documents in UBL allowed by the specification
...
Closes #14708
2026-03-26 08:14:45 +01:00
Cédric Krier
2f12db2751
Add emails to COPYRIGHT names
2026-03-23 16:08:13 +01:00
Cédric Krier
75159112f6
Add number to the project work efforts
...
Closes #14671
2026-03-12 18:12:50 +01:00
Cédric Krier
3b292c46b7
Forbid the payment of an amount of 0 when the amount is editable
...
Closes #14670
2026-03-11 19:04:22 +01:00
Cédric Krier
03655a335a
Add notify_user to ModelStorage
...
Closes #14667
2026-03-11 10:01:51 +01:00
Cédric Krier
27dff955f1
Add missing log_records attribute to Transaction documentation
2026-03-11 10:01:22 +01:00
Cédric Krier
6a9565f9d4
Add generic management for label style in form widget
2026-03-10 15:45:24 +01:00
Cédric Krier
8550300972
Set the default locations for stock move when production is set
...
Closes #14665
2026-03-10 14:54:48 +01:00
Adrià Tarroja Caubet
b9ed5e4aee
Remove trailing spaces from the user name in the login window
...
Since e19329d25a6f user login field prevents trailing or leading spaces so the
clients can remove them from the login window.
Closes #13898
2026-03-27 18:15:43 +01:00
Cédric Krier
b9b81dbc68
Publish a message when notifications are silenced
...
#14698
2026-03-20 18:42:55 +01:00
Cédric Krier
72e6f17b81
Limit the size of the notification payload send to the bus
...
The payload size is limited by the database but also there is no point to
overflow the user with too much notification popup.
So we publish only the first 4 messages and shorten them to 100 chars per line.
Closes #14698
2026-03-20 18:41:23 +01:00
Cédric Krier
25295bde68
Add test to check boolean value for button states
...
#14700
2026-03-21 09:22:21 +01:00
Cédric Krier
ea9df1ca42
Convert to boolean the readonly state of the "Process" button on the inbound email
...
Closes #14700
2026-03-21 09:21:43 +01:00
Cédric Krier
6e482d8859
Convert to boolean the invisible state of the "Create Purchase" button on the purchase request
...
Closes #14700
2026-03-21 09:21:04 +01:00
Cédric Krier
54d422f224
Always convert JSON payload to stripe Event and replace dict methods by StripeObject methods
...
Since Stripe 15.0.0 the StripeObject no longer inherits from dict. This means
that we can no more manage payload as simple JSON but we must convert it to stripe.Event.
And we must replace dict method by their StripeObject equivalent.
Closes #14714
2026-03-26 16:23:55 +01:00
Cédric Krier
7edd09009d
Update to Stripe API version 2025-09-30.clover
2026-03-06 12:17:27 +01:00
Cédric Krier
c8c49bea09
Add deprecation warning when new API version for Stripe is available
...
Closes #14659
2026-03-06 12:09:44 +01:00
Cédric Krier
81872dee9b
Fix format of CHANGELOG initial entry
2026-03-27 18:12:02 +01:00
Alex Alias Montserrar
b8a951b95e
Add a reference field to the quality inspections
...
Closes #12436
2026-03-27 18:10:21 +01:00
Cédric Krier
55da16f6a7
Use party lang Function field to set language for taxes and chat
2026-03-06 10:50:48 +01:00
José Antonio Díaz Miralles
5851c97fd6
Display the missing modules when modules are activated for the tests
...
Closes #14656
2026-03-27 16:48:18 +01:00
Cédric Krier
a81884484a
Update documentation of stock_package
2026-02-07 19:31:15 +01:00
Cédric Krier
3e4e9198a3
Add pack wizard on shipments and package
...
Closes #14586
2026-03-19 15:20:46 +01:00
Nicolas Évrard
fe53481953
Wrap class when filling the pool
...
Closes #14695
2026-03-19 10:38:52 +01:00
Cédric Krier
718628fe0c
Do not fail on calculating max ID when setting sequence on empty group
...
Since 9fdf4dbd66f2 set_sequence calculates the maximum ID but it may be called
with only 0 if the group is empty.
Closes #14689
2026-03-18 13:15:43 +01:00
Cédric Krier
81a4f7118d
Add missing classmethod decorator to get_translatable_languages of language
...
Closes #14685
2026-03-17 15:18:34 +01:00
Cédric Krier
248dbc45f2
Fetch all non cancelled Shopify orders
...
Orders with only gift cards are directly archived by Shopify but we need to
fetch them.
2026-02-04 16:39:09 +01:00
Cédric Krier
f9cfa0c422
Add support for gift card products on Shopify
...
Closes #14417
2026-01-09 18:31:28 +01:00
Cédric Krier
af646f2d25
Add fields that calculate if the invoice is sent via Peppol
...
Closes #14651
2026-03-05 11:48:32 +01:00
Cédric Krier
1abb31b07d
Unpublish the products from the web shops when deactivating them
...
Closes #14649
2026-03-05 10:46:50 +01:00
Cédric Krier
8251c37ed6
Permit administrator to create incoming Peppol document
...
Closes #14646
2026-03-03 19:52:55 +01:00
Nicolas Évrard
85825293de
Do not set default values for new fields when there is no default
...
Closes #14631
2026-02-26 17:07:01 +01:00
Nicolas Évrard
667a53be21
Do not call the Function field getter when there's no ids to use it on
...
Closes #14697
2026-03-19 14:49:33 +01:00
Nicolas Évrard
d47ddb9903
Remove direct calls to NOTIFY
...
In bb52a833e823 we forgot those calls
Closes #14705
2026-03-25 13:10:39 +01:00
Cédric Krier
39a22ae74f
Use python3 to launch build
2026-03-26 00:32:49 +01:00
Cédric Krier
94c4f0a9e6
Rewrite coverage paths
...
Since tox is running tests on the installed package, the coverage paths are no
more relative to the repository root.
2026-03-25 19:39:52 +01:00
Cédric Krier
a77f01aff0
Allow cash rounding with opposite method
2026-03-02 15:21:27 +01:00
Cédric Krier
e4cb6234a1
Do not add comment on table nor column
...
Closes #14614
2026-02-19 09:54:48 +01:00
Cédric Krier
a51a6249c0
Add attn to address
...
Closes #14633
2026-02-27 12:55:11 +01:00
José Antonio Díaz Miralles
661920f4db
Remove the obsolete JSON dump and load methods from ModelData
...
Closes #14654
2026-03-25 08:20:17 +01:00
Sergi Almacellas Abellana
0f9feff82b
Allow copying resources from sale rental to its invoices
...
Closes #14632
2026-02-26 17:52:01 +01:00
Cédric Krier
04739b25bb
Assign shipment before pick in European stock accounting test scenario
2026-02-12 13:08:44 +01:00
Cédric Krier
41d60e5d03
Do not post twice invoice in Spanish account test scenario
2026-02-11 12:50:17 +01:00
Cédric Krier
f34ebe4ffb
Do not call twice wait on account export in test scenario
2026-02-11 12:44:02 +01:00
Cédric Krier
b540f5bbb8
Cancel before reset to draft and validate before posting statement in test scenario
2026-02-11 11:02:34 +01:00
Cédric Krier
c013aed083
Do not try to cancel move in shipment in anglo-saxon test scenario
...
Instead it is the shipment that must be tried to be cancelled because the
cancel button on move is forbidden if it is in a shipment.
2026-02-11 10:57:23 +01:00
Cédric Krier
a61814d46e
Assign shipment before pick in Shopify test scenario
2026-02-10 19:22:32 +01:00
Cédric Krier
39e5dc7ffc
Do not process parent document incoming after split in test scenario
...
Only active document can be processed.
2026-02-10 18:06:00 +01:00
Cédric Krier
f06ae5f4d8
Reset to draft only non draft sales in stock quantity test scenario
2026-02-10 12:37:51 +01:00
Cédric Krier
be609bf3e8
Patch assignation required in test scenario to create move without shipment
2026-02-10 17:42:42 +01:00
Cédric Krier
b5a13b5c5e
Use customer shipment to create outgoing move for lot trace test scenario
2026-02-10 11:55:23 +01:00
Cédric Krier
d4c75a5499
Use internal shipment to create product needs in stock supply test scenario
2026-02-10 17:08:34 +01:00
Cédric Krier
853870a1c9
Set BoM when testing production split
2026-02-09 21:46:16 +01:00
Cédric Krier
b3525db241
Do not activate module already activated for the demo
2026-02-09 20:38:45 +01:00
Cédric Krier
ea7a2c3aa2
Do not reset to wait supplier return shipment in scenario
...
The purchase already creates return shipments in waiting state.
2026-02-09 18:15:37 +01:00
Cédric Krier
ed924a6c25
Test empty sale and purchase with a comment line
...
The states of the button prevents to quote without any line.
2026-02-10 18:09:54 +01:00
Cédric Krier
7d040c8cb9
Check button states when testing access
...
Closes #14591
2026-02-09 18:13:34 +01:00
José Antonio Díaz Miralles
cd51fce0b7
Move the logout entry and add a help entry to the notification menu
...
Closes #14151
2026-03-24 19:28:02 +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
9cf2412f7e
Add visual hint on widget of modified field
...
All the widget properties used for style are regrouped under a unique styled
widget which simplify the CSS rules.
For xxx2Many widget, there is not style applied.
The style is reset when the widget is not linked to a field.
Closes #14613
2026-02-17 18:10:15 +01:00
Cédric Krier
b77d4dbe06
Remove default import of wizard in module template
...
It is encouraged to use button to launch wizards, so the scenario should not
need it too often.
2026-02-24 12:41:49 +01:00
Cédric Krier
a9604157ee
Add VATEX code to Belgian taxes
2026-02-04 09:40:55 +01:00
Cédric Krier
1ec82407cf
Add Belgian purchase and sale VAT zero rated goods
2026-02-03 15:19:31 +01:00
Cédric Krier
1dec292c0b
Add UNECE code to Belgian taxes
2026-01-09 14:33:46 +01:00
Cédric Krier
e7294b45c7
Add VAT exemption code on tax
...
Closes #14573
2026-02-04 10:12:56 +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
855f129ee8
Use https for wikipedia links to BIC and IBAN
2026-03-23 09:03:36 +01:00
Cédric Krier
f6cc09c813
Do not check link to help.shopify.com
...
The website requires JavaScript.
2026-03-23 09:03:05 +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
Nicolas Évrard
d6dc19b523
Skip the reconciliation of already reconciled lines with debit == credit == 0
...
Closes #14679
2026-03-16 12:28:56 +01:00
Cédric Krier
a49ee526d2
Order Account Parties of General Ledger by party before id by default
...
Closes #14669
2026-03-11 16:03:00 +01:00
Cédric Krier
9821476565
Show account parties in ledgers when they contain lines
2026-03-11 15:20:41 +01:00
Cédric Krier
4c7f871e60
Generate an Account Party entry also for party having a move line in a children account
...
Closes #14668
2026-03-11 15:59:05 +01:00
Cédric Krier
82e08446fc
Define Typless fields per document type
...
Closes #14648
2026-03-19 16:41:35 +01:00
Cédric Krier
df3fd82299
Do not show empty web shop URL for product
...
Closes #14650
2026-03-05 10:49:11 +01:00
Cédric Krier
199408510a
Store column widths per occurrence
...
Closes #14645
2026-03-03 19:48:24 +01:00
Cédric Krier
efaaf3513b
Do not use attribute width as computed width and restore computed width on reset
...
If the attribute width (which is the user width) is used as computed width, on
reset of the widths the custom widths are still in used.
2026-03-03 18:50:22 +01:00
Cédric Krier
4c0eb9d4a9
Clear fields_view_get cache after resetting column widths
2026-03-03 18:37:56 +01:00
Cédric Krier
5b27ff2acd
Get custom column width using column attribute name
...
Closes #14643
2026-03-03 18:33: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
b9f12197bf
Add tests for calculating tax rule pattern for countries
2026-03-18 12:03:50 +01:00
Maxime Richez
f7081450f1
Use the first non-invoice line origin to calculate tax pattern for countries
...
Closes #14388
2026-03-18 12:01:17 +01:00
Cédric Krier
b58049e47e
Use flat balance for general ledger
...
Closes #14294
2026-03-11 12:51:12 +01:00
Nicolas Évrard
4eca86d8e7
Use DOMElement methods in set_empty
...
eb3e557996f0 changed the type of the element passed to set_empty to use
directly the DOMElement. Thus we should use directly the equivalent methods
provided by this interface as it's more efficient anyway.
Closes #14686
2026-03-17 16:25:14 +01:00
Cédric Krier
e8c0047fca
Sort statement lines per origin before creating moves
...
Closes #13941
2026-02-28 15:26:23 +01:00
Cédric Krier
b7a8ad390f
Use compact SIRET code for legal ids in UNCEFACT Invoice
...
Since 06e183433933 the identifier code is formatted and not the compact code.
2026-03-16 10:22:14 +01:00
Cédric Krier
e9c1da7197
Set a default undefined payment mean in UNCEFACT/CII invoice
...
Chorus-pro requires to have a SpecifiedTradeSettlementPaymentMeans.
2026-03-16 10:20:09 +01:00
Cédric Krier
3594517396
Avoid redirection in documentation links
2026-03-02 10:58:40 +01:00
Cédric Krier
af2e06bb32
Set headers and restrict to 1 worker when checking documentation link
...
This follows the wikipedia robot policy:
https://wikitech.wikimedia.org/wiki/Robot_policy
Closes #14637
2026-03-02 10:58:19 +01:00
Cédric Krier
f48a5b156a
Use compact identifier code for Spanish identifier code
...
Since 06e183433933 the identifier code is formatted and not the compact code.
2026-03-15 16:18:06 +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
Adrià Tarroja Caubet
f34cbbcbc6
Do not re-number sales from a point of sale once they have been reopened
...
Closes #14568
2026-03-14 17:35:17 +01:00
Cédric Krier
709832c16b
Use currency rounding when currency has no cash rounding set
...
Closes #14638
2026-03-02 15:23:13 +01:00
Cédric Krier
549f37c82f
Test consolidation company selection on invoice numbering
2026-03-09 10:55:14 +01:00
Cédric Krier
fb0ff9c7de
Do not select the invoice company as consolidation company
...
Closes #14662
2026-03-09 10:54:45 +01:00
Cédric Krier
22df2b5490
Use integer to set invisible attribute on payment means of invoice
...
The attribute must be an integer according to the RNG schema and not a string.
2026-03-14 10:36:13 +01:00
Cédric Krier
7dac232ad3
Do not divide LineExtensionAmount by a quantity of zero from UBL invoice
...
The unit price of such line can be the LineExtensionAmount.
Closes #14673
2026-03-14 09:58:22 +01:00
Cédric Krier
cd48d51cce
Use python3 in shebang
2026-03-04 12:36:33 +01:00
Nicolas Évrard
8cd44a1130
Replace jQuery's css by accessing directly the element style
...
jQuery's css method will call window.getComputedStyle() which will force style
recomputation and often force a layout reflow (e.g. when dealing with grid
properties)
2026-02-02 20:18:18 +01:00
Nicolas Évrard
69265a2d3e
Replace jQuery's hide and show by our own implementation
...
jQuery's implementation triggers forced reflows and style recomputation which
hinders performances. Given that we only care about the node on which the call
is done we can use a simpler and more efficient implementation.
Closes #14330
2025-11-21 16:09:28 +01:00
Nicolas Évrard
b9368f8c59
Replace d3 by billboard.js
...
Close #14313
2026-03-13 15:14:09 +01:00
José Antonio Díaz Miralles
6bbf39afb4
Replace bower by nodejs to handle dependencies
...
Closes #13566
2024-10-04 20:54:56 +02:00
Maxime Richez
f5d77c5420
Move purchase lines in a specific tab in production form
...
Closes #14663
2026-03-13 09:43:36 +01:00
Adrià Tarroja Caubet
96b876a14d
Normalize Sao language codes to BCP 47 format
...
Normalize lang and locale values to use BCP 47 tags.
Closes #14653
2026-03-05 17:26:35 +01:00
Cédric Krier
942c3cdb15
Filter out empty references and numbers when joining them from sales for UBL invoice
...
Closes #14652
2026-03-06 01:13:25 +01:00
Cédric Krier
8607d60cf8
Always allow manual method on sale
...
Since 77cbf0a1abbe the manual methods can be triggered with a button so it does
not prevent to trigger other methods.
Closes #14622
2026-02-23 18:24:15 +01:00
Cédric Krier
00c723b0eb
Manage payment terms from Shopify
...
The sale is always confirmed when the Shopify order has payment terms.
Closes #14619
2026-02-20 17:50:02 +01:00
Cédric Krier
a3493a3f2f
Fill payment means when parsing UBL invoice
2026-02-16 10:49:41 +01:00
Cédric Krier
7cb548f280
Add iban compact property to bank account
2026-02-16 13:18:22 +01:00
Cédric Krier
8c36eefc69
Support getting bank from BIC string
2026-02-16 10:48:14 +01:00
Cédric Krier
15878ffbd5
Render invoice payment means in UBL and UNCEFACT
2026-02-13 18:28:24 +01:00
Cédric Krier
c5113b19dc
Add UNCL4461 code to invoice payment mean
2026-02-13 18:27:14 +01:00
Cédric Krier
8cb0fb2bbd
Check invoice payment means when submitting payment
2026-02-13 14:22:58 +01:00
Cédric Krier
cc1f6e424c
Add direct debit as instrument for invoice payment means
2026-02-16 12:01:18 +01:00
Cédric Krier
6246ea244a
Add payment means to invoices
2026-02-16 12:32:35 +01:00
Cédric Krier
88799ccc0c
Add translated type string to bank account number
2026-02-12 11:09:23 +01:00
Cédric Krier
27a6a3e0b3
Allow cancellation stock group to cancel running and done productions
...
Closes #13899
2026-02-11 09:38:43 +01:00
Cédric Krier
9d871c8244
Add a group that is allowed to cancel done shipments and moves
...
Closes #13899
2026-02-11 10:41:09 +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
204c5f826d
Limit digit to positive integer when formatting float in domain parser
...
Closes #14557
2026-02-28 12:57:24 +01:00
Cédric Krier
7c630a29a2
Replace the UN M49 unstats link by Wikipedia link in the country documentation
2026-03-08 11:17:53 +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
1367643bd0
Do not copy caches of stock periods
...
Closes #14639
2026-03-02 14:15:14 +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
eed012c24f
Add optional account to the list of payable/receivable lines
...
Closes #14582
2026-02-05 15:40:29 +01:00
Cédric Krier
0d91111ef4
Select option on double click in selection dialog
...
The form submit event is triggered when the radio div is double clicked.
The radio elements are put in a form-group to restore margin since
81bc564e03e0.
And the option is required to submit the form.
Closes #14616
2026-02-19 17:06:41 +01:00
Cédric Krier
c49d41b181
Set the address name as company name for Sendcloud
...
When company name is set, the name become the attention name for Sendcloud and
the company name is the recipient name of the address.
Closes #14549
2026-01-23 19:09:31 +01:00
Cédric Krier
f579c4e539
Test the processing of received Peppol invoice from Peppyrus
2026-02-25 18:54:40 +01:00
Cédric Krier
6bf0bc1641
Set state to processing for Peppol edocument before actually process them
...
The actual process method checks that the state of the document is still
processing so it must be written before and not rely on the transition to write
it.
Closes #14626
2026-02-25 18:54:03 +01:00
Cédric Krier
b27daaf806
Fix typo in the class name of balance sheet comparison context
2026-02-26 09:35:20 +01:00
Adrià Tarroja Caubet
fc02257656
Test model context in type statement report against the right name of context
...
There is a typo in the model context of 'account.balance_sheet.comparison.context'.
Closes #14628
2026-01-08 17:37:09 +01:00
Cédric Krier
4d2dd71764
Enforce invoice type for origin of invoice line
...
Closes #14611
2026-02-16 19:19:01 +01:00
Cédric Krier
c636664c17
Use only line extension amount to set unit price of UBL invoice line
...
Closes #14493
2026-02-16 17:22:16 +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
aa8e767245
Fill blank state of empty notification menu
...
Closes #14575
2026-02-05 16:12:46 +01:00
Cédric Krier
b41dc54d6b
Use gui base when building with cx_Freeze
...
Since cx_Freeze>=7.0, 'Win32GUI' value for base is no more supported.
Closes #14606
2026-02-14 09:49:11 +01:00
Cédric Krier
2b7c3f9f89
Update template to use invoice taxes of lines as invoice tax
...
Closes #14609
2026-02-16 13:31:03 +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
c1027e6174
Add empty extras test to modules without needs
...
Since version 4.36.0 tox is validating extras option.
2026-02-22 12:24:35 +01:00
Cédric Krier
f6b1fdd756
Enforce utf-8 encoding for account chart generated by xsltproc
...
Closes #14617
2026-02-20 09:59:42 +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
Cédric Krier
4435474f3e
Show approve button on Stripe refund payment when submitted
...
Closes #14599
2026-02-10 19:30:10 +01:00
Cédric Krier
6f8abf2d5f
Show email buttons of marketing record activity when the state is done
...
The email is sent only when the record activity is in the state done so the
buttons must not be available in any other state.
Closes #14597
2026-02-10 17:53:53 +01:00
Cédric Krier
79087b513f
Decorate post method of sale point with the button decorator
...
Closes #14594
2026-02-10 12:43:51 +01:00
Cédric Krier
2cceab6d19
Show create quotation button for draft, quotation and received purchase request
...
Closes #14593
2026-02-09 20:47:41 +01:00
Cédric Krier
57b9ccf407
Fix order and z-index of backdrop for stacked modal
...
Closes #14588
2026-02-06 19:00:24 +01:00
Cédric Krier
eee2a18f73
Switch the view when user cancel the new record
...
Closes #14583
2026-02-05 18:21:05 +01:00
Cédric Krier
9ea8618812
Add padding to actions of completion
...
The actions are rendered in a separated list and no more as items of the
dropdown so we must replicate the same padding for visual consistency.
Closes #14584
2026-02-05 18:52:00 +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
d3bac177ae
Make always sensitive reload button for view other than form
...
Closes #14556
2026-02-05 18:17:06 +01:00
Cédric Krier
236ef98b7a
Fill blank state of empty favorite menu
...
Closes #14574
2026-02-04 12:52:19 +01:00
Ahmed AlBoori
92e85ab498
Add missing key parameter to get_products in web shop
...
1cf6e5cb9e4f added the parameter but did not update the tax rule extension.
Closes #14620
2026-02-23 11:08:31 +01:00
Cédric Krier
0b58af3b22
Add searcher to the shipments field on invoice line
2026-02-03 10:20:59 +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
aafdc31cea
Add an web shop URL to sales
...
Closes #14538
2026-01-22 18:32:26 +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
Cédric Krier
7573e8fbfd
Set BillingReference to Invoice and Credit Note UBL
...
Closes #14517
2026-01-19 12:17:43 +01:00
Cédric Krier
4e3f4055ce
Add an origin invoices field to the invoice
2026-01-19 12:15:30 +01:00
Cédric Krier
4808ff83ab
Improve layout of invoice credit form
2026-01-19 09:59:37 +01:00
Cédric Krier
1e32483232
Preserve line number when converting doctest files to python files
2026-01-17 18:01:38 +01:00
Cédric Krier
a3af9cdb68
Remove default invoice type using the context
...
Since 6693e138391b the context keyword is no more used.
2026-01-17 18:12:55 +01:00
Cédric Krier
0231415b49
Add a menu entry for party identifiers
...
Closes #14507
2026-01-16 10:38:37 +01:00
Adrián Bernardi
b7915d38ea
Use the same context for the account getter and searcher of general ledger
...
Closes #14590
2026-02-19 13:07:37 +01:00
Cédric Krier
dfa6b018a0
Charge duties and taxes to shipper based on incoterm
...
Closes #14424
2025-12-15 17:03:51 +01:00
Cédric Krier
49e1e498c9
Add export/import duties on incoterm
2025-12-15 17:03:34 +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
f38652ef03
Ensure that the unit price on the invoice line is not negative for Peppol
...
Closes #14504
2026-01-15 22:34:01 +01:00
Cédric Krier
b0ff152120
Format the party's identifier codes
...
Closes #14485
2026-01-16 16:56:47 +01:00
Cédric Krier
86d2fdfe50
Do not sort party identifier selection
2026-01-16 17:01:25 +01:00
Cédric Krier
d5d7eee3b9
Add Senegal Tax Number identifier
2026-01-11 12:12:51 +01:00
Cédric Krier
8b25d8c10e
Add Azerbaijan Tax Number identifier
2026-01-11 12:10:00 +01:00
Cédric Krier
5540c9c6b9
Add French Trade Registration Number identifier
2026-01-11 12:08:42 +01:00
Cédric Krier
6f83c5b9b0
Add Mozambique Tax Number identifier
2026-01-11 11:59:43 +01:00
Cédric Krier
c6ae81593b
Use th_moa as tax identifier instead of th_tin
2026-01-11 11:57:47 +01:00
Cédric Krier
7bf7ba9694
Add Russian Primary State Registration Number identifier
2026-01-11 11:54:19 +01:00
Cédric Krier
3428e53de6
Add Spanish Activity Establishment Code identifier
2026-01-11 11:53:14 +01:00
Cédric Krier
f58722b726
Add Belgian Social Security Number identifier
2026-01-11 11:50:56 +01:00
Cédric Krier
cb1f927569
Add Slovenian Corporate Registration Number identifier
2026-01-11 11:49:22 +01:00
Cédric Krier
bf11acb591
Update required version of python-stdnum to 2.22 for party module
2026-01-11 11:44:09 +01:00
Cédric Krier
1942b6f3a7
Remove custom ogm_vcs to only use python-stdnum implementation
2026-01-11 11:42:04 +01:00
Cédric Krier
592e09d67e
Support MJML syntax for marketing email
2025-12-11 15:20:11 +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
José Antonio Díaz Miralles
eeef31b221
Fix css style format for button of marketing email
...
Closes #14451
2026-02-18 11:28:35 +01:00
Cédric Krier
92606c8f32
Remove gap for empty row or column
...
The container gap is still applied on invisible element if they are defined in
the template.
The solution is to fake gap using margin between consecutive elements and to
not display empty elements.
For column gap the horizontal margin must be compensated with negative margin
on the grid and padding on the elements to avoid to overflow the grid.
Closes #13852
2026-01-30 10:44:25 +01:00
Cédric Krier
c260313c23
Use the legal notice of tax as tax exemption reason in UBL invoice
...
Closes #14572
2026-02-04 10:03:48 +01:00
Cédric Krier
14c2a4435c
Add an "Update Status" button to the Peppol document
2026-01-15 10:35:05 +01:00
Cédric Krier
f7f8c002b7
Set revision context before clearing the screen
...
This prevents the clear method (which set the current record to null) to update
the URL with the old revision and thus opens a new tab.
Closes #14577
2026-02-04 15:26:34 +01:00
Cédric Krier
ce6c415c69
Search unit of measure with enough digits for the quantity in UBL invoice and credit note
...
Closes #14541
2026-01-23 23:49:58 +01:00
Cédric Krier
1b83f7c063
Set required on value of party's contact mechanism
...
Closes #14563
2026-01-30 11:20:26 +01:00
Cédric Krier
01d74bf4ea
Do not update UNECE code for unit of measure
...
Closes #14560
2026-01-26 15:55:53 +01:00
Cédric Krier
24a53758fd
Use invoice taxes from line to render tax category in UBL Invoice
...
Closes #14571
2026-02-04 09:53:06 +01:00
Cédric Krier
a4a376e808
Use amount from transaction details when available
...
A batched transaction may have many details and amounts that are grouped as the
entry amount.
Closes #13823
2026-02-01 19:01:49 +01:00
Cédric Krier
c537a8df33
Test if width is set before testing if it ends width '%'
...
Closes #14578
2026-02-04 15:29:51 +01:00
Cédric Krier
5d8e111890
Save synchronously the tree state of the menu when the page is unloaded
...
The callback of window.onbeforeunload can only be synchronous in order to be
sure that it is fully executed.
Closes #14543
2026-01-23 12:04:00 +01:00
Cédric Krier
e65cf3454b
Log RPC error in the console
2026-01-23 12:02:52 +01:00
Maxime Richez
506af1e985
Do not round None value when entering non decimal text in number entry
...
Closes #14559
2026-02-06 15:32:39 +01:00
Cédric Krier
aee7fa10fd
Update number next instead of internal when migrate move's sequence to strict
...
The number next has a default value which override the internal value when the
setter is called.
Closes #14545
2026-01-23 16:05:16 +01:00
Cédric Krier
50bb0e37d7
Copy company when migrating move sequence of fiscal year and period to strict
...
Closes #14545
2026-01-23 15:48:44 +01:00
Cédric Krier
d59d2ce496
Do not include removed records in the search domain of One2Many
...
Adding an OR-ed clause prevents the domain inversion to set any unique values
when creating a record from the search window.
The removed records can be re-add with the undelete button instead.
Closes #14540
2026-01-23 09:57:31 +01:00
Cédric Krier
a7fe75478b
Prevent setting a phantom BoM on the BOM input and output with a product already set
...
Closes #14536
2026-01-22 18:53:34 +01:00
Cédric Krier
dd1cdfe656
Prevent using phantom BOM on production
...
Closes #14535
2026-01-22 17:28:16 +01:00
Cédric Krier
faa9c7bf46
Scroll element in to view using center and for all the scrollable ancestors
...
Closes #14527
2026-01-20 18:43:53 +01:00
Cédric Krier
26e171099d
Wait for the DOM to be ready before hiding the notification indicator.
...
Although the NotificationMenu is constructed on load, the DOM may not yet be
ready, meaning that the observer triggered by the .hide call cannot find any
other indicators to hide. Wait for the DOM to be ready to hide the notification
indicator.
Closes #14513
2026-01-18 13:38:12 +01:00
Cédric Krier
381703a194
Clear any default incoterm for sale created for web shop
...
The default incoterm may prevent to save the sale.
So we let the quotation transition set the incoterm values.
Closes #14521
2026-01-19 19:05: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
12aebbcba0
Test if origin id is greater or equals to 0 before accessing the target record name
...
Closes #13498
2026-01-27 12:01:42 +01:00
Cédric Krier
2e973901b4
Inherit color for close button
2026-02-04 11:41:26 +01:00
José Antonio Díaz Miralles
4f1eb55810
Add a button to close the Filters modal
...
Closes #13306
2026-02-04 11:39:34 +01:00
Cédric Krier
ac57101f77
Register product after template extension to add UNECE codes
...
Closes #14570
2026-02-03 14:39:49 +01:00
Maxime Richez
767ff56b06
Add missing warning key for PackWarning on Internal Shipment
...
Closes #14569
2026-02-02 13:53:44 +01:00
Cédric Krier
dd2738f7b2
Do not try to add parameters to empty URL
...
Closes #14505
2026-01-19 12:30:41 +01:00
Cédric Krier
2238dee3e1
Use create date to calculate production work duration without write date
...
Closes #14562
2026-01-29 10:26:59 +01:00
Maxime Richez
24b9ca1575
Set incoterm required on extended intrastat for sale between EU countries
...
Closes #14531
2026-01-30 17:32:18 +01:00
Cédric Krier
f1eea7c11e
Correctly render address streets in UBL invoice for Peppol
...
Closes #14566
2026-01-30 15:24:46 +01:00
Cédric Krier
b913230cac
Use BIGINT for invoice number digit and limit size to 18 digits
...
Closes #14534
2026-01-22 17:23:12 +01:00
Cédric Krier
08915bb5ad
Unpack table and clause when converting domain for payable/receivable date
...
Closes #14533
2026-01-22 13:54:58 +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
Cédric Krier
16dd9ae446
Set product on invoice line base on allowance/charge reason code from UBL invoice
2026-01-28 15:58:01 +01:00
Cédric Krier
19d4b91df2
Render allowance and charge in UBL invoice
2026-01-26 15:38:06 +01:00
Cédric Krier
8f08fcf6bf
Add UNECE allowance, charge and special service code
2026-01-26 15:42:27 +01:00
Cédric Krier
49bcf51aca
Import UBL allowance/charge as invoice lines
...
Closes #14524
2026-01-26 12:08:41 +01:00
Cédric Krier
7620829d61
Search for similar invoice line with the same category of unit for UBL invoice line
...
Closes #14548
2026-01-23 18:50:42 +01:00
Cédric Krier
daad7943e6
Set the invoice type on invoice line from UBL invoice
...
The invoice type is needed to set the right account from the product.
Closes #14547
2026-01-23 15:29:07 +01:00
Cédric Krier
7c8e7bc23f
Group tax lines per tax having the same UNECE codes in UBL invoice
2026-01-23 13:02:19 +01:00
Cédric Krier
0c503833d3
Do not group taxes by tax group in UBL invoice and credit note
...
The Peppol UBL rules limit to a single TaxTotal.
Closes #14542
2026-01-23 11:05:13 +01:00
Maxime Richez
93d0ea51f5
Do not coalesce quotation validity to generate domain for expired quotations
...
Closes #14558
2026-01-26 13:37:04 +01:00
Cédric Krier
680344c92b
Format float and computed Decimal using fixed-point notation
...
This avoid the usage of scientific notation.
For float we must convert them to Decimal to get a precision large enough to
show all coefficient digits.
For computed Decimal (which are thus not rounded) we must normalized them first
to avoid trailing 0.
Closes #14522
2026-01-20 09:19:12 +01:00
Cédric Krier
8ae58308ce
Use schemeID to search for identifier of the same type
...
Closes #14516
2026-01-19 11:43:28 +01:00
Cédric Krier
90ef7c822c
Use the company IDs from UBL as identifier
...
Closes #14515
2026-01-19 11:48:55 +01:00
Cédric Krier
451a5b9fc7
Create the party name using the registration name of the legal entity from UBL first
...
Closes #14514
2026-01-19 11:34:14 +01:00
Cédric Krier
b211b58884
Always set a value for invoice line unit from UBL invoice and credit note
...
The search for similar line needs to test if the unit has a value or not.
Closes #14544
2026-01-23 12:12:27 +01:00
Cédric Krier
dd7d8c5459
Use ZZ as default unit code for UBL
2026-01-22 17:41:04 +01:00
Cédric Krier
59e04dbf59
Do not search unit of measure for unit code ZZ and XZZ from UBL
...
The mutually defined unit should let the system choose a default unit.
Closes #14537
2026-01-22 17:39:35 +01:00
Cédric Krier
acb2d60609
Prevent registering unit of measure with the UNECE code ZZ and XZZ
...
The mutually defined unit is not a real unit.
2026-01-22 17:38:18 +01:00
Cédric Krier
6e6b1f4061
Be more flexible when converting Peppyrus document type into edocument type
...
Closes #14519
2026-01-19 16:21:30 +01:00
Cédric Krier
146bcb0ab0
Add test for reference field referring unknown target
2026-01-10 18:40:47 +01:00
Cédric Krier
08bb367b7d
Use the normalized format for the over shipment of sale
2026-01-09 17:14:17 +01:00
Cédric Krier
a3eb5e234e
Add optionally gift card boolean to product list
2026-01-09 17:10:58 +01:00
Cédric Krier
6b672742de
Add effective date, delay and warehouse to production list
2026-01-08 12:11:00 +01:00
Cédric Krier
d44ce136fd
Remove duplicate fields from production inherited from ShipmentMixin
2026-01-08 12:06:47 +01:00
Cédric Krier
be708ea16c
Store original planned date of requested internal shipments and productions
...
Closes #14477
2026-01-08 12:04:46 +01:00
Cédric Krier
70701c14e4
Add depends on methods of TaxableMixin
2026-01-17 12:54:09 +01:00
Cédric Krier
df02ade40e
Always return a date for tax date of TaxableMixin
...
Closes #14486
2026-01-17 12:53:33 +01:00
Cédric Krier
841a7cf815
Load icon field before rendering affix
...
Closes #14509
2026-01-16 13:16:50 +01:00
Cédric Krier
2219eb0915
Do not compare records order with negative id
...
Closes #14508
2026-01-16 12:11:35 +01:00
Cédric Krier
947a63c456
Make the user menu favorites unique
...
Closes #14213
2026-01-16 10:07:03 +01:00
Cédric Krier
0d4ec58be9
Increase the maximum sleep for Peppyrus test scenario
...
20 seconds is not always enough for Peppyrus to process the message posted.
2026-01-24 19:25:47 +01:00
Cédric Krier
ededbdb3c9
Do not convert input when converting between the same unit
...
Applying the factor/rate twice may loose precision if one of the number is a
rational with recurring decimal.
Closes #14501
2026-01-15 17:20:32 +01:00
Cédric Krier
212d6e5a45
Round quantity instead of truncate for Shopify fulfillment
...
Closes #14502
2026-01-15 17:28:20 +01:00
Cédric Krier
2e6dc5f27c
Lock the sale being processed for Shopify
...
Closes #14500
2026-01-15 15:22:09 +01:00
Cédric Krier
e543e295cf
Add company clause to balance domain for direct debit reception
...
Closes #14499
2026-01-15 14:41:53 +01:00
Cédric Krier
40a3345fb5
Convert index expression to string to instantiate psycopg2 SQL
...
Closes #14487
2026-01-24 08:51:39 +01:00
Cédric Krier
241437dfad
Use dash instead of hyphen in Egyptian street format
...
Closes #14498
2026-01-14 19:25:17 +01:00
Cédric Krier
c0211b8c3d
Add invoice data when processing supplier invoice line with purchase from OCR service
...
010fe207dda7 added an extra invoice_data argument but not to the purchase extension.
Closes #14512
2026-01-17 15:45:13 +01:00
Cédric Krier
89bc2930df
Set DESC as index options instead of the expression
2026-01-14 00:35:13 +01:00
Cédric Krier
9535c89f3f
Ensure to always surround USING expression with parenthesis in CREATE INDEX
...
Closes #14487
2026-01-13 16:50:08 +01:00
Cédric Krier
a77ff4bc99
Fail when getting view arch on test
2026-01-23 10:47:56 +01:00
Cédric Krier
3cbfdfcf69
Add missing purchase reporting views from 49a612454113
...
Closes #14497
2026-01-14 19:04:50 +01:00
Cédric Krier
17d953ae7d
Fill buyer's item identification in UBL invoice
...
Closes #14470
2026-01-06 17:42:51 +01:00
Cédric Krier
36ab6d1d17
Add supplier and customer code properties to invoice line
2026-01-06 17:41:05 +01:00
Cédric Krier
74e7690c04
Add cron job to reconcile move lines
...
Closes #14468
2026-01-06 11:38:37 +01:00
Cédric Krier
1f702e7151
Add support for payment reference for incoming invoice
...
Closes #14465
2026-01-05 12:15:49 +01:00
Cédric Krier
067386378a
Warn against creating an overpayment
...
Closes #14457
2025-12-31 15:57:40 +01:00
Cédric Krier
9473804208
Fallback to location key from context to compute product quantity
...
The location key is used for stock reporting so when browsing from such report,
it is good that the selected location is still used for stock calculation.
2025-12-30 17:41:36 +01:00
Cédric Krier
06c2a56e69
Use Many2One field for product and variant on stock reporting
...
Closes #14456
2025-12-30 17:42:00 +01:00
Adrià Tarroja Caubet
e63358d39c
Leave the quotation date field empty when copying sales
...
Closes #14358
2026-01-18 16:51:32 +01:00
Adrià Tarroja Caubet
cc3184f226
Remove unused Model in account stock continental scenario
2026-01-18 14:59:49 +01:00
Cédric Krier
d8579d4dd9
Allow tabs to be reordered
2026-01-18 13:15:45 +01:00
Cédric Krier
ee041a5a7e
Update sign of amount line paid according to invoice type and payment kind
...
Closes #14070
2026-01-10 19:40:21 +01:00
Cédric Krier
d098761e3a
Call on change type and company when initialize invoice for incoming document
...
Closes #14174
2026-01-10 18:53:51 +01:00
Sergi Almacellas Abellana
bd28b0a552
Set the invoice date to read-only once the invoice has been validated or posted
...
Closes #14480
2026-01-18 00:18:32 +01:00
Cédric Krier
c823ca38a9
Use only production inputs or outputs for lot trace
...
The production moves can not have any other traces than their sibling moves.
Closes #14385
2026-01-07 08:29:45 +01:00
Cédric Krier
72492c3952
Do not try to fulfill on Shopify cancelled or closed fulfillment order
...
Closes #14479
2026-01-09 11:34:16 +01:00
Cédric Krier
f3f3dc5f96
Copy custom theme from previous version
2026-01-10 19:10:42 +01:00
Cédric Krier
d8e6fce279
Copy custom CA certificates from previous version
2026-01-10 19:10:29 +01:00
Cédric Krier
11c80d3c2a
Fix tryton config file copied from previous version
...
Closes #14088
2026-01-10 19:09:58 +01:00
Cédric Krier
353cfbdd5c
Always switch to the next account party when lines have been reconciled
...
Closes #14467
2026-01-05 23:58:44 +01:00
Cédric Krier
93fad8dcf5
Use only a limited set of tags for PEPPOL Address
...
Closes #14494
2026-01-14 14:47:25 +01:00
Cédric Krier
abe709a876
Use document namespace and local name to calculate the document type for Peppyrus
...
Closes #14503
2026-01-15 18:13:06 +01:00
Cédric Krier
91c5a087fb
Use root prefix to retrieve the namespace of UBL document
...
Closes #14490
2026-01-14 14:39:08 +01:00
Cédric Krier
1623885d46
Add options to trytond.config
...
Closes #14483
2026-01-13 20:08:43 +01:00
Cédric Krier
af815d48e2
Replace UNPROCESSABLE_CONTENT status by UNPROCESSABLE_ENTITY
...
UNPROCESSABLE_CONTENT is only available since Python 3.13
Closes #14491
2026-01-13 20:05:34 +01:00
Cédric Krier
0237622be0
Update API of ogm_vcs fallback to be the same as the release 2.2 of python-stdnum
...
Closes #14488
2026-01-13 15:47:25 +01:00
Cédric Krier
df6b94b866
Test the record reference of marketing automation record before execution
...
The reference field is on the record and not on the record activity.
Closes #14281
2026-01-10 18:39:18 +01:00
Cédric Krier
7f0ffc22e6
Update numbered at when refreshing invoice report
...
Closes #14462
2026-01-03 19:18:24 +01:00
Cédric Krier
9a518c653f
Apply types to SQLite query for the getter of history datetime of invoice
...
Closes #14463
2026-01-03 19:17:20 +01:00
Cédric Krier
40ce993a5b
Defer patching requests default agent when it is imported
...
Importing requests module in `trytond/__init__.py` prevents the gevent monkey
patch to be applied to the requests module as it is imported before.
Closes #14461
2026-01-03 13:45:10 +01:00
Cédric Krier
6ef9085289
Add missing parameter to get_shopify of customer shipment with package shipping
...
fulfillment_order_fields is a parameter of the extended method.
Closes #14478
2026-01-09 11:29:24 +01:00
Cédric Krier
7f92861a80
Use current date as fallback for empty maturity date when creating direct debit payment
...
Closes #14473
2026-01-07 11:19:07 +01:00
Cédric Krier
c6c8425f43
Add missing warning key for PEPPOL required warning
...
Closes #14471
2026-01-07 09:16:02 +01:00
Cédric Krier
9fdb983f99
Do not always consider account with party required when reconcile
...
fe8ae43ad9e7 left a debug clause that skips the test.
2026-01-05 00:41:31 +01:00
Cédric Krier
ab1b43f676
Do not return None as party to reconcile
...
Closes #14438
2026-01-05 00:38:37 +01:00
Cédric Krier
856c50f7d2
Test if identifier is not empty before testing if it is Belgian VAT for PEPPOL
...
Closes #14464
2026-01-05 11:52:11 +01:00
Cédric Krier
23618c210f
Add support for Peppyrus webhooks
2025-12-23 12:07:17 +01:00
Cédric Krier
aecb2942fe
Compare HTTP status code to HTTPStatus enum
2025-12-18 15:18:53 +01:00
Cédric Krier
f1fbd7abb3
Allow filtering users to be notified by cron tasks
...
Closes #14432
2025-12-16 17:28:32 +01:00
Cédric Krier
7be632030d
Dumps action value of cron notify if it is not yet a string
...
Closes #14431
2025-12-16 17:21:41 +01:00
Cédric Krier
f41a2bdef5
Log exception when opening view arch
2025-12-15 17:12:22 +01:00
Cédric Krier
01bfa635fa
Defer importing saml2 module only when routes are called
2026-01-03 14:06:42 +01:00
Cédric Krier
278c09ca39
Defer importing the stripe module only if the webhook is called
2026-01-03 14:05:34 +01:00
Cédric Krier
809e805bc1
Defer importing the braintree module only if the webhook is called
2026-01-03 14:05:07 +01:00
Cédric Krier
7b4eb14968
Use defaultdict with float as default value when calculating product quantities
2026-01-02 12:32:43 +01:00
Cédric Krier
7a66740050
Test products_by_location using the proper grouping IDs
...
When grouping by template, it is the template id that appears in the result
instead of the product id.
Closes #14459
2026-01-02 13:11:49 +01:00
Cédric Krier
2c8dc24f38
Do not set SellersItemIdentification UBL tag if product has no code
...
PEPPOL-EN16931-R008: Document MUST not contain empty elements.
Closes #14458
2026-01-01 15:50:55 +01:00
Cédric Krier
b75a14ea86
Maintain the original reference when splitting shipments and productions
...
Closes #14190
2025-12-29 15:58:40 +01:00
Cédric Krier
aa4d7d2c12
Use the normalized format for the warning key regarding overpayment
2025-12-31 16:07:02 +01:00
Adrià Tarroja Caubet
54b3c3dacc
Allow the sale point group to view the main sales menu
...
Closes #14448
2026-01-06 22:30:59 +01:00
Cédric Krier
f612e2f872
Set only one payment term for Peppol UBL and only if the description is not empty
...
Closes #14454
2025-12-29 17:28:36 +01:00
Cédric Krier
1ed92b8b83
Prevent default event when clicking on Many2One link from a tree view
...
If the event is not prevented, the URL is cleared if there is already a tab for
the resource because the tab show event update the URL before the execution of
the default event.
Closes #14453
2025-12-29 15:50:58 +01:00
Cédric Krier
ce26ef12dc
Do not use cached report instance
...
We must always use a copy of the cached report instance to allow to add
directives to the template before being prepared.
Closes #14460
2026-01-03 12:53:56 +01:00
Cédric Krier
b0763c081e
Retries when testing fetching message from Peppyrus
...
The process of the message may be delayed by Peppyrus so we must retry until
the message is fetched.
2025-12-31 11:32:52 +01:00
Cédric Krier
ce7e973e85
Log exception when retrieve file ID from the filestore for Binary field
2025-12-15 17:11:51 +01:00
Cédric Krier
aefd12642a
Use always the immutable value from the cache
...
This prevents issues like #14433 from being missed.
2025-12-19 09:39:32 +01:00
Cédric Krier
d9b73072df
Exclude sale lines of gift cards from sale reporting
...
Closes #14418
2025-12-12 15:31:45 +01:00
Cédric Krier
d3eb2c9e87
Enforce gift card to be False when the type of product can not be one
2025-12-12 15:31:11 +01:00
Cédric Krier
0dc04c10a2
Use default month value for the period of sale and purchase reporting
2025-12-12 15:30:28 +01:00
Cédric Krier
c60436c82a
Split the UBL OrderReference field into sale reference and sale number
...
Closes #14452
2025-12-29 12:36:26 +01:00
Cédric Krier
402913d4cd
Log event using the transaction of the records
...
Closes #14446
2025-12-23 09:55:34 +01:00
Cédric Krier
f8f337bba5
Do not render details button on error message without details
...
Closes #14426
2025-12-17 23:35:27 +01:00
Cédric Krier
8ef2cc9b70
Do not notify for duplicate identifier from the same party
...
Closes #14434
2025-12-17 16:13:44 +01:00
Cédric Krier
d8981ef84d
Remove duplicate tests depend for web_shop_shopify
2025-12-17 16:10:04 +01:00
Cédric Krier
3b6b39de82
Use ID read of note in tests
...
Closes #14450
2025-12-25 09:54:24 +01:00
Cédric Krier
d45e29e6ad
Always surround WHERE clause with parentheses in EXCLUDE constraint
...
Closes #14449
2025-12-24 11:38:45 +01:00
Cédric Krier
5b4efd9fd6
Order product by position instead of sequence for Shopify
...
0b69c726fc26 order by the non-existing sequence field instead of position.
2025-12-29 20:47:40 +01:00
Cédric Krier
34cb1a4b35
Define request body when there is no signing secret defined
...
Closes #14447
2025-12-23 12:09:31 +01:00
Cédric Krier
6b9135321c
Pass XML-RPC string to GzipStream instead of bytes
...
Since 0a04dc8fa935 the GzipStream class expect a string or a generator of
strings but not bytes.
Closes #14445
2025-12-22 20:11:10 +01:00
Cédric Krier
2ab19cf6eb
Save wizard session states in new transaction for readonly wizard
...
The transaction is readonly which prevents to save in the database the session
with states.
Closes #14442
2025-12-23 09:52:40 +01:00
Cédric Krier
66dceea550
Use product sequence to sort for Shopify
...
An inactive product is not in the products list of the template.
Closes #14439
2025-12-19 19:44:31 +01:00
Cédric Krier
15ad8d3e4d
Set an order reference to UBL invoice to test Peppyrus
...
Closes #14455
2025-12-29 17:43:15 +01:00
Maxime Richez
5e71dcc564
Set only one customer identification in UBL Invoice and CreditNote
...
UBL-SR-16: Buyer identifier shall occur maximum once
Closes #14443
2025-12-22 18:34:35 +01:00
Cédric Krier
7c9a14dc34
Do not set percentage in tax subtotal in Peppol UBL
...
UBL-CR-499: A UBL invoice should not include the TaxTotal TaxSubtotal Percent
2025-12-22 12:37:22 +01:00
Cédric Krier
e3f4ec32d1
Do not set payment terms due date in Peppol UBL
...
UBL-CR-463: A UBL invoice should not include the PaymentTerms PaymentDueDate
2025-12-22 12:36:04 +01:00
Cédric Krier
9302fe27d7
Do not set payment terms amount in Peppol UBL
...
UBL-CR-459: A UBL invoice should not include the PaymentTerms Amount
2025-12-22 12:38:51 +01:00
Cédric Krier
4df308a430
Do not set country subentity code in Peppol UBL
...
UBL-CR-225: A UBL invoice should not include the AccountingCustomerParty Party
PostalAddress CountrySubentityCode
2025-12-22 12:33:05 +01:00
Cédric Krier
259b19006e
Do not set country name in Peppol UBL
...
UBL-CR-166: A UBL invoice should not include the AccountingSupplierParty Party
PostalAddress Country Name
UBL-CR-229: A UBL invoice should not include the AccountingCustomerParty Party
PostalAddress Country Name
2025-12-22 12:37:52 +01:00
Cédric Krier
f7d90215f0
Fill DueDate in UBL Invoice and CreditNote
...
The BR-CO-25 Peppol rule requires to have a DueDate if there is no payment term
description. So the simplest solution is to always fill DueDate.
Closes #14441
2025-12-22 11:17:26 +01:00
Cédric Krier
def12c8e99
Save the link to the created invoice when processing Peppol invoice
...
Closes #14444
2025-12-22 14:16:18 +01:00
Cédric Krier
f8f0cf6010
Fix typo when calling succeed on processed Peppol invoice
...
Closes #14444
2025-12-22 14:15:39 +01:00
Cédric Krier
9f88144394
Remove required on before/after carrier column of incoterm
...
We must rely only on the selection validation to require a value to permit to
create new incoterm in incoterm module when carrier_carriage is already
activated.
Closes #14440
2025-12-20 10:23:56 +01:00
Cédric Krier
ae06fe3f47
Fill before/after carrier for Incoterm 2000
2025-12-20 10:08:09 +01:00
Cédric Krier
d293bbda92
Set a default direction when no language preferences are set
...
Closes #14419
2025-12-19 19:19:13 +01:00
Cédric Krier
f074a94234
Hide chat when changing current record without chat
2025-12-18 00:45:20 +01:00
Cédric Krier
8e12aa010b
Do not create chat if there is not current reference
...
Closes #14427
2025-12-18 00:44:36 +01:00
Cédric Krier
42ad8ae30b
Set toolbar button sensitiveness based on record id instead of position
2025-12-18 00:39:38 +01:00
Cédric Krier
077a0825b3
Add title to notification label and description
...
This way user can get the full content if it overflows.
Closes #14430
2025-12-16 17:15:40 +01:00
Cédric Krier
78b475740b
Replace notify method by binded version in constructor of chat and notification menu
...
We need to keep a reference to the binded method registered to be able to
unregister it.
Closes #14425
2025-12-16 01:10:47 +01:00
Cédric Krier
f9a6bd7379
Ensure get_preferences_fields_view modifies mutable field definitions
...
Closes #14433
2025-12-18 21:24:26 +01:00
Cédric Krier
a727c747ae
Register a set and frozenset marshalling function for both JSON-RPC and XML-RPC
...
This completes 0a0f4db765fb for #14387
2025-12-18 19:18:12 +01:00
Cédric Krier
aafeeefe01
Fix typo when passing attribute from list widget to populate contextual menu
...
The typo was introduced in 2931c0e0ae5c
Closes #14428
2025-12-18 23:36:13 +01:00
Cédric Krier
63268692fd
Use upper case for VATIN
2025-12-18 13:31:22 +01:00
Cédric Krier
543adc9e3f
Support European VAT number as EAS and VATIN
...
Closes #14435
2025-12-19 09:41:39 +01:00
Cédric Krier
249e93dc68
Test if Peppol types is not None before testing for billing
...
Closes #14436
2025-12-18 12:55:42 +01:00
Cédric Krier
704da3630b
Compare element to replace new view tree from inherit application against None
...
lxml raises a warning about truth-testing on element.
Close #14429
2025-12-16 11:56:31 +01:00
Cédric Krier
891a1fba98
Clarify the "no statement journal" error message about uniqueness
2025-12-15 11:45:17 +01:00
Cédric Krier
348b00cd15
Return the journal for a bank account if only one journal matches
...
Closes #14422
2025-12-15 11:44:21 +01:00
Cédric Krier
122ade0b30
Increase version number
2025-12-15 21:34:54 +01:00
Cédric Krier
34854e922f
Add tag 7.8.0
2025-12-15 20:17:29 +01:00
Cédric Krier
692810e7b8
Prepare release 7.8.0
2025-12-15 20:17:16 +01:00
Cédric Krier
954f137e65
Update translations [skip ci]
2025-12-15 18:00:12 +01:00
Cédric Krier
0e95196f74
Fix format of the account_statement_rule CHANGELOG
2025-12-14 15:26:22 +01:00
José Antonio Díaz Miralles
a95da3e7f2
Use shipment select of stock move as selection for lot trace document
...
The document is filled with the inventory or shipment of the stock move.
Closes #14411
2025-12-13 22:50:10 +01:00
Cédric Krier
fd565b8ce6
Test check_credit_limit using a record as origin
...
Since 9bbe5251be9e the format method of warning enforces the usage of record.
2025-12-14 14:11:30 +01:00
Cédric Krier
433ef85ac8
Test action window using existing records from the keywords
...
Since 225529c5e779 the ids do not start at 1 so it must search for existing
records to test.
2025-12-14 13:57:42 +01:00
Nicolas Évrard
7bdb724da2
Search on the Target model in O2M when it has an active field
...
When comparing a one2many to None we should search on the Target model in order
to ensure the correct handling of the active field. Otherwise there might be
records that wouldn't be found by the search yet their one2many fields come up
empty.
Closes #14370
2025-11-14 18:11:20 +01:00
Nicolas Évrard
64424d1a90
Use the target id to compute the filter clause of a O2M field compared to None
...
Closes #14373
2025-12-13 14:57:52 +01:00
Nicolas Évrard
a23df14c83
Use different starting point for IDs of table when testing
...
Closes #3799
2025-12-13 14:30:28 +01:00
Cédric Krier
b5c13ef379
Use the right primary column name for PostgreSQL database method
...
On history table the primary column is `__id` instead of `id`.
2025-12-13 14:33:42 +01:00
Cédric Krier
a9408ddd2f
Implement setnextid for SQLite database
2025-12-13 14:31:19 +01:00
José Antonio Díaz Miralles
86f3804d63
Ensure that the computed traces of a stock move have a lot
...
For example the production module may include input or output moves without
lot.
Closes #14396
2025-12-13 12:56:46 +01:00
Cédric Krier
e189e555fe
Fix domain parser for Reference field when there is no value but a target
...
Closes #14413
2025-12-11 18:27:45 +01:00
Cédric Krier
038e5d030b
Add an empty line to the console migration script after multi-line statement
...
Such that it can be copy/pasted directly into the console.
2025-12-12 18:58:01 +01:00
Cédric Krier
3cbc0652ec
Remove extras require of bcrypt and html2text for web user module
2025-12-11 15:00:23 +01:00
Cédric Krier
626b8e768c
Stream json and gzip response
...
Closes #14409
2025-12-05 20:59:59 +01:00
Nicolas Évrard
c59b8b9b47
Force breaking error message when overflowing the error window
...
Closes #14414
2025-12-10 16:09:44 +01:00
Cédric Krier
500860c21d
Use unit from similar line if not set yet by the UBL definition
...
Closes #14408
2025-12-05 10:18:23 +01:00
Cédric Krier
815bd08c8e
Auto reload the server when tryton.cfg files are modified
...
Since 6eb1a23b7457 the tryton.cfg files contains the model to register.
Therefore if they change, the server must be reloaded.
2025-12-03 12:10:53 +01:00
Cédric Krier
2c0d096001
Recreate the invoice line for the cost based on shipment when handling the exception
...
The invoice line for cost based on shipment is managed by the shipment using
the "Cost Sale Invoice Line" field. Therefore when the cancelled invoice for
this line is recreated, the link must be cleared.
Closes #14227
2025-12-03 12:08:12 +01:00
Sergi Almacellas Abellana
00e24f2c04
Fix max_volume and max_weight field strings
2025-12-09 13:33:34 +01:00
Cédric Krier
f7254c41c2
Do not apply inactive test when searching product through replacing products
...
The replacing products are most of the time inactive but the replacing link
should include them.
Closes #14403
2025-12-01 09:59:15 +01:00
Cédric Krier
8f824d3d2a
Fix typo in super call of _parse_2_line_reference
...
Closes #14407
2025-12-05 10:03:01 +01:00
Cédric Krier
9df1b3ed84
Improve help for gross price of template as it included many taxes
2025-12-09 00:56:54 +01:00
Cédric Krier
7a6f773bc8
Do not run concurrently tests for Peppyrus
2025-12-09 00:50:08 +01:00
Cédric Krier
7111131981
Support a distinct VAT from the participant ID in the test scenario
2025-12-08 22:59:18 +01:00
Cédric Krier
158e580be5
Fix help text for rental state to be about rental
2025-12-08 10:32:08 +01:00
Cédric Krier
478f092fc8
Improve help for gross price as it included many taxes
2025-12-08 10:31:43 +01:00
Cédric Krier
83be0303f3
Do not translate Peppol document type
2025-12-08 10:30:10 +01:00
Cédric Krier
f8b3b9ce3a
Replace starting/ending date by start/end date
...
These are the most frequent terms used.
2025-12-08 10:29:42 +01:00
Cédric Krier
f18bb91e49
Use better labels for the Belgian VAT and business number
2025-12-06 09:08:20 +01:00
José Antonio Díaz Miralles
49132d132a
Do not return early when validating the default values set
...
Since f1fa123ad508 the validate method does not return any promise.
Closes #14378
2025-12-01 16:14:29 +01:00
Cédric Krier
bc8a84feaa
Standardise the skipping of warnings in the test scenario
2025-11-27 16:59:05 +01:00
Cédric Krier
edb3c2c2d4
Remove warning for inventory in the future
...
Since #10591 we can skip the warning of stock move in the future for newly
created moves.
2025-11-27 16:28:21 +01:00
Cédric Krier
476065cf11
Use creation position to format warning key for new records
...
The opposite position in the creation order is used instead of the id (which is
not stable over transaction retries) to format the warning key when the record
has been created during the transaction.
This ensures that the formatting of the warning key is stable over transaction
retries.
Closes #10591
2025-11-27 16:26:20 +01:00
Cédric Krier
cd223660ff
Make option --all appends the res module to the list of updates
...
Since d237ff78d187 the res module is not updated even if it depends on ir
module because it is an early module.
Closes #14401
2025-11-28 15:32:06 +01:00
Cédric Krier
a728312dc7
Add missing entry for edocument UBL, Peppol and Peppyrus
2025-12-03 12:15:51 +01:00
Cédric Krier
946805c0f3
Do not create fs_values and values for ir_model_data in init SQL
...
Since 49ca1e40161c those fields have been replaced by field_names.
Closes #14400
2025-11-28 10:19:03 +01:00
Cédric Krier
73b5bd429f
Do not delete on cascade parts of a chart of account
...
Closes #14399
2025-11-27 15:12:45 +01:00
Cédric Krier
c8f3df9390
Do not restrict deleting template of chart of account
...
Closes #14398
2025-11-27 15:10:27 +01:00
Cédric Krier
9cce9ef35e
Lock only FRST SEPA mandates when processing payment group
...
This prevents most of the time to consume a sequence number for the group
because the transaction has to restart to lock the mandates.
Closes #14397
2025-11-27 15:14:26 +01:00
Cédric Krier
c5d64cf98f
Limit editable tree click event to the tab
...
This permits the navigation between tabs.
Closes #14393
2025-11-26 21:34:50 +01:00
Cédric Krier
93a5e6ceb8
Round moved quantity before compare to 0
...
As moved quantity is the sum of float, it may carry rounding issue so it must
be rounded before comparison.
Closes #14386
2025-11-25 18:38:51 +01:00
Cédric Krier
d0cd3e31f9
Set focus on the first visible input when navigating with arrow keys
...
Closes #14372
2025-11-19 00:27:21 +01:00
Cédric Krier
ff2b79194d
Use double click to start editing up/down cell on editable tree
...
Closes #14371
2025-11-19 00:17:24 +01:00
Cédric Krier
01fc57e89e
Replace non-ascii "N°" by "No" in report templates
...
msgmerge complaints about non-ascii msgid
2025-12-03 09:18:28 +01:00
Nicolas Évrard
9d4966e41f
Filter Many2Many group fields on active = True
...
When the field is used in a domain adding this filter ensure that comparison
with None will succeed when there are only inactive groups in the field.
Closes #14369
2025-12-03 08:47:20 +01:00
Cédric Krier
72d637cec9
Test if field_names is None instead of empty in ModelStorage hooks
...
Closes #14382
2025-11-21 11:50:54 +01:00
Cédric Krier
98941a588e
Allow users to subscribe to notification cron jobs
...
Closes #13988
2025-12-02 19:24:36 +01:00
Cédric Krier
6f26a9cc79
Add chat to operational documents
2025-12-02 16:01:39 +01:00
Cédric Krier
8ab505205d
Allow users to subscribe to chats
2025-12-02 13:08:05 +01:00
Nicolas Évrard
fa19c6226f
Notify subscribed users of new message in chat
2025-12-02 18:11:10 +01:00
Nicolas Évrard
48dcd6ffdd
Add user notification
2025-12-02 13:08:54 +01:00
Cédric Krier
4dce4ec167
Add documentation for chat
2025-12-02 14:38:58 +01:00
Cédric Krier
7b08540eda
Make icon badge independent of the view box of the SVG
2025-12-02 13:39:07 +01:00
Nicolas Évrard
784eba9791
Correctly get model and id of resource when checking the Channel access rights
2025-10-02 09:44:58 +02:00
Nicolas Évrard
50e79a35bf
Always return a promise when calling Sao.Tab.create
2025-10-02 09:42:19 +02:00
Cédric Krier
b03aff8509
Rename _get_invoice_sale in _get_invoice on sale
...
fee96f0f00e8 missed the rename for commission module.
2025-12-02 17:50:32 +01:00
Adrià Tarroja Caubet
5525b195f3
Add cy_vat as tax identifier type
...
Closes #14381
2025-11-21 11:28:54 +01:00
Cédric Krier
dcb06d6f7d
Update documentation of sale_advance_payment
2025-11-22 18:10:08 +01:00
Cédric Krier
9c783419cf
Rename advance payment conditions into lines
...
Closes #12854
2025-11-22 15:37:31 +01:00
Cédric Krier
1093f7caa7
Move advance payments in separate tab of sale form
2023-12-20 10:35:23 +01:00
Cédric Krier
276aef121f
Display origin in purchase request list
2023-12-21 13:21:47 +01:00
Cédric Krier
66999ae7e5
Raise tailored error message when calculated account for move line is empty
...
Closes #14392
2025-11-26 12:03:42 +01:00
Nicolas Évrard
929b3545cd
Add support for materializing ModelSQL based on a table query
2025-12-02 00:12:08 +01:00
Nicolas Évrard
d8499a4fb0
Allow to use empty ModelList in Wizard
...
We might want to execute the wizard on a specific model even without selecting
some of its records
Closes #14291
2025-10-16 16:07:52 +02:00
Cédric Krier
0b69b334be
Add edocument_peppol_peppyrus module
2025-11-21 22:37:20 +01:00
Cédric Krier
e2b266e61e
Add edocument_peppol module
2025-11-21 15:38:25 +01:00
Cédric Krier
a89e7e20a7
Support UBL file in document incoming
2025-11-17 17:52:05 +01:00
Cédric Krier
6149c357f2
Add parser for UBL invoice and credit note
2025-11-20 13:08:49 +01:00
Cédric Krier
595c553a56
Add e-documents as reports on invoices
2025-10-29 15:55:04 +01:00
Cédric Krier
6e9981228a
Add edocument_ubl module
2025-11-14 16:36:06 +01:00
Cédric Krier
fa8cefff05
Use a random Shopify handle for product in test scenario
2025-12-01 18:41:01 +01:00
Cédric Krier
085ef4f9ac
Add sale_rental_progress_invoice module
...
Closes #13211
2025-11-23 20:37:56 +01:00
Cédric Krier
c39c64c1c8
Group sale invoices from rental
2024-06-05 14:48:53 +02:00
Cédric Krier
e576fcacc9
Rename _get_invoice_purchase in _get_invoice on purchase
2024-02-21 15:07:52 +01:00
Cédric Krier
2bcb418688
Rename _get_invoice_sale in _get_invoice on sale
2024-02-21 15:07:05 +01:00
Cédric Krier
a7908ffdec
Add sale_rental module
...
Closes #13015
2025-11-23 19:20:17 +01:00
Cédric Krier
f7b41a3a07
Set analytic account on closing move of asset also when it is an expense
...
Closes #14390
2025-11-25 16:02:52 +01:00
Cédric Krier
76cc0945e3
Add depends to parent account_category for on_change_gross_price
...
Since 101e1d87a261 product template has a One2Many field accounting_templates
which requires the new dependency.
2025-12-01 17:12:57 +01:00
Cédric Krier
998aa90a72
Set the language to party from the Shopify customer
...
Closes #14257
2025-12-01 16:52:59 +01:00
Cédric Krier
bcd594fe74
Add logging for Shopify GraphQL queries and webhooks
2025-09-22 14:45:09 +02:00
Cédric Krier
23b4ec2aad
Add admin URL to Shopify identifiers
...
Closes #14160 #14164
2025-08-14 14:31:32 +02:00
Cédric Krier
047d89886b
Set compare-at price on Shopify using non-sale price
...
Closes #14155
2025-08-12 15:32:34 +02:00
Cédric Krier
03b82163ce
Add support for product kit on Shopify
...
Closes #14129
2025-10-09 19:12:53 +02:00
Cédric Krier
567cae3c86
Add carrier selection for Shopify order
...
Closes #14102
2025-07-03 16:49:46 +02:00
Cédric Krier
807b593f1e
Use GraphQL API instead of REST API of Shopify
...
The REST API has been deprecated.
Closes #13598
2025-12-01 16:46:23 +01:00
Cédric Krier
6360869d6c
Add id as matching key for product image URL
...
This allows to generate an URL for a specific image.
2025-05-27 00:08:28 +02:00
Cédric Krier
3f7794b968
Replace picsum service by our own images in product image tests
...
Closes #14201
2025-08-28 10:51:26 +02:00
Cédric Krier
77a214385c
Test Shopify module with extra dependencies
2025-06-30 17:01:31 +02:00
Cédric Krier
2f58b1be9a
Add option to order products from web shop
2025-05-19 21:42:27 +02:00
Cédric Krier
1cfac84ebc
Keep sale line removed from Shopify order
...
It is not allowed to delete a sale line if the sale state is not draft or
cancelled.
Closes #14376
2025-11-20 10:14:13 +01:00
Cédric Krier
2ce1adfc04
Do not prevent to process sale line without product and quantity from Shopify
...
When a line is removed on Shopify, the quantity of the sale line is set to 0 in
Tryton because Shopify refund the line.
So such line without product must not prevent to process the sale as they will
not generate any stock move nor invoice line.
Closes #14375
2025-11-20 10:10:27 +01:00
Cédric Krier
d6fad7d10c
Do not create contact mechanism for invalid email from Shopify
...
Closes #14368
2025-11-17 14:38:07 +01:00
Cédric Krier
72b7d9e922
Always fill contact of commercial invoice consignee for DPD shipping service
2025-11-30 08:45:34 +01:00
Cédric Krier
dbb0abe49a
Include origin name in stock move record name
...
Closes #14359
2025-11-14 09:05:02 +01:00
Cédric Krier
4d8a1cd837
Do not update key value of user application on write
...
Closes #14353
2025-11-06 11:34:07 +01:00
Cédric Krier
6a05c7597d
Remove party name from address name for shipping services
...
If the party name of the address starts with the name of the party, we do not
need to repeat it as the shipping services have also a field to store the party
name.
Closes #14352
2025-11-08 09:53:01 +01:00
Cédric Krier
71ac33a2c9
Remove unused mailto function
...
It is no more used since 83287ed2d759
2025-11-20 22:07:43 +01:00
Cédric Krier
85920a9c3c
Lock web shops when fetching order from Shopify
...
It is needed to avoid to fill the ir.error table with unique constraint error
on the web ID when the method is called in parallel by tasks posted from the
webhook.
Closes #14360
2025-11-13 15:23:47 +01:00
Xavi Hermoso
60a7b6654d
Copy productions at once when splitting
...
closes #14325
2025-10-28 11:45:10 +01:00
Cédric Krier
fe44ee1a60
Remove outdated comment about lock when closing stock period
...
Since c8771e45b861 the lock is taken at the transaction start so the calculated
stock quantities are always correct.
2025-11-29 14:59:43 +01:00
Cédric Krier
b0fe13a8e6
Add test scenario for stock period
2025-11-29 14:57:15 +01:00
Sergi Almacellas Abellana
d5482c3947
Include assigned move in close period error message
2025-11-29 14:56:44 +01:00
Sergi Almacellas Abellana
31a8acf935
Limit closed period assigned moves search
2025-09-04 09:08:41 +02:00
Sergi Almacellas Abellana
bf6165076a
Use default warehouse when creating new product locations
2025-11-21 10:57:32 +01:00
Cédric Krier
461d3a159d
Remove Purchase prefix to purchase request menu entry
...
This create a simpler title for the tab.
2025-11-18 00:05:02 +01:00
Sergi Almacellas Abellana
612e7b72e1
Add routings on bom form
...
Closes #14367
2025-11-17 11:22:21 +01:00
Cédric Krier
66da5bf18a
Add support to domain parser to search on empty relation field
...
Closes #14106
2025-11-06 18:15:38 +01:00
Cédric Krier
4859bedaaf
Convert max_tasks_per_child to None when the value is 0
...
The ProcessPoolExecutor supports only a positive integer or None.
Closes #14349
2025-11-05 14:38:52 +01:00
Cédric Krier
9b217fa50b
Use the same label for the quality inspect wizard on production as on shipments
2025-11-03 08:25:12 +01:00
Cédric Krier
19667f95fc
Add test to check replaced field of replace party wizard
2025-10-31 12:03:02 +01:00
Cédric Krier
6b2b66cbd4
Allow multiple products to be added to or removed from an accounting category
...
Closes #14326
2025-11-28 12:06:48 +01:00
Nicolas Évrard
835aa2c1bc
Use the form part of view_ids when opening a Many2One in a new tab
...
Closes #14391
2025-11-26 16:41:20 +01:00
Nicolas Évrard
6236d0a4f7
Use the widget attributes when populating the popup menu
2025-11-26 16:39:06 +01:00
Nicolas Évrard
622457ba33
Merge security.check_session and security.check
...
That way we won't use the pool when the database is not already initialized.
Closes #14316
2025-10-24 18:16:51 +02:00
Nicolas Évrard
ecc3e152d1
Apply SQLite types in check_session query
...
Closes #14315
2025-10-24 18:13:01 +02:00
Cédric Krier
f03f4512d4
Set Belgian account 488 as deposit
...
Closes #14148
2025-08-06 18:26:09 +02:00
Sergi Almacellas Abellana
a7ddd70b00
Fix the link to the production module documentation
...
Closes #14395
2025-11-27 10:17:25 +01:00
Cédric Krier
67190a2e83
Use the default digit values to calculate the width for float widget
...
Closes #14153
2025-08-11 18:06:38 +02:00
Cédric Krier
9a8492d928
Do not sum digits for widget width when some parts are unknown
...
Closes #14384
2025-11-27 01:14:59 +01:00
Cédric Krier
9504ccf748
Raise inbound email menu
2025-10-26 09:00:15 +01:00
Cédric Krier
0d677b4f74
Add an option to trytond-console to run a script file
2025-10-21 16:05:39 +02:00
Cédric Krier
ac39a44d3b
Remove outdated comment about converting Decimal into float for XML-RPC
2025-11-26 21:53:24 +01:00
Nicolas Évrard
3ed88c83c5
Register a MappingProxyType marshalling function for both JSON-RPC and XML-RPC
...
Closes #14387
2025-11-26 21:50:01 +01:00
Cédric Krier
c92dd960a3
Save contact mechanisms of address also when only the order is changed by Shopify
...
Closes #14356
2025-11-11 12:50:36 +01:00
Cédric Krier
518e5f3f69
Store only immutable structure or make a shallow copy in MemoryCache
...
Closes #14347
2025-11-03 23:08:31 +01:00
Cédric Krier
1824d5600c
Format date with contextual language when used as record name
2025-10-21 11:00:36 +02:00
Cédric Krier
823c7d5ff7
Allow a different gross price to be set for each variant
...
Closes #14299
2025-10-17 17:59:53 +02:00
Cédric Krier
6b3634b74e
Add stock_shipping_point module
2025-11-22 10:45:44 +01:00
Cédric Krier
133deb56b7
Add warehouse to the list view of supplier return shipment
2025-10-16 01:14:15 +02:00
Cédric Krier
7a82d82ba9
Add domain to warehouse of internal shipment
...
This ensures that the computed value is correct.
2025-10-16 01:13:50 +02:00
Cédric Krier
3ade628745
Add destination warehouse to internal shipment
2025-10-16 01:12:51 +02:00
Cédric Krier
f67a5f8db9
Add missing entry in documentation for stock shipment customs
2025-11-22 10:44:35 +01:00
Cédric Krier
e138ff1286
Order the list of variants on the product
...
Closes #14285
2025-10-10 17:42:08 +02:00
Cédric Krier
a5330ab1ff
Add product volume and weight to price list formula
...
Closes #13926
2025-03-17 18:24:14 +01:00
Cédric Krier
b7ee37bb0a
Replace clean_days with log_size in the cron configuration
...
Closes #14319
2025-10-27 19:20:23 +01:00
Cédric Krier
ff2c9f7bc3
Load sub-fields of xxx2Many only for lazy loading
...
The sub-fields are not needed for eager loading view like the tree because they
are rendered with only the number of records.
Closes #14305
2025-10-21 12:14:04 +02:00
Cédric Krier
6ebc55a14e
Add missing depends on currency to the TaxableMixin._round_taxes method
...
Closes #14348
2025-11-04 10:28:04 +01:00
Cédric Krier
142bb40876
Use short phone format in test scenario
...
As phonenumbers is not a dependency for the tests, we must use a short format
to not exceed the 20 characters limit.
2025-11-21 22:09:44 +01:00
Cédric Krier
36e7d69b89
Add stock_shipment_customs as requirement for tests
2025-11-21 15:34:30 +01:00
Cédric Krier
d089be91ba
Remove duplicate changelog entry in DPD shipping
2025-11-21 15:14:08 +01:00
Cédric Krier
8a772ad678
Support DPD international shipping
2025-02-15 22:23:11 +01:00
Cédric Krier
39a79c70ef
Support Sendcloud international shipping
2025-02-15 19:27:34 +01:00
Cédric Krier
791d649dde
Support UPS international invoice form
2025-02-17 19:01:11 +01:00
Cédric Krier
0796f27fbd
Add fields depends to shipping properties
2025-02-15 22:24:49 +01:00
Cédric Krier
a33ee46c20
Add stock_shipment_customs module
2025-10-23 17:18:15 +02:00
Cédric Krier
b9a3b1405b
Add import/export agent for customs
2025-02-01 01:52:03 +01:00
Cédric Krier
fb0b92a387
Update to DPD Shipment Service 4.4
2025-02-13 23:47:46 +01:00
Cédric Krier
7e169c1176
Set customs menu as top-level
2025-02-01 01:50:00 +01:00
Cédric Krier
142e06c421
Add incoterm version 2000
2024-11-14 19:03:14 +01:00
Cédric Krier
2cb43f313d
Use shipping properties instead of direct field
...
The properties were added in 682fe06f9774 to provide abstraction between the
different shipments.
2024-11-14 12:50:59 +01:00
Cédric Krier
4cb10fa620
Generate a default shipping description for the shipment
...
Also for UPS, it fallbacks to "General Merchandise" if the shipping description
is empty.
Closes #14351
2025-11-05 17:18:15 +01:00
Cédric Krier
da78b11fca
Escape completion content with custom format
...
Closes #14363
2025-11-20 17:03:46 +01:00
Cédric Krier
b2d45c11cd
Enforce access check in export_data
...
As the method is using instances to construct the exported data, the access
must be checked explicitly.
Closes #14366
2025-11-17 12:26:57 +01:00
Cédric Krier
f98c5e87d9
Do not display error details if empty
2025-11-12 14:57:12 +01:00
Cédric Krier
95dc47a24f
Include the traceback only in RPC responses in development mode
...
Closes #14354
2025-11-12 14:56:34 +01:00
Cédric Krier
41cc370e99
Enforce access check in HTML editor route
...
Use .read and .write instead of .browse and .save when editing field via the
HTML editor.
Closes #14364
2025-11-17 10:28:49 +01:00
Cédric Krier
3a4a23c3df
Support Belgian structured communication on invoices, payments and statement rules
2025-09-30 00:41:08 +02:00
Cédric Krier
e967e80974
Add payment reference to statement rule
2025-09-30 00:11:08 +02:00
Cédric Krier
3c8223a153
Allow customization of the payment reference to use
2025-09-29 15:37:10 +02:00
Cédric Krier
4c03672232
Validate the format of payment references
2025-09-29 15:33:46 +02:00
Cédric Krier
7c90b22b75
Add payment references to invoices
2025-09-30 00:11:31 +02:00
Cédric Krier
67b01f6cc3
Prevent running create quotation wizard from request in not allowed state
...
Using a button we can prevent to use the wizard on purchase request with a not
allowed state.
2025-11-19 12:22:51 +01:00
Cédric Krier
c50d717dd7
Prevent running create purchase wizard from request with purchase line
...
Using a button we can prevent to use the wizard on purchase request with
purchase line.
2025-11-19 12:22:17 +01:00
Sergio Hervás
f6ad52aebc
Allow creating quotation from purchase request in received state
...
Closes #12630
2024-03-17 12:27:03 +01:00
Cédric Krier
d4c6400c26
Include the line in the warehouse required error message for sale and purchase
2025-10-30 01:14:10 +01:00
Xavi Hermoso
4ae463d725
Improve stock level help message of purchase request
2025-11-18 00:09:52 +01:00
Xavi Hermoso
020931eef5
Add documentation to purchase request stock level
...
closes #14317
2025-10-27 10:13:33 +01:00
Hartmut Goebel
6cb77c6da9
Document gis fields
2025-11-18 00:35:27 +01:00
Cédric Krier
2e03f6cf94
Set currency field when creating invoice tax via on_change
...
This is needed to get the client format correctly the field using the currency
as digits.
Closes #14346
2025-11-04 10:25:02 +01:00
Cédric Krier
e5b29042d8
Force reload on save of record
...
07831c6eddaf implemented the default value as `false` but in tryton it has
always been `True` since b8658ba902a5.
Some save calls relies on the record being reloaded like in the editable tree
when selecting another row.
This synchronise the behavior of all save calls between tryton and sao.
Closes #14345
2025-11-03 11:16:05 +01:00
Cédric Krier
4b9ec5939e
Set TRYTOND_APPNAME and TRYTOND_TZ only if they are not set or empty
...
Closes #14322
2025-10-31 12:11:02 +01:00
Cédric Krier
bee92b80fc
Replace party on account statement origin
...
Closes #14282
2025-10-31 11:45:54 +01:00
Cédric Krier
59184cdfdd
Add a default Incoterm to web shops
...
The default Incoterm is set by default to sale from web shop for which it is
required.
And the shipment address is also set by default as Incoterm location when it is
required.
Closes #14337
2025-10-31 11:57:19 +01:00
Cédric Krier
62a54d655f
Set shipment cost method to order for sale from web shop
...
Closes #14336
2025-10-30 10:23:35 +01:00
Cédric Krier
fe7bff23f8
Set Belgian account 406 as debt
...
Closes #14320
2025-10-27 15:52:04 +01:00
Cédric Krier
20a9ffce1c
Set Belgian account 360 as debt
...
Closes #14321
2025-10-27 15:51:10 +01:00
Cédric Krier
66b0738f2e
Set a default value when calculating clearing reconcile of a payment group
...
Closes #14301
2025-11-02 16:53:22 +01:00
Sergi Almacellas Abellana
ccb48987be
Update documentation of purchase request quotation
2025-11-17 12:44:45 +01:00
Sergi Almacellas Abellana
e095f0fa92
Open purchase requests for quotations created from wizard
...
Closes #12927
2024-01-12 11:46:55 +01:00
Cédric Krier
c33886a989
Update documentation of purchase request
2025-11-11 18:00:55 +01:00
Cédric Krier
4a17e80070
Use the fastest product supplier when anyone can supply on time
...
Closes #12806
2025-11-11 18:04:50 +01:00
Cédric Krier
a735ea7a2b
Make target ids unique when reading related fields
...
The result is converted into a dict based on the id so we must ensure that the
ids read are unique in case the same id appears after size limit.
Closes #14304
2025-10-21 12:07:40 +02:00
Nicolas Évrard
47efd4dba1
Use the local context when launching a graph_open action
...
Using the local context allow us to access the context of the field shown by
the graph when the graph shows a One2Many field.
Closes #14341
2025-10-31 18:04:31 +01:00
Nicolas Évrard
10ee881e65
Return the data name as the action key when launching the graph_open action
...
The ids of each record is in fact indexed by the name of the label in a pie
chart
Closes #14340
2025-10-31 18:02:26 +01:00
Cédric Krier
6c7e903226
Test from location when checking warehouse for purchase line with negative quantity
...
Closes #14333
2025-10-30 01:11:22 +01:00
Cédric Krier
0d5caa58e7
Use line's movable property to require incoterm
...
Closes #14332
2025-10-30 00:59:07 +01:00
Cédric Krier
e97cd24ec2
Remove the first view_ids when opening the Many2One target from tree view
...
Closes #14328
2025-10-28 17:19:38 +01:00
Cédric Krier
0e5d2fc391
Use the view_ids attribute to open the Many2One target from tree view
...
Closes #14327
2025-10-28 17:17:31 +01:00
Cédric Krier
1f6403ba78
Use revenue account when the asset value increases or residual value is positive
...
Closes #14311 #14312
2025-10-23 19:23:09 +02:00
Cédric Krier
07fc626588
Hide all payment fields and buttons when using a different process method
...
Closes #14310
2025-10-23 18:24:26 +02:00
Cédric Krier
b696fdadac
Set column width only when the tree view is initialized
...
The column width should not be calculated on each display because a custom
width may have been applied by the user which is not yet saved.
Closes #14309
2025-10-22 18:57:34 +02:00
Cédric Krier
2b6880e12e
Use mouse events instead of drag/drop events to resize column
...
On drag/drop events some browsers automatically scroll the container to make
the dragged element visible.
Closes #14306
2025-10-21 17:31:22 +02:00
Cédric Krier
817936ef58
Fallback to id as record name when _rec_name value is empty
...
It happens that the _rec_name is not required so a fallback value is needed to
ensure to always have a name for the record.
Closes #14275
2025-10-21 12:18:02 +02:00
Cédric Krier
a9ce6df05d
Escape record name used in testing regex
2025-10-21 13:13:23 +02:00
Cédric Krier
1299094185
Use list price used of product to calculate the dunning fee
...
Since 117e51123978 the multi-value list price field is also defined on variant
and it may be None. The list price used must be used instead.
Closes #14344
2025-11-01 13:04:15 +01:00
Cédric Krier
a21df22391
Use list price used to fill unit price on stock move in test scenario
...
Since 117e51123978 there is a list price field on the variant which is empty.
Closes #14343
2025-11-01 11:10:56 +01:00
Sergi Almacellas Abellana
3eed891976
Fix typo in intrastat_declaration when cancelling moves
...
Closes #14331
2025-11-02 14:33:49 +01:00
Nicolas Évrard
8b89c1882b
Do not use the bus URL when creating the XML-RPC authentication token
...
Since 5af8d41ce7ce we're also sending the bus URL on the login of the users.
Closes #14329
2025-10-28 18:50:24 +01:00
Nicolas Évrard
f70d515905
Add a clear cache method to the Database
...
ExtensionTestCase uses this new method to clear all the caches of the Database.
2025-10-28 10:57:07 +01:00
Nicolas Évrard
3850af11f7
Find new key names using the definition from the dict widget's field
...
Closes #14323
2025-05-22 18:24:57 +02:00
Cédric Krier
1f8d64b3dc
Group invoice and shipment also per sale line component as origin
...
Closes #14302
2025-10-20 18:11:09 +02:00
Cédric Krier
6e1d98779a
Make the number of bank accounts required
...
The number is the record name so it must always be filled.
Closes #14297
2025-10-17 14:08:46 +02:00
Cédric Krier
b84bec1dcf
Use list price used to calculate unit list price on point of sale
2025-10-17 17:27:27 +02:00
Cédric Krier
c36128f264
Use list price used to calculate the base price of sale discount
...
Closes #14288
2025-10-13 18:32:01 +02:00
Cédric Krier
6e47bcfc55
Accept email without content as incoming document
...
It allow the creation of incoming document without data as long as it has
children. This supports the case of email without text nor HTML content but
only an attachment.
Closes #14109
2025-10-17 14:51:15 +02:00
Cédric Krier
dd5baea23a
Document the scheduled task to assign shipments and productions
2025-10-21 13:35:04 +02:00
Cédric Krier
00e52f4a43
Update anchor for if-then-else link on Wikipedia
...
Closes #14267
2025-10-01 08:45:36 +02:00
Cédric Krier
645cdbd65e
Improve dunning overdue help text
2025-09-15 16:25:52 +02:00
Cédric Krier
cf1ce07e9b
Fix parameter name for check_modification in the documentation
2025-07-31 23:47:59 +02:00
Cédric Krier
4622a4d104
Test stock internal supply with and without warehouses
2025-10-25 13:07:25 +02:00
Cédric Krier
a2ad9560bb
Filter order points using child of operator when supplying with internal shipments
2025-10-25 12:24:03 +02:00
Sergi Almacellas Abellana
60dc754bea
Limit implicit locations to the child of warehouses when supplying for internal shipments
...
Closes #14262
2025-10-25 12:06:20 +02:00
Sergi Almacellas Abellana
a0657d1cd7
Only delete requested shipments from the warehouses when supplying internal shipments
...
Closes #14263
2025-10-25 12:24:26 +02:00
Cédric Krier
0642af4150
Do not migrate the account periods to a strict sequence if there is no sequence
...
Closes #14308
2025-10-22 12:37:59 +02:00
Sergi Almacellas Abellana
3ad3c37273
Clarify that non deductible taxes apply for supplier invoices
2025-07-29 09:25:00 +02:00
Cédric Krier
e9b3a9eed8
Use description used when exporting FEC file
...
Closes #14255
2025-10-19 17:57:27 +02:00
Nicolas Évrard
58428d09b9
Do not allow translations to be set or exported unless the default language is English
2025-10-24 10:22:38 +02:00
Sergi Almacellas Abellana
ab7856ddcd
Test if production has warehouse before reading its address
...
Closes #14307
2025-10-21 18:24:52 +02:00
Cédric Krier
342a7a42f9
Use queue to update sales from Shopify orders
...
Closes #14274
2025-10-05 17:44:47 +02:00
Cédric Krier
3d6558faaa
Do not create Shopify fulfillment orders with a quantity of zero
...
Closes #14286
2025-10-11 15:06:20 +02:00
Cédric Krier
353deb659f
Use sandboxed iframe to display document
...
The HTML element used to display the document is based on the mimetype.
And by default a sandboxed iframe is used to isolate the unsafe content from
the parent context.
Closes #14290
2025-10-17 14:55:30 +02:00
Nicolas Évrard
b5ca5de485
Use && as the boolean operator instead of &
...
The typo was introduced in d5338ef23267
2025-09-17 11:41:30 +02:00
Adrià Tarroja Caubet
12211186f3
Fix typo in the custom CSS theme path of tryton documentation
2025-09-22 10:24:39 +02:00
Nicolas Évrard
6daccef092
Clarify the documentation about digits
2025-10-09 12:36:54 +02:00
Cédric Krier
ecfad8ea81
Return the closest language instance for the code
...
When the language code is provided by an external source, a best effort
strategy must be used to always return a language.
Closes #14258
2025-09-26 08:45:49 +02:00
Cédric Krier
f32669b086
Make each company's party unique
2025-10-01 10:17:22 +02:00
Cédric Krier
90ded6b681
Make the party field read-only for saved companies
...
Closes #14268
2025-10-01 10:16:47 +02:00
Cédric Krier
be7347f600
Add the attributes name field to the sale and purchase list views
...
Closes #14280
2025-10-07 18:22:57 +02:00
Cédric Krier
4f0c8ada7c
Use a MagicMock with a return value when patching ModelStorage copy for testing
...
Closes #14300
2025-10-19 10:43:23 +02:00
Cédric Krier
1c71eaba67
Construct move key for assignation by converting list to tuple
...
Instead of creating a new tuple on each field, it is faster to fill a list and
convert it to a tuple at the end.
2025-10-03 16:41:12 +02:00
Cédric Krier
5188badcfc
Add support for null ordering on SQLite
...
The support was added in SQLite 3.30.0
2025-10-08 17:09:29 +02:00
Cédric Krier
a772f1915a
Limit SQLite version to feature release
2025-10-08 16:59:26 +02:00
Nicolas Évrard
f1e71692db
Use SQL queries to restore history
...
Restoring a fields.Dict value failed before using this pure SQL solution.
Also such a solution will be more efficient by minimizing the amount of python
code run.
Closes #14031
2025-05-20 18:28:23 +02:00
Nicolas Évrard
12185cc3bf
Test the restoration of history after a DELETE
2025-06-14 03:21:40 +02:00
Nicolas Évrard
90f3c2f030
Compare the default fields used in copy with those of the calling class
...
Closes #14298
2025-10-17 16:27:11 +02:00
Nicolas Évrard
1492a174c7
Save column width in sao only when it has changed
...
Closes #14277
2025-10-07 12:42:44 +02:00
Nicolas Évrard
0c6b0399a9
Set default value of src_plural to NULL when setting translations
...
Adding the new translations to the internal language should set the value of
src_plural to NULL as this is the default value we use when importing from the
PO files. Moreover it might happen that an empty string could be a valid value
for src_plural.
Closes #14289
2025-10-17 10:33:06 +00:00
Nicolas Évrard
2029a9fa71
Skip the validation of the parent field of group
...
This is required because it can happen that a x2M field will have some records
set through an on_change but if the x2M is not linked to a screen then
exclude_field won't be set.
Closes #14283
2025-10-09 18:50:07 +02:00
Cédric Krier
354139725c
Do not allow to change template of existing product
...
Many models rely on the couple product-template to be immutable.
Closes #14279
2025-10-07 17:42:27 +02:00
Cédric Krier
c059af6bed
Do not copy incoming documents when copying invoices
...
Closes #14272
2025-10-02 15:26:34 +02:00
Cédric Krier
0f331ef1fe
Make Shopify identifier unique per record and web shop
...
Closes #14266
2025-09-30 15:55:59 +02:00
Cédric Krier
f18165b5fc
Add simpleeval as requirement for account statement rule module
...
Closes #14264
2025-09-30 12:32:05 +02:00
Cédric Krier
c3c1b962ed
Limit of shopify_orders context to test
...
Closes #14260
2025-09-29 11:21:39 +02:00
Cédric Krier
caf49b463f
Implement Array.toReversed when browser does not implement it
...
The usage of Array.toReversed was added in 9b65bcce3d16.
Closes #14270
2025-10-01 18:48:11 +02:00
Cédric Krier
6f876d10c4
Always try to confirm Shopify sale after creation and update
...
This is in case there is no transaction/payment to trigger the confirmation.
Closes #14256
2025-09-25 17:32:00 +02:00
Cédric Krier
4b75d20420
Require phonenumbers for testing scenario
...
The scenario relies on phone numbers format being standardized for comparison.
Closes #14292
2025-10-14 15:40:58 +02:00
Cédric Krier
1e03263529
Add contact mechanism for the phone number from Shopify address
...
Closes #14253
2025-09-23 18:43:08 +02:00
Cédric Krier
533f57f73a
Insert last Shopify contact mechanism as first of its type
...
Closes #14252
2025-09-23 16:15:57 +02:00
Cédric Krier
9f95b28eaf
Add sequence_reorder to model order
...
Closes #14251
2025-09-23 16:04:29 +02:00
Cédric Krier
9996cd8fde
Remove usage of deprecated stripe.error module
...
Since version 7.8.0 of stripe, the module is deprecated and it was removed in
version 13.0.0.
Closes #14278
2025-10-07 15:21:08 +02:00
Cédric Krier
7e650ffd48
Limit stripe version before 13.0.0
...
The version 13.0.0 removed the deprecated stripe.error module.
Closes #14278
2025-10-07 15:27:45 +02:00
Cédric Krier
ffd42a0fc4
Allow customization of the types of identifiers permitted on the address
...
Closes #14247
2025-09-19 17:24:36 +02:00
Cédric Krier
4fbf660b85
Add option to notify Shopify customer about fulfillment
...
Closes #14244
2025-09-18 14:12:16 +02:00
Cédric Krier
53919112df
Add tests for __eq__ and __lt__ of Model
2025-09-24 09:29:03 +02:00
Cédric Krier
34056386bb
Implement __hash__ on Model using xor
2025-09-24 09:28:39 +02:00
Cédric Krier
2f6b492e8b
Remove unnecessary __bool__ implementation on Model
...
In standard Python already consider object as True if they do not implement
__bool__ nor __len__.
2025-09-24 09:27:26 +02:00
Cédric Krier
0414c1cc7f
Remove unnecessary __ne__ implementation on Model
...
In standard Python already implement __ne__ as not __eq__.
2025-09-24 09:25:49 +02:00
Cédric Krier
382a6e206a
Add total ordering on Model
...
Closes #14254
2025-09-24 09:09:05 +02:00
Maxime Richez
3d99b80027
Add phantom BOM
...
Closes #11160
2025-10-13 09:41:41 +02:00
Cédric Krier
d96260f590
Add party's address to the SEPA mandate
...
Use explicit address selection to display on the SEPA mandate instead of the
default first address.
Closes #14229
2025-09-14 12:23:08 +02:00
Cédric Krier
47b79131dc
Fallback to effective date to filter line for party payable/receivable today
...
This implements the same behavior as the payable/receivable date in
7caa97a96b95 ensuring that the cumulate balance is the same as the today field.
Also it allows to customize the date considered as today from the context date
key or _datetime (when browsing history).
Closes #14228
2025-09-13 11:22:40 +02:00
Cédric Krier
b519f15a05
Allow cancellation of done drop shipments
...
Same as 0d599a48d351 but for drop shipment.
Closes #14223
2025-09-10 09:50:17 +02:00
Cédric Krier
baf798eb6a
Add a status URL to sales from web shop
...
Closes #14210
2025-09-02 10:14:54 +02:00
Cédric Krier
759a7c186d
Forbid resetting to draft cancelled shipment from Shopify
...
Closes #14207
2025-08-29 14:38:40 +02:00
Nicolas Évrard
9839c0902d
Add test that fields in __access__ are required
...
Closes #14261
2025-09-29 13:16:49 +02:00
Adrià Tarroja Caubet
c9d323f544
Add a timestamp parameter to the URLs of the product images
...
Closes #11456
2025-10-11 13:27:37 +02:00
Cédric Krier
ecc9ffc7de
Add stock inventory and turnover reports
2025-10-11 10:46:03 +02:00
Cédric Krier
da6b14a99b
Decode the SQL query logged by the Postgresql backend
...
This makes it easier to copy and paste the query when debugging.
2025-08-27 10:00:14 +02:00
Cédric Krier
771e76f0cc
Support taxes from Shopify shipping product
...
Closes #14192
2025-08-25 13:37:31 +02:00
Cédric Krier
f6c86bf30a
Use sub-test when testing search domain with deactivable mixin
2025-08-23 20:29:51 +02:00
Cédric Krier
9aff219032
Use an alert for processing notification
2025-08-22 00:13:56 +02:00
Cédric Krier
778d064f56
Add routes to open Shopify objects
...
Closes #14176
2025-08-20 14:01:18 +02:00
Cédric Krier
c642173094
Add support for credit refunds with Shopify
...
Closes #14165
2025-08-15 13:08:08 +02:00
Cédric Krier
245092d63b
Add support for refunding payments on sales
...
Closes #14166
2025-08-15 09:11:10 +02:00
Cédric Krier
7c4504f23a
Do not use the order object from Shopify webhook update
...
But fetching the order we ensure to fetch all the data needed.
2025-08-16 14:10:56 +02:00
Cédric Krier
440b920654
Add button to update the sales from their web shop
...
Closes #14163
2025-08-14 12:56:41 +02:00
Cédric Krier
faf11a8e48
Add web shop URLs to products
...
Closes #14160
2025-10-09 10:20:31 +02:00
Cédric Krier
6ba56ce0c8
Allow a different list price to be set for each variant
...
Closes #14154
2025-10-07 16:23:45 +02:00
Cédric Krier
965aa923c7
Include reference in shipment record name and fallback to id when empty
...
Closes #14147
2025-08-06 10:10:23 +02:00
Cédric Krier
df1f944489
Order POS sale by descending date
...
Closes #13985
2025-08-01 10:34:42 +02:00
Xavi Hermoso
93385742d2
Make quality control points name unique per control
...
Closes #14124
2025-10-08 13:00:22 +00:00
Cédric Krier
f325924717
Do not update measurements of all shipments for empty list
...
Closes #14271
2025-10-02 10:44:10 +02:00
Cédric Krier
5d6ec458c7
Remove unnecessary depends on Shopify UoM of product
2025-09-30 09:54:01 +02:00
Nicolas Évrard
818f26253a
Remove has_window_functions on Database
2025-10-04 22:45:53 +02:00
Nicolas Évrard
fb57dd9a25
Set a minimal supported version of sqlite
2025-10-06 17:36:06 +02:00
Cédric Krier
981d4768a1
Rename config variable to avoid naming collision
...
bd7e0b1a1276 import the trytond config as config now which was overridden by
the account configuration instance.
2025-10-07 15:15:52 +02:00
Cédric Krier
befa450e47
Do not lock web shop records when fetching or updating Shopify order
...
It is not needed as the unique constraint on the sale for the shopify
identifier ensures that only one sale is created per order.
Closes #14259
2025-09-29 11:15:52 +02:00
Cédric Krier
74ee169c54
Refactor of trytond.config to add cache
...
This removes the need to store configuration in global variable and so make it
easier to update for example for testing.
Closes #14249
2025-10-07 08:19:57 +02:00
Cédric Krier
5fdcba985b
Set width to 100% on all elements between pane and screen-container
...
Without the 100% width, Chrome does not render an horizontal scrollbar when the
form overflow the pane width.
Closes #14197
2025-09-23 12:12:52 +02:00
Sergi Almacellas Abellana
a705be3b98
Leave the unit price field empty for the purchase line of production outsourcing
...
Since changeset 65be15fb7d8a the unit price is not required until
the purchase is confirmed
Closes #14245
2025-09-19 09:12:53 +02:00
Nicolas Évrard
736eda2333
Handle URL host of the bus on login instead of using a redirect
...
Browsers remove authorization header upon cross-origin redirect.
Closes #12329
2025-10-06 17:03:41 +02:00
Nicolas Évrard
f0199c149b
Validate the session without using the pool on bus requests
2025-10-04 15:53:18 +02:00
Nicolas Évrard
a72adf0fdc
Restrict sessions to the client's IP address
...
Closes #13909
2025-10-05 17:17:14 +02:00
Cédric Krier
c9980988cc
Store in the cache all the lines to reconcile when searching for the best reconciliation
...
When the last line is pop from the debit/credit list, the access to the balance
may invalidate the cache of other records to fill the cache of the last one.
This may become very inefficient on large list of lines.
So by setting the record cache size to the size of the list of lines, we ensure
that no cache is invalidated during the calculation.
Closes #14230
2025-09-15 13:18:39 +02:00
Cédric Krier
8b283d14a0
Use cache functools to cache entry points
2025-09-18 10:19:13 +02:00
Cédric Krier
d80a166f2a
Add cache to find_path tool
2025-09-18 10:18:54 +02:00
Cédric Krier
33d85882ad
Compute root path of trytond only once
2025-09-18 10:18:21 +02:00
Cédric Krier
ee18ba3924
Cache the module configuration
2025-09-18 10:17:27 +02:00
Cédric Krier
8e1c951e1e
Add test for register conditionals in extras depend of module
2025-09-09 14:22:28 +02:00
Cédric Krier
134c35345e
Make product_price_list_dates extras depend on purchase_price_list
...
Closes #14241
2025-09-18 09:13:01 +02:00
Cédric Krier
fbee7be655
Make sale_product_quantity extras depend on sale_point
...
Closes #14240
2025-09-18 09:10:45 +02:00
Cédric Krier
c0df960de7
Make sale_supply_production extras depend on production_routing
...
Closes #14239
2025-09-18 09:08:10 +02:00
Cédric Krier
95456d6f92
Use tryton.cfg to register in the Pool
2025-09-18 16:42:29 +02:00
Cédric Krier
390dd930d8
Compare product data feed CSV independently of the header order in tests
2025-09-18 09:44:17 +02:00
Cédric Krier
9b39b6f170
Disable action and reload toolbar menu when there is no record
...
There is no action to execute without a record.
Closes #11929
2025-09-23 11:37:19 +02:00
Cédric Krier
457adf3ebc
Hide buttons and links when there is no record
...
There is no action to run without a record.
Closes #14250
2025-09-23 11:35:23 +02:00
Cédric Krier
63ef97ca4f
Use only components without product from the template as the default components for the product
...
Closes #14246
2025-09-19 14:04:29 +02:00
Cédric Krier
b934cd7b4e
Enforce the same company, currency and party when the payment origin is a sale
...
Closes #14237
2025-09-17 16:28:04 +02:00
Cédric Krier
c76a97868a
Enforce the same party only for draft payments of sales
...
Closes #14236
2025-09-17 16:25:56 +02:00
Cédric Krier
7153bca657
Update sale addresses also for guest party from Shopify order
...
If the guest party is set back because the customer has been removed on
Shopify, the addresses must be also set back to those from the guest party.
Closes #14235
2025-09-17 15:21:54 +02:00
Cédric Krier
076fcbcc0a
Use current total price when creating sale from Shopify order
...
At the creation the order may already have the total price modified by refund
etc.
Closes #14234
2025-09-17 13:23:09 +02:00
Cédric Krier
9e725456fd
Do not try to fulfill move not linked to a Shopify order line
...
Closes #14232
2025-09-16 10:57:50 +02:00
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
6c08365879
Do not set weight nor dimension to Sendcloud parcel when empty
...
Closes #14231
2025-09-15 17:58:55 +02:00
Cédric Krier
80eaf304d1
Remove padding in base64 converter
2025-08-27 12:35:31 +02:00
Cédric Krier
705baad2b1
Keep original order for data on pie chart
...
Closes #14222
2025-09-10 00:56:46 +02:00
Cédric Krier
c66acb75e5
Use the length of data to generate color scheme on pie chart
...
We need a different color for each data instead of each y field.
Closes #14221
2025-09-10 00:53:45 +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
a1b80e1af5
Use the presentment currency of the Shopify order for the sale currency
...
Closes #14214
2025-09-04 10:37:26 +02:00
Cédric Krier
61731f9f1e
Compare compact format of contact mechanism when updating Shopify customer
...
Closes #14211
2025-09-08 14:05:05 +02:00
Cédric Krier
32a8c0d6eb
Refund Shopify shipping cost when no shipment was sent
...
Closes #14218
2025-09-05 17:57:12 +02:00
Cédric Krier
8f23c0d36b
Refund Shopify order also when the sale state is done
...
If nothing has been shipped, the shipment state is "None" but the sale state is
"Done".
Closes #14208
2025-08-29 14:44:26 +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
13bb47b868
Remove default lead time for product sold
...
By default it is better to assume that we do not know the default lead time of
the company which allows to select the first supplier no matter its lead time.
The sale already plans the stock move to today when the planned shipping date
is empty since a748de86c8d6.
Closes #14224
2025-09-10 09:47:03 +02:00
Cédric Krier
b21d1497fa
Use the FILTER syntax with SQL aggregate functions
...
Closes #14199
2025-08-27 10:17:31 +02:00
Cédric Krier
3c82eeca33
Order locations by the MPTT left field when searching on quantities
...
This improves the likelihood that a full branch of locations will be calculated
in the same batch.
Closes #14182
2025-08-22 10:11:57 +02:00
Maxime Richez
d72c4e2a95
Allow modifications of incoterm until customer's shipments has been shipped
...
Closes #14203
2025-09-14 22:23:45 +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
Alex Alias Montserrar
9223e17240
Test if address has a country before display country name in SEPA mandate report
...
Closes #14020
2025-09-14 11:47:59 +02:00
Cédric Krier
1de38fedd2
Only validate packing for shipments with a shipping service
...
Closes #14217
2025-09-05 16:52:11 +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
Cédric Krier
0bfe0895ae
Update height of list-form when it is set on xxx2Many widget
...
The current view element is the `list-form` so it is not found. Instead we must
search from the content element of the xxx2Many widget because it replicate the
CSS rule.
Closes #14212
2025-09-02 14:28:57 +02:00
Cédric Krier
2282f46118
Do not refund the non-movable lines to Shopify
...
Closes #14209
2025-08-29 15:01:23 +02:00
Cédric Krier
5fbfae5a7b
Rename the XML ids of the quality production inspection wizard
2025-09-02 13:38:24 +02:00
Cédric Krier
c0d29441e9
Fix the XML id of the quality production inspection wizard
...
Closes #14113
2025-09-02 13:36:42 +02:00
Cédric Krier
91b88aed85
Prevent the CSV import and export windows from being clicked on multiple times
...
Closes #14205
2025-08-28 19:20:03 +02:00
Sergi Almacellas Abellana
2ae56ac164
Add readonly states to stock quantity issue model
...
Closes #14191
2025-08-25 12:39:40 +02:00
Sergi Almacellas Abellana
876e972fb6
Add default lead time on product configuration
...
Changeset 0a0b8be85ef5 added a default value for the multivalue model, but
not for the product configuration, so it is always ignored.
Closes #14188
2025-08-25 10:58:08 +02:00
Cédric Krier
33d5deb5c3
Pass also the number as formatting parameter to ngettext
...
Closes #14204
2025-08-28 18:16:48 +02:00
Cédric Krier
42ba69bfa6
Use line item quantity to calculate unit price of Shopify sale line
...
The total discount is based on the initial quantity of the line item instead of
the current quantity.
Closes #14187
2025-08-25 10:37:14 +02:00
Cédric Krier
7f0cb85631
Check for assigned move per company and recent date
...
d84b63604b10 calculates the recent date per company so we must search for moves
using this date for the same company.
2025-08-23 21:18:43 +02:00
Cédric Krier
c169d22f96
Update Shopify payment even if the captured amount is zero
...
Closes #14181
2025-08-21 17:49:46 +02:00
Cédric Krier
2cc6581609
Always decrease Shopify sale line by the refunded quantity
...
The restock type is only for the stock level calculation of Shopify which is
not useful as Tryton always update the stock level.
Closes #14179
2025-08-20 16:29:15 +02:00
Cédric Krier
39de08712e
Add test scenario to request production with BoM
2025-08-20 11:34:54 +02:00
Cédric Krier
b9d34f3174
Use the BoM output unit to request the quantity to produce
...
This ensures that the output quantity of the production is not floored such
that the production supply does not enter in an infinite loop.
Closes #14175
2025-08-20 11:20:30 +02:00
Cédric Krier
9844fc004d
Define weight as Shopify fields on product template
...
The product_measurement module defines the weight on the template.
Closes #14173
2025-08-19 16:37:43 +02:00
Cédric Krier
4c7a656308
Set sale attribute only if changed
...
This avoid to clear the sale if there are no actual change on the sale order.
Closes #14171
2025-08-19 13:33:55 +02:00
Cédric Krier
c13b0b6626
Fix name of Shopify webhook topic for payment
...
Closes #14168
2025-08-16 14:16:40 +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
Cédric Krier
6bf0edc5eb
Manage Shopify webhook for orders edited and cancelled topic
...
Closes #14136
2025-08-16 14:12:34 +02:00
Cédric Krier
e60c2ba8b4
Create draft sale with guest party for Shopify order without customer and update it later
...
Closes #14167
2025-08-16 10:33:56 +02:00
Cédric Krier
86c9db5ad9
Unpack move table when converting domain for payable/receivable date
...
Closes #14158
2025-08-23 21:21:10 +02:00
Cédric Krier
d1f6163dc8
Do not sum moves progress of component if it is None
...
When the component has no move, its moves progress is None so it can not be
added to the general progress.
Closes #14183
2025-08-22 11:13:57 +02:00
Cédric Krier
9c0ec50ecf
Use gettext method instead of gettext module in import window
...
Closes #14180
2025-08-21 08:17:10 +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
Alex Alias Montserrat
824f6bdc50
Replace the description field with a summary field on the subscription line lists
...
Closes #12022
2025-08-23 10:24:36 +02:00
Cédric Krier
14947658f8
Allow searching for sales by web shop and ID
...
Closes #14162
2025-08-14 08:48:37 +02:00
Cédric Krier
9995fa616f
Use product record name in record name of purchase request
...
Closes #14141
2025-08-01 10:01:14 +02:00
Cédric Krier
0b078acacd
Add support for disassembly production
...
Closes #14091
2025-06-19 17:39:38 +02:00
Cédric Krier
29e3785f8d
Do not create demo user for every language
...
Instead we rely on the client language.
2025-08-07 23:41:31 +02:00
Cédric Krier
33ee5f0d51
Set client language in the context when user has no language
2025-05-02 00:46:38 +02:00
Cédric Krier
411392bb09
Use constant-time to compare session key
2025-08-07 20:55:20 +02:00
Cédric Krier
ee6f06bea4
Do not warn about missing list price when producing a single product
...
Closes #14146
2025-08-05 15:37:15 +02:00
José Antonio Díaz Miralles
3925faca88
Use the page position instead of the screen position to compute the column resizing
...
Screen or client position calculations may be inaccurate when there are
multiple monitors or scrollbars.
Closes #14156
2025-08-21 12:30:44 +02:00
Cédric Krier
137bb82fcd
Call super for on_change of supplier and customer for Intrastat on shipments
...
Closes #14150
2025-08-07 11:11:32 +02:00
Cédric Krier
8f7ebb18cd
Set web shop currency and methods on sale after calling on_change's
...
The on_change_party set the default currency from the company and methods from
the party.
Closes #14149
2025-08-07 10:28:09 +02:00
Cédric Krier
08ed6e529b
Clear the Shopify tax adjustment before recalculating it
...
Closes #14143
2025-08-21 10:38:46 +02:00
Cédric Krier
f555e35eca
Set selected class before changing current record and do not rely on toggle
...
The class must be set before changing the current record because the property
selected_records relies on the classes and this method is called when changing
the current record to set the sensitivity of the buttons.
Also clicking a second time on the row must unselect the row which is not
possible to implement with the toggling of the class.
Closes #13980
2025-08-01 11:08:58 +02:00
Eddy Boer
7528183eee
Move pricelist field before shipping date on sale form
...
Closes #14040
2025-08-21 09:50:22 +02:00
Adrià Tarroja Caubet
3ed4e9c168
Unpack tables move when ordering by payable_receivable_date
...
Closes #14158
2025-08-13 11:35:04 +02:00
Cédric Krier
013a6768cf
Use a list of values when updating quality operations from done to do
...
Closes #14116
2025-08-12 00:33:19 +02:00
Cédric Krier
b6472c7a71
Ensure date in log window is always a string
...
The date can be null for example for record having been just created without
any modification later.
Closes #14142
2025-08-01 10:20:59 +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
José Antonio Díaz Miralles
8d4b38b339
Include the period in the nested part when searching the invoice party of lines
...
Closes #14125
2025-08-12 00:15:43 +02:00
Cédric Krier
f958c59d05
Test if party is set before using its record name for reconciliation error message
...
Closes #14127
2025-07-30 15:12:15 +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
29e6c6e0c9
Do not copy reference field by default
...
Closes #14140
2025-08-01 00:10:49 +02:00
Cédric Krier
454e35f555
Set One-Click header to unsubscribe from marketing mailing list
...
Closes #14137
2025-07-29 00:14:02 +02:00
Cédric Krier
4f0eb2b0d3
Add effective dates, company and warehouse on header of production form
2025-06-19 18:12:25 +02:00
Cédric Krier
da57dd5f78
Reset period of move when company is changed
...
Closes #13999
2025-05-05 16:26:06 +02:00
Cédric Krier
26fff46aa6
Define the file types that image input accepts
...
Closes #14083
2025-06-18 00:49:55 +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
b7f6a462f1
Allow unsplitting moves
...
Closes #14079
2025-08-09 15:39:54 +02:00
Cédric Krier
9da4595239
Update documentation of stock split
2025-06-16 19:17:23 +02:00
Cédric Krier
18491428f7
Ask for the clearing date when the payment group succeeds
...
Closes #14075
2025-06-15 18:38:09 +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
bcb8fd1cd2
Do not execute button if there is no current record for the screen
2025-06-16 11:38:20 +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
05fcef8204
Support delete on cascade user roles
...
Closes #14054
2025-06-06 15:07:00 +02:00
Cédric Krier
a60dee6c84
Add users list on role form
2025-06-06 14:43:14 +02:00
Cédric Krier
bf821e68df
Support shortcuts on modal
...
The shortcut function search for a button in the last opened modal footer
having the id and click on it.
Otherwise it fallback to the existing searches on the current tab.
Closes #14041
2025-05-28 17:58:36 +02:00
Xavi Hermoso
5b7dacf3a5
Clear the lot when the stock move product changes
...
Closes #14035
2025-08-08 10:38:06 +02:00
Cédric Krier
74186a04c8
Improve error message when delete or modify reconciled line
2025-05-21 17:15:31 +02:00
Cédric Krier
3081ff10c1
Pass invoice data when processing supplier invoice line from OCR service
...
This eases the extension of invoice data that may be needed to process invoice
line when such data is not yet set on the invoice instance.
Closes #14017
2025-05-13 13:03:48 +02:00
Cédric Krier
5c806446b5
Set avatar to user
2025-04-29 23:32:29 +02:00
Sergi Almacellas Abellana
0f9d615975
Add expand on allocatiation tree view
2025-08-01 10:08:17 +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
ea26652f45
Simplify tests by using movable property of line instead of product type
2025-07-10 17:52:16 +02:00
Cédric Krier
6cda4cf48d
Replace checkout wizard by values returned by button_action
...
Closes #14076
2025-06-22 12:57:15 +02:00
Cédric Krier
20e8d5761c
Use email tools to format address for marketing email
...
This supports sending email with local-part containing non-ASCII characters.
Closes #14138
2025-07-30 00:21:34 +02:00
Cédric Krier
720bd01f04
Enforce non-goods product to not be consumable
...
Closes #14132
2025-07-24 10:36:30 +02:00
Cédric Krier
b05dd58da8
Make component fields readonly on non draft sale and purchase
...
Closes #14130
2025-07-23 18:03:49 +02:00
Cédric Krier
ec36d50273
Forbid to select the invoice company as consolidation company
...
Closes #14126
2025-07-22 13:37:58 +02:00
Cédric Krier
b47558053e
Fix extras_depend name in tryton.cfg
...
Closes #14122
2025-07-15 17:56:59 +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
9b6ea0ae6a
Do not fail to duplicate lot with an empty lot list
2025-07-15 17:44:06 +02:00
Cédric Krier
9c1824a913
Initialize recent date when closing periods with empty period list
2025-07-15 17:45:18 +02:00
Cédric Krier
8f9db42bc7
Do not fail to open product category to add products without any categories
2025-07-15 17:42:16 +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
Cédric Krier
d5e92b91d9
Recursively set values on record for xxx2Many fields
...
The values for wizard may be a list of dictionaries for xxx2many fields.
Closes #14055
2025-07-11 23:14:50 +02:00
Cédric Krier
549370459d
Set shipment cost method on Shopify sale only if a carrier is set
...
Closes #14105
2025-07-07 11:20:12 +02:00
José Antonio Díaz Miralles
9eb7dcc1c7
Avoid performing duplicate searches when submitting the filter dialog
...
Closes #14104
2025-07-06 13:03:41 +02:00
Cédric Krier
bf18b966b8
Use quantity set on the line to compute unit price from Shopify order
...
The quantity of the line item may be different if part of the line item has
been refunded or cancelled.
Closes #14103
2025-07-04 10:15:23 +02:00
Cédric Krier
aa0bf2e7ba
Reset to draft sales updated from Shopify
...
As the update from Shopify may need to add new lines which can only be created
for a draft sale.
Closes #14099
2025-07-02 13:25:56 +02:00
Cédric Krier
038230eb91
Do not clear existing product of sale line when update from Shopify
...
Closes #14098
2025-07-02 11:42:14 +02:00
Cédric Krier
08d0789e0b
Allow editing product on confirmed sale line with Shopify identifier
...
Closes #14096
2025-07-02 10:23:03 +02:00
Nicolas Évrard
bf64f359a2
Set current screen context in import / export windows
...
Closes #14128
2025-07-23 14:10:32 +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
9a94f06da6
Do not crash if there is no Euro currency defined for intrastat reports
...
Closes #14050
2025-07-11 22:43:56 +02:00
Cédric Krier
cc67a9b121
Do not fail to compute price when carrier has no price list per weight
...
Closes #14111
2025-07-11 09:41:35 +02:00
Cédric Krier
490fb564ea
Stop propagation of click event on button in tree view
...
If the button is going to be executed, the selection of the row must not change
so the propagation must be stopped before reaching the row.
Closes #14118
2025-07-11 15:19:22 +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
125668e0e2
Do not change the selection of row when starting the edition
...
The edition of tree row relies on having the current record of the screen set
to the row edited. This can be only guarantee if we do not change the
selection.
Closes #14097
2025-07-03 16:24:59 +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
Cédric Krier
13eb20f6b2
Use the actual Shopify values for scope in documentation
2025-05-07 19:13:03 +02:00
Nicolas Évrard
69690daa2c
Fix a typo introduced in 71bad2d56f96
2025-07-02 01:02:22 +02:00
Cédric Krier
859a8ec312
Remove unecessary semicolon in tab modified_save
...
The semicolon was introduced in 14150ef09fb6
2025-06-29 02:10:35 +02:00
Cédric Krier
b7d96280bc
Limit the depth for finding modules in module directory
2025-06-28 16:22:27 +02:00
Cédric Krier
d3ca288917
Round commission amount using price digit in reporting
...
Closes #14049
2025-06-10 19:52:29 +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
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
Cédric Krier
18e995089f
Fix placeholder errors in tryton translations
2025-05-20 00:09:51 +02:00
Cédric Krier
6159c55203
Set default value via domain inversion only when deferred operand is id
...
Other cases for deferred operand can not be deduced as unique for sure.
Closes #14005
2025-05-08 18:22:54 +02:00
Cédric Krier
c22cef7e23
Remove empty files when exporting translations of a module
...
If the module has no translations, no file should be created. If they exist,
they must be removed.
Closes #14021
2025-05-15 13:33:44 +02:00
Cédric Krier
ed7285d6a0
Iterate on the result of items call to update values set by on_change on O2M
...
e38f2298 introduces wrongly the iteration over the function instead of the result.
Closes #14014
2025-05-12 12:36:10 +02:00
Sergi Almacellas Abellana
9ef6152a16
Do not require result nor type for inactive documents
...
Otherwise children documents can not be processed because the parent document
raises a RequiredValidationError when saved
Closes #14015
2025-05-12 15:17:26 +02:00
Nicolas Évrard
a190aae17f
Remove notification events from the queue after the wait times out
...
Closes #14022
2025-05-14 12:12:54 +02:00
Maxime Richez
4cf2384552
Set empty currency and unit price on stock move when not required
...
Closes #14023
2025-05-16 13:20:28 +02:00
Nicolas Évrard
2b8f96f8aa
Use the initial precision when applying factor to a field without digits
...
Without digits the full representation of the number is used which might not
be the expected behaviour because applying the factor will result in a number
which short representation could be surprising to the user.
Closes #10460
2025-05-19 11:31:28 +02:00
Cédric Krier
686c3eff35
Test on_change_notification_email of trigger
2025-05-12 00:10:33 +02:00
Cédric Krier
d56984a386
Search notification email model by name
...
Since a4f34799 the field containing the name of the model is 'name'.
Closes #14006
2025-05-12 00:10:13 +02:00
Sergi Almacellas Abellana
9487cbe10d
Make bom notebook fill all form columns
...
Closes #14007
2025-05-09 14:07:31 +02:00
Cédric Krier
d58b9e2d90
Set Message-Id to email sent
...
Closes #13974
2025-04-14 15:56:38 +02:00
Sergi Almacellas Abellana
4da84d5b3f
Fill unknown country only for move with an intrastat type and one empty country
...
Closes #14008
2025-05-11 01:26:47 +02:00
Cédric Krier
41993306bf
Use pairing to generate unique ID for purchase reporting
...
Purchase reporting are also grouped by currency so they should be part of the
ID.
Closes #13743
2025-05-05 15:07:27 +02:00
Cédric Krier
301982d6f2
Add pair/unpair in tools
2025-04-30 15:12:49 +02:00
Cédric Krier
7226268a08
Consider any field of new record as loaded
...
It is needed to trigger the validation of all the fields to set default value
thanks to the domain inversion.
Closes #14004
2025-05-08 18:15:25 +02:00
Cédric Krier
30c5744433
Fix message ID for unique constraint on move sequence of fiscal year
...
Closes #13996
2025-05-08 09:28:55 +02:00
Cédric Krier
4bda4705f1
Do not fail to reload modified view without a current record
...
It may happen that a tree view is considered as modified even if there is no
current record. In this case we should not try to compare the id of the current
record before and after reload as it is not defined.
Closes #13998
2025-05-05 12:33:01 +02:00
Cédric Krier
4b906352b1
Add tests for view tree width
2025-05-04 10:11:03 +02:00
Cédric Krier
a69b2b6b69
Delete tree width records when field is set multiple times
...
There is no unique constraint so the method to set width should not rely on the
unicity of the field per screen size.
Closes #13997
2025-05-04 08:40:40 +02:00
Cédric Krier
39ddf8b838
Update label of window form only if it exists
...
The update of label was introduced in 89834116fe97 but the label is defined
only when the window form is created with the view type tree.
Closes #13994
2025-04-30 17:22:58 +02:00
Cédric Krier
581ffa80fa
Set width to 100% on object of document widget
...
Closes #14000
2025-05-05 23:37:57 +02:00
Cédric Krier
5760ae39cb
Set a background color to head and foot row of tree view table
...
Since ee297f4d7eea the sticky position is put on the row so it can no more be
transparent.
Closes #13993
2025-04-29 23:28:59 +02:00
Cédric Krier
30b867691a
Use larger translation dialog for expanded widget
...
Closes #13987
2025-04-28 22:12:01 +02:00
Cédric Krier
56a3bd14d9
Set richtext widget inside an .input-group in translation dialog
...
It is needed to benefit from 6e2ff4b6.
Closes #13987
2025-04-28 22:10:50 +02:00
Cédric Krier
524c3b3cce
Hide resizer of last column of tree view
...
This prevents the table to overflow and create an horizontal scrollbar because
of the negative inset.
Closes #13992
2025-04-29 23:24:16 +02:00
Cédric Krier
d1e96023aa
Set direction to column for text and richtext widget
...
Such that the toolbar is put on top and the input is taking the remaining
vertical space.
Closes #13986
2025-04-28 22:07:40 +02:00
Cédric Krier
47c173f74b
Do not use OFX balance statement if the balance date is not the statement end date
...
The bank can put a balance for the statement at a different date than the end
date of the statement. But for Tryton the end balance must be the balance at
the end of the statement.
Closes #13982
2025-04-25 17:29:38 +02:00
Cédric Krier
8348ca4379
Increase minimal ECMAScript version to 8
2025-04-14 17:22:34 +02:00
Cédric Krier
8af876568f
Do not deduce pending payments linked to a line from direct debit balance
...
The balance is calculated using the payment amount of the line which already
deduce the pending payment amount.
So such payment should not be deduced a second times from the balance.
Closes #13973
2025-04-14 12:00:58 +02:00
Cédric Krier
e7fb100d8f
Increase display size only once per more row
...
This ensures that the growing rate between display size and rows is the same.
Closes #13972
2025-04-14 09:52:31 +02:00
Cédric Krier
5b01323986
Coalesce boolean account type columns on negative clause
...
In SQL the negation of NULL is still NULL.
Closes #13967
2025-04-11 09:24:13 +02:00
Cédric Krier
5738a5fb46
Do not precede negative currency symbol in Italian
2025-04-10 09:10:12 +02:00
Cédric Krier
c6b4b64482
Fix typo in the label and help of address format
2025-04-27 17:52:46 +02:00
Cédric Krier
296532218f
Declare vals_to_set on the common block where it is used
...
e38f22986aac reuse vals_to_set later so linter may complain about it not being
defined.
2025-04-30 08:44:05 +02:00
Cédric Krier
ae5b18eba0
Increase version number
2025-04-28 16:40:56 +02:00
Cédric Krier
91eb68f809
Add tag 7.6.0
2025-04-28 16:12:38 +02:00
Cédric Krier
04487b81d4
Prepare release 7.6.0
2025-04-28 16:12:25 +02:00
Cédric Krier
57b8d11d22
Always fill debit and credit of grouped account move line
...
The inherited MoveLineMixin is expecting those fields to be always filled.
Closes #13976
2025-04-18 12:30:59 +02:00
Cédric Krier
8c6eb00c2a
Update incoterm scenario to use building name instead of name for warehouse address
2025-04-27 17:30:04 +02:00
Cédric Krier
87c3982ec2
Use full address to build Google Maps URL
2025-04-27 17:29:24 +02:00
Cédric Krier
f11bb1bd42
Update UN/CEFACT CrossIndustryInvoice template to use structured address
...
Use unstructured street for Line and fill StreetName and BuildingNumber with
structured values.
2025-04-27 17:28:49 +02:00
Cédric Krier
12ce1f5c19
Update SEPA template to use structured address values
...
Use unstructured street as AdrLine and fill StrtNm and BldgNb with the
structured values.
2025-04-27 17:26:50 +02:00
Cédric Krier
2e1d79d050
Do not lock table on SQLite when checking unsupported constraint
...
It is not needed as SQLite does not have an explicit lock mechanism but such
call restart the transaction anyway.
2025-04-27 17:20:45 +02:00
Cédric Krier
b85d6e9efa
Update translations [skip ci]
2025-04-27 11:36:15 +02:00
Cédric Krier
1c794eae1b
Use locale format in domain parser and search filter for numbers
...
Closes #13966
2025-04-07 23:43:31 +02:00
Cédric Krier
8b1c044274
Do not clear non unique help translation
...
The help translations may be composed of partitioned strings.
Closes #13978
2025-04-23 18:32:04 +02:00
Cédric Krier
dedbd6df06
Reset to quotation Shopify sale with insufficient authorized payment amount
...
Shopify order can be modified from the admin in such way that the total
increase and it is only partially paid.
In such case we must prevent to process the sale by resetting to quotation
until being fully paid.
Closes #13961
2025-04-03 17:21:15 +02:00
Cédric Krier
2ed845b7e0
Compute digits of float value before applying factor
...
When applying the factor, we introduce new rounding issue which falsify the
computation of digits.
So it is better to compute the digits using the initial value (coming from the
string parsing) and update the digits based on the order of the factor.
Closes #13964
2025-04-04 18:51:30 +02:00
Cédric Krier
27e674fa36
Merge company into party name for Shopify address
...
Since a28904ce28d5 the address name has been replaced by building name.
It was a mistake to use the address name for the company name of Shopify
address.
So instead we merge the name and company of Shopify address into the party name
of the Tryton address.
2025-04-16 09:41:11 +02:00
Cédric Krier
3979c4b89a
Cancel Shopify fulfillment when customer shipment is cancelled
...
Closes #13954
2025-04-02 13:16:08 +02:00
Cédric Krier
2972cbb7f1
Create Shopify fulfillment when customer shipment is shipped
...
Closes #13953
2025-04-02 13:15:36 +02:00
Cédric Krier
68067e9a5c
Re-open Shopify order when the sale is no more done
...
Closes #13955
2025-04-02 13:14:40 +02:00
Cédric Krier
2aafc5626b
Correctly clear all kinds of info bar messages
...
Closes #13951
2025-03-28 17:20:49 +01:00
Cédric Krier
3c0a1ea341
Force record message when selection has changed but not the current record
...
This is needed to update the toolbar label about the number of selected record.
Closes #13950
2025-03-28 17:14:12 +01:00
Cédric Krier
e3ad7a6f2b
Trigger record message even if current record has not changed
...
a2c50d4993cc disabled the trigger but it is needed to update the toolbar label
when the number of selected record is changed but not the current record.
2025-03-28 17:13:21 +01:00
Cédric Krier
1b50ab9624
Make lines of sales, subscriptions and purchases read only without a company and currency
...
Closes #13948
2025-03-27 23:07:41 +01:00
Cédric Krier
9b102df098
Forbid changing company of subscription if there are lines or invoice party set
...
Closes #13947
2025-03-27 23:03:40 +01:00
Cédric Krier
efaccdb81b
Allow to update production cost price updated of stock move in a closed period
...
The update of a production cost can happen when the input moves are in a closed
period.
Closes #13944
2025-03-26 23:58:06 +01:00
Cédric Krier
e45be331a7
Lock records on transaction start
...
Same as c8771e45b861 but when locking only records instead of the table.
Closes #13943
2025-03-27 13:39:04 +01:00
Sergi Almacellas Abellana
637c4112dc
Do not skip other invoices when printing an invoice that has a cache
...
Closes #13968
2025-04-17 00:04:15 +02:00
Nicolas Évrard
13345232ea
Use hasOwnProperty to check for key presence in object
2025-04-15 18:38:45 +02:00
Nicolas Évrard
032f96cdca
Do not set twice the result of an on_change call in a x2many
...
Closes #13971
2025-04-15 16:14:37 +02:00
Cédric Krier
27ff1ef14e
Remove unused global variable in tryton plugins and rpc
2025-04-16 09:59:53 +02:00
Cédric Krier
ac42d79df7
Document setup of Shopify variants
2025-03-09 10:30:46 +01:00
Cédric Krier
a56834c421
Document that Modify Header wizards are recalculating lines
2025-03-10 13:46:00 +01:00
Cédric Krier
220fd433c9
Add checkout option to cookiecutter command line in tutorial
2025-03-25 09:30:22 +01:00
Cédric Krier
716b0b2ed6
Remove access right tests in scenario
...
The access rights are now only a configuration matter.
2025-03-30 15:22:07 +02:00
Cédric Krier
854562ad6e
Add default value to user in set_user testing tool
2025-03-30 15:21:11 +02:00
Cédric Krier
86c60f700c
Do not fill to_post_number with empty value in Sendcloud parcel
2025-04-15 21:27:51 +02:00
Cédric Krier
274f2a3941
Support structured address in shipping services
2025-01-25 13:21:21 +01:00
Cédric Krier
2e0ecbabf5
Add numbers property to address
2025-01-25 13:20:36 +01:00
Cédric Krier
b2401ede71
Force update of address format
2025-01-25 01:14:12 +01:00
Cédric Krier
0d1da7c1b4
Add structured address
2025-01-25 13:21:34 +01:00
Cédric Krier
8043c1f6cd
Fill secondary unit from product customer
...
Closes #2294
2025-04-14 18:19:25 +02:00
Maxime Richez
8129eb4bfc
Fill secondary unit from product supplier
...
Closes #13933
2025-04-14 18:56:45 +02:00
Cédric Krier
faca1dd187
Order bank account per owners
...
Closes #13937
2025-03-24 18:44:31 +01:00
Cédric Krier
d68df1a8e6
Store payable bank account number on SEPA payment
...
This allows the user to select the bank account to use for the payment instead
of the first IBAN.
Also it stores the bank account that was selected by default on processing.
Closes #13938
2025-03-24 23:10:42 +01:00
Cédric Krier
2a85bd2a14
Remove test on the returned value from production _move method
...
The method always returns a stock move.
2025-03-27 00:26:53 +01:00
Cédric Krier
43dff0d4f6
Add method to prepare stock move from a BOM input or ouput
...
This allows customization of the stock move using data from the BOM.
Closes #13945
2025-03-27 00:25:18 +01:00
Cédric Krier
81134c70da
Update window form buttons when record is modified
...
This synchronize the behavior of these buttons with the one from the One2Many
widget.
Closes #13949
2025-03-28 15:53:05 +01:00
Cédric Krier
3b253210ae
Initialize position of One2Many widget to None/null
2025-03-28 15:51:55 +01:00
Cédric Krier
3a0892126d
Set cursor on product field in opportunity line form
...
Since 9ec3b6ddc7ec the product is no more the first focusable field but it
stays the first useful to have the focus.
Closes #13908
2025-03-31 18:23:37 +02:00
Cédric Krier
1d68553044
Clear browser selection when selecting multiple rows
...
Closes #13952
2025-03-31 23:18:30 +02:00
Cédric Krier
130da3b56d
Archive Shopify products removed instead of deleting them
...
Such that customization made from the admin interface are preserved if the
product is republished.
Closes #13962
2025-04-04 00:27:57 +02:00
Cédric Krier
d169592a30
Do not update Shopify product with empty product description
...
Closes #13963
2025-04-04 00:37:39 +02:00
Cédric Krier
fff5663ae1
Add DecimalNull as tools
2025-04-08 09:59:33 +02:00
Cédric Krier
88b9c02577
Prevent to revise multiple times the same asset with the same invoice line
...
Closes #13970
2025-04-11 13:24:16 +02:00
Cédric Krier
b26b3538cf
Always use flex display for #tabcontent except on small screen
...
On form view, this put the scrollbar for long form only on the form without the
preview.
On small screen the form is switch back to block so the panel-body with the
flex-direction column push the #tabcontent to expand more than the height of
the viewport.
With the content of the preview being always visible without scrollbar (except
for the screen), we can put the navigation at the bottom as natural place.
2025-04-12 12:42:54 +02:00
Nicolas Évrard
cfc38c8070
Store column widths by screen size
2025-04-14 22:57:36 +02:00
Nicolas Évrard
8b6e83e5b2
Allow column widths to be reset
2025-04-14 23:16:26 +02:00
Nicolas Évrard
93ae0df5c3
Allow column resizing in Sao
...
Closes #13115
2025-04-14 23:11:48 +02:00
Nicolas Évrard
15b3e1f5cf
Use the position:sticky on the row of the thead
...
It was previously put on the th because neither Firefox nor Chrome supported it
on thead or tr but it has been solved now.
https://caniuse.com/css-sticky
2024-12-12 10:50:15 +01:00
Nicolas Évrard
4f195c7ffe
Add simple chat widget on sidebar of clients
2025-04-12 17:25:28 +02:00
Cédric Krier
e5c35f988b
Add chat
2025-04-12 16:54:16 +02:00
Nicolas Évrard
a17172f6dd
Toggle the option's selected state on mousedown in the filter window
...
This applies the changes from 3b0ae1dadfa0 to the filter window
2025-04-12 21:32:15 +02:00
Nicolas Évrard
83d280fede
Display checkbox in multiselection in the filter window
...
This applies the changes from 97e82c27dc17 to the filter window
2025-04-12 21:30:56 +02:00
Nicolas Évrard
9babb76a0f
Set sao's multiselection widget height according to its content
2025-03-05 18:13:37 +01:00
Nicolas Évrard
baaf7784fa
Ensure that update_selection is called if init_selection has failed
...
Closes #13960
2025-04-03 16:46:56 +02:00
Cédric Krier
dc53b5fff1
Update npm dependencies
2025-04-12 21:11:11 +02:00
Cédric Krier
f7b37fcf3b
Display xxx2Many widgets when they become visible
...
When a tree is used in a xxx2Many widget then we can lazily request the content
of the tree by relying on the intersection observer that is already present at
the bottom of the table.
2025-04-10 19:09:38 +02:00
Nicolas Évrard
0e9cfb3e84
Do not refresh the pool when the notification comes from the same process
2024-12-18 17:08:26 +01:00
Nicolas Évrard
3cf1d64372
Use process-local data structure to store process related data
2025-01-08 23:20:32 +01:00
Nicolas Évrard
26f7c7142b
Add process local objects ala threading.local
2025-02-14 17:16:55 +01:00
Nicolas Évrard
c643794a85
Remove a useless call to Cache.refresh_pool
...
Since Pool.init is called with a non empty update, it will make a call to
Cache.refresh_pool at the end of its call to load_modules
2024-12-17 15:16:51 +01:00
Nicolas Évrard
ac6e93b078
Reset the pool instances only on the pool initialization
...
In a scenario where cache_timeout is set to zero, concurrent updates to the
pool might result in an empty pool dictionary because the process making the
update lose its reference to the updated pool thus replacing it with an empty
dictionary on the following instantiation of Pool.
Closes #13763
2024-12-17 15:14:04 +01:00
Cédric Krier
7a9820e5af
Change current record for the first selected only if there is no current record
...
#4028 added the behavior to apply the selected record also on form view the
first time.
But when switching to a calendar view from a form view, the tree states is
stored with the current record. If the calendar view is cleared (always with
sao via the search_filter), then the tree_states_done is cleared and on the
second switch to the form view the current record is override by record stored
in the tree states (from the first form switch).
Closes #13939
2025-03-26 20:07:54 +01:00
Nicolas Évrard
cd5a54cb2f
Delete warnings at the end of the Transaction
...
Closes #13686
2025-04-10 19:21:50 +02:00
Nicolas Évrard
68fb5e1fa7
Use high level API of res.user.warning in tests
2024-11-29 18:18:52 +01:00
Nicolas Évrard
fb200e610d
Add selection_change_with to Selection field's edition_depends
...
Closes #13959
2025-04-03 16:33:47 +02:00
Cédric Krier
b426fe621c
Restore asynchronous save but protected by a single promise
...
The write RPC must be done asynchronously in order to manage any concurrency
exception.
But the asynchronous RPC can only be done sequentially, so we ensure there can
be only one single pending promise.
Closes #13940
2025-03-25 13:49:53 +01:00
Cédric Krier
e5f0688da7
Store target of field as relation
...
For Many2Many it replaces the relation model by the target which is what is
expected by usage in many places like the domain for email models.
Closes #13756
2025-03-24 23:32:36 +01:00
Cédric Krier
703223faf7
Do not set more than the fulfillable quantity in Shopify fulfillment
...
Closes #13956
2025-04-02 17:29:47 +02:00
Cédric Krier
2f701eb054
Do not fill mode and views for relation field without views
...
It is useless to send those attributes as they will not be used by the client.
2025-03-31 20:04:51 +02:00
Cédric Krier
6daed3eb95
Test if views attribute is empty using jQuery.isEmptyObject
...
The views attribute can be just an empty object when the xxx2Many field is
using a different widget like a multiselection.
Closes #13917
2025-03-31 20:01:42 +02:00
Cédric Krier
a6c548b400
Check for new record only when saving an actual current record
...
49cbc9b99ed8 added the calculation of a new variable but before the test that a
current record is actually being saved.
Closes #13946
2025-03-28 16:04:21 +01:00
Cédric Krier
275248478a
Ensure the contextual company is not None and positive before using it
...
Closes #13868
2025-03-10 23:43:49 +01:00
Cédric Krier
1e151a15a2
Remove support for Python 3.8
2025-04-06 12:11:03 +02:00
Cédric Krier
6d8b42c687
Add support for Python 3.13
2025-04-06 12:10:20 +02:00
Cédric Krier
b2d84f32c2
Reset sale and shipment to draft before delete
...
Since 6c72b78d92d8 the documents are no more automatically cancelled prior
deletion.
2025-04-07 00:27:05 +02:00
Cédric Krier
b7e5b7d865
Remove coupon name in Vue Storefront test
...
Since 5f9f977bfd12 there is no more a name field on coupon.
2025-04-07 00:25:13 +02:00
Cédric Krier
9ba7970f41
Check invoice state only for modified lines with an invoice
...
Since 6c72b78d92d8 the rewrite of the check did not skip invoice line without
invoice.
2025-04-07 00:23:44 +02:00
Cédric Krier
5041a85ef6
Update on_* field of trigger in tests
...
Since bc7e074fc4d9 the fields of trigger has been suffixed with an '_'.
2025-04-07 00:30:35 +02:00
Cédric Krier
39af772212
Do not override all written ids by ids from each argument in ModelSQL write
...
6f1447bdd702 makes ModelSQL.write retrieve the list of ids written from
_before_Write but they should be used as-is to call _after_write (and others).
2025-04-07 00:18:19 +02:00
Cédric Krier
c5aadfb64a
Clear currency on output move of production to lost and found
2025-04-05 19:43:09 +02:00
Cédric Krier
52dd42b587
Remove wrong classmethod decorator on compute_fields of timesheet line
2025-04-05 19:42:30 +02:00
Cédric Krier
5aeff66acd
Use ModelStorage hooks instead of extending create/write/delete
2025-04-06 00:14:17 +02:00
Cédric Krier
45122b77c0
Add on_write to ModelStorage
2025-02-24 13:39:52 +01:00
Cédric Krier
e9fe355663
Add on_delete to ModelStorage
2025-02-19 17:52:22 +01:00
Cédric Krier
ae3cd83668
Rename "on_" columns of trigger
2025-02-20 09:29:52 +01:00
Cédric Krier
4b7b5a4739
Add check_modification to ModelStorage
2025-03-01 16:10:13 +01:00
Cédric Krier
72c96ec778
Add on_modification to ModelStorage
2025-02-19 23:01:52 +01:00
Cédric Krier
defc4c46c5
Add preprocess_values to ModelStorage
2025-02-24 12:58:37 +01:00
Cédric Krier
121c279f47
Add before/after methods for CWRD methods of ModelStorage
2025-04-05 16:33:40 +02:00
Cédric Krier
f94ae51649
Use compute fields for timesheet cost
2025-02-28 12:27:32 +01:00
Cédric Krier
15feef82d8
Use compute fields for places on stock move
2025-01-21 00:25:18 +01:00
Cédric Krier
12db02464b
Use compute fields for format contact mechanism value
2025-01-17 17:24:50 +01:00
Cédric Krier
651144cf37
Use compute fields for IBAN number
2025-01-17 16:12:13 +01:00
Cédric Krier
5984c9aa5f
Use compute fields for attendance date
2025-01-17 15:57:44 +01:00
Cédric Krier
ea8b1e810f
Use compute fields for intrastat type and value
2025-01-17 14:00:31 +01:00
Cédric Krier
6d8d307670
Use compute fields for internal quantities on stock move
...
Closes #13739
2025-01-15 22:10:07 +01:00
Cédric Krier
027384000b
Add compute fields to ModelStorage
2025-01-15 21:37:11 +01:00
Cédric Krier
1772caec90
Clean migrations for series before 6.0
2025-01-04 00:19:42 +01:00
Nicolas Évrard
cbdad75620
Remove old-style of super() calls
2025-04-04 00:45:18 +02:00
Nicolas Évrard
5781a49606
Call the actual super method of InteralShipmentReport
...
Closes #13892
2025-02-26 11:38:41 +01:00
Cédric Krier
18e4060d71
Do not check links to tfig.unece.org
2025-04-03 00:26:09 +02:00
Cédric Krier
b4d984125b
Permit party administrators to edit web users
...
Closes #13936
2025-03-24 13:12:43 +01:00
Cédric Krier
ee10ced9e2
Allow to use phonenumberslite as dependency
...
phonenumberslite is a stripped version of phonenumbers which consume less
memory because it does not include geocoder, carrier and timezone packages
which are not used.
2025-02-03 14:00:41 +01:00
Cédric Krier
a94ca05e3d
Make phonenumbers dependency optional
2025-02-03 14:37:56 +01:00
Cédric Krier
e9cd9d1163
Increase delay between transaction retries
...
Since c8771e45b861 the retry is no more a countdown but an increasing count, so
the sleep time must be adapted to also increase over retries.
Closes #13910
2025-03-07 21:54:11 +01:00
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
Cédric Krier
bee0a048f9
Add partial index on sale and purchase line for relate from product
...
Closes #13887
2025-02-25 10:05:43 +01:00
Cédric Krier
914373a6b4
Set unit price to purchase line from request in test scenario
...
Since ffe17ea235ab the unit price of purchase line is no more set to 0.
2025-03-30 14:45:32 +02:00
Cédric Krier
c3cc1fdd80
Update test scenario to use "Accounting" in group names
...
The name of the groups have been updated in e5f6780b95b7.
2025-03-30 12:06:59 +02:00
Cédric Krier
a5738aa475
Set supplier unit price for purchase request in test scenario
...
Since ffe17ea235ab the unit price of purchase line is no more set to 0.
2025-03-30 12:06:01 +02:00
Cédric Krier
ae8c47d987
Use save current feature of Window Form when editing Many2Many record
...
This show the "Save" button instead of the "Apply changes" which is more
accurate.
Closes #13924
2025-03-15 15:52:40 +01:00
Cédric Krier
9557984b3f
Set readonly Screen of One2Many when parent group is readonly
...
The user must not be allowed to modify records of a One2Many if the parent
record can not be saved.
Closes #13923
2025-03-15 15:47:29 +01:00
Cédric Krier
5bc3c53f6b
Compare integrity error message with the constraint name prefixed by the table name
...
The TableHandler adds the table name as prefix to the constraint name so when
comparing with the integrity error message, it should also be added.
Especially if the constraint name is hashed by the TableHandler conversion
because the result is completely different.
Closes #13922
2025-03-15 13:31:57 +01:00
Cédric Krier
cadc64f2ce
Hide origin of incoming SEPA message
...
Closes #13920
2025-03-14 18:36:42 +01:00
Cédric Krier
e1e597a4ea
Allow SEPA messages to be downloaded at once
...
Closes #13919
2025-03-14 18:35:01 +01:00
Cédric Krier
b66f41cdca
Order lines in grouped line by descending id
...
This is to have the same order as the calculation of payable/receivable balance.
2025-03-13 18:34:04 +01:00
Cédric Krier
3b0b5f279e
Filter out reconciled lines from debit/credit/secondary amount of account grouped line
...
It is needed to calculate the payable/receivable balance of grouped lines when
it is partially reconciled.
Closes #13918
2025-03-13 19:09:04 +01:00
Cédric Krier
e5c727a12f
Add payable/receivable date on move line group
...
Same as 7caa97a96b95 but for move line group.
2025-03-27 23:53:17 +01:00
Cédric Krier
a276b07362
Make statement line number readonly when statement is not draft
2025-03-13 12:57:47 +01:00
Cédric Krier
73dfe9fc39
Reuse original readonly state of date of statement line
2025-03-13 12:57:31 +01:00
Cédric Krier
f101ad8d05
Set party of statement line readonly when state is not draft
...
We must keep existing states when adding required states to party.
Closes #13916
2025-03-13 12:56:38 +01:00
Cédric Krier
0719694b36
Set grid template columns to 100% of dict container on XS screen
...
On XS screen, the dict container has only one column so it must take 100% of
the width instead of fit content of 50%.
Closes #13914
2025-03-10 13:00:29 +01:00
Cédric Krier
9489292259
Use .input-icon for date/time input button in Dict widget
...
The hidden input is not correctly aligned with the button of the
.input-group-btn.
Closes #13913
2025-03-10 12:54:56 +01:00
Maxime Richez
b1bd50209a
Add missing depends on rate and factor to calculate unit price from second unit of blanket line
...
Closes #13932
2025-03-21 10:50:23 +01:00
Cédric Krier
34686ae187
Do not include record with NULL field in nested negative clause on None
...
Since 87456218dcc9, record with NULL field is include in nested negative clause
but this should not applied if the operand is or contains None.
Closes #13911
2025-03-09 11:23:43 +01:00
Cédric Krier
13dec41635
Use "Accounting" in the group names
...
Closes #13907
2025-03-08 09:47:54 +01:00
Cédric Krier
9806aab7f2
Set default value for clean timeout of cache in config
2025-03-04 23:10:52 +01:00
Cédric Krier
881df99a24
Add configuration of select timeout for cache channels
2025-03-04 23:08:13 +01:00
Cédric Krier
723a820494
Query the database after each timeout of the listeners
...
This permit to keep the connection alive when the database is killing idle
connections.
Closes #13902
2025-03-04 23:00:16 +01:00
Adrià Tarroja Caubet
b968ece9a7
Open CSV export file using with newline translation
...
The csv documentation [1] explains that file object used in writer should be
opened with newline as empty string.
[1] https://docs.python.org/3/library/csv.html
Closes #12115
2025-03-26 18:09:18 +01:00
Cédric Krier
453c79ff15
Store Shopify order ID as web ID
2025-02-27 00:18:07 +01:00
Cédric Krier
5d8a013676
Make web ID on sale unique per web shop
...
Closes #13891
2025-02-27 00:17:40 +01:00
Cédric Krier
cfeb3685f4
Convert empty string to None for match value
...
It is not possible from the clients to force to store None value instead of
empty string.
Closes #13890
2025-02-26 23:51:39 +01:00
Sergi Almacellas Abellana
4288e9c6b0
Do not set the unit price of the purchased lines from the request to zero
...
Since 65be15fb7d8a its possible to set empty unit price
Closes #13886
2025-02-24 10:29:45 +01:00
Cédric Krier
0fd308172e
Use strict sequence to number account moves
...
Closes #12603
2025-02-11 12:04:55 +01:00
Cédric Krier
24d89fad16
Add help selection to SII Tax Key
2025-01-26 13:55:58 +01:00
Cédric Krier
38f89a658a
Enforce size of invoice XML values for SII service
...
Closes #13829
2025-03-08 09:54:46 +01:00
Maxime Richez
56956d40e1
Reuse of the secondary unit when crediting an invoice
...
Closes #13814
2025-01-22 12:32:23 +01:00
Cédric Krier
0059cd28cd
Do not use instanceof on value of Date and DateTime of Dict field
...
Instead we must use the attributes isDate and isDateTime.
Closes #13845
2025-03-10 11:06:00 +01:00
Cédric Krier
8544521766
Raise UserError from the database exception
...
This adds the traceback of the original exception in the log.
Closes #13912
2025-03-09 16:07:58 +01:00
José Antonio Díaz Miralles
50d6a3a960
Use the same user form view structure in web users.
2025-02-17 22:07:06 +01:00
Cédric Krier
6f62110a6a
Add place to inventory line
...
Closes #13878
2025-02-17 16:31:40 +01:00
Cédric Krier
64788a2e0c
Merge list views of inventory line
...
Since 0b7f2304e207 there is no point to have two list views as the location and
date are in the record name of inventory.
2025-02-17 16:30:58 +01:00
Cédric Krier
29d5fe7316
Simplify the updating of inventory lines for complete
...
Line instances make it easier and simpler to extend.
2025-02-17 16:11:20 +01:00
Cédric Krier
262a8b894b
Add payable/receivable date
...
The date is the maturity date and if it is empty, fallback to the effective
date.
This gives a better chronology of the lines.
2025-02-14 10:43:15 +01:00
Cédric Krier
93b3d27117
Replace account move number by post number
...
Closes #13864
2025-02-11 12:50:48 +01:00
Cédric Krier
9bd8739978
Remove no more needed context on invoice actions
...
Since the domain inversion and 74cad8cf1dbe, it is no more needed to use the
context to set invoice type.
2025-02-11 15:27:00 +01:00
Cédric Krier
1bd33cd0d1
Add common payment terms
...
Closes #13863
2025-02-10 01:33:51 +01:00
Cédric Krier
c3835baa18
Display optional company on payment and group list
2025-02-09 19:38:59 +01:00
Cédric Krier
8fc5d631b9
Add quotation expiration date to purchase
2025-02-07 16:25:03 +01:00
Cédric Krier
ae2609bec6
Manage expiration of sale quotation
...
Closes #11166
2025-02-07 16:24:12 +01:00
Cédric Krier
ebd5a5f414
Set a positive number of col in sale amount group
...
With a negative number of col, tryton does not respect the new line and put all
the element on a single horizontal group.
2025-02-07 16:20:59 +01:00
Cédric Krier
0770f3cf88
Do not fill right aligned label
2025-02-07 16:19:13 +01:00
Julio Alberto Bravo Montanos
22f151fbdc
Make product attribute name unique
...
The name of the attributes are the keys of the attributes Dict field of product
so they must be uniquely identified at least per sets.
But as an attribute can be reused on different sets, the unique constraint must
be set on the name.
Closes #13574
2025-03-16 23:30:23 +01:00
Cédric Krier
99603fd047
Remove usage of GenericTreeModel
...
Replace on_* method by PyGObject equivalent do_* and use a WeakValueDictionary
to keep the couple id, record used as user-data value on TreeIter.
Closes #13855
2025-02-01 16:32:35 +01:00
Cédric Krier
643006e859
Require PyGObject before 3.51
...
The GenericTreeModel from pygtkcompat has been removed.
#13855
2025-02-01 16:29:52 +01:00
Cédric Krier
424328610a
Add tax identifiers to company
2025-01-30 19:10:23 +01:00
Cédric Krier
993c6dbf26
Make deposit optional on party list
...
Like the receivable and payable today fields.
2025-01-29 18:49:32 +01:00
Cédric Krier
55bd6d327e
Remove or convert company domain into context domain
...
Closes #10506
2025-01-21 13:39:30 +01:00
Cédric Krier
125d413b69
Make company of statement readonly once there is a line
...
The content of the lines depends on the company of the statement, so the user
should not change it once he started to fill the lines.
2025-01-20 20:01:05 +01:00
Cédric Krier
f66aae4d0b
Use statement date to compute the start balance
...
Closes #13827
2025-01-20 19:59:12 +01:00
Cédric Krier
4520ef1527
Scroll to the first selected element in tree view
...
Closes #13344
2025-01-16 16:42:49 +01:00
Cédric Krier
c4b405cef5
Easy extending pattern for sender address of Sendcloud
2025-01-15 00:58:21 +01:00
Cédric Krier
203a5f3a34
Add color as type of icon and image
...
Closes #13808
2025-01-09 18:52:36 +01:00
Cédric Krier
ff6f920521
Return an empty gif as image URL without data
...
<img> must always have a src attribute so using an empty image is more
compliant with the standards.
2025-01-09 18:41:45 +01:00
Cédric Krier
093fb115ff
Add color widget to form view
...
Closes #13800
2025-01-08 16:53:34 +01:00
Cédric Krier
e119120af3
Deactivate open button of One2Many widget if there is no form view
...
Closes #13797
2025-01-06 17:39:48 +01:00
Cédric Krier
27d87ade18
Make analytic entry read only using origin state
...
Closes #11294
2025-01-06 12:21:27 +01:00
Cédric Krier
4f5c54dd40
Return series instead of version for remote call
...
This provides only the required information about the server.
2025-01-03 19:01:08 +01:00
Cédric Krier
1edefbeae5
Limit access to database from the same series as the server
...
The last series to which the database was updated is stored in
ir.configuration.
With this information, the list of databases is filtered for the same series.
Remote access to a database is restricted to databases available in the list.
Closes #13791
2025-01-06 15:54:02 +01:00
Nicolas Évrard
1168597b27
Handle errors when processing wizard steps
...
Closes #13906
2025-02-13 18:35:32 +01:00
Cédric Krier
fadff449e8
Order incoming documents by descending ID
...
It is more natural to have the latest documents on top.
2025-01-03 15:15:57 +01:00
Cédric Krier
d73ab8efa0
Use guilabel to document Shopify access scopes
2025-02-25 18:37:03 +01:00
Cédric Krier
e8be3d21cd
Add required read access to Shopify locations
2025-02-25 17:50:21 +01:00
Cédric Krier
a016a41a1c
Update documentation to labels used by Shopify
2025-02-25 16:59:06 +01:00
Cédric Krier
746448361f
Order alphabetically Admin API access scopes in documentation
...
This follow the order in the Shopify settings.
2025-02-25 16:27:39 +01:00
Cédric Krier
0ec6e5b7cf
Add example of payment term with multiple delta in documentation
2025-02-10 01:40:37 +01:00
Cédric Krier
67d2e13083
Add promotion coupon as action for sale complaint
...
Closes #13790
2025-01-02 17:16:41 +01:00
Cédric Krier
7a7d744c37
Use actual quantity of sale line when executing sale complaint
...
Closes #13783
2024-12-31 15:24:10 +01:00
Cédric Krier
9313409e82
Display quantity when searching lot for stock move
...
Closes #13782
2024-12-26 17:45:26 +01:00
Cédric Krier
efba57bf65
Display quantity when searching location for stock move
...
Closes #13781
2024-12-26 17:33:51 +01:00
Cédric Krier
530471d9a8
Display quantity when searching product for stock move
...
Closes #13780
2024-12-26 17:29:21 +01:00
Cédric Krier
82cf417ae1
Add pack step to test scenario using internal shipment
...
fee9e4e8c864 added this new step.
2025-03-09 17:31:00 +01:00
Cédric Krier
0494e21706
Add relate to open products from sale
...
Closes #13773
2024-12-23 18:11:40 +01:00
Cédric Krier
467baaafec
Use warning format for no carrier warning on shipping
2024-12-22 18:23:09 +01:00
Cédric Krier
5b1d989be1
Add shipping to internal shipment with transit
2024-12-22 18:22:36 +01:00
Cédric Krier
768fc5c1a8
Rely on ShippingMixin to implement shipping service
2024-12-22 18:21:03 +01:00
Cédric Krier
e7f94ab26a
Add package to internal shipment with transit
2024-12-22 18:14:11 +01:00
Cédric Krier
3283851774
Add packed state to internal shipment
...
Closes #9750
2024-12-22 18:23:21 +01:00
Adrià Tarroja Caubet
6d2cfee131
Include version number on new version available message
...
Closes #13640
2025-03-09 11:42:59 +01:00
Cédric Krier
e0260c74aa
Notify for duplicate contact mechanism
...
Closes #13750
2024-12-12 17:44:35 +01:00
Cédric Krier
73d210c362
Add menu entry for promotion coupon numbers
...
The creation of coupon is disable on the form because creating a coupon may
change the criteria to apply a promotion without the user notices it.
Closes #13736
2024-12-05 21:05:50 +01:00
Cédric Krier
8c3345db17
Display coupons as form on promotion
...
Closes #13738
2024-12-05 20:27:29 +01:00
Cédric Krier
c7acd24333
Remove name on sale promotion coupon
...
Closes #13737
2024-12-05 19:34:39 +01:00
Cédric Krier
184536c72a
Remove usage of getattr to access state view fields of wizard
2024-11-20 10:35:06 +01:00
Cédric Krier
8b8c65da84
Fill wizard state view instance with default value
...
Closes #13693
2024-11-20 10:34:13 +01:00
Cédric Krier
ecaf2bc391
Setup explicitly the accounts, parties and currencies of reconciliation wizard
...
It is better to not rely on missing the field on the state view but to have an
explicit transition to setup the values.
2024-11-20 10:32:24 +01:00
Cédric Krier
744d04bde1
Require incoterm on sale for EU countries if intratstat is extended
2025-02-26 11:31:08 +01:00
Cédric Krier
94094ddb82
Do not require incoterm between European countries
...
Closes #13682
2024-11-14 12:27:50 +01:00
Cédric Krier
94728b284b
Test if company if filled before computing incoterm required
...
Closes #13889
2025-02-26 23:23:26 +01:00
Cédric Krier
4cf6d46df1
Add optional company to the SEPA mandate list
2025-02-19 23:29:24 +01:00
Cédric Krier
2b55b49a62
Include account move lines without maturity date in direct debit
...
Closes #13883
2025-02-20 23:48:54 +01:00
Cédric Krier
ec1c42552a
Test SEPA mandate sequence of the company of the mandate instead of the context
...
Closes #13882
2025-02-19 23:37:00 +01:00
Cédric Krier
bfe78f818a
Do not keep product replaced when copying
...
Closes #13880
2025-02-18 15:55:44 +01:00
Cédric Krier
48a3241dac
Search on code of replacing products when searching on record name
...
Closes #13879
2025-02-18 15:47:04 +01:00
Cédric Krier
afb2ba6b50
Convert total weight of package into kilogram for DPD shipping
...
Closes #13876
2025-02-15 22:32:04 +01:00
Cédric Krier
57025ef193
Use contact instead of name2 for party name in DPD shipping
...
Closes #13875
2025-02-15 22:29:07 +01:00
Cédric Krier
6c67d2958c
Invert sign of budget amount
...
As budget is based on income statement, the amount must be credit - debit.
Closes #13764
2025-02-10 13:08:22 +01:00
Cédric Krier
efdda3a111
Restore assignation of string and integer value for Date, DateTime, Time and Timedelta fields
...
Closes #13873
2025-02-15 01:38:51 +01:00
Cédric Krier
164aabda58
Prevent to delete shipment costs if they are not cancelled or draft
2025-03-05 11:30:47 +01:00
Maxime Richez
f5f786b972
Prevent to delete landed costs if they are not cancelled or draft
...
Closes #13893
2025-03-05 11:23:40 +01:00
Cédric Krier
73f6b2c6ca
Do not check links to unece.org
...
Cloudflare blocks the check requests.
2025-03-05 00:19:21 +01:00
Udo Spallek
b245323c30
Fix typo in alt text of documentation logo
...
Closes #13895
2025-02-28 00:49:48 +01:00
Cédric Krier
8653689b22
Do not fetch Shopify locations without session parameters
...
Closes #13888
2025-02-25 16:19:53 +01:00
Cédric Krier
ba23d579e2
Prevent delete record if screen is not deletable
...
Closes #13885
2025-02-22 23:56:54 +01:00
Cédric Krier
e395782ec3
Prevent saving record for readonly screen
...
Closes #13885
2025-02-22 23:55:57 +01:00
Cédric Krier
114c7d8fa6
Do not fail to limit city size for UPS shipping when it is empty
...
Closes #13874
2025-02-15 18:11:00 +01:00
Cédric Krier
d78d99cb94
Prohibit calling convert_order on Function field
...
Closes #13872
2025-02-15 01:15:07 +01:00
Cédric Krier
5b39e5aad4
Fix typo in size_limits of ModelStorage.write
...
fd45274f2455 use a set as size_limits but it must be a dictionary.
2025-02-26 00:56:24 +01:00
Cédric Krier
58a8663a8b
Remove fallback password hash checks
...
The fallback was added by cc5aba3b12c7 for password hash stored before 5.0.
2024-12-01 14:31:18 +01:00
Cédric Krier
cac922b6ca
Replace passlib by pwdlib
...
Closes #12936
2024-12-01 14:25:26 +01:00
Cédric Krier
9cb5d6d83a
Raise HTTP exception when RPC convert request argument
2024-11-28 10:23:37 +01:00
Cédric Krier
611198f9f1
Add size limit for RPC arguments
...
Closes #10301
2024-11-28 09:31:43 +01:00
Cédric Krier
65d3f86149
Store the ignore search limit option of export
...
Closes #13601
2024-12-12 23:16:41 +01:00
Maxime Richez
76cdf889a2
Test actual quantity against None for processed quantity in Blanket Agreement
...
Closes #13865
2025-02-11 13:32:57 +01:00
Cédric Krier
96de1ae302
Make save call synchronous
...
This avoid to trigger multiple save in parallel which may raise a concurrency
exception.
Closes #13848
2025-01-30 10:12:49 +01:00
Adrià Tarroja Caubet
d7ccb1b604
Strip accents for company name on report AEAT303
...
Closes #13858
2025-02-03 11:35:14 +01:00
Cédric Krier
2efc39346c
Do not try to delete XML data without id
...
If the record has already been cleaned, there is no need to try to delete again.
2025-02-10 01:39:24 +01:00
Cédric Krier
11bac062f7
Update gettext.js dependency to version 2
2025-01-13 19:05:35 +01:00
Cédric Krier
c91542adfb
Do not retrieve current transaction to fetch model attribute
...
It is the transaction stored on the instance that must be used and which is set
by the context manager.
2025-01-21 18:43:23 +01:00
Cédric Krier
8072751d7f
Do not load validated fields
...
If the field is not loaded, there is no need to validate it.
2024-12-28 18:50:04 +01:00
Cédric Krier
2be18d249e
Do not validate record on reload
...
sao does not validate so tryton should not need neither.
2024-12-28 18:28:01 +01:00
Cédric Krier
8da6e82a15
Fix checkbox and radio alignment
...
By restoring from the original Bootswatch theme and correctly construct the
checkbox class from Bootstrap.
Closes #13643
2025-02-08 21:14:00 +01:00
Cédric Krier
237f9b754a
Use proper default type for Eval in domain of Spanish tax reporting
2025-02-03 14:49:45 +01:00
Cédric Krier
f773bc17d0
Display metric option to UPS credential form
...
Closes #13856
2025-02-03 01:02:20 +01:00
Cédric Krier
b50c4e1e50
Remove deactivable from carrier selection
...
Closes #13854
2025-02-01 02:03:24 +01:00
Maxime Richez
a2140b86a2
Consider packages as closed also when shipment state is shipped
...
Since 11be7a89b81d customer shipments have a shipped state.
Closes #13850
2025-02-16 01:19:46 +01:00
Cédric Krier
18bae90225
Update the URL when creating new record
...
When record saved is new, the URL must be updated just like if the view was
switched.
Closes #13849
2025-01-30 12:25:14 +01:00
Cédric Krier
7a4182ad6a
Do not fail to translate model field that does not exist
2025-01-29 23:23:22 +01:00
Cédric Krier
a878b8055d
Improve form view of model field
2025-01-29 23:22:18 +01:00
Cédric Krier
8915b6f61e
Set access as readonly on model field when module is set
2025-01-29 23:20:40 +01:00
Cédric Krier
715a1a0b32
Set readonly states for foreign many2one on model field based on module
...
Closes #13565
2025-01-29 23:20:07 +01:00
Cédric Krier
60cd69732f
Try to reconcile only valid account move line
...
Closes #13847
2025-01-29 18:20:46 +01:00
Cédric Krier
d6764027f1
Do not validate empty email in trytond-admin command
...
Closes #13837
2025-01-26 00:47:27 +01:00
Cédric Krier
8770a0183f
Render one AdrLine per street line in SEPA messages
...
Closes #13834
2025-01-25 01:00:09 +01:00
Cédric Krier
a3e5faac0c
Add company and warehouse to supplier return form
...
Closes #13857
2025-02-03 01:05:24 +01:00
Cédric Krier
1a9213b51c
Make text and richtext fill vertically
...
Closes #13835
2025-01-25 01:10:41 +01:00
Cédric Krier
9bf2d8e919
Use current account at the clearing date for clearing move of payment
...
Closes #13826
2025-01-20 17:26:52 +01:00
Cédric Krier
349f5328d3
Use payable or receivable account as fallback to create clearing move of payment
...
A payment, made on a journal with clearing setup, must always create a clearing
move even if no account or line are set.
Closes #13825
2025-01-20 17:25:25 +01:00
Cédric Krier
743f622a31
Link invoice lines and stock moves for different quantity sign if invoice method is not shipment
...
Closes #13821
2025-01-16 17:38:14 +01:00
Cédric Krier
8027e3842f
Use saved tree state to restore selected record on form view
...
Closes #13822
2025-01-16 16:10:10 +01:00
Cédric Krier
827984a839
Store on the screen only the tree states of the current view
...
Otherwise it is only the tree states of the last view that is restored.
Closes #13822
2025-01-16 16:07:36 +01:00
Cédric Krier
2ccd9dec09
Include translation fuzzy in cache key of translated message
...
Closes #13805
2025-01-12 01:47:50 +01:00
Cédric Krier
7ba10bb365
Remove min-width for input of type file of Binary widget
...
The input file must stay inside the button.
Closes #13810
2025-01-09 22:54:41 +01:00
Cédric Krier
0c2c60ad9a
Use boolean value when toggling input select of binary widget
...
jQuery requires a boolean type to toggle display.
Closes #13809
2025-01-09 22:50:26 +01:00
Cédric Krier
709bebe701
Use base URL as logo link and include homepage in TOC
...
This way the navigation in the documentation is unified.
2025-02-09 15:19:19 +01:00
Cédric Krier
c2e8d187d1
Do not fail to clean when help selection is None
...
Closes #13862
2025-02-09 19:51:04 +01:00
Cédric Krier
504f3013cc
Disable counting in super search call of ResourceAccessMixin only when enforcing access
...
The search method must always return an integer when count is True.
Closes #13846
2025-01-29 11:45:42 +01:00
Cédric Krier
2337e61b71
Skip empty filename as configuration file
2025-02-08 14:35:59 +01:00
Hartmut Goebel
d009490e4e
Make empty environment variable TRYTOND_LOGGING_LEVEL be treated as unset
2025-02-08 14:40:10 +01:00
Hartmut Goebel
76e335d894
Make empty environment variable TRYTOND_TZ be treated as unset
2024-01-20 22:51:08 +01:00
Hartmut Goebel
5a7f24617c
Make empty environment variable TRYTOND_DATABASE_URI be treated as unset
2024-01-20 22:27:07 +01:00
Hartmut Goebel
6073e22d5c
Make empty environment variable DB_NAME treated as unset
...
Closes #12364
2025-02-08 14:08:23 +01:00
Cédric Krier
af67ddf8b9
Add stock measurements on internal shipment
2024-12-20 20:19:21 +01:00
Cédric Krier
2398473cae
Ease customization of column and value for MeasurementsMixin
2024-12-20 17:57:17 +01:00
Cédric Krier
54c124cec8
Store internal transit location when internal shipment is set to wait
...
This supports changing the configuration of the transit location over time
without breaking existing shipments.
2025-02-08 12:45:40 +01:00
Dimitrios Josef Moustos
d1a846fa10
Correctly document matching type for semicolon in search widget
2025-01-14 14:16:55 +02:00
Cédric Krier
795538a2d9
Use .user-select() helper from bootstrap
2025-02-08 01:18:49 +01:00
Hodei Navarro
c8c3357669
Allow selection of sum row in tree view
...
Closes #11633
2025-02-08 01:18:01 +01:00
Julio Alberto Bravo Montanos
e0fbe38914
Set contact mechanism select before email template subject
...
Closes #13812
2025-02-08 00:51:29 +01:00
Cédric Krier
de98f63e59
Explicit how the configured sequence is used to fill the SEPA mandate identification
2025-01-08 17:45:21 +01:00
Cédric Krier
195d4d1097
Remove unnecessary metaclass in new model of product attribute module
2024-12-22 23:32:14 +01:00
Cédric Krier
7ffc7ebd99
Update documentation of product attribute
2024-12-22 23:31:44 +01:00
Cédric Krier
c11e544273
Update method names called by key-press on binary widget
...
Since 87806105f07d the corresponding methods have been renamed in BinaryMixin.
Closes #13844
2025-01-29 10:42:47 +01:00
Cédric Krier
b65377e89e
Read only the image from the selected cache
...
Using the instance from the list of cache, the ORM read the image for all the
linked cache which is unnecessary.
Closes #13831
2025-01-21 18:35:56 +01:00
Cédric Krier
c8f4d13745
Test if shipment is an instance of MeasurementsMixin
...
Closes #13842
2025-01-29 09:05:11 +01:00
Cédric Krier
56768c7ecc
Create translation entries for help selection values
...
Closes #13840
2025-01-26 17:06:46 +01:00
Cédric Krier
4713207f14
Always define translation source name
...
The source name may be used to translate the help selection.
Closes #13839
2025-01-26 17:01:20 +01:00
Cédric Krier
8763c2fb69
Use LTS version of node for CI
...
Closes #13404
2024-07-19 13:17:08 +02:00
Dimitrios Josef Moustos
ed0264af94
Distinct between users and database user in setup database documentation
...
Closes #13503
2025-02-02 12:10:09 +01:00
Cédric Krier
a99a4ffff1
Fix readonly states in extend topic of module tutorial
...
The active field has no existing readonly states before the extension.
2025-02-02 10:10:32 +01:00
Hartmut Goebel
0dadb2a7d1
Fix typos and improve wording in modules topic documentation
2025-02-02 02:12:48 +01:00
Cédric Krier
1a2adb337a
Fix typo in message ID for invalid address format
...
Closes #13836
2025-01-25 01:17:11 +01:00
Sergi Almacellas Abellana
5d9f370ad1
Explain how to extend field definition in tutorial
2025-02-01 23:42:51 +01:00
Julio Alberto Bravo Montanos
417428c2c6
Limit account types used for analytic distribution
...
Closes #13106
2025-02-01 23:00:19 +01:00
David Harper
913c59e58d
Add help to selections of location type
2025-01-31 00:42:55 +01:00
Adrià Tarroja Caubet
d98f5d0497
Add help text for subscription recurrence rule exclusive field
...
Closes #13480
2025-01-30 12:29:31 +01:00
Cédric Krier
da04050cc3
Update documentation of product classification
2024-12-23 23:15:34 +01:00
Cédric Krier
598da387e2
Use generic sidebar to display attachment preview
2024-12-19 16:54:41 +01:00
Cédric Krier
93458b672e
Do not convert empty origin to string to check against sale opportunity value
...
c5291471fd83 added a comparison with the value but it fails for None value.
Closes #13832
2025-01-26 17:14:58 +01:00
Cédric Krier
a362054bbf
Remove "User" suffix from fallback recipients of email notification
2025-01-26 11:52:37 +01:00
Maxime Richez
def1dff17b
Allow setting fallback user without corresponding field to email notification
...
Closes #13705
2025-01-26 11:50:48 +01:00
Cédric Krier
aa5c02880b
Move active filter for bank accounts of party to use "used"-field
...
Closes #13803
2025-01-09 15:28:40 +01:00
Cédric Krier
4852175b27
Close the SQLite connection to memory database when the database has been dropped
...
Instead of relying on the garbage collector to close the connection by deleting
the object, this ensures that the memory database is actually dropped before a
new connection is instantiated and keep the database.
Closes #13796
2025-01-16 09:47:25 +01:00
Cédric Krier
8da34d06d6
Create target SQLite database before copying when restoring SQLite database
...
Closes #13795
2025-01-05 16:15:17 +01:00
Cédric Krier
ec6f30318b
Remove shared memory and write-ahead log files when dropping SQLite database
...
Since 6837a618f53d SQLite may create such temporary files.
Closes #13794
2025-01-05 16:12:14 +01:00
Cédric Krier
d4493f0a53
Ignore operational error when optimize SQLite database on connection
...
The 'PRAGMA optimize' command can not run on a locked database which may happen
when a nested transaction is started.
Closes #13793
2025-01-05 16:07:54 +01:00
Cédric Krier
b5148a248c
Allow running field binary tests with a non memory SQLite database
...
By setting the filestore path as a global variable, we can modify it for the
test without changing the database path where the SQLite databases are stored.
Closes #13792
2025-01-05 16:02:39 +01:00
Cédric Krier
5d062fb1b4
Use company from the record when copying budget
...
Since ba6b8ce0e692 only the fields displayed on the form state are set but the
copy wizard for analytic budget does not have any field depending on the
company so no default value is set for company.
Indeed we should not rely on the state view to retrieve the currency from the company.
Closes #13824
2025-01-17 00:03:03 +01:00
Cédric Krier
6fb00e2bed
Test context on target instance of One2One
2025-01-14 01:19:50 +01:00
Cédric Krier
5f3e83f66f
Instantiate One2One target when the context of the field
...
Closes #13819
2025-01-14 01:19:00 +01:00
Cédric Krier
7aeee5f06e
Test setting value to xxx2One fields
2025-01-14 01:08:05 +01:00
Cédric Krier
f908ccc85a
Expand dictionary value set to a One2One field
...
Closes #13818
2025-01-14 01:07:33 +01:00
Cédric Krier
590102e87e
Remove python type inherited from Many2Many of One2One
...
The python type is used to test the type of value set but for One2One it is an
instance which can not be tested with a simple Python type.
Closes #13817
2025-01-14 01:04:46 +01:00
Cédric Krier
32914eff90
Move fields from specific payment method in separate page
2024-12-12 14:05:20 +01:00
Cédric Krier
d880f7c32a
Do not search without accent number and reference of payments
2024-12-12 13:42:24 +01:00
Cédric Krier
8636a2b771
Add payment reference in record name of payment
2024-12-12 13:41:51 +01:00
Cédric Krier
14f5953c60
Rename payment description into reference
...
Closes #13748
2025-01-22 10:05:33 +01:00
Cédric Krier
ac65439fab
Ease extending account move and line from receivable rules
...
Closes #13741
2024-12-09 12:02:51 +01:00
Cédric Krier
15440fa44d
Add same bottom padding on panel body as top padding
...
When the form does not expand vertically, the last row is very close to the
border of the panel which is odd.
2024-12-12 14:09:12 +01:00
Cédric Krier
6f049b695b
Set company in the context of clearing journal
...
Closes #13591
2024-10-10 17:00:14 +02:00
Cédric Krier
492fb7731b
Switch to searchable view when trigger search menu
...
Closes #12743
2024-12-31 01:15:42 +01:00
Adrià Tarroja Caubet
9a26aa923b
Test SEPA mandate sequence type by ordered date
2025-01-18 12:50:22 +01:00
Cédric Krier
b0fa1dd28e
Sort SEPA payments by date
...
In order to compute the proper sequence type, the payments must be ordered by
ascending date in case there are many payments for a first used mandate.
Closes #12614
2025-01-18 12:57:41 +01:00
Adrià Tarroja Caubet
7063c9db31
Order payments in payment group by date
...
It is the most expected order for the processing methods.
2024-12-16 13:03:04 +01:00
Adrià Tarroja Caubet
b7ee7a4acd
Use start and end periods for AEAT reporting
2025-01-18 11:39:42 +01:00
Adrià Tarroja Caubet
cd060fc20c
Sort periods in AEAT 303 report
...
Closes #13707
2024-11-28 11:25:55 +01:00
Cédric Krier
58b10f68df
Sanitize attachment filename for incoming document from email
...
When creating document incoming from email's attachments, the filename value
must be sanitized as there is no control on the data.
Closes #13801
2025-01-08 17:35:27 +01:00
Cédric Krier
d25d05bb4b
Propagate record modified to parent screens
...
It is needed to reach the top window and update the button sensitivity.
Closes #13798
2025-01-06 18:22:29 +01:00
Cédric Krier
f42f4eba6e
Add super call to setUpClass in custom test case
...
This is needed to catch the Python warnings.
2025-01-03 23:51:00 +01:00
Cédric Krier
4ff7ca6d6e
Use None as default value for module of view
...
Since 53fc70c2139f the module column of ir_ui_view has a foreign key constraint
on ir_module table so the default value must be NULL to ignore the constraint
when there is no module.
Closes #13816
2025-01-13 19:28:18 +01:00
Cédric Krier
1f0b754785
Fill production moves with all default values
...
When used for on_change, we need to fill all the default values as the client
does create new record with default values.
Closes #12575
2024-12-26 16:12:10 +01:00
Cédric Krier
77bb47a3a4
Make field_names optional in Model.default_get
2024-12-26 16:08:18 +01:00
Cédric Krier
eda1f8e7de
Merge tax line with the same key but computed separately
...
Closes #13777
2024-12-24 14:54:47 +01:00
Cédric Krier
bb6fe95a15
Do not run concurrently tests for french chorus account module
2024-12-30 19:08:14 +01:00
Cédric Krier
6d3103e95d
Display attachment preview only on top of form view for small screen
...
Closes #13762
2024-12-18 17:42:45 +01:00
Cédric Krier
eb6c40f135
Do not sum purchase line without amount to calculate purchase amounts
...
04e9bc5b56f3 removed the test against empty amount with the line test.
Closes #13784
2025-01-03 11:02:29 +01:00
Cédric Krier
e656cccb7f
Replace loading attribute by visible for loading xxx2Many fields with dotted notation
...
Override the loading attribute breaks the dependencies between fields.
Such xxx2Many becoming eager loading may miss some lazy loading fields which
may break the behavior like the domain inversion (which may set the wrong
value).
Closes #13452
2024-12-28 18:24:51 +01:00
Cédric Krier
e6c82f7fc0
Correctly attribute migration steps to 6.0 series instead of 6.2
2025-01-03 14:40:08 +01:00
Cédric Krier
1b98cc52b3
Require invoice with posted move for SII
...
The construction of the payload relies on the invoice having an account move
posted.
2025-01-09 10:52:50 +01:00
Cédric Krier
39d47512f6
Explain why using taxes from account move lines for SII
2025-01-09 10:50:22 +01:00
Sergi Almacellas Abellana
b1f8cb08b3
Use move post date as SII accounting date
...
Closes #13680
2025-01-07 17:34:43 +01:00
Cédric Krier
ae00270ee7
Do not prevent to rewrite the same opportunity origin on sale
...
Closes #12517
2024-12-23 18:47:48 +01:00
Cédric Krier
d1ce25bd4f
Limit the worker retry delay to maximum 1 hour
...
Closes #13779
2024-12-26 12:47:08 +01:00
Cédric Krier
801a06970b
Use proper default value for Eval on account move
2024-12-26 18:55:47 +01:00
Cédric Krier
cae324ce6d
Do not use empty contextual date to calculate active of party relation
...
Closes #13733
2024-12-26 18:54:46 +01:00
Cédric Krier
6ecd73b529
Update default_get signature to add with_default parameter
...
ba6b8ce0e692 extended the signature but some modules must be updated to follow
the new signature.
2024-12-26 16:16:48 +01:00
Cédric Krier
5ca8a1edf2
Restore raising KeyError when file system ID is not found
...
75936f10ee95 removed this behavior but some modules relies on it.
2025-01-01 20:51:44 +01:00
Cédric Krier
f45f4ec348
Use company id to set context to compute today
...
Closes #13789
2025-01-01 20:05:24 +01:00
Cédric Krier
643dc186cd
Get context from default config to get chart ID to create
...
49ca1e40161c replace the .find call by get_id which requires a context.
2025-01-01 19:59:35 +01:00
Cédric Krier
10c5392bea
Use predefine testing payment method instead of creating one
...
Calling stripe.PaymentMethod.create is deprecated.
2025-01-01 19:52:58 +01:00
Cédric Krier
c928c61f0e
Do not initialize ir_ui_view table with model NOT NULL
...
Closes #13788
2025-01-01 19:15:38 +01:00
Cédric Krier
7917793f94
Search waiting marketing automation record activities using record ID
...
There is no custom search_rec_name for record, so all the records are valid.
Closes #13787
2025-01-01 19:07:43 +01:00
Cédric Krier
a9e620a44d
Save purchase request quotation before lines
...
This avoid warning about unsaved relation record.
2025-01-01 18:56:12 +01:00
Cédric Krier
910c61cb38
Update name of cost sale of shipments in copied default values
...
In 79512f8cfed1 the field has been renamed.
Closes #13786
2025-01-01 18:25:57 +01:00
Cédric Krier
62deec1671
Do not copy asset lot when copying sale subscription line
...
Closes #13785
2025-01-01 17:44:16 +01:00
Cédric Krier
d26611be91
Add process method for Shopify payment method
...
Since 55db7836e132 the payment does not need to be grouped but a process method
must be implemented.
2025-01-01 17:40:41 +01:00
Cédric Krier
81669a33c9
Use proper BOOLEAN type in init SQL of SQLite
2025-01-01 17:39:20 +01:00
Cédric Krier
7f56ab27a7
Remove unused docstring
...
Since 23ce421d3bb9 the docstring's are no more used as string for the model.
2025-01-01 18:20:47 +01:00
Cédric Krier
debaff1cd8
Create translation entry for model without docstring
...
Since 23ce421d3bb9 it is the __doc__ attribute that is used as string for the
module.
2025-01-01 18:10:12 +01:00
Cédric Krier
f20c36e2a6
Test actually the translation when writing on model and field
2025-01-01 16:25:37 +01:00
Cédric Krier
2c97c87ce2
Create translation of model and field using the proper name
2025-01-01 16:24:55 +01:00
Cédric Krier
1f66be2076
Register model string translation as string field of ir.model
2025-01-01 16:22:25 +01:00
Cédric Krier
ab19901d85
Fallback to plural message when index is greater than 0
2025-01-01 16:20:28 +01:00
Cédric Krier
592240fdb3
Always export the first plurals string and only consecutive plurals
...
To have a valid pofile we need to have all the plural form from index 0.
2025-01-01 11:50:13 +01:00
Cédric Krier
fb714566f2
Add generic test for the default value of ModelStorage.copy
2024-12-03 19:06:33 +01:00
Cédric Krier
8ab7c421f2
Test that on_change_with getter use the name of the Function field
2024-12-16 18:18:48 +01:00
Cédric Krier
4454098479
Add foreign key for relation of model field
...
Closes #9050
2024-11-11 19:17:11 +01:00
Cédric Krier
620854a2d9
Display groups of record rules in list and form view
...
Closes #12000
2024-11-27 19:54:51 +01:00
Cédric Krier
2f8ce57d0b
Remove required on user's menu and fallback to menu tree
2024-11-11 19:00:07 +01:00
Cédric Krier
d7f89c8cba
Move ir customization from res module to ir module
2024-11-10 02:14:34 +01:00
Cédric Krier
ceb299a96a
Setup and register ir and res modules earlier
2024-11-09 15:42:58 +01:00
Cédric Krier
a82b9d35d0
Synchronize SQLite initialization SQL with PostgreSQL
2024-11-10 15:59:26 +01:00
Cédric Krier
81efba13d1
Optimize can_modify of model data
...
By searching only the records useful to raise error, it reduces the data read
and it can use an index.
2024-11-11 18:42:40 +01:00
Cédric Krier
7e827dd521
Ensure XML ID are unique per module
2024-11-11 16:39:56 +01:00
Cédric Krier
81f674082b
Remove check_xml_record from ModelStorage
2024-11-11 15:19:51 +01:00
Cédric Krier
f22c335057
Enforce unique DB ID per model in model data
2024-11-11 14:14:42 +01:00
Cédric Krier
534c5c28a9
Use message for unique constraint on model data
2024-11-11 14:11:11 +01:00
Cédric Krier
639482fd37
Update noupdate attribute on model data
2024-11-11 16:19:25 +01:00
Cédric Krier
fabb5340e9
Always synchronize XML data with database
...
Closes #13668
2024-11-11 18:24:06 +01:00
Cédric Krier
efab50227a
Read only cost price from the history product when computing cost value
...
Closes #13767
2024-12-20 11:48:10 +01:00
Cédric Krier
afcba82077
Do not add history to unnecessary model
...
d38610e26ede added history to all related models but it is not necessary as
only the One2Many and Many2Many are needed.
If the target of a Many2One or a Reference has been deleted meanwhile then the
record may not be readable at that date.
Closes #13768
2024-12-20 11:22:47 +01:00
Cédric Krier
7b75df7e4c
Allow deleting routing or BOM linked together
...
Closes #13759
2024-12-16 18:28:21 +01:00
Cédric Krier
f0f3888e35
Calculate digits shift even for all digits that are not None
...
Closes #13776
2024-12-23 18:25:41 +01:00
Cédric Krier
7c806d6b67
Decrease the number of decimal digits by the factor shift
...
Closes #13775
2024-12-23 18:23:32 +01:00
Cédric Krier
c4c396bb6c
Do not compute digits shift when digits is null
...
Closes #13774
2024-12-23 18:21:10 +01:00
Cédric Krier
0ef20b9571
Test model graph report
2024-12-23 15:36:47 +01:00
Cédric Krier
c715844bb7
Move test workflow graph under ir module test
2024-12-23 15:32:11 +01:00
Cédric Krier
d9ef6a486f
Do not fail to render field without type in model graph
2024-12-23 15:29:56 +01:00
Cédric Krier
7ac5427f1c
Search relational models by name in model graph
...
Since a4f347999b83 the name of the model is stored in the name field.
2024-12-23 15:29:00 +01:00
Cédric Krier
5229eaf4dc
Do not select current record if it is no more in the group
...
on_change calls may remove the current record without updating the screen such
that it is not possible to compute a selection path.
Closes #13770
2024-12-21 18:12:09 +01:00
Cristina Sangrador
2c0f7be02d
Do not try to create periods when renewing a fiscal year without periods
...
The computation of interval raises a ZeroDivisionError because the length of
periods is 0.
Closes #13671
2024-12-28 14:00:38 +01:00
Cédric Krier
c2ae94e94b
Fix import order
...
With the removal of try/except import of ssl, the following imports must be
sorted.
2024-12-28 11:59:56 +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
Cédric Krier
555748ef01
Process Stripe and Braintree payments on checkout
...
Closes #13691
2024-12-15 19:15:39 +01:00
Cédric Krier
001bfe69c6
Make payment group optional per process method
2024-12-15 19:06:20 +01:00
Sergi Almacellas Abellana
f9e4940ed7
Override _get_invoice_sale instead of create_invoice to set agent on invoice
...
This avoids saving invoices one by one.
2024-12-28 00:38:13 +01:00
Cédric Krier
b72a6f0e7d
Call on_change_notify for fields update by on_change
...
Closes #13753
2024-12-12 17:42:32 +01:00
Cédric Krier
ce958434a8
Call on_change_notify for fields update by on_change_with
...
Closes #13752
2024-12-12 17:41:46 +01:00
Cédric Krier
db8c876451
Propagate notifications to the parent group for screen without info bar
...
Closes #13751
2024-12-12 17:40:16 +01:00
Cédric Krier
c5b039fade
Return the attachment promise in attach callback
...
This way the button stays disabled until the drop down menu is filled.
Closes #13755
2024-12-12 23:39:43 +01:00
Cédric Krier
f8ec37f24d
Trigger change on "Selected Records" when predefined export is selected
...
The change callback set the visibility of the "Ignore search limit".
Closes #13754
2024-12-12 18:46:07 +01:00
Cédric Krier
d6e0bfc053
Add new country subdivision types
2024-12-15 15:02:40 +01:00
Cédric Krier
ee79c18d80
Support TEST_PYTHONWARNINGS in doctest
...
We restore the doctest_setup to setup the python warnings based on
TEST_PYTHONWARNINGS.
2024-12-15 14:45:15 +01:00
Cédric Krier
0206a17048
Raise a warning for unknown country subdivision type
2024-12-15 14:35:19 +01:00
Cédric Krier
b4b2b5674a
Add company in context of journal on account receivable rule
...
Closes #13742
2024-12-09 14:42:37 +01:00
Cédric Krier
2e61af81bb
Fill ModelStorage caches only for records no further away then the read size
...
The read size is the size limit of the cache so filling it for record further
away will discard existing value closest.
2024-11-27 10:32:26 +01:00
Cédric Krier
57fbc89e78
Use TMPDIR as data folder to test demo
...
This reverts c4ab3ed92bf3 because since 6837a618f53d the size required is too
much for the default shm_size (300000 bytes) of the runners.
2024-12-25 14:30:44 +01:00
Cédric Krier
91f80aa529
Always send id for the on_change calls
...
Since cc277611c254 we rely on the id to decide if the instance is a new
instance from the server-side or from the client-side.
Closes #13769
2024-12-21 14:14:52 +01:00
Cédric Krier
523264e287
Compute default values of wizard view only for fields defined by value method
...
ba6b8ce0e692 introduces the reuse of Model.default_get to set the rec_name for
the values but it does by computing for all the fields which override the
actual default values.
2024-12-23 16:44:11 +01:00
Cédric Krier
00dff7193c
Do not delete optional value for fields not set by the call
...
The same view may have different set of fields if it is extended conditionally.
Closes #13758
2024-12-16 15:38:11 +01:00
Cédric Krier
13a3f882a9
Share the same local cache for alone records saved together
...
The local cache must be shared between records from the same list of ids.
Closes #13704
2024-11-27 10:26:31 +01:00
Cédric Krier
ab06c97ade
Set journal mode, synchronous and optimize on SQLite connection
...
Closes #13609
2024-12-15 01:46:39 +01:00
Cédric Krier
030305ec49
Set screen to ScreenContainer at instantiation
...
Many methods of ScreenContainer relies on the screen being set.
And there is no reason to not set the screen at instantiation as long as show
filter refresh the bookmarks.
Closes #13757
2024-12-18 17:54:06 +01:00
Cédric Krier
43014db8ac
Test if today is using the timezone of the contextual company
2024-12-16 17:23:03 +01:00
Cédric Krier
d9b9d52643
Test if contextual company id is positive before using it to get the timezone
...
Closes #13702
2024-12-16 16:55:06 +01:00
Adrià Tarroja Caubet
fb4600e095
Add method to return spanish tax identifiers for reports
2024-05-21 13:51:25 +02:00
Adrià Tarroja Caubet
7bc1d18cca
Use es_code() to render AEAT reports
...
Closes #13242
2024-05-07 17:32:52 +02:00
Cédric Krier
5adb1e9356
Test default_get with instance value and rec_name
2024-12-22 17:25:46 +01:00
Cédric Krier
be5d4fcfc4
Do not compute record name for negative id
...
With ba6b8ce0e692 the record name of default values are also computed for
one2one and reference but reference fields can have a default value with only
the model part by using a negative id. In this case we should not compute a
record name.
2024-12-22 17:24:22 +01:00
Cédric Krier
88b7266c6e
Enforce record rules on resources
...
The rules of the resource record must be enforced like the model access.
Closes #13706
2024-11-27 19:48:27 +01:00
Nicolas Évrard
6f77a527b5
Add missing dot on the form-binary class selector
...
Closes #13766
2024-12-19 17:08:28 +01:00
Cédric Krier
e492b6d048
Convert None as empty string when searching on Char or Text
...
Closes #13584
2024-11-24 18:01:51 +01:00
Cédric Krier
c03dff9352
Support instances as default value
...
Closes #13694
2024-11-20 12:08:20 +01:00
Cédric Krier
7e5ef52975
Group on company currency in sale reporting
...
It is needed to construct unique ID when grouping by other mean than the line id.
Also the revenue is computed in the company currency.
Closes #13744
2024-12-12 00:42:58 +01:00
Cédric Krier
44957156d3
Ignore KeyError from the pool when filtering model names
...
When the database is updating, Model.get_name_items can be called while the
pool is not yet completely filled. So some model stored in the table may not
yet be in the pool. In this case we should ignore them.
Closes #13761
2024-12-18 17:01:24 +01:00
Cédric Krier
7464e4005c
Keep raising HTTPException in with_pool wrapper
...
This was removed by mistake in c8ebaa541e21
Closes #13771
2024-12-21 18:58:50 +01:00
Cédric Krier
5b5377abca
Use payment element for Stripe checkout
...
Closes #10031
2024-11-28 11:51:20 +01:00
Cédric Krier
43ca1d4968
Use HTTPStatus for Stripe routes
2024-11-17 16:45:36 +01:00
Cédric Krier
1fd50fb805
Retry locking tables at the same speed as the dispatcher request
2024-12-18 13:51:44 +01:00
Cédric Krier
167dc9629e
Use /dev/shm as database path in demo CI jobs
2024-12-17 16:01:05 +01:00
Cédric Krier
430a359eed
Use TMPDIR for CI jobs
2024-12-17 16:00:31 +01:00
Cédric Krier
f1161d2aba
Log request duration at wsgi_app level instead of with_pool
...
This gives more accurate duration as other decorators may take time to execute.
Closes #13650
2024-11-05 19:05:41 +01:00
Cédric Krier
ee49ab66f9
Include the exceeding amount in the message about credit limit
2024-10-30 17:11:43 +01:00
Cédric Krier
5ef23b4335
Improve syntax of credit limit messages
2024-10-30 16:34:14 +01:00
Cédric Krier
f5bf25a996
Use level and line name as record name for account dunning
2024-10-30 16:20:51 +01:00
Cédric Krier
5299f36eb9
Include amount in record name of account move line
...
Only the account code is used to limit the size of the name.
2024-10-30 16:19:57 +01:00
Cédric Krier
2b6166f155
Add original amounts before promotion
...
Closes #13633
2024-10-26 00:10:56 +02:00
Cédric Krier
afc6c5a913
Require draft unit price if a promotion is applied on a sale line
2024-10-25 17:21:48 +02:00
Cédric Krier
59a0a8c8a7
Enforce company of promotion using the sale line company field
2024-10-25 17:06:42 +02:00
Cédric Krier
67e200848d
Reassign points value instead of updating when changing quality control
...
The value of points is an immutable dictionary that can not be updated.
Closes #13730
2024-12-11 23:49:56 +01:00
Cédric Krier
b26ff9757e
Add metadata columns to ModelSQL with table query
...
Closes #9414
2024-10-25 00:24:39 +02:00
Cédric Krier
c40169b8a9
Do not call next_party for account without party required
...
next_party assign a list with None as parties for the account without party
required. But since 81e16830e46e it is no more valid.
Instead we need to manage account without party explicitly without calling
next_party.
Closes #13760
2024-12-17 17:31:57 +01:00
Cédric Krier
2b8e4fb2dc
Use record name for subtest based on record
2024-10-25 00:28:09 +02:00
Cédric Krier
16da4be04f
Add report data to header_key
...
Closes #13627
2024-10-24 18:11:42 +02:00
Cédric Krier
5966a42979
Add reporting with latest date and amount per statement journal
...
Closes #9330
2024-12-16 09:39:07 +01:00
Cédric Krier
935307dbb2
Add scheduled task to confirm sales based on payment
...
Closes #13625
2024-10-24 16:01:38 +02:00
Cédric Krier
051bbb3087
Allow customizing the move date created by receivable rules
2024-12-08 11:43:26 +01:00
Cédric Krier
54672a40a9
Set a period from the company of the receivable rule creating move
...
Closes #13740
2024-12-08 11:41:03 +01:00
Cédric Krier
58647f9ee7
Remove unused docstring in Model definition testing field depends
...
docstrings are no more used since 23ce421d3bb9
2024-12-05 16:29:42 +01:00
Cédric Krier
4cbce5729e
Include the depends of the getter function when depending on a Function field
...
Since c47b3642f1a6, the getter of a Function field may be called if there is no
value set for it on the instance.
In the on_change context, this may set the missing fields to None if they were
not defined in the depends of the method called. In addition to compute a wrong
value, those fields are then returned as modified.
Closes #13735
2024-12-05 16:25:16 +01:00
Cédric Krier
1360ae6c5d
Do not use init values for new record without id to compute the changed values
...
When using new instance to fill a xxx2Many field, all the values must be
considered as changed and we should not expect any initial value.
Closes #13716
2024-11-30 12:56:41 +01:00
Cédric Krier
34df4552e5
Limit inbound email result to ModelStorage and ModelView
2024-11-16 18:43:16 +01:00
Cédric Krier
ce2bc3a3a0
Limit keyword action to ModelView
2024-11-16 18:42:42 +01:00
Cédric Krier
2e974388b9
Limit resource reference to subclass of ModelView and ModelStorage
...
Closes #13689
2024-11-16 18:42:17 +01:00
Cédric Krier
d661f3d8da
Allow filtering model names by subclasses
2024-11-16 18:41:25 +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
Cédric Krier
f0b231d474
Do not check credit limit if the amount is negative or zero
...
Closes #13720
2024-11-30 23:50:59 +01:00
Cédric Krier
66253fbf37
Use warning format for credit limit warning name
...
Closes #13719
2024-11-30 23:46:57 +01:00
Cédric Krier
3d12183ebd
Return credit limit amount for sale in company currency
...
Closes #13718
2024-11-30 23:43:00 +01:00
Cédric Krier
df1021103f
Add company argument to check credit limit
...
Closes #13717
2024-11-30 23:38:16 +01:00
Cédric Krier
cd6c759e05
Display link symbol on hover of many2one and reference column
...
Closes #9091
2024-10-24 01:20:39 +02:00
Cédric Krier
b8e124efaa
Better naming between session and wizard instance when testing wizard
2024-11-21 18:09:22 +01:00
Cédric Krier
838cee8307
Do not re-instantiate action report when printing workflow graph
2024-11-21 18:08:54 +01:00
Cédric Krier
3481debb43
Convert value to integer when setting reference value as string
2024-11-21 18:07:57 +01:00
Cédric Krier
11d2468887
Set unit id in context to compute price of consignment
2024-10-22 00:12:22 +02:00
Cédric Krier
839d952e80
Set company id as context to compute today when creating purchase from request
2024-10-21 22:21:31 +02:00
Cédric Krier
f5a9f36823
Test _ids type when instantiate ModelStorage
2024-11-21 18:06:48 +01:00
Cédric Krier
c833195650
Set default integer digits to None
2024-11-25 23:47:12 +01:00
Cédric Krier
6cff740d3c
Validate integer digits
...
Closes #12975
2024-10-20 18:22:26 +02:00
Cédric Krier
d85f0b4456
Add support for DATE_TRUNC from INTERVAL to SQLite backend
2024-12-15 20:55:42 +01:00
Cédric Krier
90ffa4ad8a
Fix DATE_TRUNC with date and time
...
Since 96bc08db1fd5, fromisoformat is used so the value may be a date or a time.
So not all the attributes are available for those types.
And SQL requires to always return a datetime.
2024-12-15 20:54:23 +01:00
José Antonio Díaz Miralles
94048faeb4
Prevent iOS from auto zooming on input focus
...
Closes #13602
2024-12-15 16:42:35 +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
Cédric Krier
c51e0157aa
Use fromisoformat to parse value in SQLite functions
2024-12-14 16:20:10 +01:00
Cédric Krier
40c5010b77
Import datetime as dt in SQLite database
2024-12-14 16:16:07 +01:00
Cédric Krier
81cd587477
Add support for EXTRACT from INTERVAL to SQLite backend
...
Closes #13305
2024-12-14 16:22:59 +01:00
Cédric Krier
c31522734f
Test PostgreSQL backend with all Python versions
...
The backend contains Python code that should be tested for all versions.
2024-12-14 17:17:28 +01:00
Sergi Almacellas Abellana
26abd6635d
Improve labels input and output materials of production and BOM
2024-12-14 12:08:49 +01:00
Cédric Krier
d86eeeb5c5
Retrieve tax rounding configuration using the company of the taxable
...
Closes #13688
2024-11-15 18:06:45 +01:00
Cédric Krier
e8f0704d0b
Do not check for integrity error the required fields with set method
...
Closes #13745
2024-12-11 11:02:07 +01:00
Cédric Krier
e9104be1ee
Round together only taxable lines with the same taxes and sign
...
The rounding error must not be distributed between taxable lines having
different taxes otherwise the tax amount is not stable for the same base
amount.
Closes #13673
2024-11-12 17:39:42 +01:00
Cédric Krier
44b55e28f4
Use party access for address, contact mechanism and identifier
2024-11-08 16:26:01 +01:00
Maxime Richez
822ef93cd7
Add Brazilian, Canadian and Croatian tax identifiers
...
Closes #13678
2024-12-12 23:45:51 +01:00
Cédric Krier
fe852af844
Merge move description with description on general ledger line
...
By using the move origin as fallback of the line origine, the description is
computed as the move description.
Closes #13696
2024-11-20 15:14:49 +01:00
Cédric Krier
1c9682e7ae
Set default icon for board and list-form action window
2024-11-10 02:11:09 +01:00
Cédric Krier
e77e0c2349
Add icon for list-form
2024-11-10 02:10:28 +01:00
Cédric Krier
48e6a7374d
Use more explicit icons for form, list and tree
...
Closes #11391
2024-11-10 02:10:04 +01:00
Maxime Richez
b502f39d6e
Replace co_rut for co_nit as tax identifier
...
Closes #13679
2024-11-13 15:50:38 +01:00
Cédric Krier
25322bc0d1
Set label on form view as help text of record rules
2024-11-27 19:58:38 +01:00
Cédric Krier
3e45df410f
Show only storage, view and warehouse locations by default
...
Closes #13711
2024-11-28 22:14:05 +01:00
Cédric Krier
d1f97ed83b
Replace playsound by playsound3 package
...
Closes #13629
2024-11-30 15:28:24 +01:00
Cédric Krier
fd903381db
Improve naming of the tested view
...
It is more useful to have the filename of the view if possible or the model
name and type.
2024-11-29 13:43:47 +01:00
Cédric Krier
b6fd7fdf8a
Do not instantiate record with default for the form of the wizard view
...
The default values are already set using the defaults of the wizard view.
Closes #13723
2024-12-01 23:48:17 +01:00
Cédric Krier
e2ee8f5b13
Remove unused EMAIL_REFKEYS from action
...
Since 8288b688cfeb this global variable is no more used.
2024-12-05 16:27:17 +01:00
Cédric Krier
7a03020543
Assign customer moves when drop shipment is shipped
...
Closes #13648
2024-11-04 16:43:16 +01:00
Pedro Nuñez
7b67ad7891
Exclude report revisions from invoice copy
...
Closes #13698
2024-12-08 00:10:32 +01:00
Cédric Krier
a93ccdc5c4
Always hide select button on binary cell when the field is readonly
...
Closes #13714
2024-11-29 13:06:08 +01:00
Cédric Krier
500f909a06
Properly disable the select button of Binary widget when readonly
...
The button is indeed a div which must have the .disabled CSS class and an input
which should be hidden when readonly.
Closes #13713
2024-11-29 13:03:53 +01:00
Sergi Almacellas Abellana
659f25e14f
Cast excluded from sii as boolean before grouping
...
The value may be None which should be grouped with false values
Closes #13734
2024-12-05 15:54:50 +01:00
Cédric Krier
77dd7b3771
Test only last Python version with PostgreSQL
2024-11-24 13:55:42 +01:00
Cédric Krier
3f3320a70d
Do not run pipeline on draft merge request
2024-11-22 13:50:10 +01:00
Cédric Krier
57ca116d24
Do not clear string field translations of model
...
Since de19952c097a the 'name' field has been renamed into 'string' also for the
translations.
2024-12-01 10:32:48 +01:00
Cédric Krier
cd0bcf8ff5
Document gettext and ngettext methods added to the report context
...
They were added by 9403850c8ead but without documentation.
2024-12-01 19:06:26 +01:00
Cédric Krier
f69fa14b74
Use msg_gettext to translate SEPA mandate title
...
Closes #13722
2024-12-01 19:05:34 +01:00
Cédric Krier
26930ddda9
Add msg_gettext and msg_ngettext to Report context
2024-12-01 19:04:56 +01:00
Cédric Krier
a6ba7caead
Enforce empty value for input and output production on stock move with id
...
The domain for Many2One is based on the target not the field value.
Closes #13721
2024-12-01 18:38:35 +01:00
Cédric Krier
1a835acf6d
Do not convert invoiced quantity if sale has not unit when computing credit amount
...
Closes #13715
2024-11-29 14:12:01 +01:00
Cédric Krier
89f5385b70
Ensure current record is None after removing record from the group
...
The removal can trigger __select_changed on the list view which may set the
first record of the selection as the current record which may be the deleted
record.
This prevents the display triggered by record_modified to set the current
record in the selection as it has been removed from the group.
Closes #13712
2024-11-29 12:59:50 +01:00
Cédric Krier
1a842ade94
Return a dictionary when calling default_get and set a default empty value
...
18acfa54fa2e relies on having always a dictionary.
Closes #13690
2024-11-28 15:00:55 +01:00
Cédric Krier
e1121fd3e9
Do not quit the SMTP sever on 421 error code
...
smtplib is already closing the connection when such error code is received.
Closes #13710
2024-11-28 14:47:11 +01:00
Cédric Krier
27e589ccd7
Do not set empty To, Cc nor Bcc in email message
...
Since gh-102988, email.utils.getaddresses() return [('', '')] for invalid email
addresses which includes empty string if the header is set with an empty list.
Closes #13649
2024-11-18 08:44:57 +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
Cédric Krier
e0eb7390ed
Add missing migration for column rename of ir.model and ir.model.field
2024-11-24 01:17:41 +01:00
Cédric Krier
f93146919f
Drop constraints using cascade
...
This is needed when dropping a constraint used to enforce a foreign key for
example.
2024-11-20 11:17:15 +01:00
Cédric Krier
7948557d03
Clear view type of price list line context
...
68816ce94559 moves the definition of the context view to product_price_list
module and convert the existing view to inherit it. But inheriting view must
not have a type.
2024-11-24 14:15:25 +01:00
Cédric Krier
c8ab038585
Add missing migration of open lines button of product price list
...
68816ce94559 moves the button definition from product_price_list_dates module
to product_price_list but as product_price_list is updated first it can not
create the button because of the unique constraint.
2024-11-24 01:07:39 +01:00
Cédric Krier
2b8642b6ee
Add manual migration to documentation
2024-11-24 00:35:36 +01:00
Cédric Krier
71e19b01d8
Create new context record with default value
...
Screen.new_ is returning already a promise that is resolved after the call to
default_get. This ensure that display is triggered after having set the default
value.
Closes #13697
2024-11-20 15:52:40 +01:00
Cédric Krier
e5d7fae134
Remove new lines characters when comparing record name of Many2One and Reference
...
This avoid to trigger a reset of the field if the record name has such character.
Closes #13687
2024-11-15 15:20:28 +01:00
Cédric Krier
4b5fa06b60
Do not deactivate product in replacement wizard
...
If the product can be deactivated, it must be deactivated using the proper
method so all the operations like deleting staging and draft moves are
performed. Otherwise the stock moves for the deactivated product will stay.
Closes #13677
2024-11-13 13:19:25 +01:00
Cédric Krier
52de5320f6
Test if pre_validate is an empty object
...
Closes #13675
2024-11-13 11:22:21 +01:00
Cédric Krier
f358b1fc1c
Set default state when production moves from BOM
...
The visibility of some fields depend on the state so it is better to set it.
2024-11-13 11:14:35 +01:00
Cédric Krier
70e1b5bfad
Fill unit price required when creating production moves from BOM
...
Since 23a3a9ed13d7 the unit price is reset to None if the unit price is not
required.
So the client must known that the unit price is required to keep the value.
Closes #13674
2024-11-13 11:10:05 +01:00
Cédric Krier
5965e02da3
Fix incompatible placeholders in tryton's translations
2024-11-07 21:44:36 +01:00
Cédric Krier
539513d74f
Set a width to the nav-tabs to not be included in the min-content computation
...
When screen with tab domain is displayed in a board, the tab domain increase
the min-content which could overflow the tab content.
Closes #13665
2024-11-06 18:11:35 +01:00
Cédric Krier
1f42ffb932
Set grid template to container of board view
...
Closes #13663
2024-11-06 18:01:51 +01:00
Cédric Krier
7c6e54b364
Use ngettext for import/export message
2024-10-16 19:11:10 +02:00
Cédric Krier
be2f522c05
Use plural for password length error message
2024-10-16 18:39:52 +02:00
Cédric Krier
ffcf5a5225
Support plural translation of messages
2024-10-16 19:57:43 +02:00
Cédric Krier
851d0b580a
Clear translation cache of message when translations of type model are changed
2024-10-16 17:27:16 +02:00
Cédric Krier
81d891bebf
Support plural translations in report
...
In addition to add support for ngettext to Genshi i18n Translator, gettext and
ngettext methods are added to the report context.
2024-10-16 11:38:07 +02:00
Cédric Krier
c9e059680e
Add plural source to translations
2024-10-16 18:40:14 +02:00
Cédric Krier
01e715bb05
Add plural to language
2024-10-16 22:46:26 +02:00
Cédric Krier
ccd026c9c6
Compute maturity date of grouped account move lines per debit/credit
...
Closes #8876
2024-10-23 20:02:00 +02:00
Cédric Krier
21d30ebd42
Use defaultdict when computing grouping move lines
2024-10-23 19:54:03 +02:00
Cédric Krier
120e315bec
Set Decimal precision of default context from environment variable
...
This is placed in the trytond __init__.py because the default context must be
set prior to any start of thread. And thus it can only be set via environment.
Closes #13572
2024-10-08 16:34:37 +02:00
Sergi Almacellas Abellana
c1e41fdfa2
Add final dot on dunning email help texts
2024-10-29 09:42:47 +01:00
Charles Germain
17e4d6a6f2
Clarify the need to create the opportunity.py file in the tutorial
2024-11-25 09:02:15 +01:00
Cédric Krier
6e3817ba05
Add equivalent domain of SQL constraints
...
When possible we should also add a domain so the client can provide better
feedback to the user.
Closes #9432
2024-10-27 16:20:45 +01:00
Cédric Krier
b68ea11ed7
Remove unused dashboard cache
2024-11-06 17:57:56 +01:00
Cédric Krier
56afef04ec
Clear view caches when dashboard fields of user are modified
...
Closes #13662
2024-11-06 17:57:35 +01:00
Cédric Krier
beddddb6d8
Order tariff codes by sequence with null first
...
Closes #13655
2024-11-05 16:27:12 +01:00
Cédric Krier
eb5ef7a443
Limit edition access on tariff codes of products to customs administrator
...
Closes #13656
2024-11-05 16:37:12 +01:00
Cédric Krier
622661350c
Do not get a new connection when retrying to lock table on transaction start
...
Closes #13661
2024-11-06 13:57:10 +01:00
Cédric Krier
1557210b95
Disable promotion on tinyMCE
...
Closes #13660
2024-11-06 13:30:40 +01:00
Cédric Krier
aba15a2885
Call directly record modified on group when Screen removes records
...
This is the same as in sao.
2024-11-13 11:33:51 +01:00
Cédric Krier
30fd8b38d2
Set a new current record if current one is not in the selection
...
`__select_changed` should not change the current record if the record is
already in the selection.
Closes #13676
2024-11-13 11:33:06 +01:00
Xavi Hermoso
27b672660a
Update purchase requisition state when purchase request state is updated
...
Closes #13599
2024-11-24 18:47:43 +00:00
Cédric Krier
244d20f71c
Relink stock moves to drop shipment after amending sale lines
...
Closes #13647
2024-11-04 16:45:49 +01:00
Cédric Krier
ba38191f27
Set payment method and source name as class method
2024-10-29 12:01:00 +01:00
Cédric Krier
3421c62fa8
Propagate JSON-RPC protocol errors which are not service unavailable
...
Since 347c504196a9 requests are retried when service is unavailable but other
protocol errors like unauthorized must be raised to be processed.
Closes #13683
2024-11-16 00:02:36 +01:00
Cédric Krier
29868a0e0f
Create tab content of board before retrieving the view
...
If the view is already cached, the callback is executed directly so the content
must have been created.
Closes #13664
2024-11-06 18:04:58 +01:00
Cédric Krier
363cbd986d
Return the inherited view type for inheriting action window view
...
Closes #13659
2024-11-06 13:25:28 +01:00
Cédric Krier
fdb7b33d50
Returns no view type when next view type is unknown
...
Closes #13658
2024-11-06 13:24:46 +01:00
Adrià Tarroja Caubet
1a6a4ecb66
Add test scenario for inventory count with lot
2024-11-20 23:02:03 +01:00
Adrià Tarroja Caubet
ed4221bc35
Rename uom to unit when computing lot quantity counted for inventory
...
Since 7129f417a22c uom field on inventory line has been renamed to unit.
Closes #13646
2024-11-20 23:00:34 +01:00
Cédric Krier
efab20b746
Add missing depends to counterpart intrastat property
...
Since 6bd1cdd44b6d the counterpart property is used for lost and found move.
Closes #13634
2024-11-19 16:50:36 +01:00
Udo Spallek
8b252472c4
Replace usage of docstring of Model by __string__ attribute
...
Closes #8402
2024-11-19 10:09:52 +01:00
Cédric Krier
d99d001dfe
Get default value from name2translations when updating model translations
...
Closes #13669
2024-11-12 00:02:58 +01:00
Cédric Krier
77d2d29447
Rename ir.model.field 'field_description' into 'string'
2024-11-11 20:04:03 +01:00
Cédric Krier
7449eda49c
Rename ir.model 'model' field into 'name'
2024-11-16 21:17:55 +01:00
Udo Spallek
a89fc8bf1c
Rename ir.model 'name' field into 'string'
2024-11-16 21:18:38 +01:00
Cédric Krier
a44d43f09b
Update digits in project invoice test scenario
...
Since 7c7f60798d49, get_total is always rounding the value with the currency
digits.
2024-11-16 21:57:09 +01:00
Cédric Krier
5d9be5e253
Accept object has type for Greater statements
...
If the PYSON statement has the type 'object', it can be a Date, DateTime or
TimeDelta which is allowed for comparison.
Closes #13645
2024-11-04 13:09:34 +01:00
Cédric Krier
8397a314be
Replace Many2Many by One2Many to stock move on forecast line
...
Closes #9243
2024-10-24 01:44:34 +02:00
Cédric Krier
b58bb45544
Remove unnecessary invoice transition from cancelled to posted
...
cbb381841768 added it but it is not necessary because process use _post method
to set back the invoice to posted.
Closes #13619
2024-10-29 17:09:59 +01:00
Cédric Krier
7fafdf6af8
Set planned date of moves for all productions at once
...
Closes #8873
2024-10-23 19:30:17 +02:00
Cédric Krier
a3568f6bb0
Do not update planned date of production moves if it is not needed
2024-10-23 19:34:26 +02:00
Cédric Krier
8f570007f0
Set planned date when creating production moves
2024-10-23 19:27:28 +02:00
Cédric Krier
ab23b19d4e
Round work total with currency digits in get_total
...
This allows to extend the computation methods without rounding too early.
2024-10-14 18:50:59 +02:00
Cédric Krier
315064677a
Extract timesheet cost computation from _get_cost
...
This allows customization to use different composition of the costs.
2024-10-14 18:39:58 +02:00
Cédric Krier
53c042971b
Group locations under the first requested location when computing stock quantities
...
This reduces the number of unnecessary intermediary results.
Closes #8594
2024-10-22 15:04:52 +02:00
Cédric Krier
31d53ba7a5
Reduce access to dictionary keys when computing stock quantities
...
#8594
2024-10-22 14:59:18 +02:00
Cédric Krier
462853ef3d
Do not store period cache for empty quantity
...
This prevents to create a record for product that are no longer in the stock.
Closes #8151
2024-10-22 13:44:41 +02:00
Cédric Krier
b86d70c701
Use the party currency added by account module for credit limit
...
Closes #13610
2024-10-20 21:19:39 +02:00
Cédric Krier
4aa300a3e4
Search for implicit locations of type storage when generating internal shipment
...
The provisioning and overflow locations are only meaningful on storage locations.
2024-10-06 12:38:20 +02:00
Cédric Krier
fbbad830a2
Do not search for late moves when supplying stock if warning are skipped
...
For example the cron job skips the warnings so we safe some resources by not
searching for late moves.
2024-10-06 12:37:11 +02:00
Cédric Krier
fb813f5abc
Set and unset consignment origin without changing the state of the move
...
When changing the state of the move, the workflow transition of the decorated
function may filter out the move because the transition does not exist for the
new state.
Closes #13623
2024-10-24 00:52:27 +02:00
Cédric Krier
e1a5a457f3
Extend searcher for assignation required from supplier consignment
...
Closes #8893
2024-10-23 21:15:33 +02:00
Cédric Krier
d194910b72
Do not ask question on warning message about closed period
...
The client already ask a generic question to keep proceeding.
Closes #8806
2024-10-23 19:12:31 +02:00
Cédric Krier
d7c8fae637
Do not allow to add product or unit with amendment if there was no unit
...
Invoice lines may already exist with incompatible unit which will fail to
compute invoiced quantity.
2024-10-27 19:43:15 +01:00
Cédric Krier
0e0f5f0ec6
Do not convert invoiced quantity if sale or purchase has not unit
...
Closes #13593
2024-10-27 19:41:19 +01:00
Cédric Krier
9d12fbf307
Take the first item of single value only with 'in' operator
...
Closes #13403
2024-10-28 00:39:53 +01:00
Cédric Krier
148135ddd2
Compare purchase requests having product and purchase line
...
Closes #13624
2024-10-28 00:19:53 +01:00
Cédric Krier
e54257bf7c
Set payment term ratio and divisor to None when type is not percentage
2024-10-27 20:04:09 +01:00
Cédric Krier
bdabde97c6
Forbid to set ratio and divisor to zero for percentage payment term
...
Closes #13615
2024-10-27 20:03:24 +01:00
Cédric Krier
ab3fecb282
Increase version number
2024-11-04 18:51:20 +01:00
Cédric Krier
18280c96af
Add tag 7.4.0
2024-11-04 18:23:54 +01:00
Cédric Krier
dc470fe1f4
Prepare release 7.4.0
2024-11-04 18:23:40 +01:00
Cédric Krier
3c6a527b56
Reorder trytond documentation
2024-11-04 09:51:15 +01:00
Cédric Krier
43790f90dc
Do not add field in optional menu if it is excluded
...
Closes #13618
2024-10-22 19:47:27 +02:00
Cédric Krier
2a7c3dc2a2
Load sequence field value of previous record before setting sequence
...
Closes #13604
2024-10-15 14:50:08 +02:00
Cédric Krier
015c68f2c6
Update translations
2024-11-02 16:10:36 +01:00
Cédric Krier
cb1dbd007a
Update account name and code to universal chart of account in winbooks export test
2024-11-02 09:10:17 +01:00
Cédric Krier
2612aced12
Fix missing target field in operand of domain
2024-11-01 09:00:07 +01:00
Cédric Krier
e61143c7ec
Use type and closed to filter account on analytic rule instead of view type
...
The view type has been removed since 6b76c4de4813.
Closes #13641
2024-11-01 08:59:13 +01:00
Cédric Krier
e5c4b1b1c2
Use default email policy to parse raw email
...
The default policy uses the EmailMessage class instead of the Message class
from the compat32 policy.
The EmailMessage decodes automatically the header values.
Closes #13607
2024-10-19 16:24:29 +02:00
Korbinian Preisler
cbee496373
Add German translation of universal chart of account
2024-10-31 09:45:45 +01:00
Sergi Almacellas Abellana
954c6c233a
Add Spanish translation of universal chart of account
2024-10-31 09:25:58 +01:00
Cédric Krier
1c40ca075e
Allow passing the output directory of check scripts as argument
...
Such that the script can be used to regenerate the files in the repository if
the root directory is passed.
2024-10-31 09:15:23 +01:00
Cédric Krier
8e5b459d76
Add French translation of universal chart of account
2024-10-30 22:55:00 +01:00
Cédric Krier
83037ea151
Check in CI other modules that extend universal chart of accounts
2024-10-30 22:24:51 +01:00
Cédric Krier
ae26cabdb0
Standardize and minimize output of XLST
...
This prevent to regenerate existing versions because a new version is added.
2024-10-30 19:23:06 +01:00
Cédric Krier
015f454609
Add CI check for chart of accounts
2024-10-30 19:02:22 +01:00
Cédric Krier
a79563f514
Add XSL filter on record with chart attribute for account SYSCOHADA
2024-10-30 19:02:00 +01:00
Korbinian Preisler
e9f5155062
Fix typo in word Litigation of universal account chart template
2024-10-29 20:53:20 +01:00
Cédric Krier
e5658ccf92
Fix missing target field in operand of domain
2024-10-30 11:24:15 +01:00
Cédric Krier
1fdda8bdb2
Fix missing target field in operand of domain
2024-10-29 19:56:58 +01:00
Cédric Krier
ce7be2e628
Do not try to paste empty clipboard as row
...
Closes #13613
2024-10-22 01:41:28 +02:00
Cédric Krier
e1aa6a9642
Support widget with search_remote when pasting rows
...
Since 4db597e5b08c the widget value is not set automatically if there is only
one result.
Closes #13612
2024-10-22 01:39:29 +02:00
Cédric Krier
ec70ef4203
Save each valid record pasted
...
Closes #3312
2024-10-22 01:18:57 +02:00
Cédric Krier
ec33e1c3bf
Test autocomplete of postal code and city on address
2024-10-19 23:49:41 +02:00
Cédric Krier
4fa6d9093d
Do not autocomplete postal code nor city with empty value
...
None value prevents to sort the result and empty value does not add information.
Closes #13482
2024-10-19 23:48:53 +02:00
Cédric Krier
aec4eae3f5
Replace forbidden char of document incoming name by space
...
When creating document incoming from email, the name value must be sanitized as
there is no control on the data.
Closes #13608
2024-10-19 16:34:36 +02:00
Cédric Krier
48cf2814ea
Use "No Subject" fallback when creating document incoming from email with empty subject
...
Closes #13606
2024-10-19 15:25:33 +02:00
Cédric Krier
afb909aa41
Fix missing target field in operand of domain
2024-10-28 21:23:57 +01:00
Cédric Krier
8ec4d98510
Update documentation of account cash rounding
2024-07-24 11:59:27 +02:00
Cédric Krier
7c3f4a85ee
Update documentation of Spanish account
2024-07-29 17:00:28 +02:00
Cédric Krier
959e9bafae
Update documentation of account payment Stripe
2024-10-28 14:40:37 +00:00
Cédric Krier
c91260c175
Do not check link for www.facebook.com/business
...
It returns 400 when not logged.
2024-10-28 09:01:18 +01:00
Cédric Krier
2cb4ff88e0
Do not check link for www.sede.fnmt.gob.es
...
The SSL certificate can not be verified.
2024-10-28 08:59:24 +01:00
Cédric Krier
dc0f0945ac
Update Shopify webhooks link
2024-10-28 08:45:52 +01:00
Cédric Krier
5979e496de
Do not check link for help.shopify.com
...
Cloudflare returns a 403 status before redirecting.
2024-10-28 08:45:28 +01:00
Cédric Krier
3217b224a4
Update documentation of account statement OFX
2024-10-18 00:01:52 +02:00
Cédric Krier and David Harper
cfebb57220
Update documentation of account stock Anglo-Saxon
...
Co-authored-by: David Harper <dave@libateq.org >
2024-08-15 09:47:43 +02:00
Cédric Krier
7eab401995
Update documentation of analytic sale
2024-08-02 10:15:25 +02:00
Cédric Krier
03c8668a2c
Update documentation of analytic purchase
2024-08-02 10:11:32 +02:00
Cédric Krier
1febbee273
Update documentation of analytic invoice
2024-08-02 10:04:49 +02:00
Cédric Krier
4a03517f34
Update documentation of analytic account
2024-08-01 19:00:32 +02:00
Cédric Krier
bc1a7fdab1
Update test of account used for universal chart of account
2024-10-25 00:35:24 +02:00
Cédric Krier
c877d21baf
Update documentation of carrier weight
2024-08-03 12:31:21 +02:00
Cédric Krier
d82cc37f3e
Update documentation of carrier subdivision
2024-08-03 13:34:37 +02:00
Cédric Krier
1400b89eef
Update documentation of carrier percentage
2024-08-03 12:01:24 +02:00
Cédric Krier
14caf1d81b
Update documentation of carrier
2024-08-03 11:43:25 +02:00
Cédric Krier
871a65c2b2
Add incoterm warning on shipment only if sale or purchase modules are activated
...
5e14ff4b00a6 adds the warnings which require to have sale or purchase.
2024-10-25 00:38:11 +02:00
Cédric Krier
5ef6e24da1
Remove button decorator on create_waiting_move
...
It is not needed as this method is not linked to a button.
2024-08-04 13:04:47 +02:00
Cédric Krier and David Harper
a10b393b05
Update documentation of commission waiting
...
Co-authored-by: David Harper <dave@libateq.org >
2024-10-17 23:54:46 +02:00
Cédric Krier
78a2fd0de2
Remove duplicate country field definition in tariff code
...
The CountryMatchMixin already defines a country and an organization field.
2024-08-04 17:08:56 +02:00
Cédric Krier
bee1f094bc
Update documentation of customs
2024-08-04 17:07:10 +02:00
Cédric Krier
5d04179b15
Update documentation of dashboard
2024-10-27 16:57:41 +00:00
Cédric Krier
2bb7b9db91
Update documentation for edocument UN/CEFACT
2024-10-27 15:34:14 +00:00
Cédric Krier
eb2e32a0ec
Update document of edocument UNECE
2024-08-04 19:33:36 +02:00
Cédric Krier
d7ea8c0b8b
Update documentation of marketing email
2024-10-27 12:57:25 +01:00
Cédric Krier
f0d98649d0
Copy root lines as line when copying budget
...
Since b7a82bf780b4 the root lines field is no more copied and as lines are not
copied by default, we must copy the root lines as lines.
2024-10-27 12:56:22 +01:00
Cédric Krier
0fbb9b43cd
Update analytic tests for Universal Chart of Account
2024-10-27 12:53:51 +01:00
Cédric Krier
2464ef02aa
Update documentation of marketing campaign
2024-08-04 23:40:33 +02:00
Cédric Krier
b174e0a833
Update documentation of marketing
2024-08-04 23:39:32 +02:00
Cédric Krier
aa1ed2fcaf
Update link to documentation of marketing automation
2024-08-04 23:41:54 +02:00
Cédric Krier
90dd7a5126
Update documentation of party relationship
2024-08-16 11:45:36 +02:00
Cédric Krier
9b0db800cf
Use existing write-off journal in invoice test scenario
2024-10-26 21:32:53 +02:00
Cédric Krier
febb42237a
Add currency exchange write-off to demo
...
Closes #13227
2024-10-26 21:32:06 +02:00
Cédric Krier
bec00bd8de
Add payment method to demo
...
Closes #13227
2024-10-26 21:31:45 +02:00
Cédric Krier
17fb714e38
Document that getter function is called with the record context
2024-08-17 17:48:12 +02:00
Cédric Krier
c8caf77630
Document _transaction, _user and _context attributes of ModelStorage
...
They are private attributes to avoid collision with fields but they should be
indeed part of the public API.
2024-08-17 17:47:33 +02:00
Cédric Krier
556858d1a1
Remove documentation about target_search parameter on Many2One
...
a8f355306be5 removed the parameter but not the docstring documentation.
2024-08-19 12:53:53 +02:00
Cédric Krier
710ec4a136
Update documentation of party SIRET
2024-08-26 22:06:16 +02:00
Cédric Krier
9c4f6e91f0
Use https for links in sao package
2024-10-21 12:07:37 +02:00
Cédric Krier
711c2d1700
Update repository link for sao package
...
Closes #12569
2024-10-21 12:06:58 +02:00
Cédric Krier
c0028d438b
Use domain iso3166-1 instead of iso3166 to translation countries
...
pycountry has removed the iso3166.mo file in version 23.12.7 but the
iso3166-1.mo exists since version 16.11.8.
Closes #13617
2024-10-22 16:46:53 +02:00
Cédric Krier
40520b9ad0
Filter out existing records from the search results of xxx2Many
...
Closes #3285
2024-10-22 01:01:33 +02:00
Cédric Krier
f4e9ef595a
Select by default the first active carrier
...
The available carries can contain inactive carries because it is just a list of
carriers matching the criteria.
Closes #12888
2024-10-20 22:12:32 +02:00
Cédric Krier
ac96da85d6
Use ModelSQL.lock to lock table when validating SQL constraint
...
Since c8771e45b861 locking table must be performed at the start of the
transaction which is managed by the `Transaction.lock_table` method which is
used by `ModelSQL.lock` but not `Database.lock`.
Closes #13626
2024-10-24 15:06:00 +02:00
Cédric Krier
74bfb4af96
Do not force to lock table at the transaction start when updating module
2024-10-24 15:45:40 +02:00
Cédric Krier
1765468674
Update pixbuf loaders and immodules when building installers
...
Closes #13611
2024-10-21 18:01:53 +02:00
Cédric Krier
3aecfc9658
Do not fail to set value of the wrong type to Dict Entry widget
...
Closes #13621
2024-10-23 13:56:53 +02:00
Cédric Krier
0125b704de
Store document number of AEB43 as char
2024-10-23 13:30:46 +02:00
Cédric Krier
95cc30b9e3
Convert AEB43 document number to integer when stored as information
...
Closes #13620
2024-10-23 13:26:40 +02:00
Cédric Krier
c1a736f118
Add rules to check code jobs to run only if targeted files have changed
2024-10-24 10:43:59 +02:00
Cédric Krier
64bcec5fa6
Do not update unit price of stock move when it is not required
...
Closes #13561
2024-10-19 23:06:22 +02:00
Cédric Krier
18aad8ae0e
Install setuptools before generate and check documentation
...
Closes #13628
2024-10-25 09:44:39 +02:00
Cédric Krier
7f9d1ff68e
Fix typo in the handle exception wizards of sale and purchase
2024-10-23 09:38:35 +02:00
Cédric Krier
5546f5d125
Use proper name for Hidden Recipients in email template help text
2024-10-19 09:39:34 +02:00
Cédric Krier
803fc3a54a
Reduce the size of docs artifact
...
We just need to objects.inv for intersphinx mapping.
And as the linkcheck verifies only http links, we do not need the html files.
2024-10-24 10:13:31 +02:00
Cédric Krier
ea41b52449
Apply saved optional to column with the optional attribute
...
If the same column is added twice in a view with and without optional, only the
columns with optional attribute must be updated.
2024-10-15 12:25:46 +02:00
Cédric Krier
e92d79df01
Group optional column with the same
...
The optional state is stored only by field name so the toggle menu should
display only one state per column name to avoid ambiguity.
Closes #13603
2024-10-15 12:13:54 +02:00
Cédric Krier
ac524f08db
Simplify demo company
...
The most common usage is to have a single company so the demo should show this
use case.
Also to help demonstrate the different access right, more users are created
with a subset of groups.
2024-10-14 21:30:40 +02:00
Cédric Krier
f288356adf
Do not replace redefined product field with template function field
...
Closes #10322
2024-09-30 16:53:49 +02:00
Cédric Krier
660689b128
Invert sign when searching on deposit amount of party
...
Since 2cc065fbce6b, the getter is using credit - debit so the searcher should
also.
Closes #13563
2024-10-04 09:21:43 +02:00
Cédric Krier
5d1c35d5f8
Round unit price from the price list computation
...
The unit price may not be roundable if the user expression results in a too
large for the Decimal context.
Closes #13542
2024-10-08 16:11:50 +02:00
Cédric Krier
7c22ab2f61
Raise FormulaError also when computing unit price from price list
2024-10-08 16:10:14 +02:00
Cédric Krier
4563f61fc9
Use tuple to compare identifier types for migration
2024-10-18 13:53:00 +02:00
Sergi Almacellas Abellana
c29771ec9c
Use SQL query on party configuration identifier types migration
...
Closes #13577
2024-10-15 12:57:32 +02:00
Cédric Krier
ca00614407
Do not set line terminator when copying a single row
...
When a single row is copied there is no need for a carriage return.
Closes #13573
2024-10-14 09:35:11 +02:00
Cédric Krier
496ee650da
Do not use negative company ID from context to compute credit limit
...
Closes #13596
2024-10-11 19:31:14 +02:00
Cédric Krier
d967356c7e
Return location instance in getter of sale and purchase
...
If the location field is empty, it prevents to raise an attribute error when
accessing the id.
Closes #13544
2024-10-11 15:59:18 +02:00
Cédric Krier
f53b5cb0d0
Update documentation of account credit limit
2024-07-24 11:53:54 +02:00
Cédric Krier
f5d3f4c0e5
Update account credit limit tests for more receivable and revenue accounts
...
Closes #13605
2024-10-17 17:20:32 +02:00
Cédric Krier and David Harper
10b81b4410
Update documentation of account payment SEPA
...
Co-authored-by: David Harper <dave@libateq.org >
2024-08-08 23:39:50 +02:00
Cédric Krier
7d0d2df3fe
Update documentation of account dunning
2024-10-17 11:04:46 +00:00
Cédric Krier
a4d3989874
Update documentation of account stock continental
2024-10-17 10:16:03 +00:00
Cédric Krier
a1a602159a
Update documentation of account tax rule country
2024-10-17 09:46:50 +00:00
Cédric Krier
422be751d9
Update documentation of account stock landed cost weight
2024-10-17 09:27:32 +02:00
Cédric Krier
2b188f1f0a
Update documentation of account stock landed cost
2024-10-17 10:41:39 +02:00
Cédric Krier
4fb1f4b277
Update documentation of account statement rule
2024-10-16 08:31:40 +00:00
Cédric Krier
cf0fff897e
Update documentation of account tax cash
2024-10-16 07:32:34 +00:00
Cédric Krier
f5cfc9341d
Update documentation of attendance
2024-10-15 18:55:14 +00:00
Cédric Krier
2f1446a5c0
Update documentation of authentication SMS
2024-10-15 17:43:50 +00:00
Cédric Krier
f3c767dc6f
Update documentation of authentication SAML
2024-08-02 15:51:49 +02:00
Cédric Krier
b9465aae47
Update documentation of bank
2024-10-15 17:02:17 +00:00
Cédric Krier
ed6e62d396
Update documentation of company work time
2024-10-15 16:28:03 +00:00
Cédric Krier
b30a4005df
Update documentation of Google Maps
2024-10-15 15:14:33 +00:00
Cédric Krier
0721f62c20
Add docker installation options in the documentation
2024-10-15 13:26:28 +00:00
Cédric Krier
286c924486
Quote empty string when formatting list value of domain
...
This is needed to keep the empty string in the list on a second parsing.
Closes #13558
2024-10-02 17:06:58 +02:00
Cédric Krier
8edd9f79f8
Use equality operators when stringify in domain clause with singleton
...
Closes #13557
2024-10-02 17:02:55 +02:00
Cédric Krier
f2e064272f
Replace in comparison with equality in ModelStorage copy
2024-09-30 23:15:08 +02:00
Cédric Krier
8efee8823a
Do not copy relational fields with filter
...
Closes #13549
2024-09-30 23:14:36 +02:00
Cédric Krier
70f6a94537
Optimize searching stock moves with FIFO quantity when deleting
2024-10-14 17:55:20 +02:00
Cédric Krier
597ad2af0a
Forbid to cancel stock move used for anglo-saxon accounting
...
Closes #13597
2024-10-14 17:54:40 +02:00
Cédric Krier
9e9fdb7782
Cancel account move when stock move is cancelled
...
Closes #13597
2024-10-14 17:54:18 +02:00
Cédric Krier
745099113f
Enforce strictly positive currency rate
2024-10-14 15:18:19 +02:00
Cédric Krier
d0efae47b5
Enforce positive number of digits for currency
2024-10-14 14:37:41 +02:00
Cédric Krier
62fe5b3fdf
Enforce strictly positive rounding value for currency
...
Closes #13600
2024-10-14 14:35:37 +02:00
Cédric Krier
6d0270e7d8
Do not enforce implicit NOT NULL on name field of a tree
...
The `not like` operator implicitly requires the field to be not null but
specific implementation of the named field may allow to have NULL values.
Closes #13592
2024-10-11 10:51:04 +02:00
Cédric Krier
f9e13ddc3f
Include NULL value for negative search on nested Many2One and Reference
...
This unify the search behavior on relational fields with NULL value started
with c14f51b77b30.
Closes #13585
2024-10-11 11:24:06 +02:00
Cédric Krier
d34ad9cbc9
Encode JSON value before storing it as date on inbound email
...
Closes #13583
2024-10-09 20:20:21 +02:00
Cédric Krier
a286726c0c
Test if work cost is a timedelta before converting to seconds
...
Closes #13582
2024-10-09 20:18:37 +02:00
Cédric Krier
c02fbaad97
Fallback to 0 when summing stock values of products
...
Closes #13581
2024-10-09 20:15:47 +02:00
Cédric Krier
9d9a6253cd
Explicitly set boolean operator to compose domain of current name of budget line
...
Closes #13580
2024-10-09 20:13:30 +02:00
Cédric Krier
22f6237085
Always return a string for status bar of user
...
Closes #13579
2024-10-09 20:10:13 +02:00
Cédric Krier
46e9405595
Do not add model name in record name of view without model
...
Closes #13578
2024-10-09 20:07:30 +02:00
Cédric Krier
071c98210d
Do not compute sequence next number if the SQL sequence does not exist
2024-10-09 09:47:15 +02:00
Cédric Krier
f10ee771e0
Round payable and receivable balance on account move line
2024-10-08 14:43:51 +02:00
Cédric Krier
68fdd840a9
Extend searchable of Template Function field instead of definition
...
Since 4689fc76ddb7 the definition is based on the searchable result.
2024-10-08 14:38:40 +02:00
Cédric Krier
cff908ff80
Use Text field for icon content
...
The SVG format can have line break so the field must allow them.
2024-10-08 14:37:07 +02:00
Cédric Krier
799b8dde56
Validate Function fields when running tests
2024-10-08 14:36:13 +02:00
Cédric Krier
6868d72b86
Enforce the type of value for Function fields
...
Closes #13550
2024-09-30 19:13:01 +02:00
Cédric Krier
f1ce119ad4
Document the attributes on the fields
2024-09-30 19:12:04 +02:00
Maxime Richez
c5682a2548
Warn when incoterm on shipment is different from its origins
...
Closes #13354
2024-10-14 18:00:19 +02:00
Cédric Krier
6208cd69bd
Add group names added by payment modules to help of statement rule
2024-10-13 16:31:47 +02:00
Cédric Krier
65d254c4c2
Manage payment keywords of statement rules in account_payment module
...
Closes #11053
2024-10-13 15:43:19 +02:00
Cédric Krier
1c95e602c7
Add test scenario for payment clearing with statement rule
2024-10-13 15:40:15 +02:00
Cédric Krier
39ae838bfe
Add number as record name to payment
...
Closes #7285
2024-10-13 14:44:08 +02:00
Sergi Almacellas Abellana
07902c1f81
Do not unpack payment groups when applying statement rules
...
Closes #13569
2024-10-07 12:21:52 +02:00
Cédric Krier
3621bc78f8
Use expense journal instead of expense account as payment clearing journal in scenario
2024-10-14 15:16:00 +02:00
Cédric Krier
6309f4f18d
Update budget test scenario to be less dependent on chart of account
2024-10-14 13:52:41 +02:00
Cédric Krier
6ac2e5001f
Order Non-operating section account type after expense
2024-10-14 13:52:17 +02:00
Cédric Krier
a3ada4ef98
Replace minimal by universal chart of account
...
Closes #9642
2024-10-13 23:55:37 +02:00
Cédric Krier
6063682e35
Replace unique check of promotion coupon number by overlap SQL constraint
...
This adds also a company field to coupon and number.
2024-10-11 15:29:51 +02:00
Cédric Krier
5853d86d25
Replace dates checks of stock forecast by overlap SQL constraint
2024-10-11 16:01:55 +02:00
Cédric Krier
fce7629ecb
Simplify PYSON expressions in forecast
2024-10-11 12:30:32 +02:00
Cédric Krier
56d77717c8
Replace dates checks of subscription line with asset lot by overlap SQL constraint
2024-10-11 11:51:29 +02:00
Cédric Krier
1e7dd3c351
Use SQL constraint to enforce unique usage of post move sequence
2024-10-10 00:34:19 +02:00
Cédric Krier
6f4fbb008a
Replace dates checks of fiscal year and period by overlap SQL constraint
2024-10-09 17:29:27 +02:00
Cédric Krier
f64e38f799
Surround exclude expression with parenthesis
...
Closes #13576
2024-10-09 17:19:44 +02:00
Cédric Krier
ca61f7cc7b
Support range functions and operators in EXCLUDE constraint
...
Closes #7471
2024-10-10 00:34:53 +02:00
Cédric Krier
1e85b264ca
Use the intrastat country of production warehouse for production location
...
Closes #13524
2024-09-18 10:59:32 +02:00
Cédric Krier
e8b8d6758a
Use the intrastat country of the other location for lost and found location
...
The lost or found happens in the country of the other location.
Closes #13523
2024-09-18 10:54:22 +02: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
Cédric Krier
032813a0b8
Support None as default value for xxx2Many fields
...
Closes #13588
2024-10-10 09:38:40 +02:00
Maxime Richez
dcef019d80
Allow cancellation of done shipments and productions
...
Closes #13489
2024-10-13 15:50:49 +02:00
Sergi Almacellas Abellana
75fa7e22ca
Add company on packages tree view
2024-08-21 10:23:23 +02:00
Sergi Almacellas Abellana
b9478515c0
Only consider done forecast when checking if they overlap
...
Closes #13553
2024-10-01 13:49:34 +02:00
Cédric Krier
29de47586c
Test if all columns of SQL constraint are Column before testing their names
...
Closes #13587
2024-10-10 00:48:39 +02:00
Cédric Krier
abb51c5cb3
Test all the SQL constraints name first before testing common column names
...
Closes #13586
2024-10-10 00:44:50 +02:00
Cédric Krier
aafa890c5c
Add depends on periods when changing company of tax code context
...
Since fa8f759f834b there is an assert to ensure that changing values of
xxx2Many can be done only if the field had a initial value.
Closes #13535
2024-09-30 17:22:37 +02:00
Cédric Krier
e16889a592
Use sparkline tools instead of pygal
2024-09-29 11:46:53 +02:00
Cédric Krier
530b55ac42
Add sparkline chart tools
...
Closes #13548
2024-09-29 12:36:21 +02:00
Cédric Krier
ae6df62434
Collapse main navbar when link is clicked
...
The main navbar is collapsed automatically on small screens when a tab is
selected.
2024-10-10 14:04:47 +02:00
José Antonio Díaz Miralles
9b3d3f85d6
Simplify menu handling by using flex instead of offcanvas and make it resizable
...
Closes #13444
2024-10-10 12:52:07 +02:00
Cédric Krier
91d7ec1289
Remove padding on menu
2024-10-11 22:55:04 +02:00
Cédric Krier
5c590194c5
Remove margin on image of treeview expander
2024-10-11 23:03:51 +02:00
José Antonio Díaz Miralles
74966d8b05
Reduce padding for affix in tree view
2024-08-09 00:16:55 +02:00
Sergi Almacellas Abellana
76fd78716d
Prevent deletion of non-pending quality inspections
...
Closes #13456
2024-10-11 21:22:14 +02:00
Cédric Krier
0b5d5c2322
Manage to replace products
2024-09-03 12:39:57 +02:00
Sergi Almacellas Abellana
9a14948fb4
Use Function field to test if invoice has an account move
...
This prevents to hide the post button if the user has no read access to the
account moves.
Closes #13493
2024-10-11 15:33:51 +02:00
Cédric Krier
68d7267502
Do not create twice a chart of account in Stripe dispute scenario
...
7a523d9c3ffa activate the module with the creation of chart of account.
2024-10-11 09:23:27 +02:00
Cédric Krier
32227136e7
Add validity dates to coupon number to allow reuse of coupon number
...
Closes #13010
2024-09-27 10:35:53 +02:00
Cédric Krier
670f3f894d
Lock the table before checking uniqueness of coupon number
...
Closes #13011
2024-02-06 23:53:28 +01:00
Cédric Krier
d3cca51abc
Create company and chart of account when activate modules in test scenario
2024-09-11 19:05:12 +02:00
Cédric Krier
d83bcc784c
Add setup methods to activate_modules
2024-09-10 18:01:29 +02:00
Cédric Krier
529fa7bb0e
Add optional company to account statement list view
2024-09-16 18:33:11 +02:00
Cédric Krier
60f07545e5
Do not fail to get Stripe refund failure reason if it is not present
...
Closes #13590
2024-10-10 14:18:32 +02:00
Cédric Krier
0b5dd24b80
Update usage of synchronous Record.validate and _check_load
...
Closes #13497
2024-10-03 14:44:09 +02:00
Cédric Krier
57b5c736b2
Clear Braintree error message on succeeded status
2024-10-01 12:31:01 +02:00
Cédric Krier
f21f1f92f6
Clear Stripe error codes when updated
2024-10-01 12:30:37 +02:00
Cédric Krier
9bdc52e67b
Do not display payment errors when payment or refund is succeeded
2024-10-01 12:28:44 +02:00
Cédric Krier
2616442a36
Add configuration for maximum size of document incoming request
...
Closes #13515
2024-09-16 19:32:38 +02:00
Cédric Krier
859b66c669
Add configuration for maximum size of inbound email request
...
Closes #13514
2024-09-16 19:31:04 +02:00
Cédric Krier
42fb22e164
Add border to notebook and navbar background to nav-tabs
...
This allows to better distinct the notebook and its content.
2024-10-01 12:41:50 +02:00
Cédric Krier
c4e49fbc58
Use column and row gap instead of padding to separate cells of grid
...
Using gap of grid allows to not loose the space when widgets are nested.
And keep top/bottom padding on small screen.
2024-10-02 10:29:44 +02:00
Cédric Krier
3948905844
Remove widget class on form-item
...
The widget class is set on the content of the form-item.
Having it twice apply margin or padding twice.
2024-09-27 20:49:50 +02:00
Cédric Krier
bf9709d360
Render xalign-end as start on small screen
...
As the rule was not in .form, it was not enough specific to apply.
Also on small screen we can keep centered the xalign-center
2024-09-27 20:47:52 +02:00
Cédric Krier
f40829a231
Set default y-attributes for notebook
2024-09-27 20:44:56 +02:00
Sergi Almacellas Abellana
da99315a14
Remove duplicated timestamps from history_revisions
...
Closes #13528
2024-09-19 09:49:33 +02:00
Cédric Krier
a091c2b8fc
Order errors by descending id
...
Usually it is the latest errors that are interesting for the user.
2024-09-25 09:56:50 +02:00
Maxime Richez
348ea5c5bb
Extend domain to reschedule not yet done shipment
...
Closes #13536
2024-09-20 14:58:46 +02:00
Cédric Krier
008c1688bf
Set employee when changing company only if the user has one available value
2024-09-25 12:44:11 +02:00
Cédric Krier
37c44ffbde
Add simple list view for company and employee
...
The views have only the record name field so they can be used in Many2Many to
not display extra information.
2024-09-25 12:33:56 +02:00
Cédric Krier
e06b0dce8e
Set default companies and company for user only if there is one company
2024-09-25 12:24:54 +02:00
Cédric Krier
18f0801e60
Use design to fill companies and employees first on user form
...
To make it obvious that companies and employees must be filled first, they are
displayed first and the company and employee fields are hidden if there is no
values to select.
2024-09-24 19:31:56 +02:00
Cédric Krier
464eb3e572
Allow switching to non-form view even if no record is selected
...
Closes #13511
2024-09-24 17:23:12 +02:00
Cédric Krier
e5e17ab699
Remove shortcut hint in undelete button of One2Many
...
The shortcut is already explained in the help pop-up.
2024-09-24 15:51:14 +02:00
Cédric Krier
dd9ad81995
Add restore button on Many2Many widget
2024-09-24 15:50:18 +02:00
Cédric Krier
f496ca79d6
Disable remove button of Many2Many if all selected records are already removed
2024-09-24 14:55:14 +02:00
Cédric Krier
158069f42b
Activate delete and undelete buttons of One2Many depending of the selected records
...
If there are no deleted records selected, the undelete button is disabled and
if there are only deleted records selected, the delete button is disabled.
2024-09-24 14:54:11 +02:00
Cédric Krier
34d34b682c
Ensure current record is in the tree view selection
2024-09-24 14:46:39 +02:00
Cédric Krier
148f0cc5ce
Keep current record if it has not been destroyed after removal
...
This allows to keep selected the removed record on the xxx2Many widgets such
that it is easy to undo the removal.
2024-09-24 12:10:24 +02:00
Cédric Krier
92192b789a
Use One2Many length to set sensitivity on next/previous buttons
...
Closes #12950
2024-09-24 11:26:14 +02:00
Cédric Krier
e59d01aead
Enforce agent type on agent selection
2024-08-25 20:37:47 +02:00
Cédric Krier
373cfe75cc
Show products on agent form
2024-08-25 20:37:14 +02:00
Cédric Krier
267380a266
Allow agent to be deactivated
...
Closes #13282
2024-08-25 20:36:32 +02:00
Cédric Krier
aab7a7de97
Allow admin users to update invoice tax description and legal notice
...
Closes #13554
2024-10-01 15:31:05 +02:00
Cédric Krier
3fc39d0433
Reset cancelled invoice to posted when unpaid
...
Closes #13509
2024-09-13 15:30:26 +02:00
Sergi Almacellas Abellana
781856a3c9
Remove company domain from price list action window
...
Closes #13416
2024-07-23 11:12:24 +02:00
Nicolas Évrard
87ce09a7c7
Deactivate only the class buttons in x2M widgets
...
Closes #13530
2024-09-19 11:09:47 +02:00
Cédric Krier
d13f40521f
Remove print statement in exception handling of cron's run
2024-10-06 12:20:13 +02:00
Cédric Krier
2b9e1086a5
Use better name for the invoice account variable to compute remainder amount
2024-09-27 19:29:23 +02:00
Cédric Krier
6d5879cdb3
Add test scenario to defer invoice all at once
...
#13547
2024-09-27 19:28:27 +02:00
Cédric Krier
a69fffce46
Exclude the move which defer the invoice line amount
...
The move to defer amount must be created before creating the period move in
case we need to compute the remainder amount on the first run.
Closes #13547
2024-09-27 19:28:03 +02:00
Cédric Krier
68d093189a
Consider as loaded the fields marked as modified
...
As the load method skips setting modified fields, so they are not and will
never be marked as loaded.
2024-10-02 12:07:48 +02:00
Cédric Krier
6f372e2b92
Check load of only fields being validated
...
Closes #13556
2024-10-02 12:05:16 +02:00
Cédric Krier
db99bb6801
Do not copy origin of stock moves in each shipment
...
The ShipmentMixin is also used by the production which does not have a moves
field.
Closes #13555
2024-10-01 18:32:18 +02:00
Cédric Krier
a87be1db6a
Do not return empty for planned deliver date of purchase line when it is in the past
...
Closes #13298
2024-09-07 14:00:50 +02:00
Cédric Krier
48568f7856
Do not return today planned shipping date of sale line when in the past
...
Closes #13298
2024-09-07 13:59:57 +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
Cédric Krier
514495cf1e
Rename "Product Quantities By Warehouse" into "Stock Quantities By Warehouse"
2024-09-14 13:07:43 +02:00
Cédric Krier
26f1f8fda6
Remove "Lots By Warehouse" relate
...
It is not very useful and the same view can be opened from the stock location
relate.
2024-09-14 13:00:53 +02:00
Cédric Krier
ca6bb39948
Rename "Locations * Quantity" into "Stock Locations *"
2024-09-14 12:51:16 +02:00
Cédric Krier
62e2e4f62e
Document viewing stock levels of lots
2024-09-14 12:39:28 +02:00
Cédric Krier
916a3ef855
Rename "Lots by Locations" into "Lots"
...
As the locations are added to the tab name, there is no need to specify that it
is "by Locations".
2024-09-14 12:39:07 +02:00
Cédric Krier
a65c9879dd
Rename "Products by Locations" into "Products"
...
As the locations are added to the tab name, there is no need to specify that it
is "by Locations".
2024-09-14 12:38:24 +02:00
Cédric Krier
d9b275e181
Move "Open Lines" button to product price list module
...
Closes #13527
2024-09-18 18:14:58 +02:00
Cédric Krier
e54322910c
Filter shipment moves before sorting them in the getters of Function field
...
This way the filtering can benefit of the cache alignent before the order of
the list is modified.
Closes #13526
2024-09-18 13:51:16 +02:00
Cédric Krier
1f0afd17a7
Iterate only once to sort records by order clauses
...
Instead of sorting the list multiple times applying order clause one by one in
reverse order, the list is sorted only once using a key composed of all the
order clauses.
An operator is used to reverse the comparison instead of using the reverse
keyword argument of sorted.
Closes #13525
2024-09-18 13:46:10 +02:00
Cédric Krier
e0be630f42
Do not export selected records by default when there is no record selected
2024-09-17 18:17:58 +02:00
Cédric Krier
15c468a860
Use dedicated buttons for CSV import and export
...
Closes #10115
2024-09-17 17:24:36 +02:00
Cédric Krier
4e37fb2039
Keep CSV export window opened
...
Closes #13521
2024-09-17 16:50:50 +02:00
Cédric Krier
dba33cbb64
Prevent modification of the stock lot of stock move done or cancelled
...
Closes #13520
2024-09-17 15:49:46 +02:00
Cédric Krier
37022fff21
Prevent deletion of stock lot used for stock move
...
Closes #13519
2024-09-17 15:48:01 +02:00
Cédric Krier
67daf2085b
Use correct binary operator for PYSON Greater and Less
...
Opposite binary operators were commit in b71b2417c4bc.
2024-09-28 16:51:26 +02:00
Cédric Krier
2e9117f6c4
Synchronise PYSON code to represent params
...
Different versions of the code were commit in e2bb5ac20d22
2024-09-28 16:50:07 +02:00
Cédric Krier
c0077445d0
Check that rec_name is searchable on searchable model
2024-09-10 15:40:19 +02:00
Cédric Krier
16136ab2af
Add searcher for name of sale reporting per region
...
Closes #13466
2024-09-10 15:38:44 +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
Cédric Krier
68ae551752
Add test for fmany2one field
2024-09-19 13:34:15 +02:00
Cédric Krier
f147c94118
Fill the source value of fmany2one in create and write methods
...
We can not rely on the Function field setter to set the value because it may be
too late if the source field is required and for composite key, a partial
update may not be a valid foreign key.
Closes #13522
2024-09-19 13:31:59 +02:00
Cédric Krier
513043dd6a
Always validate record synchronously
...
Closes #13497
2024-09-06 17:47:00 +02:00
Sergi Almacellas Abellana
a87099396c
Clear employee fields when duplicating invoices
...
Closes #13471
2024-09-28 15:19:35 +02:00
Sergi Almacellas Abellana
da4f361d23
Show complete button on shipped shipments
...
Closes #13455
2024-08-21 10:32:12 +02:00
Sergi Almacellas Abellana
e411698df0
Clear packages when copying shipments
...
Closes #13454
2024-09-28 14:24:03 +02:00
Adrià Tarroja Caubet
68d4cc4cc7
Save party configuration after replacing vat identifiers
...
Closes #13387
2024-07-03 14:14:49 +02:00
Cédric Krier
8d9da767bb
Do not try to assign currency id to the invoice if the currency has not be found
...
Closes #13538
2024-09-20 15:52:43 +02:00
Cédric Krier
6bda7c336f
Do not format discount with currency if there is no currency
...
Closes #13531
2024-09-19 19:30:06 +02:00
Cédric Krier
8523552c12
Test invoice of invoice line before using it to compute remaining quantity
...
Closes #13534
2024-09-19 19:14: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
Sergi Almacellas Abellana
38dbf23c3d
Remove unexisting model keyword from msg_size_validation catalan translation
...
Closes #13516
2024-09-17 10:42:45 +02:00
Cédric Krier
6e798f98fc
Test if origin id is greater or equals to 0 before accessing the target record
...
Closes #13498
2024-09-09 12:46:16 +02:00
Cédric Krier
04f378c503
Add example for connection to PostgreSQL with OS user name
2024-09-24 10:09:46 +02:00
Cédric Krier
3d8fcb97bd
Start PostgreSQL URI path with a '/'
...
Since https://github.com/python/cpython/issues/76960 if the path of the URI
does not start with a '/', the netloc is removed.
Closes #13543
2024-09-24 10:19:57 +02:00
Cédric Krier
19153c0ab5
Do not copy origin of stock inputs and outputs when duplicate productions
2024-09-06 13:32:08 +02:00
Cédric Krier
eeb9ba5650
Do not copy origin of stock moves when duplicate shipments
...
Closes #13496
2024-09-06 13:31:44 +02:00
Cédric Krier
899d9db2ee
Format quantities of over shipment warning message with the unit
2024-09-06 10:09:14 +02:00
Cédric Krier
52a03f03df
Do not format quantities with digits in over shipment warning message
...
The rounding, due to the number of digits, may display an confusing message
for which both quantities are the same.
Closes #13495
2024-09-06 10:08:09 +02:00
Cédric Krier
60683dc14d
Round up the measurements for package shipping APIs
...
Closes #13494
2024-09-05 13:47:53 +02:00
Maxime Richez
c7177facfe
Do not reset non-existent fields on requisition in draft state
...
Closes #13532
2024-09-19 13:55:32 +02:00
Cédric Krier
62b079225f
Remove $ before series in formatted document URL without base URL
2024-09-03 17:55:42 +02:00
Cédric Krier
858757c5d7
Update scenario for the merge of warehouse_location and storage_location in order point
...
fb59b06d251b merged both fields into a single location field.
#13476
2024-09-24 18:41:47 +02:00
Cédric Krier
effe2f74e2
Do not fail to clean fields from missing model from the pool
...
Closes #13504
2024-09-12 13:17:37 +02:00
Cédric Krier
8f4e926c81
Add setup indexes method to ModelSQL
...
As __setup_indexes__ is always called on all the ModelSQL once they have been
setup in the pool, this ensures that the definition of indexes is
deterministic.
Also it provides a new hook to customize indexes after the default
definitions.
Closes #13299
2024-08-31 21:13:55 +02:00
Cédric Krier
eefdb714b1
Group accounts per company when computing the balance, debit or credit
...
The Move.query_get relies on the contextual company to filter the lines.
So when computing an amount for an account, its company must be in the context
of the query_get call otherwise no lines will be selected and the amount is
always 0.
Closes #13483
2024-08-30 12:50:29 +02:00
Cédric Krier
c47fc79f06
Link stock moves with invoice lines only for the same quantity sign as the order line
...
When invoice lines are created to correct invoices quantity, it should not be
linked to stock moves because it comes from a stock move being cancelled.
Closes #12972
2024-08-27 13:24:29 +02:00
Cédric Krier
4a14245e10
Ensure effective date is before or after origin or outcome stock moves
...
When the source of the move is the same as the destination of its origin or
outcomes, the stock move can not be done before those moves.
When the destination of the move is the same as the source of the its origin
or outcomes, the stock move can not be done after those moves.
Closes #12851
2024-08-26 22:53:34 +02:00
Cédric Krier
2dfc489ea0
Add outcome moves to stock move
...
It contains the stock moves for which the stock move is the origin.
2024-08-26 22:49:51 +02:00
Cédric Krier
6177198b64
Remove favorite management
...
Since 8976c8708997 user has no write access to any favorites.
But the user can add/remove favorites from the menu entry which is enough for
most of the use case.
Closes #13335
2024-08-27 00:29:10 +02:00
Cédric Krier
a38fc477f5
Remove sequence order on menu favorite
...
Instead we order the favorites of a user by descending id. Such that the last
favorite set is the first from the list. So user can put a favorite back on
top by unset a menu and set it again.
2024-08-27 00:16:24 +02:00
Cédric Krier
50122462ed
Display favorite users on menu form
2024-08-27 00:11:50 +02:00
Adrià Tarroja Caubet
9828450d2f
Display user on menu favorite list
...
Closes #13246
2024-08-27 00:04:46 +02:00
Cédric Krier
39b05c1259
Replace order point uniqueness validation by SQL constraints
...
Closes #13476
2024-08-26 19:02:39 +02:00
Cédric Krier
07eb4dc3f9
Simplify PYSON expression of order point fields
2024-08-26 19:01:42 +02:00
Cédric Krier
564598270f
Remove contextual domain on company of order point
2024-08-26 19:00:34 +02:00
Cédric Krier
f3565271a7
Merge warehouse_location and storage_location in order point
...
#13476
2024-08-26 19:08:39 +02:00
Cédric Krier
1be542991a
Add test scenario for extended intrastat export
2024-09-22 15:13:38 +02:00
Maxime Richez
a7dba58f95
Remove extra columns from Belgian standard intrastat export
...
Closes #13368
2024-09-22 15:08:43 +02:00
Cédric Krier
1da4e8811e
Group numbering account move when posting
2024-08-27 13:35:18 +02:00
Cédric Krier
0d077539bf
Store computation of invoice sequence type as cache after numbering
...
Closes #12080
2024-08-25 13:08:56 +02:00
Cédric Krier
b1ba498b87
Group numbering invoices
...
Closes #12080
2024-08-25 12:42:57 +02:00
Cédric Krier
97ac57e1e9
Group numbering shipments
2024-08-25 12:18:07 +02:00
Cédric Krier
4f4c5e811d
Group numbering sale subscriptions
2024-08-25 12:17:52 +02:00
Cédric Krier
0c8a24533c
Group numbering sale blanket agreements
2024-08-25 12:17:35 +02:00
Cédric Krier
2daea7a961
Group numbering sales
2024-08-25 12:17:14 +02:00
Cédric Krier
91106c596d
Group numbering purchase request quotations
2024-08-25 12:16:59 +02:00
Cédric Krier
daabf44acf
Group numbering purchase blanket agreements
2024-08-25 12:16:36 +02:00
Cédric Krier
cae99922de
Group numbering purchases
2024-08-25 12:16:12 +02:00
Cédric Krier
3ee4a0febd
Group numbering productions
2024-08-25 12:15:56 +02:00
Cédric Krier
46b6c17595
Group numbering of account assets
2024-08-25 12:15:39 +02:00
Cédric Krier
7bafe98a0c
Group generation of stock lot number
2024-08-25 11:02:33 +02:00
Cédric Krier
3d7a9e22f4
Group numbering POS sale
2024-08-25 11:02:05 +02:00
Cédric Krier
5e61338bda
Generate all gift card numbers at once
2024-08-25 11:01:36 +02:00
Cédric Krier
ead6ea96dd
Group generation of BOM's code at creation
2024-08-25 11:00:20 +02:00
Cédric Krier
10949e13fa
Group generation of product code at creation
2024-08-25 10:59:44 +02:00
Cédric Krier
b468d3e762
Group generation of product category code at creation
2024-08-25 10:59:20 +02:00
Cédric Krier
911861837a
Group generation of party code at creation
2024-08-25 10:58:36 +02:00
Cédric Krier
2c87de506c
Group numbering account move at creation
2024-08-25 10:58:04 +02:00
Cédric Krier
b595b68b79
Support getting many sequences at once
...
Closes #13474
2024-08-25 11:02:42 +02:00
Cédric Krier
546247b635
Add sequence_nextval function to Database
2024-08-24 15:44:06 +02:00
Cédric Krier
f3485d10cf
Remove nonexistent sequence from purchase request quotation line view
...
Closes #13541
2024-09-22 18:21:25 +02:00
Cédric Krier
5dc10a92e1
Do not update multivalue record if the value is not modified
...
When a ValueMixin is used for many MultiValue fields, they are created with
default values when the first MultiValue is set.
But often the other MultiValue fields are set with the default value so by not
forcing the change, we avoid a unnecessary UPDATE query.
2024-09-22 12:42:42 +02:00
Cédric Krier
445df1ccc5
Cache all the records of ValueMixin without a Many2One
...
Closes #6984
2024-08-23 17:31:02 +02:00
Cédric Krier
88ed73598b
Add __slots__ to ValueMixin
2024-08-23 17:29:52 +02:00
Cédric Krier
8c7034ed1a
Display cache name on unique instance assertion
2024-08-23 17:28:43 +02:00
Cédric Krier
d8e6b42c58
Save generated avatar in a single call
...
Instead of saving the avatar on each record which result in an UPDATE query
for each record, grouping the saving of the avatars allows to INSERT multiple
row at once.
Closes #13472
2024-08-23 15:25:16 +02:00
Cédric Krier
07e582e395
Test more attributes in test_view
...
Closes #13462
2024-09-11 17:51:49 +02:00
Cédric Krier
34d7fd19c4
Make package measurements read-only when closed
2024-09-07 17:57:44 +02:00
Cédric Krier
38bb6cada6
Add sale reporting per promotion
2024-09-05 19:28:51 +02:00
Cédric Krier
e495d2dbfa
Support POS sale line columns defined before mixin is applied
...
The mixin is applied after the Model so if another module wants to extend the
method, the method may be in the super class.
2024-09-05 19:27:36 +02:00
Cédric Krier
6451c3f157
Add relate from promotions to sales
2024-09-05 12:39:05 +02:00
Cédric Krier
b3e4b7330e
Improve label of destination in party replace ask form
2024-09-03 12:00:43 +02:00
Cédric Krier
e6e93134e4
Add missing copyright notice to party replace ask form
2024-09-03 12:00:17 +02:00
Cédric Krier
8b8e54df23
Enforce randomness on unspecified value of scheduled task
...
Closes #13484
2024-08-30 17:52:43 +02:00
Cédric Krier
546e8c92f5
Group links from the same area together
2024-08-29 15:57:31 +02:00
Cédric Krier
6ac7de5098
Update test scenario to use two Many2Many for handling exceptions
...
#8142
2024-09-20 00:48:48 +02:00
Cédric Krier
b3794e1151
Fix documentation about Views menu
2024-09-18 09:44:20 +02:00
Cédric Krier
90f6084c87
Replace menu entries for view configuration by relate on model in the documentation
...
#12995
2024-09-18 09:43:59 +02:00
Cédric Krier
3651b9d7d4
Replace menu entries for view configuration by relate on model
...
#12995
2024-08-27 13:14:18 +02:00
Cédric Krier
b5f2946b0a
Add foreign keys for model to view search
2024-08-27 11:07:36 +02:00
Cédric Krier
2d12c5ce74
Add foreign keys for model and field to view tree state
2024-08-27 10:57:26 +02:00
Cédric Krier
a4a97c9369
Rename view id from view tree optional into view
2024-08-27 10:47:25 +02:00
Cédric Krier
5aa6ae9118
Add model and foreign keys to view tree optional
2024-08-27 10:40:49 +02:00
Cédric Krier
885e40d4be
Add button to update Braintree customer
...
Closes #13469
2024-08-22 18:39:53 +02:00
Cédric Krier
ee3deba96b
Raise error when updating Braintree customer
...
#13469
2024-08-22 18:36:19 +02:00
Cédric Krier
3abe5f6fc5
Add button to update Stripe customer
...
Closes #13468
2024-08-22 18:33:39 +02:00
Cédric Krier
8468d694ac
Raise error when updating Stripe customer
...
#13468
2024-08-22 18:33:16 +02:00
Cédric Krier
b222ab29f9
Improve exception handling wizard
...
We use two Many2Many fields to let the user explicitly fill them with the
records to ignore or recreate.
Any cancelled records that have not been added to one of the fields, will stay
in exception to be proceeded later.
Closes #8142
2024-08-21 17:33:14 +02:00
Cédric Krier
da0479c619
Compare selection and model of multiselection with the same type
...
The selection can be a list of tuple or a list of list.
2024-08-27 20:41:31 +02:00
Cédric Krier
44019be668
Display checkbox on multiselection
...
This removes ambiguity between the multiselection widget and the other
xxx2Many that already has checkboxes.
Closes #13458
2024-08-21 10:57:07 +02:00
Cédric Krier
b73e9ca7f1
Toggle the option's selected state of multiselection on mouse down
...
This provides a more intuitive behavior for user.
Closes #13459
2024-08-21 12:58:30 +02:00
Cédric Krier
ac7fdeb988
Add selection checkbox to display selected state of treeview rows
...
Closes #13457
2024-08-21 12:46:39 +02:00
Cédric Krier
9dc25266b0
Implement a strategy of O(n) to find the best combination of lines to reconcile
...
The combination implementation is replaced by strategy that search the
smallest remaining from the order lines by removing the last debit or credit
depending on the remaining sign.
Closes #13451
2024-08-19 23:58:41 +02:00
Cédric Krier
c384f8e658
Add cache to get_groups of actions
2024-09-12 16:55:53 +02:00
Cédric Krier
098458daa8
Move all access checks of report to check_access method
2024-09-12 16:45:34 +02:00
Cédric Krier
754a868bdf
Test execute report without model access
2024-09-12 16:36:42 +02:00
Cédric Krier
bb8b4cb235
Test execute wizard without access
2024-09-12 16:36:22 +02:00
Cédric Krier
e4bd186091
Test create session for wizard without access
2024-09-12 16:36:04 +02:00
Cédric Krier
c59503910a
Use proper placeholder to format message about wizard access error
...
Closes #13507
2024-09-12 16:34:58 +02:00
Cédric Krier
2bce5d7240
Retrieve groups of actions without checking access
...
Closes #13506
2024-09-12 16:33:03 +02:00
Cédric Krier
a75f6b3f9c
Test access to report execute
2024-09-12 16:10:29 +02:00
Cédric Krier
b32cbb18a9
Check read access of report records
...
Closes #13505
2024-09-12 16:09:39 +02:00
Cédric Krier
9cec77a88c
Add payment amount cache to account move line
...
Closes #13407
2024-07-22 12:12:07 +02:00
Cédric Krier
60c719d830
Use sub-query clause to filter accounts when searching amount to pay
...
As the number of accounts should be much smaller than the number of lines, it
is more efficient to use a sub-query than joins.
#13407
2024-07-19 18:06:49 +02:00
Cédric Krier
9f02f354db
Add index on payment for join in searcher of amount to pay
...
#13407
2024-07-19 18:04:50 +02:00
Cédric Krier
2af3624e7d
Support JSONB when migrating quality operations
...
Since 33c7f6e19680 JSONB is used by default for MultiSelection.
Closes #13500
2024-09-11 16:05:50 +02:00
Cédric Krier
3e638151f7
Update only the control with the operations value to update when migrating
...
Closes #13499
2024-09-11 16:03:19 +02:00
Cédric Krier
1c5e39702c
Do not recommend inactive product
...
Closes #13477
2024-08-26 17:04:05 +02:00
Cédric Krier
75bfe10ab8
Do not check www.iso20022.org URLs
...
The site seems to block bots.
Closes #13487
2024-09-01 10:38:18 +02:00
Cédric Krier
8a59023e1c
Use reference instead of link for documentation about paying an invoice
...
Closes #13486
2024-09-01 10:34:22 +02:00
Cédric Krier
b5cbde9a9a
Do not check unece.org URLs
...
UNECE has added a CAPTCHA in front of their website.
Closes #13485
2024-09-01 10:29:45 +02:00
Cédric Krier
3b139f4cb5
Remove unnecessary parenthesis in cron documentation
...
Closes #13502
2024-09-12 08:36:06 +02:00
Cédric Krier
aac6fbd1b8
Set alias to the balance expression of amount query for budget line
...
Since 530295147233 AmountMixin.get_amount uses sqlite_apply_types which
requires columns of select query to have an alias to apply the type for
SQLite.
Closes #13491
2024-09-04 01:29:57 +02:00
Cédric Krier
8f96e4af72
Unify email terminology
...
Closes #13463
2024-08-22 09:52:06 +02:00
Cédric Krier
34d429558b
Add cost prefix to all sale shipment cost fields
...
This improves the naming convention and avoid collisions or
misinterpretations.
2024-08-20 13:13:32 +02:00
Nicolas Évrard
aa56b367d2
Raise the original RPCException when handling it in RPCProgress
...
Closes #13385
2024-09-08 17:25:20 +02:00
Maxime Richez
8b1b2ceefe
Do not copy shipment costs when copying sale
...
Closes #13384
2024-09-08 16:59:17 +02:00
Maxime Richez
e151499adc
Do not copy cost shipments when copying invoice lines
...
Closes #13372
2024-09-08 16:56:17 +02:00
Cédric Krier
f0b313bfb5
Forbid editing cron when it is running
...
Closes #13447
2024-08-09 16:21:18 +02:00
Cédric Krier
b14bcea3c1
Store last cron durations
...
Closes #13445
2024-08-09 10:40:18 +02:00
Cédric Krier
4fe02eee89
Do not add extra line for product that is not active nor salable
...
Closes #13479
2024-08-26 17:02:00 +02:00
Cédric Krier
de52bfeeb1
Do not fetch all order points when generating production requests
...
Instead we load only the order point of the products for which we calculate
the production requests.
2024-08-26 19:24:26 +02:00
Cédric Krier
66112f503b
Do not fetch all order points when generating purchase request
...
Instead we load only the order point of the products for which we calculate
the purchase requests.
2024-08-26 16:39:06 +02:00
Cédric Krier
ff46d1f321
Do not copy order points when copying products
...
Closes #12287
2024-08-26 16:36:18 +02:00
Cédric Krier
767e1cf8d2
Simplify domains and states of commission to use Function fields instead of _parent
2024-08-23 01:17:21 +02:00
Cédric Krier
44e98af02b
Use principal with the same company as the product context
...
Closes #13470
2024-08-23 01:16:26 +02:00
Cédric Krier
7d14ec5830
Remove saved record from the group if the parent record is not saved
...
This prevents to keep displaying removed records from a Many2Many on a wizard
and optionally on an unsaved record.
Closes #13461
2024-09-08 00:48:45 +02:00
Cédric Krier
f350adcee3
Remove "Parties associated to Purchases" menu entry
...
Closes #6935
2024-08-06 16:51:57 +02:00
Cédric Krier
78d659b48d
Remove "Parties associated to Sales" menu entry
...
Closes #6935
2024-08-06 16:51:41 +02:00
Cédric Krier
12e3c5de7c
Use incoterm from invoice line origin if there are no incoterm on stock moves
...
Closes #13353
2024-09-07 18:31:04 +02:00
Sergi Almacellas Abellana
067ba46713
Round TipoImpositivo key to two decimal places
...
Closes #13014
2024-06-07 11:44:38 +02:00
Sergi Almacellas Abellana
074c173753
Set routing on production request supplied on sale
...
Closes #13295
2024-09-07 11:27:39 +02:00
Cédric Krier
1fcd308aa6
Use MatchMixin to get product bom
2024-09-07 11:20:52 +02:00
Cédric Krier
a4eb342cd7
Retry to get a connection when an OperationalError is raised
...
If there are no connection available in the pool, psycopg2 tries to create a
new connection but it may raise an OperationalError if the server close it.
Closes #13475
2024-08-26 09:33:58 +02:00
Cédric Krier
958090cc27
Search on location of inventory when searching the inventory location of lines
...
Closes #13464
2024-08-22 11:31:10 +02:00
Cédric Krier
3239549b99
Do not include cancelled moves in measurements
...
Closes #13439
2024-08-05 19:07:01 +02:00
Cédric Krier
ea4782565a
Store internal measurements for final states of shipments
...
This prevents the searcher to compute the sum for all the shipments with a
join to all the stock moves.
Closes #13438
2024-08-06 08:24:46 +02:00
Cédric Krier
05b5a79564
Support list as search operand on shipment measurements
...
Closes #13437
2024-08-05 18:53:34 +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
Adrià Tarroja Caubet
ba02686320
Remove redundant product kit scenario testing duplicate
...
Closes #12880
2024-09-01 12:24:29 +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
Adrià Tarroja Caubet
c1f60725c5
Do not copy project works nor progresses when copying invoice line
...
Closes #13369
2024-08-30 23:57:05 +02:00
Sergi Almacellas Abellana
706bd182c7
Fix typo on web user invalid email error message
...
Closes #13405
2024-07-19 13:48:36 +02:00
Nicolas Évrard
53bb613564
Implement __deepcopy__ on ImmutableDict
...
Closes #13408
2024-07-19 19:04:01 +02:00
Cédric Krier
63c6eacc89
Retry JSON-RPC requests on Service Unavailable
...
Closes #13139
2024-08-07 16:07:18 +02:00
Cédric Krier
c3e4788a2b
Add timeout option to show processing label
2024-08-07 16:05:43 +02:00
Cédric Krier
f3c5f401a3
Search on customer id when searching by record name of Braintree customer
2024-08-22 18:41:43 +02:00
Cédric Krier
deb0eb5d78
Search on customer id when searching by record name of Stripe customer
2024-08-22 18:41:31 +02:00
Cédric Krier
c8464cd945
Add SQL constraint to ensure only one tax line without period
...
TaxLine.update_cash_basis relies on having only one line without period per
grouping key so it is safer to make it a SQL constraint.
2024-08-01 23:43:43 +02:00
Cédric Krier
ef5d8d53ac
Update tax cash only for invoices with payment lines modified
...
Closes #13433
2024-08-01 23:26:49 +02:00
Cédric Krier
2197eb153c
Set only the missing tax amount on the current period
...
The ratio is computed for all the existing periods with payments, so when
updating for a new period only the part that is not yet on a period should be
modified.
Closes #13433
2024-08-01 23:24:54 +02:00
Cédric Krier
112bfd25c4
Move tax rule pattern from stock move to invoice line
...
Since fea57ac2ca9d the taxes for consignment invoice lines are computed by the
invoice line and no more by the stock move.
Closes #13432
2024-08-01 16:04:41 +02:00
Cédric Krier
a2dfc4455b
Refine index definition
...
- Set low and high cardinality to index usage
- Use Range usage for numerical expression instead of Equality
2024-07-27 18:36:14 +02:00
Cédric Krier
234daa0f99
Add cardinality option to Index Usage
...
Closes #13426
2024-07-27 17:49:13 +02:00
Cédric Krier
084cd424ce
Use more accurate threshold between update or rebuild of MPTT
...
Closes #13422
2024-07-27 11:55:20 +02:00
Maxime Richez
4244ad305d
Use today as planned date for assigned move in stock moves by warehouse
...
Closes #13417
2024-07-23 16:19:09 +02:00
Cédric Krier
4b32fabdc7
Remove optional from company agent
...
The type string is supposed to be followed by the company name.
2024-08-06 17:38:10 +02:00
Cédric Krier
01574e6700
Add searcher to summary fields
...
Closes #13401
2024-07-18 10:12:04 +02:00
Cédric Krier
337dc832e0
Add package weight as shipping method criteria
...
Closes #13390
2024-07-04 18:25:59 +02:00
Cédric Krier
0f0fe9053c
Add warehouse as shipping method criteria for Sendcloud
...
The available methods may depend on the sender address which comes from the
warehouse.
Closes #13389
2024-07-04 17:10:42 +02:00
Cédric Krier
40732da51d
Do not set unit price for production input move in test scenario
...
Since 23a3a9ed13d7 the unit price must be empty when not required.
Closes #13453
2024-08-21 19:25:16 +02:00
Cédric Krier
684a4e7aa0
Use column name to load field when copying selected rows with not loaded fields
...
Closes #13443
2024-08-07 19:02:49 +02:00
Adrià Tarroja Caubet
2fce001bcd
Fallback to 0 when time series value is None
...
Closes #13373
2024-08-21 09:05:33 +02:00
Cédric Krier
f3188ab177
Do not copy button into clipboard
...
Closes #13442
2024-08-07 18:58:41 +02:00
Cédric Krier
bb533d1a94
Convert to string the action key when the type of x axis is date or datetime
...
Closes #13440
2024-08-07 17:25:45 +02:00
Cédric Krier
6f7109b317
Consider as stringable domain with empty clause
...
Closes #13414
2024-08-07 16:34:09 +02:00
Adrià Tarroja Caubet
78f0aae2e2
Use empty string for empty descriptions to construct grouping key
...
Closes #12952
2024-08-18 14:25:54 +02:00
Cédric Krier
d0c5188641
Enforce empty price on stock move when not required
...
Closes #13382
2024-07-19 13:14:58 +02:00
Cédric Krier
e84fec0f84
Close connection when listing or testing PostgreSQL databases
...
Closes #13441
2024-08-07 17:49:10 +02:00
Cédric Krier
be68d7ad69
Use a separate browse list to compute amounts from non cached states
...
The browse record list loops over the ids of the list to complete the read
batch. So move the record without cache at the end does not prevent to read
the lines of the first records with cache. A separate browse list must be used
for the records without cache to prevent to read lines from record with cache.
Closes #13396
2024-07-27 10:16:51 +02:00
Cédric Krier
48ad8ebb02
Add filtered One2Many fields on sale, purchase and invoice
...
This allows to create only instances for the lines of type line when only
those lines are needed.
This mainly avoid to compute amount for subtotal lines when accessing the
amount of instance of type line.
2024-06-22 16:50:48 +02:00
Cédric Krier
07f5e3faaa
Allow only sale and purchase lines of type line as origin of stock move
2024-06-22 16:51:52 +02:00
Cédric Krier
17476c5844
Return definition translations from the underlying field of Function field
...
Closes #13356
2024-06-21 18:49:51 +02:00
Cédric Krier
3d9852c008
Set product range index last for stock move
...
As product clause are reduced ids, they have less chance to be usable than the
date which is often a single value.
2024-06-19 13:23:57 +02:00
Cédric Krier
3ca4615b32
Add location and use product range in stock period cache index
...
The cache is always filtered by location and the product is often filtered
with reduced ids.
2024-06-19 12:44:33 +02:00
Cédric Krier
9a4051ab8c
Add company to the stock move indexes
...
Almost all the queries on stock move filter by company.
2024-06-18 20:33:41 +02:00
Cédric Krier
6d219e96f3
Do not add period query to the union if there is no period
...
There is no cache record without period so there is no need to add the query
to the UNION.
2024-06-18 20:32:09 +02:00
Cédric Krier
e00fd063c5
Reuse simple COALESCE expression to filter moves after stock period
...
The expression must be the same as the one in the indexes such that the
indexes can be used to directly filter out all the moves before the period.
This restores the original expression that was changed by e4431b79e409 for the
generic move_date. But by design there can not be any assigned move planned
before the closed period.
2024-06-18 20:29:31 +02:00
Cédric Krier
642c3cd8db
Add United Kingdom Unique Taxpayer Reference identifier
...
Closes #11870
2024-07-18 17:01:15 +02:00
Cédric Krier
fc8130e7c4
Raise a warning when submitting complaint for the same origin
...
Closes #13360
2024-06-25 16:57:02 +02:00
Cédric Krier
b41ee38f1a
Allow copying move from closed period
...
Closes #13361
2024-06-26 09:39:26 +02:00
Cédric Krier
b1e1034db1
Update documentation of account statement CODA
2024-08-10 15:49:36 +02:00
Cédric Krier
683f94238f
Update documentation of account invoice line standalone
2024-08-08 23:25:23 +02:00
Cédric Krier
d40c0968ab
Update documentation of account invoice secondary unit
2024-08-08 23:28:03 +02:00
Cédric Krier
b4ba3202e7
Use moveable types from sale line for Shopify Inventory Item
2023-11-18 00:25:19 +01:00
Cédric Krier
4fd13555f4
Add movable field on sale and purchase line
2023-11-18 00:24:33 +01:00
Cédric Krier
0590d00404
Update documentation of account payment SEPA CFONB
2024-08-08 23:34:44 +02:00
Cédric Krier and David Harper
21776a54da
Update documentation of account payment Braintree
...
Co-authored-by: David Harper <dave@libateq.org >
2024-08-08 23:32:38 +02:00
Cédric Krier
a3d5c74c87
Update documentation of account invoice history
2024-07-29 23:40:44 +02:00
Cédric Krier and David Harper
358ee29fef
Update documentation of account invoice correction
...
Co-authored-by: David Harper <dave@libateq.org >
2024-08-08 23:21:00 +02:00
Cédric Krier and David Harper
67bfcde06f
Update documentation of infrastructure
...
Co-authored-by: David Harper <dave@libateq.org >
2024-08-07 23:24:57 +02:00
Cédric Krier
a080a11b3e
Allow configuring TinyMCE license key
2024-06-25 09:37:31 +02:00
Cédric Krier
23d3ce2edf
Merge edit and translate button for HTML widget
...
Closes #13383
2024-07-02 15:58:15 +02:00
Cédric Krier
5b23e66b10
Manage default value for client selection
2024-07-02 15:57:48 +02:00
Cédric Krier
6b15a5c680
Make radio input of selection unique on the page
2024-07-02 15:58:40 +02:00
Cédric Krier
629c864ff0
Use max_content_length of werkzeug Request
...
Werkzeug provides a way to restrict request content size which does not rely
on Content-Length header.
2024-05-05 00:18:23 +02:00
Cédric Krier
9f4885629a
Do not hide HTTP Exception in RPC protocols
2024-05-05 00:06:09 +02:00
Cédric Krier
20a3f53d2b
Do not filter with context lines for aged balance
...
Closes #12210
2024-07-26 23:25:02 +02:00
Cédric Krier
147be849f4
Prevent reconcile lines using write-off with the same account
...
Closes #13425
2024-07-27 15:15:55 +02:00
Cédric Krier
87cfa6281c
Set popup property to false when opening Many2One in a new tab
...
There is no callback to reset popup to false in this case.
Closes #13370
2024-07-19 09:13:24 +02:00
Cédric Krier
63d20a42fa
Do not run concurrently tests for some modules
...
Closes #13395
2024-07-14 09:20:25 +02:00
Cédric Krier
4eb4c7de07
Use boolean type to toggle URL button visibility
...
Closes #13399
2024-07-16 16:19:14 +02:00
Cédric Krier
115b1e0aee
Unify message ID when creating invoice tax on non draft invoice
2024-07-27 10:23:30 +02:00
Cédric Krier
04f803bac3
Fix message ID when creating invoice tax on non draft invoice
...
Closes #13402
2024-07-27 10:22:32 +02:00
Cédric Krier
127c93caaa
Select only id from query of ModelSQL.search
...
Closes #13421
2024-07-26 23:00:05 +02:00
Sergi Almacellas Abellana
ab907730e0
Update SII documentation link
...
Closes #13430
2024-08-01 10:16:01 +02:00
Cédric Krier
4d8805d432
Get product supplier from the same party as the purchase request
...
Closes #13424
2024-07-27 12:16:41 +02:00
Cédric Krier
e90bb34f8b
Test if a product supplier was found before using it
...
Closes #13423
2024-07-27 12:13:12 +02:00
Sergi Almacellas Abellana
da5d756f32
Update documentation of stock lot module
2024-07-22 13:07:10 +02:00
Sergi Almacellas Abellana
47392d8a04
Compute lot trace document using sql expression
2024-07-22 12:24:34 +02:00
Sergi Almacellas Abellana
d83ed4e37c
Show inventory as document on lot trace
...
Closes #12929
2024-07-30 08:36:27 +02:00
Cédric Krier
a272672f9c
Update documentation of French account
2024-07-29 17:02:29 +02:00
Cédric Krier
260fa76c83
Update documentation of German Account SKR 03
2024-07-24 12:00:02 +02:00
Cédric Krier
0d6eab8829
Update documentation of account deposit
2024-07-24 12:55:38 +02:00
Cédric Krier
bc8ff46a59
Update documentation of European account
2024-07-29 13:31:28 +02:00
Cédric Krier
a821fcd7ea
Fix label of asset sequence field of configuration
2024-07-24 11:31:05 +02:00
Cédric Krier
85ddcbd92f
Update documentation of account asset
2024-07-22 17:24:28 +02:00
Cédric Krier
583082cf7b
Fix typos in Belgium account documentation
2024-07-29 13:32:26 +02:00
Sergi Almacellas Abellana
a4e568738b
Allow admin users to update invoice line description
...
Closes #13277
2024-05-23 11:14:22 +02:00
Sergi Almacellas Abellana
30d8036d88
Test invoice state on payment clearing scenario
...
Altougth the amount to paid is always zero the invoice state is updated
when the payment is succeded, so we must ensure it on the test scenario
2024-04-17 12:46:11 +02:00
Adrià Tarroja Caubet
f780ea15d7
Simplify statements validation messages
2024-05-21 10:11:05 +02:00
Adrià Tarroja Caubet
0ccab09c1d
Clarify removal of paid invoices affects only draft statements
...
Closes #12957
2024-02-14 11:35:19 +01:00
Cédric Krier
e8acbc6a8c
Index invoice and shipment state partially on their own state
...
Closes #13365
2024-06-26 18:37:26 +02:00
Cédric Krier
f5d32c78b6
Do not update indexes if not explicitly requested or modules are not updated
...
Closes #13400
2024-07-22 18:22:29 +02:00
Cédric Krier
e3172b2dc5
Check every rows are selected to keep global selection checked
...
Closes #13393
2024-07-05 15:15:28 +02:00
Cédric Krier
c058c1791d
Update selection after new rows has been added
...
The update selection method check the number of row in tbody.
Closes #13392
2024-07-05 10:36:07 +02:00
Cédric Krier
61c57bb841
Send package weight in kilograms to Sendcloud
...
Since a3e3a447615f, the unit of total weight for a package can be configured.
Closes #13391
2024-07-04 18:32:56 +02:00
Cédric Krier
e08a8ba208
Remove horizontal padding to panel body of tabs
...
This provide more horizontal spaces on small screen.
2024-06-19 20:13:48 +02:00
Cédric Krier
eb69b1385b
Limit width of tab-domain to the screen width
...
On small screens when the number of tab domain overflow, it is better to have
the scrollbar only on the tab domain element.
2024-06-19 20:12:45 +02:00
Cédric Krier
31e17281e2
Do not display responsive scrollbar on small screen
...
The responsive tables have never a scrollbar so it is better to free the
vertical space.
2024-06-19 20:11:01 +02:00
Cédric Krier
bce384083e
Do not set column-reverse for panel body of tabs on small screen
...
We can rely on the implementation of 3742dd6340ec to have the treeview to fill
the available vertical space.
Closes #13349
2024-07-12 17:38:49 +02:00
Cédric Krier
625abc476f
Update documentation for Belgian Account
2024-07-23 17:35:07 +02:00
Cédric Krier
e047988aff
Return null for empty MultiSelection key of Dict widget
...
This is more consistent with the other widgets.
2024-06-30 01:57:44 +02:00
Cédric Krier
df1fdfaf0d
Do not store empty list for MultiSelection key of Dict
...
Closes #13376
2024-06-30 01:55:55 +02:00
Cédric Krier
c94900b2de
Do not iterate over MultiSelection value of Dict key if it is null
...
Closes #13375
2024-06-30 01:53:24 +02:00
Cédric Krier
bfdd8924a3
Do not allow to mutate dict value
...
A copy of the value is always returned so if it is modified it does not modify
the internal value of the record.
So to update Dict value, a new dictionary must be set on the field.
Closes #13374
2024-06-30 01:49:42 +02:00
Cédric Krier
8b3d5e603b
Improve tax identifiers test
2024-07-18 17:14:59 +02:00
Adrià Tarroja Caubet
06778fb081
Fix internal for Uruguay Tax Number
...
Closes #12941
2024-07-18 16:38:51 +02:00
Adrià Tarroja Caubet
2ae871ae9f
Add more tax identifiers
...
Closes #12940
2024-07-18 17:12:02 +02:00
Adrià Tarroja Caubet
2ce93f01d9
Test if tax identifiers are also declared as identifiers
2024-05-21 10:01:52 +02:00
Cédric Krier
55acbadcf2
Keep retrying on 429 error from Sendcloud
...
Closes #13388
2024-07-03 19:46:50 +02:00
Cédric Krier
04ce1a0456
Add option to create direct debit based on balance
...
Closes #13084
2024-03-08 18:45:37 +01:00
Cédric Krier
935299cd64
Always require a party for reception of direct debit
2024-03-08 18:26:32 +01:00
Cédric Krier
d1c62a0727
Add searcher for payment currency of account move line
2024-03-08 18:23:26 +01:00
Cédric Krier
2eeb55a107
Create payment only for the first matching party reception of direct debit
...
Closes #13086
2024-03-08 18:22:37 +01:00
Cédric Krier
fcace41a1b
Included nested fields when searching invoice payments on move line
...
Closes #13377
2024-06-30 13:04:45 +02:00
Cédric Krier
009c7afa12
Set shipment cost currency to company currency when allocate account shipment cost
...
Closes #13367
2024-06-27 11:56:05 +02:00
Cédric Krier
6996b5ad30
Test taxes are set in sale converted from opportunity
2024-06-25 18:45:28 +02:00
Cédric Krier
ee42028769
Set company in the context of product from opportunity line
...
Closes #13297
2024-06-25 18:44:57 +02:00
Cédric Krier
13c4ed1c0b
Sum only invoice lines of type line to update untaxed amount
...
Closes #13357
2024-06-22 16:46:54 +02:00
Cédric Krier
ca69c82273
Add Stripe pull button to payment
...
This may be useful if events have been missed.
2024-06-21 14:29:26 +02:00
Cédric Krier
90fbb99ed2
Do not update payment if amount or status from Braintree has not changed
...
If payment create clearing moves, this avoid to cancel and recreate account
moves unnecessary.
2024-06-21 14:32:15 +02:00
Cédric Krier
45ca2b0343
Test account payment Stripe for refund failure
...
#13355
2024-07-14 02:18:38 +02:00
Cédric Krier
52404aba1a
Update payment using stripe charge object on refund failure
...
The refund may fail after the charge.refunded has been triggered.
Closes #13355
2024-06-27 17:32:22 +02:00
Cédric Krier
653c50f2a6
Add property to retrieve stripe charge object
2024-06-21 14:16:32 +02:00
Cédric Krier
f0e2696b9a
Allow stripe refund to transition from succeeded to failed
...
For asynchronous charge the refund may fail after being succeeded.
#13355
2024-06-21 14:26:49 +02:00
Cédric Krier
4216dfdc7b
Do not always update stripe amount with amount received on payment intent succeeded
...
The amount received is never updated once the payment intent has been created.
So we should update the payment amount only if the amount received is less
because the payment amount may have been already reduced by refunds.
#13355
2024-06-21 14:19:20 +02:00
Sergi Almacellas Abellana
0c5707f0fe
Unify reopen usage
2024-07-13 19:54:41 +02:00
Maxime Richez
b8d9b593a8
Remove default planned date on supplier shipment
...
Closes #12966
2024-07-13 19:31:46 +02:00
Sergi Almacellas Abellana
a65866e59b
Add reference and warehouse fields to the list of purchase request quotations
...
Closes #13021
2024-07-13 13:52:53 +02:00
Cédric Krier
6e2c910539
Fix typo in numeric field comments
2024-07-13 15:35:33 +02:00
Cédric Krier
d78dfc75a8
Cast numeric columns for order expression on SQLite
...
Closes #13397
2024-07-13 15:35:01 +02:00
Sergi Almacellas Abellana
0bcfb7b427
Add warning to backup database before update
2024-07-13 12:14:29 +02:00
Cédric Krier
508ca25607
Update UPS shipment API to v2403
...
It is the only valid values for now even if v1 seems to still work.
2024-06-17 10:51:59 +02:00
Cédric Krier
61c81e54e8
Use JSON error messages on response with error status from UPS
...
Closes #13341
2024-06-17 10:50:26 +02:00
Cédric Krier
19fc61e696
Commit reaadonly transaction before starting the new transaction for indexes
...
The readonly transaction used to load modules may have read lock that dead
locks the new transaction to create indexes.
Closes #13347
2024-06-18 20:42:13 +02:00
Cédric Krier
85a5a09a53
Fill models with indexes when database is not updated but indexes
...
Closes #13347
2024-06-18 20:41:06 +02:00
Cédric Krier
9424176aa3
Expand vertically document object as much as possible
...
Only a minimal height is required.
2024-07-11 10:20:09 +02:00
Cédric Krier
d47992cdab
Set bottom border on attachment preview only on xs
...
It is only on xs that the preview is put on top and thus requires a
separation.
2024-07-11 10:18:51 +02:00
Nicolas Évrard
93a95bbf4e
Allow resizing the attachment preview panel
...
Closes #13234
2024-07-11 10:21:11 +02:00
Cédric Krier
5823bce6cf
Add tools to apply types to SQLite select queries
2024-07-04 08:45:19 +02:00
Cédric Krier
f5e33378be
Set type declaration in column names of SQLite only on top-level query
...
Closes #12532
2024-06-30 16:25:41 +02:00
Cédric Krier
2144389096
Do not try to set focus to <td> without child
...
Closes #13394
2024-07-09 10:18:30 +02:00
Cédric Krier
29291130fc
Use identifier code to fill siren company substitution
...
Closes #13366
2024-06-28 09:27:25 +02:00
Juan Jose Pablos
c18c390973
Update documentation of notification email
2024-07-09 22:29:47 +02:00
Cédric Krier
d95bf48e93
Allow Account group to run open type wizard
...
As account group has only read access to account type, it needs to be given
access to the open type wizard to run it.
Closes #13342
2024-06-17 15:40:28 +02:00
Cédric Krier
a7b64d2afd
Set default value for web shop on product image to False
2024-06-14 10:03:33 +02:00
Cédric Krier
3360de4a98
Match product image against None
...
Closes #13337
2024-06-14 10:03:07 +02:00
Juan Jose Pablos
fbe87b99c8
Replace link to configuration document by ref to labels
2024-07-08 19:00:26 +02:00
Cédric Krier
376dbeddb5
Clear cached amount when resetting to draft sale, purchase and purchase requisition
...
Closes #13296
2024-06-13 12:34:50 +02:00
Cédric Krier
09985de225
Always clear cached amount before storing it
...
This is safer as if for some reason the cache is filled with wrong data, the
values will be fixed instead of keep propagating it.
2024-06-13 12:32:08 +02:00
Cédric Krier
347a161353
Do not copy cached amounts of sale, purchase and purchase requisition
...
Closes #13336
2024-06-13 12:11:51 +02:00
Cédric Krier
2049c0f376
Manually handle hiding of bootstrap Modals in search
...
Closes #13330
2024-06-11 09:41:46 +02:00
Cédric Krier
8141bec786
Use search text when clicking on find button of search window
...
Closes #13329
2024-06-11 09:33:47 +02:00
Cédric Krier
79901931fc
Use decompress method from gzip
2024-05-04 18:46:01 +02:00
Cédric Krier
5af12a226e
Compress RPC responses
...
Closes #13235
2024-05-04 18:43:27 +02:00
Cédric Krier
0807b42e87
Do not run menu action if the menuitem is disabled
...
The click event can still be triggered by the shortcut or event by clicking on
the disabled menuitem. So the callback must not run the action if the menuitem
is disabled.
Closes #13326
2024-06-10 18:01:03 +02:00
Cédric Krier
72e5a47ea2
Improve label of split shipment wizard
2024-06-25 12:28:55 +02:00
Cédric Krier
ebad3b8faf
Add tests to carrier module
2024-07-07 14:26:34 +02:00
Cédric Krier
6ef34db291
Do not compute carrier price without a company in the context
...
Closes #13364
2024-06-26 13:37:01 +02:00
Cédric Krier
cc08b1c624
Save template before using it in product image attribute tests
...
This prevents the warning about unsaved relation record.
Closes #13380
2024-07-01 13:23:16 +02:00
Cédric Krier
3b5bb8f76a
Save records before using them as many2one in Vue Storefront web shop
...
This prevents the warning about unsaved relation record.
Closes #13379
2024-07-01 13:09:28 +02:00
Cédric Krier
396ebaf2af
Test if main_menu_screen is filled before using it when destroying wizard dialog
...
Closes #13363
2024-06-26 13:07:53 +02:00
Cédric Krier
f0b1c9d590
Align label in the middle of image
2024-06-25 12:28:11 +02:00
Cédric Krier
575d1d0132
Change _changed_values and _save_values properties to method
...
Closes #13317
2024-06-09 19:54:52 +02:00
Cédric Krier
95f9a21426
Add default timeout to read and export_data RPC entries
...
Closes #13218
2024-04-26 12:30:49 +02:00
Cédric Krier
bd9be5aace
Add transaction timeout to export data route
...
Closes #13217
2024-04-26 12:30:11 +02:00
Cédric Krier
b47072feb8
Add timeout option to with_transaction wrapper
2024-04-26 12:29:34 +02:00
Cédric Krier
bff6733ca7
Set focus on search entry after search
...
Closes #13328
2024-06-11 09:29:57 +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
Cédric Krier
e59a24de94
Fix test_document_from_inbound_email of document_incoming
...
Closes #13319
2024-06-09 17:41:59 +02:00
Cédric Krier
40af8dc4ee
Fix test_assign_try_with_lot of stock_lot
...
Closes #13318
2024-06-09 17:29:22 +02:00
Cédric Krier
948c375e59
Save party before saving bank created from BIC
...
This prevents the warning about unsaved relation record.
2024-06-09 15:03:51 +02:00
Cédric Krier
390310d7de
Do not save invoice sequence in set_invoice_sequences tests
...
This prevents the warning about unsaved relation record as the fiscal year is
not yet created.
2024-06-09 14:58:34 +02:00
Cédric Krier
5fa6e8533b
Add missing documentation of ExtensionTestCase
2024-06-09 12:45:58 +02:00
Cédric Krier
36f3adca1e
Add TestCase to filter warnings with TEST_PYTHONWARNINGS
2024-06-09 12:45:39 +02:00
Cédric Krier
685411cf9a
Catch and test warning for using an unsaved relation record
2024-06-08 17:37:35 +02:00
Cédric Krier
11ef2ba54c
Replace deprecated datetime.utcnow usage
...
Closes #12647
2024-06-15 11:01:41 +02:00
Cédric Krier
951001cd35
Remove warnings for unsupported features of SQLite table handler
...
There is no need to raise warnings as the API is called by ModelSQL and the
user has not control over it.
2024-06-08 17:21:59 +02:00
Cédric Krier
5b253450a3
Fix test_set_key of FieldDictTestCase
...
Closes #13314
2024-06-08 17:19:40 +02:00
Cédric Krier
5b17010a9f
Replace default sqlite3 adapters and converters
...
The defaults are deprecated since Python 3.12
Closes #13313
2024-06-08 17:18:03 +02:00
Cédric Krier
30fa01a012
Use a dedicated page on product form for web shop fields
2024-06-06 12:21:10 +02:00
Cédric Krier
a7d4ae446a
Add test scenario to inventory count with lot
2024-06-30 19:16:48 +02:00
Sergi Almacellas Abellana
1ab12f3e87
Display lot of counted inventory line
...
Closes #13083
2024-06-30 19:16:05 +02:00
Nicolas Évrard
68360837be
Use a grid to display dictionaries
...
Closes #13120
2024-06-30 01:39:08 +02:00
Cédric Krier
5a6017afdc
Disable user select for any theme
2024-06-03 17:00:50 +02:00
Cédric Krier
66b4a3a2a8
Make message dialog content selectable
...
Closes #7560
2024-06-03 17:29:16 +02:00
Cédric Krier
01c1966ba8
Add relate from sale and purchase lines to stock moves and invoice lines
2024-06-03 13:14:03 +02:00
Cédric Krier
2244c964fe
Add "Stock" prefix to stock move labels
2024-06-03 10:48:34 +02:00
Cédric Krier
71c4f6e185
Add configuration for report convert command
...
Closes #13292
2024-05-31 19:35:02 +02:00
Cédric Krier
01aa71bf3d
Remove "include list of currencies" from documentation
2024-06-01 19:01:14 +02:00
Cédric Krier
761e47c825
Update links in Chorus Pro documentation
2024-06-01 10:54:29 +02:00
Cédric Krier
8f68b65879
Wait for expected inventory levels number in test scenario
...
Closes #12794
2024-06-23 08:35:43 +02:00
Cédric Krier
29cf9e102a
Allow payment with amount equals to 0
...
This is needed for integration with some services for which a payment fully
refund is updated with an amount of 0.
Closes #13351
2024-06-21 14:39:25 +02:00
Cédric Krier
59b74452e6
Add test scenario for reconciliation of empty lines on posting
2024-06-28 01:00:22 +02:00
Richard Vong
e48510503f
Do not try to reconcile posted lines without debit/credit but with second currency amount
...
Closes #13293
2024-06-28 00:59:01 +02:00
Cédric Krier
cd1c57dddf
Use UPSERT to update cache
2024-06-23 08:39:41 +02:00
Cédric Krier
c1310f677a
Add unique constraint on cache name
2024-03-30 16:13:30 +01:00
Cédric Krier
7dfd4292e9
Remove extra query that retrieve cache timestamp twice
2024-03-30 16:09:07 +01:00
Cédric Krier
c028397262
Try to update next call of skipped cron tasks
2024-05-08 10:07:09 +02:00
Cédric Krier
a84cb45141
Compute next call of cron task using actual now
...
If the cron task took more time then the repeating delay, it is not useful to
reschedule it in the past.
2024-04-03 16:30:46 +02:00
Cédric Krier
339ee1867d
Use process pool to run cron
...
Closes #13053
2024-04-03 16:28:22 +02:00
Cédric Krier
f9b50f16bf
Lock only running cron record
...
A single transaction is used to lock, run and update the cron record.
Only the cron run is locked so other cron processes could run other cron
tasks.
When fixing transaction, we ensure that the same cron record is selected again
otherwise we restart with an empty transaction setup the selection process.
If a cron record fails to execute, it is ignored from the selection for this
run.
The run stops once there is no cron record that can be selected.
Closes #13158
2024-05-07 19:44:35 +02:00
Cédric Krier
3369d98de2
Add option to skip tests that require network
2024-05-20 12:20:00 +02:00
Cédric Krier
822e716070
Add language support per field in export data
...
Closes #13266
2024-05-19 19:58:16 +02:00
Cédric Krier
e98b1f2559
Add translated descriptor for Char and Text fields
2024-05-18 19:06:00 +02:00
Cédric Krier
76b60d19ec
Do not close import window on error
...
Closes #8202
2024-05-27 16:32:58 +02:00
Cédric Krier
7e0caccd67
Include row and column in error message when importing data
2024-05-27 16:24:47 +02:00
Cédric Krier
922925c151
Remove support for :id suffix in import data
...
Closes #13189
2024-05-27 16:25:33 +02:00
Cédric Krier
db97bdca70
Raise user error when import data with wrong number of columns
2024-05-27 14:54:03 +02:00
Cédric Krier
57e59ac67d
Add secondary unit to purchase amendment
...
Closes #13256
2024-05-21 18:56:20 +02:00
Cédric Krier
bbd5e521f3
Add secondary unit to sale amendment
...
Closes #13256
2024-05-21 18:56:03 +02:00
Cédric Krier
6ffe8bcea0
Enforce secondary unit rate and factor on sale and purchase line
2024-05-21 16:30:46 +02:00
Cédric Krier
77363b377f
Optimize and simplify search query for invoice amount
...
There is no need to include record rule clause in the searcher.
And the grouping can be done only once.
2024-04-28 17:28:58 +02:00
Cédric Krier
1c9740fd2f
Do not use a Form to get the menu Screen
...
When the screen is created by a Form, it fetches the resources when a record
is selected. But this is not needed for the menu as it has no menu bar.
2024-05-10 16:32:31 +02:00
Cédric Krier
43599f9927
Use SQL query to compute reconciliation lines of invoices
...
Closes #13260
2024-05-16 16:06:49 +02:00
Cédric Krier
c54d3e89ec
Extract SQL query for lines to pay of invoices
2024-05-16 14:47:22 +02:00
Hartmut Goebel
dd01b75956
Update documentation of LDAP authentication
2024-06-20 13:13:17 +02:00
Cédric Krier
7acc539f85
Do not test network client in unittest
...
The services are not reliable enough to be tested as unittest.
Closes #13264
2024-05-22 09:20:01 +02:00
Cédric Krier
b00015d85a
Do not update shipment cost method to Null if it is already Null
...
The migration update the sales already updated each time the sale is
registered. On large table, this can be slow.
2024-06-13 17:26:01 +02:00
Cédric Krier
e58215ae2b
Set focus to the first focusable child of the cell
...
Closes #13327
2024-06-10 20:04:39 +02:00
Cédric Krier
31653d99a3
Disable input and buttons on form view when there is not record displayed
...
The input icons are replaced by button so they can be disabled.
The search filter is hidden in xxx2Many widgets when there is no record to
display.
Closes #13287
2024-06-05 18:16:03 +02:00
Cédric Krier
74d3d230bd
Fix python formatting for missing account revenue message in Spanish
...
Closes #13322
2024-06-10 17:31:00 +02:00
Cédric Krier
1d906921b3
Eager load other fields only if they share the same views
...
We do not want to eager load fields that are only set on form view even if it
cost a second read for the fields that are only on the list view.
Closes #13281
2024-05-26 15:55:09 +02:00
Cédric Krier
03408fe463
Do not re-select all records if current record is empty and selection is checked
...
This happens when the current record is removed when it is deleted.
Closes #13325
2024-06-10 17:23:18 +02:00
Cédric Krier
bac3536b4c
Store readonly attribute on Screen with a default value
...
Otherwise the attribute value may be undefined instead of being a boolean.
Closes #13324
2024-06-10 17:17:27 +02:00
Cédric Krier
342d5eb6ed
Always update state of delete and undelete buttons in window form
...
Closes #13323
2024-06-10 17:13:03 +02:00
Cédric Krier
26896b5da6
Use only the readonly from group in Window Form
...
Since 12e08efd3872 the readonly of the Screen depends on the selected records.
But we still wants to save the modification from the Window Form even if a
deleted record is selected.
Closes #13321
2024-06-10 17:09:41 +02:00
Cédric Krier
c86bfec305
Set 100% width to input-group of form-text and form-richtext
...
Otherwise if the widget is not translated, the textarea does not expand.
Closes #13320
2024-06-10 17:02:56 +02:00
Cédric Krier
47e0befb92
Set EV_BACKENDS_DIR to the backends directory of evince
...
Closes #13309
2024-06-07 20:48:09 +02:00
Cédric Krier
5c9e6c44eb
Add logging when Evince can not open a document
2024-06-07 20:45:33 +02:00
Cédric Krier
fe432dab2d
Do not fail to remove temporary files at exit
...
On Windows PermissionError may be raised.
Closes #13308
2024-06-07 20:44:51 +02:00
Cédric Krier
f065ef4ff9
Use file from the Binary field to display document
...
On Windows the file used to create the Evince document must be kept after the
initialization.
Also reusing the file cache mechanism of the Binary field, prevents to create
temporary files on each call of display.
Evince document needs to have the proper extension to be sure to load the
proper backend. So the cache file must be retrieved with the requested
extension.
And finally we use Document.factory_get_document_full so if leading with the
filename extension does not work, it will try to guess from the data.
Closes #13307
2024-06-07 20:42:40 +02:00
Cédric Krier
6fc993f82a
Always use an offset of 2 to update visible cells
...
View Tree has always two table header for the selection state and the tree
menu.
2024-06-19 16:16:04 +02:00
Cédric Krier
801d087411
Replace to_hide and to_show jQuery object with .add result
...
jQuery.add returns a new jQuery object from the union and do not modify the
existing ones.
2024-06-19 16:14:55 +02:00
Cédric Krier
8903615bfa
Find table cell from tbody
...
View Tree does not have a body attribute.
2024-06-19 16:12:16 +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
Cédric Krier
acaeaf1eff
Do not correct normalized delta when start date is February 29
...
Closes #13310
2024-06-08 12:10:40 +02:00
Cédric Krier
6e4f8a09c3
Set custom string on label of the form instead of field
2024-06-03 13:24:19 +02:00
Cédric Krier
f0936ef64c
Ignore production request when searching for draft production moves in the past
...
Closes #13269
2024-05-27 23:46:47 +02:00
Cédric Krier
ac75f5f371
Add searcher to production of stock move
2024-05-27 23:45:48 +02:00
Cédric Krier
98f057e41b
Apply access rules when searching for draft production moves in the past
...
Closes #13284
2024-05-27 23:34:31 +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
Sergi Almacellas Abellana
732af53046
Replace Accounting Party by Accounting group
...
There is no need to use a dedicated group for party fields as it can use the
Accounting group
2024-05-13 14:11:20 +02:00
Cédric Krier
09976345fe
Convert image in RGBA to add background using alpha composite
...
Closes #13316
2024-06-09 01:49:57 +02:00
Cédric Krier
347a816156
Do not include WHERE clause to constraint if it is None
...
Closes #13315
2024-06-09 01:45:21 +02:00
Cédric Krier
dfb3bc9337
Test Shopify fulfillment status to be fulfilled when backorder is cancelled
...
Shopify has changed the fulfillment status when products are removed from the
order.
Closes #13221
2024-06-08 13:29:30 +02:00
Cédric Krier
4466c4305a
Search records for calendar view using date value if the field is a date
...
Since bb3cb0d30686, it is not allowed to use a datetime value on a Date field.
Closes #13300
2024-06-05 19:32:50 +02:00
Cédric Krier
db9becfd6d
Exclude records without dtstart or dtend from calendar view
...
Closes #13302
2024-06-06 10:01:55 +02:00
Cédric Krier
36dee8a853
Bind callback to the attachment window when dropping file as attachment
...
Closes #13182
2024-06-05 18:38:58 +02:00
Cédric Krier
bec3fff190
Handle invalid email in trytond-admin command
...
The email value is validated by the command line parser.
And the interactive input loop until a valid email is entered.
Closes #13294
2024-06-02 11:38:06 +02:00
Cédric Krier
d011e4149e
Add export translations option to trytond-admin
...
Closes #13231
2024-05-01 20:08:15 +02:00
Cédric Krier
6f349d7e7f
Do not test file exists when opening it
...
The file_open tools may be used to create a file so it may not yet exist.
Also io.open will raise the proper exception if the file can not be open.
Closes #13230
2024-05-01 20:03:17 +02:00
Cédric Krier
928ca1dae1
Use empty string as fallback value for module path
...
The module path is used later to join path so it must be a string.
Closes #13229
2024-05-01 19:59:17 +02:00
Cédric Krier
e45ff0098b
Do not rely on locale from context as fallback format for date
...
Since 6c5f4d760e54, the locale key is removed from the RPC context so the
fallback for the date format must come from the translation utilities.
Closes #13290
2024-05-31 11:13:06 +02:00
Cédric Krier
8f49454f08
Test if main menu screen is not empty before using it in callback
...
The callbacks could be triggered after the main menu screen has been removed.
2024-05-28 16:51:24 +02:00
Cédric Krier
be9cc4daee
Test importing translated data
2024-05-22 18:08:12 +02:00
Cédric Krier
a976b965d8
Do not convert to False when importing translated translated which is empty
...
Closes #13276
2024-05-22 18:07:32 +02:00
Cédric Krier
bffc2c6ac5
Add test case for email tools
2024-06-07 09:56:33 +02:00
Cédric Krier
2f26c7c067
Allow formatting non ASCII email address
...
Closes #13241
2024-05-07 16:57:59 +02:00
Cédric Krier
5f934d2f30
Fallback to normalized email if there is no ascii available
...
Closes #13241
2024-05-07 16:56:51 +02:00
Cédric Krier
b3fd5364dc
Document that _rec_name must point to a Char field
2024-05-22 15:33:55 +02:00
Cédric Krier
525dd32ffb
Test every kind of getter of Function field
2024-05-20 23:17:20 +02:00
Cédric Krier
530f6cbf7f
Return proper dictionary structure for instance getter with names
...
Closes #13136
2024-05-20 23:16:39 +02:00
Cédric Krier
307e9f73f5
Do not rely on assigned quantity to supply on stock first
...
Closes #13279
2024-05-24 15:20:43 +02:00
Cédric Krier
25d0cb7787
Do not commit readonly transaction even with channel
...
Even if the backend allows NOTIFY query on readonly transaction, it is strange
to commit readonly transaction because the backend may not enforce the
readonly.
Also commit performs other actions that may not be wanted like commit
datamanager or clear cache.
A procedure that requires to perform a NOTIFY should have a non-readonly
transaction.
Closes #12542
2024-05-23 14:22:42 +02:00
Cédric Krier
f0f2294d2c
Use a readonly transaction to load module without update
...
Closes #12542
2024-05-23 14:18:51 +02:00
Cédric Krier
bf70e12f8f
Remove print statement when catching check vies exceptions
2024-05-23 14:23:52 +02:00
Cédric Krier
b708f5ff48
Put textarea and richtext under an input-group
...
If the widget is translatable, the translate button is an input-group-btn
which must be under the same input-group as the principal input.
Closes #13238
2024-05-14 19:44:39 +02:00
Cédric Krier
bcf87266c3
Allow web_shop as key for product image
...
Closes #13258
2024-05-14 15:25:22 +02:00
Cédric Krier
441abbfbf8
Delete purchase request when the product is deleted
...
Closes #12917
2024-05-11 11:58:40 +02:00
Cédric Krier
b8c759594e
Clear translations with invalid placeholders
2024-05-01 11:18:06 +02:00
Cédric Krier
91e95c52b5
Always return a promise from _update_completion
...
Closes #13280
2024-05-25 20:40:56 +02:00
Cédric Krier
9e759e9604
Sort posted lines to reconcile at last by party
...
The lines may or may not have a party depending on the account.
So the order key must avoid compare party instance with None value.
Closes #13268
2024-05-21 10:12:46 +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
Cédric Krier
660eafe90c
Add test scenario for production split
2024-05-20 20:35:26 +02:00
Cédric Krier
e1a63d4c39
Rename uom to unit in production split wizard
...
Closes #13263
2024-05-20 20:35:07 +02:00
Cédric Krier
3359b76579
Search tax identifier from the invoice party identifiers
...
Closes #13265
2024-05-20 14:26:21 +02:00
Adrià Tarroja Caubet
d590139f93
Update TinyMCE to version 7
...
Closes #8683
2024-05-07 00:29:45 +02:00
Cédric Krier
af50a2fd64
Insert new modules in ir_module table before registration
...
The ir.model* Models have foreign key constraint for the module column.
Closes #13244
2024-05-10 23:45:00 +02:00
Cédric Krier
76190b9e9d
Remove NOT NULL from create_uid and create_date in PostgreSQL init SQL
...
Those fields are not required.
2024-05-10 23:23:13 +02:00
Cédric Krier
2bc7969652
Fallback to the default language if it does not exist for product data feed
...
This avoid to fill the cache with unsupported languages.
2024-04-16 18:33:38 +02:00
Cédric Krier
cccdc1f1f7
Add scheduled task to update cached feeds
...
On large data set, generating the feed may take too long for an HTTP request.
So in this case user may want to update the cache with a scheduled task so the
requests are always answered directly using the cache.
2024-04-16 18:43:37 +02:00
Cédric Krier
215834f78f
Add code to production BOM
2024-05-14 08:58:04 +02:00
Cédric Krier
c1f3ddcd10
Unify logging message of bus
2024-05-09 17:01:28 +02:00
Cédric Krier
a5fcf23ad0
Save images with 300 dpi
...
Closes #13206
2024-04-20 12:29:34 +02:00
Cédric Krier
cd41ab4c5e
Always convert image to RGB format
...
Closes #13206
2024-04-20 12:26:21 +02:00
Cédric Krier
3800523d11
Move language field to the party header form
2024-05-09 12:07:48 +02:00
Cédric Krier
dea9cea516
Add description for image
...
Closes #13226
2024-04-30 12:58:04 +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
Cédric Krier
8e9d6712c9
Use sales field to relate from sale to invoices
2024-05-02 18:47:41 +02:00
Cédric Krier
97796eacd1
Use purchases field to relate from purchase to invoices
2024-05-02 18:47:16 +02:00
Cédric Krier
5b9cc03243
Add python-format flag to PO files
2024-05-01 19:13:04 +02:00
Cédric Krier
ed5f91a480
Forbid payment of zero amount
...
Closes #13031
2024-05-05 10:06:07 +02:00
Cédric Krier
196cfbeb0c
Do the marketing record activity in the queue
...
This avoid to block the cron for a long period if there is a lot of record
activities to process.
In case of failure the record activities will be retried. And in case of long
delay in the queue, the record activities will not be processed twice thanks
to the transition filter of the workflow and the lock when updating state
field.
Closes #13146
2024-03-30 12:03:30 +01:00
Cédric Krier
5035063b35
Check validity of description of move template
2024-05-10 16:06:31 +02:00
Cédric Krier
ecd252e48b
Raise user error when description of move template can not be formatted
...
Closes #13240
2024-05-10 16:05:33 +02:00
Cédric Krier
06270e6a7a
Use decimal 0 without digits as default value
...
If the digits of the field is 0, than using '0.0' trigger the validation error
introduced by 2be02f249a1d.
Closes #13197
2024-04-30 19:15:44 +02:00
Cédric Krier
5bc94899c7
Fill tax rule pattern of web shop with countries
...
When account_tax_rule_country is activated, the pattern must be filled with
from_country and to_country to compute the right tax.
Closes #13223
2024-04-29 18:08:39 +02:00
Cédric Krier
f4f0102d20
Do not convert sale unit price to sale unit of measure if empty
...
Closes #13213
2024-05-10 15:17:37 +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
Cédric Krier
1035df5340
Test if cache amount is null to include tax amount when searching for amount
...
Closes #13219
2024-04-28 17:30:17 +02:00
Cédric Krier
306f84c9d2
Clear company on the lot sequence in production scenario
...
Since 9191fe4b4da4, the sequence can not be restricted to a company.
Closes #13257
2024-05-14 08:56:28 +02:00
Cédric Krier
0442c7475b
Update reports to display company logo
2024-04-19 23:30:05 +02:00
Cédric Krier
254370278a
Add logo of companies
...
Closes #13205
2024-04-29 14:38:36 +02:00
Cédric Krier
e23c126c90
Cache http-v2 pip directory
...
Since pip 23.3 the HTTP requests are cached in a new directory.
2024-05-03 00:25:48 +02:00
Cédric Krier
4a6e8e5823
Set PIP_CACHE_DIR for job using pip
2024-05-03 00:19:28 +02:00
Hulala
1f74c18430
Close client tab with mouse middle click
2024-05-11 11:19:38 +02:00
Cédric Krier
cfc0cba290
Prevent to use sequence limited to company for stock lot
...
The lots are not linked to a company, neither the product so their sequences
should not to avoid access right errors.
Closes #13209
2024-04-24 00:05:10 +02:00
Cédric Krier
fbc0d82d6a
Support language suffix in CSV import
...
Closes #13141
2024-04-11 12:41:05 +02:00
Cédric Krier
891423c6b2
Set default value from account move using line field name
...
Some Function fields has the move as prefix which is removed when applied to
the move. But when setting default value for the line, the move prefix must
not be removed.
Closes #12967
2024-04-27 18:36:49 +02:00
Cédric Krier
f94f539158
Fix changelog of purchase request module
2024-04-30 01:47:22 +02:00
Cédric Krier
52d2b788d6
Use model reference of field to get model name for HTML editor
...
Since 8680316c6805 the model field stores only the string name of the model,
the foreign many2one must be used instead.
Closes #13239
2024-05-07 00:35:29 +02:00
Cédric Krier
9e6789f8c1
Ensure there is a company id in the context before testing as positive
...
Closes #13228
2024-05-02 18:55:04 +02:00
Cédric Krier
3b7fb6adca
Remove default value for unknown request_quotations field
...
Closes #13212
2024-04-30 18:29:24 +02:00
Cédric Krier
f859c8941d
Rename quality inspect wizard from Done to Completion
...
Following 64726d495038
2024-04-16 23:48:13 +02:00
Cédric Krier
c561ffc298
Unify logging message of modules
2024-04-13 10:52:08 +02:00
Cédric Krier
2eaf20a461
Add shipped state to customer shipment
...
Closes #13150
2024-05-06 00:34:03 +02:00
Cédric Krier
6f40ac5659
Add partial support for constraints with SQLite backend
...
The Unique and Exclude constraints can be enforced on SQLite backend with
UNIQUE INDEX as long as they do not use parameters.
2024-04-02 00:29:35 +02:00
Sergi Almacellas Abellana
ea01ba7d47
Add missing gettext to sao forgotten password button
...
Otherwise the text can not be traanslated
2024-04-18 17:54:52 +02:00
Cédric Krier
c80310c2dc
Add warning when changing credentials
...
Closes #13126
2024-03-25 14:24:55 +01:00
Juan Jose Pablos
981580a19c
Add labels in configuration documentation of trytond
2024-05-04 12:37:32 +02:00
Cédric Krier
cd8777277a
Update translations [skip ci]
...
Closes #13225
2024-04-30 13:09:39 +02:00
Adrià Tarroja Caubet
0506c86e8c
Add space after quote in message for no open fiscal year date
2024-04-30 09:44:04 +02:00
Cédric Krier
f100bb11ed
Use title case for button in wizard to handle purchase request cancellation
2024-04-21 12:18:38 +02:00
Cédric Krier
38a3a8e68e
Increase version number
2024-04-29 18:03:56 +02:00
Cédric Krier
a504f363cc
Add tag 7.2.0
2024-04-29 17:31:23 +02:00
Cédric Krier
2fc668b9f7
Prepare release 7.2.0
2024-04-29 17:31:11 +02:00
Cédric Krier
a9a5be0834
Add demo script
2024-04-28 13:58:17 +02:00
Cédric Krier
5f5a93617d
Fallback to store true for indexes command line option
...
BooleanOptionalAction does not exist on Python 3.8
2024-04-28 10:43:14 +02:00
Cédric Krier
b443997044
Update translations [skip ci]
2024-04-27 18:44:57 +02:00
Cédric Krier
4c5659e87c
Support loading plugins without sources
...
cx_Freeze include only the bytecodes version of the translation plugin.
Closes #13208
2024-04-23 13:38:29 +02:00
Cédric Krier
f5db4a5899
Use find_packages to fill packages for build_exe
...
Otherwise cx_Freeze does not include the translation plugin as it is
dynamically loaded.
Closes #13208
2024-04-23 13:19:54 +02:00
Cédric Krier
4acd946200
Use id as default payee value on pay invoice wizard
...
Closes #13140
2024-04-21 15:33:42 +02:00
Cédric Krier
ba6c36654c
Assert that xxx2many fields have an initial value to compute changes
...
The changed values relies on the initial value to compute the changes for
xxx2many fields. So we must ensure to have it if the field has been modified.
Closes #13099
2024-04-22 09:32:58 +02:00
Cédric Krier
787595125a
Depends on xxx2many fields when they are assigned by a change function
...
Closes #13099
2024-04-22 08:59:48 +02:00
Cédric Krier
681b5e7d64
Do not rely on taxes order to compare with default invoice line taxes
...
Since 6f4fa96a654c invoice line taxes are compared with the default taxes but
the order may not be the same.
The order on Many2Many is not relevant because the computation always sort
using Tax.sort_taxes.
2024-04-21 22:17:28 +02:00
Cédric Krier
1cb2174141
Trigger record saved after reload ids when execute button
...
The buttons of the toolbar must be updated after having saved the current
record.
Closes #13125
2024-04-21 15:23:18 +02:00
Cédric Krier
ed48f7e9dc
Simplify type test when screen execute button
2024-04-21 15:26:19 +02:00
Cédric Krier
8e211785e4
Ensure current record has been saved before execute button action
2024-04-21 15:25:14 +02:00
Cédric Krier
e09d6c6beb
Wait for display to finish when reloading record
2024-04-21 15:24:26 +02:00
Cédric Krier
dac0b9c0a7
Fallback to default model access if RPC request fails
2024-04-18 19:22:07 +02:00
Cédric Krier
0e81d2d158
Encode with gzip only if a session exists
...
Since 1923117e935d the server does not accept compressed content for
unauthenticated request.
2024-04-18 19:15:47 +02:00
Cédric Krier
490a5e2c6c
Do not display cancelled moves in shipment reports
...
Closes #13202
2024-04-18 14:49:49 +02:00
Cédric Krier
567719b1ab
Use shipment report mixin for delivery note
2024-04-18 14:49:14 +02:00
Cédric Krier
53c0edfe05
Use a set of models to compute cache key for record rules
2024-04-17 20:23:26 +02:00
Cédric Krier
38fe0c087a
Compute cache key for record rules using all models
...
As model can inherit the access rules from another, the key must include the
keys of those other models.
Closes #13162
2024-04-17 20:22:10 +02:00
Cédric Krier
d4248499ca
Use white background to remove alpha channel of images
...
Closes #13191
2024-04-11 15:19:41 +02:00
Cédric Krier
1ec445dbb1
Use strict locale parsing for date and datetime
...
Closes #12314
2024-04-11 13:04:01 +02:00
Cédric Krier
f3bcf05446
Include tax amount in shipping cost in product data feed
...
Closes #13173
2024-04-09 15:03:39 +02:00
Cédric Krier
8320379195
Compute sale price under the web shop context
...
Closes #13172
2024-04-09 13:25:35 +02:00
Cédric Krier
14c5a40342
Check only shipment with cost method 'order' to invoice shipment cost on order
...
If the sale is linked to a shipment with a different cost method than order,
it should not be considered to decide to invoice or not the sale shipment
cost.
Closes #13171
2024-04-08 17:45:01 +02:00
Cédric Krier
49bd15c94e
Fill tax rule pattern with default empty countries
...
A rule line for a country is not expected to be used when the country is
unknown.
Closes #13169
2024-04-08 12:13:33 +02:00
Cédric Krier
3bfc1e25d0
Limit template error to Genshi error in marketing activity and email validation
2024-04-05 00:35:19 +02:00
Cédric Krier
6d9f1c8d56
Raise user error on template error when render marketing activity or email
...
Closes #13163
2024-04-05 00:34:19 +02:00
Adrià Tarroja Caubet
e046274641
Clear view toolbar cache when email templates are modified
...
Closes #13072
2024-04-21 17:29:41 +02:00
Sergi Almacellas Abellana
a71931c15b
Add employee fields on invoice form
...
Closes #13128
2024-03-25 15:30:57 +01:00
Cédric Krier
f502095a4a
Set exact width for date, time and datetime widgets
...
Closes #13035
2024-04-15 00:30:28 +02:00
Cédric Krier
cd816227b3
Prevent to get user_id from request without view_args
...
If user_id is accessed before view_args has been setup, we should not cache
`None` as value but instead raise an exception.
The `user_id` may be accessed before the mapping if the request is logged
because the representation of the request used the `rpc_method` which needs to
parse the request data. But since 1923117e935d parsing compressed content is
only allowed for request with `user_id`.
So we can no more include the `rpc_method` is the request has not yet been
mapped and so it has a `view_args`.
Closes #13203
2024-04-18 19:28:04 +02:00
Cédric Krier
2500e09ce2
Use jQuery remove to remove children row elements
...
We can not rely on the row node to always have a parent node as toggle_row is
a callback to an event that can be executed after the row has already be
removed from the DOM.
Closes #13198
2024-04-16 09:16:24 +02:00
Cédric Krier
04fc53ce9a
Rename prefixes/suffixes as cells and make them private
2024-04-14 17:16:39 +02:00
Cédric Krier
0845b8c1fa
Set value in editable tree using the editable linked to the renderer
...
Closes #13078
2024-04-14 17:12:52 +02:00
Cédric Krier
8f97b59e25
Catch only RPCException on RPCExecute without exception processing
2024-04-14 11:18:31 +02:00
Cédric Krier
7d3dc69bd8
Always raise RPCException in RPCExecute
...
So when calling RPCExecute without processing exception, all exceptions can be
catch with RPCException.
Closes #12874
2024-04-14 11:07:33 +02:00
Cédric Krier
d1dbfd6a82
Parse text as datetime when it is a string
...
The on_paste method is calling value_from_text for each widget using the
string from the clipboard.
So textual value needs to be supported even for date and time widgets which
uses a cell renderer that provides datetime value.
Closes #12860
2024-04-14 10:56:27 +02:00
Cédric Krier
95aa57c72c
Test if current view is defined on screen before using it
...
Closes #13178
2024-04-13 15:35:15 +02:00
Cédric Krier
7af1012be3
Test if user has a company before using it in letter report
...
Closes #13174
2024-04-13 15:04:45 +02:00
Cédric Krier
b2ccdd1d9c
Use function to not copy custom report content
...
The Function fields are not copied so it is the storage field that must have a
default value.
Closes #13170
2024-04-13 15:00:52 +02:00
Cédric Krier
cf02996a09
Do not fail to get product location for shipment without warehouse
...
The warehouse of internal shipment is computed and may be empty if the from
location does not have a warehouse.
Closes #13129
2024-04-13 13:52:43 +02:00
Cédric Krier
e0801df2f6
Fix call to warn method of logger
...
Closes #13179
2024-04-11 19:46:48 +02:00
Maxime Richez
491fb6330b
Do not check access when checking warnings
...
Closes #13131
2024-04-15 16:22:05 +02:00
Maxime Richez
507079741c
Decorate pack button of customer shipment when extending it for shipping
...
Closes #13131
2024-04-15 16:20:31 +02:00
Adrià Tarroja Caubet
6d37785d85
Fix typo when searching euro to get intrastat currency
...
Closes #13201
2024-04-18 10:12:18 +02:00
Cédric Krier
c32a98f66c
Do not try to round or convert list price of project revenue
...
By using list_price_used we are sure to have a list price in the company
currency so there is not need for conversion.
Also list price of a product can be empty so we should not try to round it.
Closes #13110
2024-04-10 18:06:23 +02:00
Cédric Krier
dda35caa21
Test if queue batch is boolean
...
In Python bool type is a subtype of integer so it must be tested first.
Also by converting other types to int, we catch any other wrong types.
Closes #13133
2024-04-13 14:20:21 +02:00
Cédric Krier
1f2b9e15c3
Test using the icon name if it was loaded
...
Closes #13193
2024-04-11 19:29:30 +02:00
Cédric Krier
11b092a61b
Do not fail to compute record name of opportunity reporting without employee
...
Closes #13114
2024-04-10 18:13:54 +02:00
Cédric Krier
e69fbf7a9e
Convert recursive calls of reconcile accounts wizard into loop
...
The recursive calls may reach the Python recursion limit if there are a lot of
accounts and parties to process.
So converting the recursion into a loop prevent reaching this limit.
Closes #13164
2024-04-05 14:39:23 +02:00
Cédric Krier
de9136eed7
Do not accept compressed content from unauthenticated request
...
Closes #13142
2024-04-17 09:47:20 +02:00
Cédric Krier
4ecca33e0e
Do not fail when testing if account is set on invoice line for project
...
If there is no product defined on the project, the call to on_change_product
for the invoice line does not set the account field.
Closes #13111
2024-04-10 17:56:20 +02:00
Cédric Krier
1f470cb4d1
Return currency instance instead of id in party getter
2024-04-10 11:25:48 +02:00
Cédric Krier
b0335a27b0
Test if contextual company id is positive before using it
...
Closes #13176
2024-04-10 11:25:11 +02:00
Cédric Krier
bf7f66afe6
Set visibility property always to the entry widget
...
When the password widget has autocomplete activated, the entry is a combobox.
Closes #13166
2024-04-05 18:09:19 +02:00
Cédric Krier
b41e204d83
Do not hide visibility checkbox on readonly password
...
Closes #13165
2024-04-05 18:06:23 +02:00
Cédric Krier
8d4fd4ebb6
Fix setting view type attribute on Tab
...
Set nothing if there is no current tab and use the correct attribute to
retrieve the current view type.
Closes #13192
2024-04-11 19:26:13 +02:00
Cédric Krier
de7bd32700
Do not copy products, categories and images to web shop
...
Closes #13161
2024-04-04 15:55:01 +02:00
Cédric Krier
b0d38bd797
Set invoice progress of shipment cost line of sale always as 100%
...
Closes #13160
2024-04-04 15:13:36 +02:00
Cédric Krier
3a25fc0df9
Always return float for invoice or moves progress
...
The fields are Float so they must return a float.
2024-04-04 15:12:21 +02:00
Cédric Krier
07d0a29bdc
Do not accept anymore datetime with null time as date
...
Closes #13135
2024-03-27 12:42:24 +01:00
Maxime Richez
f2353c8f6a
Allocate also shipment cost of 0
...
Closes #13155
2024-04-13 19:13:44 +02:00
Sergi Almacellas Abellana
fc5edbbd8f
Include uom access rule under updatable data
2024-04-03 11:24:04 +02:00
Ahmed AlBoori
844c2b503a
Add scenario to test receivable rules on statement
...
#13063
2024-04-13 18:10:13 +02:00
Ahmed AlBoori
6d57f3498c
Use positional argument when applying account receivable rule
...
The ModelView.button decorator is expected first positional argument to be
named records so we can not use keyword argument in this case.
Closes #13063
2024-03-02 06:11:36 +03:00
Ahmed AlBoori
fbd83cfeb2
Correct Account Receivable Rule Model Name
...
Closes #13063
2024-02-28 23:33:19 +03: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
Cédric Krier
38037cb8c5
Reset sales to state quotation to avoid duplicate log entries
...
Closes #13159
2024-04-04 12:51:18 +02:00
Cédric Krier
b50911d36c
Do not deduce current payment from the amount of the sale
...
Closes #13157
2024-04-02 16:47:01 +02:00
Cédric Krier
70f068b318
Return False on the callback on readonly window Form
...
When a readonly Form is closed, the callback result should always be False as
the opened record has not changed.
Closes #13156
2024-04-02 16:39:06 +02:00
Cédric Krier
89c1127952
Enforce clearing account type only on draft payment
...
As the receivable, payable type may evolve over time, only draft state should
enforce it.
Closes #13145
2024-03-30 11:32:22 +01:00
Cédric Krier
79e5ab807d
Set posting employee only when using button
...
As the posted by employee field can not be modified once the invoice is
posted, the employee must be set only when it is an action of the user.
On processing the invoice, it is the internal posting method that must be used
so no employee is set nor any other warning checks.
Closes #13124
2024-03-25 10:17:35 +01:00
Cédric Krier
a240337a51
Do not commit new transaction for database error processing
2024-04-02 00:34:25 +02:00
Cédric Krier
0c3f88b776
Wrap transaction description into a single line to store as origin description
...
Since a2f811ed0e99 it is not allowed to store multiline in Char field.
Closes #13123
2024-03-25 00:19:23 +01:00
Cédric Krier
f71e90a7f3
Put gir libraries under lib also for Windows
...
cf5adeee978b did it for darwin but it is also useful for Windows to avoid
duplicate dlls.
2024-03-23 18:17:05 +01:00
Cédric Krier
8f291b76be
Use format from server locale as fallback for date in graph view
...
Closes #13112
2024-03-21 09:47:45 +01:00
Cédric Krier
854efb8216
Use min date as default From Date for start amount of general ledger
...
Closes #12660
2024-03-17 11:36:24 +01: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
Cédric Krier
cee75c14a1
Do not distribute residual rounding to tax with 0 amount
...
Closes #13098
2024-03-15 13:16:33 +01:00
Cédric Krier
26f877e8ce
Force scrollbar inside xxx2Many table
...
On Chrome based browsers the min-content of the table inside a xxx2Many widget
is the minimal size to display all the columns.
So when this min-content size is bigger than the width of the tab, it is the
all form that get a scrollbar instead of only the tree view element.
By adding a display grid to the div containing the treeview, the min-content
is not more used by the grid-template-columns of the form-container.
Closes #13050
2024-03-15 09:50:08 +01:00
Cédric Krier
334a554dd6
Add web_shop_product_data_feed module
...
Closes #13069
2024-04-08 17:27:25 +02:00
Cédric Krier
a535c54d36
Add countries for web shop
2024-03-05 10:43:41 +01:00
Cédric Krier
4df4d72f8d
Add Manufacturer Part Number product identifier
2024-03-05 10:42:44 +01:00
Cédric Krier
f003128df6
Add brand product identifier
2024-03-05 10:42:10 +01:00
Cédric Krier
e297a3ad47
Support generate barcode of different type
2024-03-05 10:41:23 +01:00
Cédric Krier
1415713e6b
Explicitly define product identifier from stdnum
2024-03-05 10:40:18 +01:00
Cédric Krier
a4588bd5ac
Add send_file to protocols wrappers
2024-03-05 10:38:33 +01:00
Cédric Krier
8c356b0c27
Support sale price list per web shop
...
Closes #13076
2024-03-06 10:18:37 +01:00
Cédric Krier
2ca33a8e19
Add carrier to list view of customer shipment in stock_shipment_cost
...
It is stock_shipment_cost that adds the field to the shipment so it should be
also added to the view by the same module.
2024-03-25 11:53:41 +01:00
Cédric Krier
4e3027c7a9
Add description and note to opportunity line
2024-03-23 22:51:52 +01:00
Cédric Krier
f0050a6635
Enforce the unit category of opportunity line from the product
2024-03-23 22:43:49 +01:00
Cédric Krier
edd36e67b0
Make product optional on opportunity line
...
Closes #2172
2024-03-23 22:52:15 +01:00
Cédric Krier
7e1272f46b
Use gettext to format access error message when deleting drop shipment
2024-03-18 18:38:39 +01:00
Cédric Krier
9be2860eb7
Support splitting drop shipment
2024-03-18 18:36:08 +01:00
Cédric Krier
e052849c3d
Use split function to add lots on move when available
...
The split function ensures that customer moves of drop shipment are split also
when splitting supplier moves.
Closes #13037
2024-03-18 18:35:22 +01:00
Cédric Krier
e686904520
Split customer moves when splitting supplier moves of drop shipment
2024-03-19 09:22:08 +01:00
Cédric Krier
372c212347
Set only periods or dates on the same line for general ledger context
...
Those fields may become invisible so they should not have any other field next
to them for when they become invisible.
2024-03-17 11:48:43 +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
Cédric Krier
0c5ac00c69
Replace _explode_move_values calls by _move call of production
2024-03-16 21:07:22 +01:00
Cédric Krier
fe4cec2189
Set currency and unit price of production move when unit price is required
...
Since 0b2e50445415 the unit price is always set when production is done, so
the unit price of output moves is not important before.
2024-03-16 21:03:13 +01:00
Cédric Krier
51360ee110
Fill currency when creating output move of production
...
Closes #12360
2024-03-16 21:00:21 +01:00
Cédric Krier
e2139ba445
Add company record rule to journal - period
2024-03-14 13:53:31 +01:00
Cédric Krier
4da709134d
Add journal - period buttons to form view
2024-03-14 13:51:20 +01:00
Cédric Krier
440827194d
Remove declaration of non-existent open button for journal - period
2024-03-14 13:50:49 +01:00
Cédric Krier
36cf314066
Add company to journal-period
2024-03-14 14:04:31 +01:00
Cédric Krier
0a14c86d4e
Remove active field on journal - period
2024-03-14 13:44:29 +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
Cédric Krier
4790d928af
Add images to product category
...
Closes #13062
2024-02-27 17:52:09 +01:00
Cédric Krier
6bb7b6cc43
Generalize ImageMixin to be used with other models than products
2024-02-27 17:52:34 +01:00
Cédric Krier
ed718e31a3
Add code on product category
2024-02-27 17:44:29 +01:00
Cédric Krier
575ae00711
Use sequence ordered for view priority
2024-02-25 13:32:10 +01:00
Cédric Krier
0b431b0ce1
Do not mix base views and extensions
...
Closes #13056
2024-02-25 13:31:48 +01:00
Cédric Krier
adb7243f0c
Display XML ID on Log window
...
Closes #13055
2024-02-25 13:42:18 +01:00
Cédric Krier
cd3395b233
Add email constructor from message
2024-02-21 21:43:50 +01:00
Cédric Krier
c5d85c1a4f
Order email multipart/alternative by increasing preferences
...
The html version is preferred over the plain text.
Closes #13049
2024-02-21 19:51:08 +01:00
Cédric Krier
3cc0bb6c15
Add send_message methods to sendmail
...
Closes #13048
2024-02-21 21:38:53 +01:00
Cédric Krier
2ae89396c3
Open new tab if the current view of existing tab is not the first one
...
User expect that action will open a tab on the first/default view even if an
existing tab exists with a different view.
Closes #9086
2024-02-21 16:47:19 +01:00
Cédric Krier
0f06ca9142
Raise a warning when validating invoice with non default taxes
...
Closes #3818
2024-02-19 12:43:52 +01:00
Cédric Krier
8666e82b80
Rename 'done' buttons to 'do' and label them as "Complete"
...
Closes #13039
2024-02-17 17:50:49 +01:00
Cédric Krier
254e72b074
Display origin also on invoice line list
2024-02-14 09:58:50 +01:00
Cédric Krier
d6515743cc
Display invoices and moves progress on sale and purchase lines
...
Closes #13025
2024-02-08 16:58:46 +01:00
Cédric Krier
401d2edbd9
Add account export WinBooks module
2024-04-07 11:13:31 +02:00
Cédric Krier
8b298a522b
Add account export module
2024-04-07 11:13:39 +02:00
Cédric Krier
1ad42b265f
Define generic getter and searcher for identifier of party
2024-01-19 23:35:21 +01:00
Cédric Krier
5e10e9df21
Add skip warning on trytond configuration
...
Closes #12954
2024-01-22 10:03:16 +01:00
Cédric Krier
c5eb6248a9
Disable maxDiff for scenario asserts
2024-01-22 10:03:55 +01:00
Cédric Krier
db1f9fcd4a
Update proteus tests to use model field of model access as string
2024-04-07 12:17:36 +02:00
Cédric Krier
9a4f3322ac
Fallback to searching on rec_name for fmany2one only when value is a string
...
Like Many2One field, the implicit rec_name search should only apply to string
value otherwise it is on the target id.
2024-04-07 12:16:54 +02:00
Cédric Krier
85adb630b8
Add account SYSCOHADA module
2024-04-07 09:50:53 +02:00
Cédric Krier
79fabdfd1f
Normalize logging message when deleting old XML records
...
Closes #13007
2024-02-06 15:43:10 +01:00
Cédric Krier
229e30286a
Use fromisoformat to parse date when importing data
2024-03-27 12:37:24 +01:00
Cédric Krier
9d27f8b951
Do not use sub-query with target table of Many2One for id only clause
...
Closes #13121
2024-03-22 22:40:09 +01:00
Cédric Krier
ed552f357e
Add size constraint on RPC cache
2024-03-22 19:29:54 +01:00
Cédric Krier
76cce2217d
Fetch URL icons asynchronously
...
If the URL is not yet in cache, an empty image at the proper size is return,
then when the callback is triggered, the URL should be in cache. So we force a
redraw of the treeview which should set the proper pixbuf.
The IconFactory uses a pool of 5 workers like the browsers.
Closes #13119
2024-03-22 19:16:55 +01:00
Cédric Krier
7b86761834
Do not minify JavaScript nor CSS
...
It is better to rely on the server compression and ease debugging source code
even on production installation.
Closes #11936
2024-03-15 10:13:23 +01:00
Cédric Krier
ff7cd065ad
Add module Many2One
2024-02-25 13:49:05 +01:00
Cédric Krier
a42777834e
Add model Many2One on ir.action.wizard
2024-02-25 16:23:30 +01:00
Cédric Krier
b83ad6695a
Add model Many2One on ir.action.act_window
2024-02-24 18:04:11 +01:00
Cédric Krier
51b1c05832
Add model Many2One on ir.action.report
2024-02-25 16:23:50 +01:00
Cédric Krier
dc1f2df99e
Add model Many2One on ir.model.data
2024-02-24 17:43:15 +01:00
Cédric Krier
302e92783c
Add model and field Many2One on ir.ui.view_tree_width
2024-02-22 17:49:34 +01:00
Cédric Krier
2502e07bb3
Add children field Many2One on ir.ui.view
2024-02-22 17:39:16 +01:00
Cédric Krier
c18c7dd927
Add model Many2One on ir.ui.view
2024-02-24 00:13:24 +01:00
Cédric Krier
80b61a9f63
Store model on ir.rule.group
2024-02-25 13:45:21 +01:00
Cédric Krier
5448a91bf7
Store model on ir.model.button
2024-04-06 10:48:45 +02:00
Cédric Krier
122a45b167
Store model and field name on ir.model.field.access
2024-04-06 11:04:15 +02:00
Cédric Krier
9193a425d1
Store model name on ir.model.access
2024-04-06 14:10:01 +02:00
Cédric Krier
b60f0b7044
Store model name on ir.model.field
2024-02-23 18:40:52 +01:00
Cédric Krier
0dffe1087c
Add fmany2one field
...
Closes #13051
2024-02-22 17:36:51 +01:00
Cédric Krier
e0f11efc94
Allow creation of foreign key on non primary key
2024-02-22 19:08:43 +01:00
Cédric Krier
2f84af4adf
Allow to ignore cancelled advance payment invoices
...
Since b5a7c00ebf5c there is a domain on ignored invoices which should include
advance payment invoices.
Closes #13148
2024-04-01 15:15:50 +02:00
Cédric Krier
02f21576f5
Include advance payment invoices when searching by sales
...
Closes #13148
2024-04-01 15:16:31 +02:00
Cédric Krier
e4a386c316
Instantiate pool in the initialization thread
...
Since 30429d744d29 the pool instance is stored per thread so to initialize a
pool within a thread, the instance must have been created in the same thread.
2024-04-03 09:48:48 +02:00
Cédric Krier
3f72367f13
Catch exception before the cron transaction is ended
...
To rollback the transaction must be done before the context manager calls stop
on exit.
Closes #13149
2024-04-01 16:18:13 +02:00
Cédric Krier
b0d40807ac
Update precision of cost price test from modification under stock continental accounting
...
Since 0809f9f56c4e the modified cost price is rounded with the price
precision.
Closes #13041
2024-04-01 14:04:52 +02:00
Cédric Krier
85da55352e
Setup a database for CacheTestCase
...
Since 8616fb62c5e9 some tests are decorated with transaction so the test case
needs a database to run.
2024-04-01 12:27:33 +02:00
Cédric Krier
82c1583112
Do not round Decimal to validate digits
...
Decimal may raise an InvalidOperation error if the context does not allow the
needed precision.
But rounding is not necessary for Decimal as we can just test the exponent
from the tuple version.
Closes #13138
2024-03-28 09:25:55 +01:00
Cédric Krier
79c5809cc2
Fix typo when processing refund on charge refund updated webhook from Stripe
...
Closes #13137
2024-03-27 19:38:52 +01:00
Cédric Krier
6610bf7e31
Do not set current record to the first id if the list is empty
...
Closes #13130
2024-03-26 11:20:07 +01:00
Cédric Krier
4f7acf0bbf
Use duck typing to convert single UPS package into a list
...
It seems that UPS has fixed its API such that it always returns a list for
PackageResults but it is still better to test the actual result.
Closes #13116
2024-03-21 16:55:01 +01:00
Cédric Krier
67e1423194
Use same error message for HTTP error
...
We should use the same error message between both clients.
2024-02-04 22:32:08 +01:00
Cédric Krier
6bae798031
Remove unnecessary preference keys from RPC context
...
The locale key is only used by the client to properly format in the locale.
And the '.rec_name' keys are used by preferences dialog.
Closes #13068
2024-03-01 18:06:33 +01:00
Cédric Krier
cd345c2399
Set cursor when displaying screen to select new record after copy
...
Closes #12820
2024-03-22 12:52:19 +01:00
Sergi Almacellas Abellana
8dc319a4cb
Set current record after copying records
...
Since ab82d479eca1 the current record is no longer set on load call
Closes #12820
2024-03-11 12:18:19 +01:00
Cédric Krier
2a8626afd5
Permit to remove ignored invoices and stock moves
...
Closes #13066
2024-03-01 14:44:47 +01:00
Cédric Krier
df31d37ae5
Enforce domain on ignored and recreated invoices and stock moves
2024-03-01 14:55:14 +01:00
Cédric Krier
ef56a18b3c
Set tab_domain in URL only for views that are not form
...
As the form view has an id and so tab_domain will be discarded on opening,
there is no need to add the parameter in the URL.
Closes #13046
2024-02-21 16:22:49 +01:00
Cédric Krier
e95057981d
Remove ending commit when loading modules
...
The commit call was added by a6624f31ff20 to release lock because Cache.resets
was called inside the transaction.
But Cache.resets was removed in a83631f4ba67 and Cache does not create any new
transaction since.
And since 2fd8c5f88265 the transaction is even committed only on module
update.
2024-03-13 08:42:10 +01:00
Cédric Krier
02bbbc6549
Silent exit of cron and worker with keyboard
2024-02-04 20:51:05 +01:00
Cédric Krier
e77255d0c1
Update list of local icons from sao directory
2024-02-12 18:15:37 +01:00
Cédric Krier
5e4fb93e8d
Make icon factory thread-safe
...
By using a single immutable dictionary as source for icon ids, we ensure the
coherence during the execution even if other calls are executed in parallel.
Closes #13033
2024-02-12 18:27:26 +01:00
Cédric Krier
2bf7e4bd3d
Revoke URLs of loaded icons
...
Closes #13095
2024-03-10 01:09:35 +01:00
Cédric Krier
1846050401
Do not set sale nor purchase in exception for invoice with cancel move
...
Cancelled invoices with a cancel move should be considered as paid.
Closes #13085
2024-03-08 12:36:57 +01:00
Cédric Krier
40d4fe61ac
Set invoice line state to paid when invoice is cancelled with cancel move
...
Such invoice line should be considered as booked for example to compute the
invoiced quantity of stock move.
Closes #13085
2024-03-08 12:29:03 +01:00
Cédric Krier
d85d7a1f9c
Expand form container to fill all parent spaces
...
Closes #13073
2024-03-05 15:18:03 +01:00
Cédric Krier
f409e36e91
Do not delete purchase request with a purchase line when supply stock
...
The design does not ensure that draft purchase request can not be linked to a
purchase line.
Closes #12974
2024-02-05 23:15:21 +01:00
Cédric Krier
d60af01050
Hide traceback by default in error message
...
Closes #12991
2024-02-02 22:55:21 +01:00
Sergi Almacellas Abellana
751cf5081a
Update documentation of stock forecast
2024-03-17 15:27:08 +01:00
Sergi Almacellas Abellana
d2e269e66a
Set warehouse by default on forecast
...
Closes #12717
2024-03-17 15:26:16 +01:00
Cédric Krier
39c5056da5
Use Javascript classes for PYSON
2024-03-16 19:50:34 +01:00
Cédric Krier
a281900e51
Fix link to documentation of stock_product_location_place
2024-03-09 02:03:14 +01:00
Cédric Krier
10cdcd5826
Document how to fill opening balance
2024-02-10 20:29:00 +01:00
Cédric Krier
245a0573ce
Add auto-detected fields with drag and drop handler
...
Closes #13082
2024-03-07 13:06:11 +01:00
Cédric Krier
ca35638145
Set height to 100% for text and richtext
...
Closes #13058
2024-02-25 13:40:59 +01:00
Cédric Krier
743e938baa
Set empty currency when reconcile no lines
...
Since f9560247a0fc the currency for the reconciled lines is computed but when
there is no line, there is no company to get currency from.
Closes #13047
2024-03-02 11:39:29 +01:00
Cédric Krier
9aceea55c4
Use moment to parse time
...
Closes #13032
2024-02-21 09:52:06 +01:00
Nicolas Évrard
00f81cf62f
Limit search for NULL rows when adding a NOT NULL constraint
2024-03-05 16:08:19 +01:00
Sergi Almacellas Abellana
c3117568ad
Round code price before storage when modifying from product wizard
...
Closes #13041
2024-03-15 19:18:30 +01:00
Adrià Tarroja Caubet
3da23862c5
Test phone number on 347 and 349 reports
2024-03-07 10:38:57 +01:00
Adrià Tarroja Caubet
1346293974
Check country code from phonenumber as int
...
Closes #13060
2024-02-27 13:29:54 +01:00
Cédric Krier
9dfec46280
Activate no-with rule of eslint
2024-03-11 23:46:03 +01:00
Cédric Krier
58e2e9f70d
Activate no-useless-escape rule of eslint
2024-03-10 01:00:02 +01:00
Cédric Krier
919ab27a8c
Do not activate no-unused-vars only for args
2024-03-10 00:58:24 +01:00
Cédric Krier
d6adb7578f
Activate no-unexpected-multiline rule of eslint
2024-03-10 00:33:47 +01:00
Cédric Krier
bab234389f
Activate no-self-assign rule of eslint
2024-03-10 00:31:44 +01:00
Cédric Krier
ef6a0483a8
Activate no-prototype-builtins rule of eslint
...
In most case there is no need to test loop attribute with hasOwnProperty
because we know that Object.prototype is not modified.
2024-03-10 00:28:14 +01:00
Cédric Krier
d59dddea7d
Activate no-extra-boolean-cast rule of eslint
2024-03-09 23:36:02 +01:00
Cédric Krier
f5a7211436
Activate no-empty rule of eslint
2024-03-09 23:34:23 +01:00
Cédric Krier
9140665f5a
Activate no-constant-condition rule of eslint
2024-03-11 23:37:56 +01:00
Cédric Krier
f1f04dbc5b
Activate getter-return rule of eslint
2024-03-09 23:31:41 +01:00
Cédric Krier
61acc97074
Return an array for listed_records accessor of list-form
...
Closes #13094
2024-03-09 23:22:09 +01:00
Cédric Krier
7dcfcfcb3a
Replace jshint by eslint
...
Closes #13087
2024-03-11 23:33:12 +01:00
Cédric Krier
18d6933489
Use model attribute to compute model name of CharColumn
...
Closes #13093
2024-03-09 11:01:34 +01:00
Cédric Krier
fca4a93d08
Compute index when selecting list-form row to select records
...
Closes #13092
2024-03-09 10:59:52 +01:00
Cédric Krier
f1a526d2b7
Set graph color from yfield
...
Closes #13091
2024-03-09 10:56:54 +01:00
Cédric Krier
0e68b91488
Fix typo in defaults argument in new_ method of Many2Many widget
...
Closes #13090
2024-03-09 10:55:19 +01:00
Cédric Krier
ceb0ff3700
Use size from attributes when setting url_size parameters for Image
...
Closes #13089
2024-03-09 10:52:41 +01:00
Cédric Krier
824e282b6f
Do not fail on input completion when source is an Array
...
Closes #13088
2024-03-09 10:49:27 +01:00
Cédric Krier
2837108682
Use operators when converting PYSON to string
...
Closes #12986
2024-03-09 01:41:54 +01:00
Cédric Krier
4d084ec01b
Remove icons in unique dialog
...
There is already an alert background set to distinct them.
2024-01-31 10:32:35 +01:00
Cédric Krier
c4de553be3
Rationalize unique dialog size
2024-01-31 10:25:30 +01:00
Cédric Krier
b36a38a14a
Allow account users to delete moves
...
Closes #12976
2024-01-30 16:37:15 +01:00
Cédric Krier
29de76f324
Activate employee based on dates
...
Closes #12077
2024-01-30 10:34:34 +01:00
Cédric Krier
4e75c63e51
Include context information in access error
...
We include the date/time when the access error may be due to history and
user's groups when it depends on it.
Closes #12670
2024-01-29 13:18:30 +01:00
Cédric Krier
ed0b38db47
Add location name fields to move
2024-01-04 10:56:25 +01:00
Cédric Krier
da08123b44
Add stock_product_location_place module
...
Closes #12797
2024-03-07 13:44:35 +01:00
Cédric Krier
a426898971
Try to assign automatically planned shipments in the past
...
Closes #13030
2024-02-09 16:44:46 +01:00
Cédric Krier
31e3eb142c
Unify shipment assignation scheduled jobs
...
The order shipments are assigned is important as it determines which order
will be done or not. So we must try to assign all the shipments and
productions following a defined order.
Closes #13027
2024-02-09 16:42:28 +01:00
Cédric Krier
ec5a00c82e
Make pool initialization atomic
...
An instance of pool is created per thread and it stores a reference to the
current pool values.
When the pool is initialized, a temporary reference is set on the instance so
only the values for this thread is modified. Once the initialization is
complete, the new pool value replace the global values.
Each instances is refreshed with the global values after the pool has been
stopped.
Closes #11401
2024-03-06 18:28:38 +01:00
Cédric Krier
88ac130d2f
Remove readthedocs
2024-02-18 18:35:54 +01:00
Cédric Krier
4632152d2b
Do not fail on leap day to create next fiscal year
...
Replace the year of a date is not safe, it is better to use relativedelta.
Closes #13064
2024-02-29 15:36:16 +01:00
Cédric Krier
555ae0f465
Do not copy sale lines when copying purchase requests
...
Closes #12918
2024-02-12 23:54:07 +01:00
Maxime Richez
751e549995
Do not enforce empty shipment cost method on cancelled state
...
Closes #13018
2024-02-22 00:06:28 +01:00
Cédric Krier
2e722731c7
Delay the selection of first visible sibling tab
...
When the current tab is hidden, the other tabs may not have their definitive
visibility so we must delay the selection.
Closes #13024
2024-02-12 13:32:12 +01:00
Cédric Krier
9795da5179
Check OAuth environment to run UPS scenario
...
6723c2dced5b changed the environment variables needed to run the scenario.
2024-02-06 16:11:50 +01:00
Cédric Krier
fa7ec2eecd
Increase transaction counter when erasing party
...
As the erase is done using direct SQL query, the counter is not increased so
there is no log event created because the wizard use the counter to determine
if there were some modification and thus create a log entry.
Closes #13002
2024-02-05 18:57:28 +01:00
Cédric Krier
ea9740846e
Clear stock moves in staging when validating amendment
...
Closes #12999
2024-02-05 11:51:00 +01:00
Cédric Krier
bb9a1fd2f5
Fix typo in cancel confirm message of customer shipment
2024-02-04 22:35:51 +01:00
Cédric Krier
f8c0b16f7e
Increase maximal number of retries in test scenario
...
When many scenario are run with the same account in parallel, the processing
time of Stripe can increase a lot so we need to wait longer.
2024-02-20 11:28:45 +01:00
Cédric Krier
76da0b26a6
Format direct debit name of Stripe payment method
...
Closes #12990
2024-02-02 19:52:35 +01:00
Cédric Krier
ca958a1296
Return all Stripe payment methods instead of only card
...
Closes #12990
2024-02-02 19:51:34 +01:00
Cédric Krier
2dde73b737
Unify help text of command line
2024-01-26 00:09:37 +01:00
Cédric Krier
a29ef14d49
Remove unused get_mime on notification email attachment
2024-01-25 16:08:47 +01:00
Cédric Krier
25b8316733
Use EmailMessage to construct emails
...
Closes #12958
2024-01-25 16:04:05 +01:00
Cédric Krier
ea53fb3ce8
Test number of dots in name before computing unique value from a domain
...
The type of value may not correspond with the single_value parameter if the
domain does not apply directly to the field but to a nested field.
Closes #12843
2024-02-12 11:59:13 +01:00
Dimitrios Josef Moustos
6206ef7bb0
Fill shipment number only in waiting state
...
Closes #12905
2024-02-19 22:51:55 +01:00
Dimitrios Josef Moustos
a327edd0a5
Fill production number only in waiting state
...
Closes #12904
2024-02-19 22:21:38 +01:00
Cédric Krier
166b47f3b1
Set receivable payment menu on same level as payable menu
2024-01-13 18:59:37 +01:00
Cédric Krier
f9993960b9
Reset table of BOM output with None
...
This allow to customize the name.
2023-12-26 12:21:20 +01:00
Cédric Krier
a66c7c42b1
Update help of account taxes
...
Since d66471767177 the taxes are not used as default for manual encoding of
move lines.
2024-02-07 09:24:53 +01:00
Cédric Krier
ab83059056
Limit contextual ids in table query for product quantities by warehouse
...
Closes #12968
2024-02-05 23:35:24 +01:00
Cédric Krier
17ca6631e0
Reduce contextual ids in table query for product quantities by warehouse
...
Closes #12968
2024-02-01 23:17:48 +01:00
Cédric Krier
cf554ff391
Install all documentation requirements at once
2024-02-03 23:56:52 +01:00
Cédric Krier
f87c26f583
Use set to define sale grouping fields
...
This avoid to have duplicate domain clause on the same field.
2023-12-23 01:29:31 +01:00
Cédric Krier
ce530c6c0b
Remove custom table names
2023-12-26 12:18:00 +01:00
Cédric Krier
9223f374bf
Use same sign when deducing ignored stock moves of remaining quantity to be paid
...
When the quantity of the line is negative, the quantity of the ignored stock
move must be added instead of subtracted.
Closes #12988
2024-02-02 13:48:12 +01:00
Cédric Krier
53460ad511
Add duration in logging message of with_pool decorator
...
This applies the same design as 180997544b2e did to the dispatcher.
2024-02-06 14:17:10 +01:00
Cédric Krier
ffaa3f096c
Clear transaction tasks on retry of with_transaction decorator
...
Closes #13008
2024-02-06 13:26:34 +01:00
Cédric Krier
f02c9cf04c
Lock table at transaction start for with_transaction decorator
...
Since c8771e45b861 TransactionError is raised if a table is not locked at the
transaction start. The decorator must manage such exception in case the
decorated route needs to lock a table.
Closes #12962
2024-02-06 12:59:00 +01:00
Cédric Krier
a961d7c205
Test if specific exception is raised in stock tests
2024-01-24 10:31:22 +01:00
Cédric Krier
ad361cbdab
Document Units of Measure conversion API
2024-01-23 23:31:48 +01:00
Cédric Krier
1cb00830de
Document product price API
2024-01-23 23:31:34 +01:00
Cédric Krier
8ac18badfc
Remove unused template variable to order product record name
2024-01-23 23:08:46 +01:00
Cédric Krier
86b9b16a95
Add product deactivable mixins
...
Those include the product and template active field in the expression when
converting domain on active field.
Closes #12955
2024-01-24 10:16:04 +01:00
Cédric Krier
ba1d556234
Keep copying readonly moves of shipments
...
Since cf8f1399bc1b readonly fields are not more copied but on shipment the
moves is readonly only to force the usage of Function fields.
So we could convert the readonly attribute by a static readonly states.
Closes #13004
2024-02-06 00:12:55 +01:00
Hartmut Goebel
c60534e7ff
Handle SOAP errors in EU Check Vies service
...
When introducing CheckVIES wizard in 7c90d7100f10, it was based on module
'vatnumbers' which returned an XML tree where we needed to pick the
'faultstring' from.
Since aeb2d1398456 it uses 'stdnum', which uses either 'zeep', 'suds' or
'pysimplesoap' as backend, all of which provide the faultstring in the
exception arguments. Unfortunately 'suds' puts it into 'args[1]', thus a loop
is required.
Also add missing error-codes from EU Check Vies service.
Closes #11147
2024-02-16 09:51:05 +01:00
Sergi Almacellas Abellana
af093904ef
Add employees to rule context for timesheet reporting models
...
Closes #13038
2024-02-16 00:35:52 +01:00
Sergi Almacellas Abellana
58fed762e5
Add employees to rule context for attendance sheet models
...
Closes #13036
2024-02-16 00:37:03 +01:00
Cédric Krier
53a383db4d
Restore passing activatedeps to load_modules when initialize to Pool
...
e00d867eda85 removed the argument.
Closes #13000
2024-02-05 12:59:35 +01:00
Cédric Krier
2c121f61cc
Support drop event on binary select button and image element
...
Closes #12924
2024-01-11 16:21:53 +01:00
Cédric Krier
8d0799bb85
Allow RPC on get_by_bank_account of statement journal
2024-02-05 09:59:35 +01:00
Cédric Krier
d4f946b5a9
Search statement journal by bank account and currency
...
Closes #8492
2024-02-05 09:59:25 +01:00
Cédric Krier
524f6abec9
Split MT940 account into IBAN and currency for Rabobank
...
Closes #12882
2024-01-01 14:20:29 +01:00
Cédric Krier
efa2b0efa7
Update documentation of production
2024-02-04 12:15:22 +01:00
Cédric Krier
c02fe6b97a
Update documentation of account statement AEB43
2024-01-13 16:38:34 +01:00
Sergi Almacellas Abellana
f1fac7036e
Reset amount to pay with Decimal
...
Otherwise amount to pay can not copy sign from line.
Closes #13023
2024-02-12 23:45:14 +01:00
Maxime Richez
46f4e09324
Order journals by matching sequence in configuration
...
Closes #13001
2024-02-12 23:26:54 +01:00
Maxime Richez
c511c7045e
Order journal by matching sequence when searching for match
...
Journals are ordered by default by name instead of matching sequence.
Closes #13001
2024-02-12 23:22:23 +01:00
Cédric Krier
2eec02b501
Update documentation of account statement
2024-02-05 22:58:38 +01:00
Cédric Krier
d4eae01e14
Wait for dispute status change in Stripe scenario
...
Closes #12221
2024-02-03 16:12:12 +01:00
Cédric Krier
5da2affe6d
Add test scenario for lot trace with production
2023-10-23 00:09:23 +02:00
Cédric Krier
2108bd10fe
Include stock moves with same location in upward/downward traces
...
Closes #12637
2023-10-22 23:51:21 +02:00
Cédric Krier
3459ddefc9
Order downward lot trace by descending date
2023-10-22 22:38:57 +02:00
Cédric Krier
2778cd905a
Restrict lot trace to move with lot
2023-10-23 08:02:03 +02:00
Cédric Krier
fe946540cc
Add locations to stock lot trace
...
Closes #12659
2023-10-22 22:36:01 +02:00
Cédric Krier
7a280ff797
Call on_change_with only for later field names
...
Closes #13016
2024-02-07 21:47:12 +01:00
Cédric Krier
946749eb81
Update comparison fiscal year, periods and dates of Income Statement Context
...
The comparison fields should behave the same way as the default fields.
2024-01-27 10:58:41 +01:00
Sergi Almacellas Abellana
f834a5e940
Fill fiscal year when changing company of GL and Income statement context
...
Closes #11208
2024-01-27 10:59:59 +01:00
Cédric Krier
7f0c8c6705
Improve documentation about escaping wildcards
2024-01-30 12:46:35 +01:00
Cédric Krier
45ab83cba5
Return new instances of PYSON object from PYSON shortcut methods
...
Closes #12985
2024-02-03 19:29:59 +01:00
Cédric Krier
276c2e6338
Do not insert contact mechanism between recipients hidden fields
...
Since e356d97a0f59 there are two recipients hidden fields in the email
template view.
Closes #12981
2024-02-01 12:10:59 +01:00
Cédric Krier
d48292e786
Start editing only if clicked row is already the current row
...
Closes #12971
2024-01-29 23:18:40 +01:00
Cédric Krier
e9089e17b0
Toggle a single instance of help dialog when pressing F1
...
Closes #12970
2024-01-29 20:33:22 +01:00
Cédric Krier
9cc7de53e6
Compare original functions to compute access of table query models
...
The bound methods are different because they are bounded to different classes.
Closes #12965
2024-01-29 11:35:16 +01:00
Cédric Krier
12bda46e38
Ignore bnr.ro when checking documentation link
...
Closes #12979
2024-02-01 09:47:57 +01:00
Cédric Krier
122dd1aa57
Apply access rights only on resource record linked to an instance
...
Closes #12977
2024-01-30 17:09:22 +01:00
Cédric Krier
20fff88603
Add support for timestamp field as datetime in domain parser
...
Closes #12776
2024-01-30 12:07:21 +01:00
Cédric Krier
a8ee857681
Compute name of the product for stock move
...
So we can customize the product name to use the customer or supplier name.
Closes #12893
2024-01-04 23:54:49 +01:00
Cédric Krier
b4608428fb
Compute name of the product for sale, purchase and invoice lines
...
Instead of having the code in the report templates, we use a property that can
be extended without updating the template.
Closes #12892
2024-01-04 23:55:09 +01:00
Dani Möller
bd54284d6f
Use processing pool and selector as context managers
...
Delegate closing both resources to the with instruction.
2024-02-04 19:45:59 +01:00
Dani Möller
aa96c33cbc
Rewrite worker with concurrent.futures instead of multiprocessing
...
Unlike multiprocessing pools, the concurrent library pools will raise an
exception if child processes have died and can't accept further tasks. This
should cause the main worker to stop instead of stalling in an inifinite wait.
Introduce a dummy noop execution in the pool to probe if it is still operative
to mitigate the volume of lost tasks if the next submited execution would raise
a BrokenExecutor exception. This isn't 100% bulletproof because the pool might
still break between the probe and a new task being pulled.
The maxtasksperchild CLI option will only work for Python 3.11 onwards because
former concurrent.futures pools do not support this option.
Closes #11104
2024-02-04 20:32:09 +01:00
Cédric Krier
bfbab59ebf
Use usage from context for default contact mechanism on party
2024-01-04 18:48:14 +01:00
Cédric Krier
5181591ed7
Use template substitution for company header/footer
...
Closes #12699
2024-01-04 18:55:06 +01:00
Cédric Krier
1e0a1d648c
Use latest link to document incoming OCR Typless documentation
2023-12-27 11:36:03 +01:00
Cédric Krier
7981f19cc8
Support second currency on statement line
...
Closes #12673
2023-10-30 17:37:54 +01:00
Cédric Krier
94a51aaa64
Invert sign of amount in second currency to reconcile statement line with invoice
...
When using the company currency, the amount used is credit - debit which is in
the opposite sign of amount in second currency.
Closes #12688
2023-10-30 17:44:35 +01:00
Sergi Almacellas Abellana
53304ebfd0
Fix typo in lot unit help text
2024-01-30 15:53:42 +01:00
Sergi Almacellas Abellana
79af25cee7
Fix typo in purchase change unit of measure error message
2024-01-30 15:51:16 +01:00
Cédric Krier
9900a62c95
Set default lead time for product to 0
...
It is assumed that most business will try to deliver customer as fast as
possible.
Closes #12728
2023-12-23 19:27:01 +01:00
Cédric Krier
5288fca2c5
Use csv reader to paste clipboard content in tree view
2023-12-22 14:28:24 +01:00
Cédric Krier
32cfd57d27
Add contextual menu to copy cell and column
...
Closes #12824
2023-12-22 14:48:01 +01:00
Cédric Krier
4a58965be5
Rename menu entry for copy/paste rows
2023-12-22 14:08:37 +01:00
Cédric Krier
4a0a6faea6
Manage assignation for customer shipment with same picking and output location
...
Closes #12815
2023-12-21 15:01:14 +01:00
Cédric Krier
c6f095c760
Do not copy readonly relational fields
...
Closes #12849
2023-12-20 13:56:57 +01:00
Cédric Krier
04778f67de
Allow user-select on cell except from menu
...
Closes #12824
2023-12-12 18:37:24 +01:00
Cédric Krier
160fae1b79
Disable user-select everywhere
...
user-select is now a standard.
2023-12-12 18:36:58 +01:00
Cédric Krier
3e3c047ca1
Define explicitly escape char used for like operators
...
For now we rely on the default value set by python-sql but SQL-92 does not
define a default value.
Closes #12933
2024-01-14 13:32:27 +01:00
Cédric Krier
c67a5fd5e1
Use only debit and credit sign to compute payment kind of move line
...
Closes #12932
2024-01-13 18:53:13 +01:00
Cédric Krier
10505dd484
Remove duplicate subdivision in Australia address format
...
Closes #12928
2024-01-13 14:00:06 +01:00
Cédric Krier
eb450247ee
Consider null value as data for binary field
...
null value is set when the widget is cleared so it should not try to read it
again from the server.
Closes #12926
2024-01-11 16:30:10 +01:00
Cédric Krier
970f40f3be
Use internal shipment location to compute warehouse of transit stock move
...
When the location is the transit location, the warehouse to be used is the
warehouse of the corresponding location on the internal shipment.
Closes #12746
2024-01-11 17:09:50 +01:00
Cédric Krier
ee89b4cfac
Use dedicated warehouse properties for cost
...
#12746
2024-01-11 18:30:01 +01:00
Cédric Krier
3e40277da9
Activate scrollbar on text and richtext widget and limit resize to vertical
...
The minimal height is set to 5 lines and maximal to 20 lines.
Closes #12921
2024-01-10 19:07:03 +01:00
Cédric Krier
d18d5fb061
Reduce tox verbosity
2024-01-16 18:17:27 +01:00
Cédric Krier
69bdce8b29
Use include directive for subdirectory documentation
...
Closes #12822
2023-12-24 10:48:07 +01:00
Cédric Krier
10a8207581
Include database name in reset password request from tryton
2024-01-27 18:41:40 +01:00
Cédric Krier
cdbeaa70ba
Do not check link to ups.com
...
UPS blocks the automate test so we have to ignore them.
2024-01-01 13:45:14 +01:00
Cédric Krier
40b8cf0eca
Support linkcheck ignore per module documentation
...
If a linkcheck_ignore.json exists in the doc folder, it is loaded to extend
the linkcheck_ignore configuration of Sphinx.
2024-01-01 13:43:49 +01:00
Cédric Krier
ef49ce3774
Update documentation link to Shopify custom app
...
The anchor was removed on the website.
2024-01-01 13:40:00 +01:00
Cédric Krier
413048c312
Add template filters after being cached
...
The MemoryCache copy the stored template since 7bbbb91621ab but Genshi
Template clear the filters when copied.
Closes #12963
2024-01-28 00:34:12 +01:00
Cédric Krier
e5a6aba9bb
Support list of single value in sortable_values tools
2024-01-15 20:31:33 +01:00
Cédric Krier
e409547408
Sort sale lines without shipping_date at the end when computing stock quantity
...
Closes #12938
2024-01-15 20:30:34 +01:00
Adrià Tarroja Caubet
0d71ab5440
Check purchase amount is not None on compute production cost
...
Closes #12946
2024-01-18 10:38:07 +01:00
Cédric Krier
8dc2186c94
Update documentation of web user
2023-11-08 10:55:53 +01:00
Cédric Krier
7fab261d1c
Clear reset password when setting a new password
2023-12-27 17:50:15 +01:00
Cédric Krier
28434749db
Allow resetting forgotten password
...
Closes #10629
2023-11-07 18:08:43 +01:00
Cédric Krier
e6736aaed7
Allow resetting password of user via RPC
...
Closes #10629
2023-11-07 16:52:06 +01:00
Cédric Krier
6702732826
Explain no changes have been made on web user reset password email
2023-11-07 16:53:41 +01:00
Cédric Krier
013a47d35f
Do not remove existing password when reset password
2023-11-07 16:52:31 +01:00
Cédric Krier
e193722acb
Convert reset_password method into dualmethod
2023-10-20 14:49:37 +02:00
Cédric Krier
d09a438f76
Update documentation of marketing automation
2023-12-23 18:03:06 +01:00
Cédric Krier
b919e5c828
Add trend spark lines to marketing automation scenario and activity
2023-11-07 00:21:00 +01:00
Cédric Krier
a543d94a28
Add reporting on scenario and activity per period
2023-10-17 17:10:44 +02:00
Cédric Krier
e8306b14de
Require a date time for record activity of marketing automation
2023-10-17 13:07:44 +02:00
Cédric Krier
f671cb8532
Display block rate instead of absolute value
...
The rate provides a better picture of the unsubscription of the marketing
scenario.
2023-10-17 18:42:41 +02:00
Cédric Krier
42b5ba1377
Display email rates instead of absolute value
...
The rates provide a better picture of the efficiency of the marketing
scenario.
2023-10-16 16:25:48 +02:00
Cédric Krier
ec6ce50423
Always return an integer when counting records for marketing scenario and activities
2023-10-18 17:30:43 +02:00
Nicolas Évrard
a12ce3cdc2
Apply overflow value to every parent group of node
...
Closes #12960
2024-01-26 12:40:14 +01:00
Sergi Almacellas Abellana
4c21901493
Do not fail when accessing sales or purchases attributes for UN/CEFACT Invoice
...
Closes #12873
2024-01-27 10:21:19 +01:00
Cédric Krier
be1aac4fac
Support cached_property on object with __slots__
...
Closes #12894
2024-01-05 01:36:50 +01:00
Cédric Krier
8eea0020b7
Initialize Model attributes of EDocument UN/CEFACT Invoice
...
The super __init__ method must be called to set some attributes used by Model.
Closes #12895
2024-01-05 01:36:06 +01:00
Cédric Krier
8a69a69cf6
Update request stock move to draft when sale line has no purchase request
...
When the purchase request is deleted and the process does not require to
recreate a purchase request, the request stock moves must be updated to draft.
Closes #12903
2024-01-20 00:01:38 +01:00
Cédric Krier
3565d06f80
Process for supply sales with the same company
...
Closes #12945
2024-01-18 10:02:22 +01:00
Cédric Krier
30e80741b6
Use only forecast quantity to process supply on sale
...
Closes #12901
2024-01-05 17:56:07 +01:00
Cédric Krier
e29a075bdb
Process for supply sales with the same warehouse
...
The product quantities must be from the same warehouse.
Closes #12902
2024-01-05 17:55:17 +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
Cédric Krier
f26aa8863a
Prevent modify mutable cached value
...
The cached values are copied when set and copied again when returned so the
stored values can never be modified.
Closes #9558
2024-01-15 23:48:50 +01:00
Cédric Krier
c76a4f85d1
Remove global OPJ variable
2024-01-05 19:57:01 +01:00
Cédric Krier
33a369385a
Use pkgutil to list modules in directory
2024-01-05 19:55:51 +01:00
Cédric Krier
93980a94b8
Find module paths using entry points
...
Closes #12900
2024-01-05 19:57:49 +01:00
Cédric Krier
2f6ab00c76
Test sale and purchases scenario with payment term in cash rounding
2024-01-23 10:55:19 +01:00
Sergi Almacellas Abellana
d36ee557ff
Fix typo in set_context call when computing sale cash rounded amounts
...
Closes #12800
2023-12-05 09:34:46 +01:00
Sergi Almacellas Abellana
a23879f25c
Delete points when deleting quality control
...
Closes #12942
2024-01-22 16:28:16 +01:00
Cédric Krier
f5fc52577f
Use today as planned date for assigned move
...
The inclusion of the assigned move in the computation must be coherent between
quantity and delta.
Closes #12914
2024-01-09 19:42:05 +01:00
Cédric Krier
78abed9f25
Allow selecting blanket agreement line without supplier/customer product
...
When the order line as a supplier/customer product, we should allow to select
blanket agreement line with the same product or without any product. Because
the supplier/customer product may be added after the blanket agreement is
running.
Closes #12909
2024-01-08 14:28:38 +01:00
Cédric Krier
88b26a7eb6
Display the actual wrong ids in domain rule error message
...
Closes #12907
2024-01-07 19:11:58 +01:00
Cédric Krier
d3e086aace
Order cancelled document without number last
...
Closes #12899
2024-01-05 15:33:57 +01:00
Cédric Krier
9d4aee14f2
Use the same separator between account configuration and create chart wizard
...
The separator for the default category accounts should be the same between
configuration and the wizard.
Closes #10910
2024-01-05 09:14:19 +01:00
Cédric Krier
276fc2a55d
Group the creation of advance payment invoices from sale
...
It is faster to save the invoices all at once.
2024-01-03 13:47:46 +01:00
Cédric Krier
f38c760c2d
Append recalled lines from sale advance payment to invoice
...
This prevents extra save of the invoice and lines by taking advantage of the
process decomposition of bdbd8ba02e94.
2024-01-03 13:40:01 +01:00
Cédric Krier
4841c130de
Save invoice before adding recalled lines from sale advance payment
...
Closes #12889
2024-01-03 13:30:22 +01:00
Cédric Krier
821be7e6dc
Return test suite when loading proteus README
2023-12-31 16:59:39 +01:00
Cédric Krier
406092be4d
Check doctest files
...
They are converted to python files before running checks.
2024-01-14 19:21:56 +01:00
Cédric Krier
b913ad45d8
Add assert methods to test tools
...
Closes #12879
2023-12-29 19:02:08 +01:00
Cédric Krier
f15e7a901f
Strip trailing 0 when checking Decimal in doctest output of SQLite
...
Closes #12878
2023-12-30 19:45:32 +01:00
Cédric Krier
2fce630dd6
Test expected output instead of comparison in doctest
2023-12-29 19:03:10 +01:00
Cédric Krier
72f5012be5
Set ELLIPSIS option flag on doctest
...
Closes #12877
2023-12-28 23:00:52 +01:00
Cédric Krier
2743dc7a06
Set IGNORE_EXCEPTION_DETAIL option flag on doctest
...
Closes #12877
2023-12-28 14:39:39 +01:00
Cédric Krier
10a513babd
Use defaultdict to compute amount to pay of invoice
2023-12-29 14:34:06 +01:00
Cédric Krier
a443bbe466
Round amount with currency digits in commission reporting
2023-12-29 15:01:25 +01:00
Cédric Krier
840b1d7c30
Round revenue with currency digits in sale reporting
2023-12-29 14:16:30 +01:00
Cédric Krier
a32876e1b0
Set currency exchange account for account cash scenario
...
Since 1c698e656c02 such account is needed if there is a difference due to
exchange rate.
Closes #12935
2024-01-14 23:34:48 +01:00
Cédric Krier
6760a897eb
Fill second currency fields of exchange move line
...
account_cash_rounding module expect that all move lines from Invoice.get_move
has the fields filled.
Closes #12935
2024-01-14 23:33:40 +01:00
Cédric Krier
92c9626008
Cancel only staging moves when purchase request is cancelled
...
Otherwise when the exception is handled and new stock moves are created for
the line, they are cancelled the next time the sale is processed.
Closes #12934
2024-01-14 22:30:26 +01:00
Cédric Krier
2e08be99c7
Return list of instance as result of test recurrence rule wizard
...
Since 0db956eb2505 the on_change_with for xxx2Many must return a list of
instances.
Closes #12885
2024-01-11 22:02:48 +01:00
Cédric Krier
f8e095826d
Do not translate quantity placeholder in sale and purchase messages
...
Closes #12919
2024-01-10 14:15:52 +01:00
Cédric Krier
5f3df70bd9
Return children length only if children field is loaded
...
Closes #12906
2024-01-06 22:56:46 +01:00
Cédric Krier
5a24591cd5
Use account end date of AEB43 as statement date
...
It is useful to have statement ordered correctly to have the start balance
filled by default.
2024-01-02 17:04:33 +01:00
Cédric Krier
bfee808b02
Search first journal by client account code from AEB43
...
We fallback to IBAN search if no journal is found.
2024-01-02 12:24:34 +01:00
Cédric Krier
d64d54c13e
Do not include account number in AEB43 statement name
...
The account number should already by in the journal name.
2024-01-02 12:22:08 +01:00
Cédric Krier
ba7e60e9a3
Replace csb43 by aeb43 package to parse AEB43 statement
...
Closes #12881
2024-01-02 12:22:58 +01:00
Cédric Krier
779ece7045
Use transaction date for accounting date when importing AEB43 statement
...
Closes #12886
2024-01-02 17:02:23 +01:00
Cédric Krier
8d35781825
Permit to use deposit account for payment
...
97281a746606 removed this option that was available since 3255a31c30a2.
Closes #12910
2024-01-08 17:29:26 +01:00
Sergi Almacellas Abellana
44c73a2118
Fix typo in invoice post exchange credit account message
2024-01-10 10:04:24 +01:00
Cédric Krier
a71d7b3ebf
Book currency exchange amount of invoice in dedicated account
...
Closes #1302
2023-12-23 23:15:47 +01:00
Cédric Krier
f6d8247263
Use AccountMissing and JournalMissing exception for reconciliation
2023-12-23 23:12:41 +01:00
Cédric Krier
61e1b18e76
Compute remaining quantity of sale and purchase order following their method
...
Ignored quantities must be deduced from the remaining quantity.
Closes #12698
2023-12-17 17:07:41 +01:00
Cédric Krier
d3264484c4
Update sale based on purchase request update state
...
It is simpler if the purchase triggers the update of the request and the
update of the request triggers the process of the sale.
2023-12-21 12:33:00 +01:00
Cédric Krier
956040bca9
Test resetting purchase request exception
...
#12853
2023-12-21 13:14:18 +01:00
Cédric Krier
f6254471f2
Set supply state of sale line to cancelled only if the purchase request is also cancelled
...
Closes #12853
2023-12-21 12:01:31 +01:00
Cédric Krier
5cda753f9f
Allow assigned move of 0 quantity using view location and delete them
...
This is needed to be able to ignore assignation of move from a view location,
and to delete them before all moves are set to done.
Closes #12870
2023-12-26 16:00:06 +01:00
Cédric Krier
d9782d97aa
Do not hard-code invoice report action in refresh report wizard
...
This prevents customization of the report by deactivating the report action as
documented.
Closes #12872
2023-12-27 13:33:10 +01:00
Cédric Krier
a241eb3f96
Group only customer shipment by cost method
...
The return shipment does not have this field.
Closes #12842
2024-01-06 01:32:52 +01:00
Nicolas Évrard
e66e35a0bd
Sort correclty eager and lazy fields when calling Form.display
...
Closes #12890
2023-12-22 14:48:49 +01:00
Cédric Krier
4cbcfc4a4c
Remove shipment cost method on sale without carrier
...
Since 34a5debdca00 a domain enforce an empty shipment cost method when no
carrier is selected. So former order must be updated to still be valid.
Closes #12753
2023-12-23 18:42:46 +01:00
Cédric Krier
aa20b2de71
Update planned date of assigned move from shipment and production
...
Closes #12867
2023-12-23 02:32:43 +01:00
Cédric Krier
435e3a0c59
Do not copy drop moves when copying move
...
Closes #12848
2023-12-20 13:12:32 +01:00
Cédric Krier
14596be0b8
Add CompanyTestMixin to sale advance payment tests
...
Closes #12845
2023-12-19 18:09:12 +01:00
Cédric Krier
d67158f723
Inherit access from sale for advance payment condition
2023-12-19 18:05:28 +01:00
Cédric Krier
6188d35854
Add missing company context to line of advance payment term line account
2023-12-19 18:03:19 +01:00
Cédric Krier
7b1b686603
Ensure to use the same connection when connecting
...
Closes #10154
2023-12-17 00:38:43 +01:00
Cédric Krier
b1c62be75a
Remove socket option TCP_NODELAY
...
The option is now set by default in standard library
https://github.com/python/cpython/commit/9d8a3ad02acdd7800775b4e1e205bf7c8e47162f
2023-12-17 00:12:41 +01:00
Cédric Krier
8c7e035976
Do not raise warning when shipment quantity difference is 0
...
Closes #12817
2023-12-11 16:35:18 +01:00
Cédric Krier
2cbc71847b
Factorize assign_supplied of Sale to reuse assign_try of Move
2023-12-08 14:00:08 +01:00
Cédric Krier
ae9746f4e0
Pick only from children location when assigned stock move from supplied sale line
...
Closes #12812
2023-12-08 12:53:16 +01:00
Cédric Krier
2cab2b2282
Do not check warnings with access checked
...
The user does not have access right to delete warnings.
Closes #12861
2023-12-22 16:57:43 +01:00
Cédric Krier
dfadc5b62b
Do not fail to get keyword action with empty record id
...
Closes #12767
2023-12-23 18:50:58 +01:00
Cédric Krier
1cc73c08ab
Convert __export_row from static method to instance method
2023-12-23 18:30:59 +01:00
Cédric Krier
7b3107a8a0
Instantiate list of ids when exporting data with domain as list of ids
...
Closes #12868
2023-12-23 18:26:00 +01:00
Cédric Krier
27b0b99a44
Compute length of inserted text in bytes
...
Closes #12138
2023-12-23 18:21:35 +01:00
Cédric Krier
10a5cb783e
Return list of instance as result of test tax wizard
...
Since 0db956eb2505 the on_change_with for xxx2Many must return a list of
instances.
Closes #12852
2023-12-23 01:47:24 +01:00
Cédric Krier
5fae62689f
Catch InvalidOperation when rounding inserted number
...
Closes #12866
2023-12-23 01:39:53 +01:00
Cédric Krier
e3be4a5897
Do not rely on invoice state to compute reconciliation lines
...
Closes #12864
2023-12-22 18:43:55 +01:00
Cédric Krier
675f848571
Include location code when testing record name of forecast
...
Since e229080e430e the location record name contains the code.
Closes #12869
2023-12-26 13:21:06 +01:00
Cédric Krier
3d0512ed89
Use correct id for error message when creating invoice line not draft
...
Closes #12863
2023-12-22 18:34:45 +01:00
Cédric Krier
3f11b8f6b5
Delete inventory moves when shipment is reset to draft
...
Closes #12826
2023-12-14 10:28:12 +01:00
Cédric Krier
94e7196488
Add test scenario for cancelled purchase request from sale supply
...
#12825
2023-12-21 13:11:20 +01:00
Cédric Krier
3a711d631d
Reset and cancel shipment when purchase request is cancelled
...
The stock moves of the linked sale line is cancelled so the linked shipment
state must be updated to synchronize the inventory moves or to cancel it.
Closes #12825
2023-12-13 23:27:42 +01:00
Cédric Krier
eb681a2ece
Document that payment method is needed to run pay invoice wizard
2023-12-15 10:12:14 +01:00
Adrià Tarroja Caubet
35a048deea
Rename move uom to unit to compute credit limit quantity
...
Since 7129f417a22c the unit field has been renamed on stock move.
Closes #12875
2023-12-28 12:25:05 +01:00
Cédric Krier
de9abf43cc
Convert negative id value as None when set by the client
...
Domain inversion may force a unique value based on the default value from
PYSON evaluation. In such case it means that no record can be set.
Closes #12799
2023-12-17 23:39:16 +01:00
Cédric Krier
2d8df237dd
Do not fill invoice date when advance payment condition has no delay
...
Closes #12844
2023-12-19 16:22:05 +01:00
Cédric Krier
b06c9083e7
Prevent opening multiple popup window from the same widget
...
Closes #12819
2023-12-11 19:28:39 +01:00
Cédric Krier
a101df7399
Reload screen after the button action has been executed
...
Closes #12818
2023-12-12 00:44:42 +01:00
Cédric Krier
8c57fcc0b2
Return a promise when executing an action
...
This is useful to trigger event after the action is executed.
2023-12-11 18:47:12 +01:00
Cédric Krier
e5f73ea902
Set to wait only once each shipment
...
When shipments are groupes they may appears multiple times in the list so we
must use a unique set.
Closes #12839
2023-12-18 19:13:28 +01:00
Cédric Krier
7c7af11e7a
Check selection of dict schema when selection or help selection are modified
...
It is the modification of stored field that must be checked and not the json
version.
Closes #12781
2023-12-17 20:33:32 +01:00
Cédric Krier
0d437d341c
Use empty value Function xxx2Many fields without initial value
...
Since d142b33fa3ab the on_change_with relies on _changed_value. But for
Function xxx2Many fields if their value is not in the initial value, we should
not retrieve it from the database because the result will be the same as the
one set by on_change_with.
Closes #12836
2023-12-15 18:09:30 +01:00
Cédric Krier
8197d55ed1
Set the same width to input and its group
...
Such that the suffix are next to the input.
Closes #12821
2023-12-12 11:47:07 +01:00
Cédric Krier
8d9156df84
Add ondelete RESTRICT on Many2One of party ValueMixin
...
Closes #12809
2023-12-07 23:24:37 +01:00
Cédric Krier
acd0ae2ad2
Remove unused view from purchase invoice line standalone
...
The view is no more used since 17796866a629
2023-12-11 12:12:23 +01:00
Cédric Krier
ce5afab66e
Duplicate object tag when updating the content of Document widget
...
Some browser does not refresh properly the content when updating the data
attribute.
Closes #12808
2023-12-07 22:50:42 +01:00
Cédric Krier
b3d31f1b60
Always align on start on xs screen
...
e5446fb8d4ce reintroduced the rule but using text-center while it is justify-*
that is used for grid layout.
Closes #12807
2023-12-07 19:54:48 +01:00
Cédric Krier
28d72755f4
Give more spaces to the party identifier types configuration
2023-12-10 23:42:24 +01:00
Cédric Krier
71ea6e12e7
Hide filter box on extra small screen
...
Closes #12014
2023-12-07 17:53:34 +01:00
Cédric Krier
413bb19f68
Limit size of tab title per screen size
...
#12014
2023-12-07 17:36:14 +01:00
Cédric Krier
001377f6e2
Switch between long and short name/title of tab depending on screen size
...
On small screen the long name is used for the tab name and the short name for
the title. On large screen it is the opposite.
#12014
2023-12-07 17:24:19 +01:00
Cédric Krier
0a4015a2d2
Remove navbar-header to dropdown menu of tab
...
#12014
2023-12-07 13:41:14 +01:00
Cédric Krier
a6639da28b
Hide more buttons on small and extra small screens
...
#12014
2023-12-07 14:14:52 +01:00
Cédric Krier
2c87c460ac
Use reference and id to compute record name of blanket agreement
...
Closes #12805
2023-12-06 16:54:44 +01:00
Cédric Krier
fa8f47e0d1
Add short method to email marketing template context
...
This allows dynamic URL to be shorten and tracked.
Closes #12785
2023-11-30 10:07:57 +01:00
Cédric Krier
5208b96d55
Add UTM to marketing automation activity
...
Such that links in email message get UTM parameters.
2023-11-25 18:16:33 +01:00
Cédric Krier
1150e78834
Add UTM to marketing email message
...
Such that links in email message get UTM parameters.
2023-11-25 17:57:12 +01:00
Cédric Krier
2cf37b3763
Add UTM parameters to shortened URL
...
Closes #12772
2023-11-24 19:28:23 +01:00
Cédric Krier
f9a638e951
Use sql table after calling the __setup__ super of marketing parameter
...
It is ModelSQL.__setup__ that fill the _table attribute used in the SQL table.
Closes #12773
2023-11-25 18:31:08 +01:00
Cédric Krier
071364744e
Use sortable function to test origin of xxx2Many
2023-12-02 18:33:07 +01:00
Cédric Krier
37ef23134a
Order xxx2Many targets by id origin instead of order name
...
The ordering is only to group records for cache alignment, so ordering by id
avoid to have to join on the origin table.
Closes #12795
2023-12-02 18:25:11 +01:00
Cédric Krier
96c8feaaba
Round moves progress to 4 digits as the field
...
Closes #12834
2023-12-14 19:13:23 +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
Maxime Richez
b391c418ef
Run setup.py explicitly with python3 to get version when freezing
...
Closes #12831
2023-12-23 02:06:45 +01:00
Cédric Krier
1c0ff8eec2
Do not try to read action values if the ID does not exist
2023-12-17 22:57:20 +01:00
Cédric Krier
3d3ffc5c7c
Do not check access when retrieving action ID
...
The ID does not contain any security data. If the user does not have access to
the action, an access error will be raised later when actual values are read.
Closes #12803
2023-12-17 22:54:17 +01:00
Cédric Krier
37997a6329
Add None value to selection for nullable_widget when search_read fails
...
Closes #12838
2023-12-17 21:13:12 +01:00
Cédric Krier
950ba29cd7
Do not read record name for value None for inactive selection
...
Closes #12838
2023-12-17 21:12:41 +01:00
Cédric Krier
d8a0bfb4e1
Fix python formatting in tryton translation
2023-12-16 11:17:44 +01:00
Cédric Krier
0ff69f990a
Add missing match_none argument to carrier match for subdivision
...
Closes #12835
2023-12-14 19:26:23 +01:00
Cédric Krier
ea2dbe21d5
Check lot required only when changing move to done
...
Closes #12547
2023-12-12 16:03:33 +01:00
Cédric Krier
92c9467b9c
Always include changed field when calling on_change_with
...
Since d142b33fa3ab the on_change_with relies on _changed_value.
So in order to correctly detect if a xxx2Many field has some record removed,
we need to have the value of the client.
Closes #12837
2023-12-15 19:10:38 +01:00
Cédric Krier
fb1f515011
Add location code to record name of location
...
Closes #12804
2023-12-06 16:42:24 +01:00
Cédric Krier
e9f90b7944
Use 0 as fallback for missing debit or credit in on_change functions
...
Closes #12823
2023-12-12 17:02:31 +01:00
Cédric Krier
2b0d50afc4
Compare leaf values only of the same type to sort domain
...
Closes #12792
2023-12-12 18:02:14 +01:00
Cédric Krier
f978cf0f73
Fill currency, payment term and invoice address with on_change_party of purchase
...
Closes #7027
2023-12-02 23:17:25 +01:00
Cédric Krier
0b8fa97b81
Update marketing campaign scenario for sales returned by opportunity conversion
...
Closes #12829
2023-12-16 00:11:59 +01:00
Cédric Krier
545e10465f
Open purchases created from purchase requests
...
Closes #12796
2023-12-02 23:42:08 +01:00
Cédric Krier
80fac3b031
Add confirmation when cancelling shipments
...
Closes #9667
2023-12-02 18:45:20 +01:00
Cédric Krier
278c61466b
Prefix record name with "record" in validation error message
2023-11-17 23:00:57 +01:00
Cédric Krier
779b329705
Use string version for selection values in error message
2023-11-17 19:55:48 +01:00
Cédric Krier
332bf2d30a
Support x86_64 and arm64 darwin build
...
Closes #10046
2023-11-04 19:58:21 +01:00
Cédric Krier
8d07966b10
Update documentation of stock product location
2023-11-21 12:09:42 +01:00
Cédric Krier
902b745bb7
Pick consumable product by default product location
...
Closes #12315
2023-11-21 11:29:07 +01:00
Cédric Krier
86c2350271
Add default location property to pick product as fallback
2023-11-21 10:57:38 +01:00
Cédric Krier
98c6a80035
Split set_product_location to have a get_product_location
2023-11-21 10:46:48 +01:00
Cédric Krier
ac7c59dd1b
Add index entries for document incoming modules
2023-11-25 21:40:12 +01:00
Cédric Krier
9ad54faa98
Update documentation to use python3 instead of python
2023-11-20 00:04:08 +01:00
Cédric Krier
0d625d4010
Remove usage of set_user to skip check access
...
Since ce8d7a19766a the access rule are enforced only if check access is set.
2023-12-01 21:14:37 +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
Cédric Krier
2ff6251c0e
Do not compute domain inversion when displaying column that is not a field
...
Since c320a786923f the field is needed to compute domain inversion so we
should not compute domain inversion for non field.
Closes #12814
2023-12-10 23:32:43 +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
Cédric Krier
08a5b65618
Always pass the field name to convert value from getter of Function field
...
Closes #12802
2023-12-05 12:33:33 +01:00
Cédric Krier
e030cd2470
Strip generated code of product
...
The template code or product suffix code allow to have trailing and leading
spaces but not the code of the product. So we must compare the code with a
stripped version of the generated code to avoid infinite loop.
Closes #12801
2023-12-05 10:28:35 +01:00
Cédric Krier
f5076fb5e7
Limit modification access of product location to stock administrator
...
Closes #12798
2023-12-03 23:01:57 +01:00
Cédric Krier
3567c87ebc
Test workflow graph report
2023-11-19 17:50:14 +01:00
Hartmut Goebel
1bcf23721c
Make state node of workflow graph unique
...
Quite a few model have states with the same name (e.g. "open",
"close). When creating Workflow Graphs for several of these models at
once, the nodes of these states must be distinguished. Otherwise the
graphs will overlap and eventually even overwrite each other.
Closes #12253
2023-11-19 12:16:03 +01:00
Cédric Krier
3d31023cd9
Wait until the expected result is fetched in Stripe test scenario
...
Closes #12221
2023-12-02 12:02:10 +01:00
Cédric Krier
2d45f1630a
Wait until the expected result is fetched in Shopify test scenario
...
Closes #12794
2023-12-02 12:02:16 +01:00
Cédric Krier
9358d7197f
Do not clear log_records of Transaction if it is empty
...
When the transaction fails to start, the log_records may still be None.
Closes #12793
2023-12-01 20:55:20 +01:00
Cédric Krier
5f2793f75c
Hide URL button when the field is empty
...
The disabled attribute does not prevent the user to click on the empty link.
Closes #12747
2023-11-14 15:23:36 +01:00
Cédric Krier
77660e3932
Do not disable button and action on readonly records
...
Backed out changeset 0e988bac37ba
Closes #12651
2023-11-14 14:25:04 +01:00
Cédric Krier
2e31d458e1
Render button as readonly in tryton list if the record is readonly
...
Closes #12741
2023-11-14 00:31:12 +01:00
Cédric Krier
6ebbe6d5d7
Set One2Many fields later
...
Closes #12740
2023-11-14 00:05:51 +01:00
Cédric Krier
b75207c1cb
Validate field set later
...
Closes #12739
2023-11-14 00:05:17 +01:00
Cédric Krier
47df4da88f
Add statement_timeout to postgis get_connection
...
173ecc4f452d add a new parameter to get_connection so it must also be defined
for postgis.
2023-12-01 12:03:55 +01:00
Cédric Krier
e195a0fb93
Add DatabaseTimeoutError to postgis backend
...
173ecc4f452d add a new database error so it must also be defined for postgis.
2023-12-01 11:32:57 +01:00
Cédric Krier
2cc7faec53
Update tutorial to use PEP517 when installing in editable mode
...
Closes #12701
2023-11-20 00:00:26 +01:00
Cédric Krier
fd652d4b4f
Update documentation of sale opportunity
2023-11-05 21:35:48 +01:00
Cédric Krier
24fc9d1caa
Open sales converted from opportunity
2023-11-05 00:02:18 +01:00
Cédric Krier
bf6cb46170
Restrict convert button of sale opportunity to sale group
2023-11-05 00:03:21 +01:00
Cédric Krier
87470e9180
Fill sale with default addresses and payment term if not filled on opportunity
...
Closes #12671
2023-10-26 09:58:49 +02:00
Cédric Krier
e58a569f23
Do not force value for single list on multi-value field
...
Fields based on multi-value must not be forced to the single value of a list.
Closes #12737
2023-11-14 00:00:15 +01:00
Cédric Krier
ba7badec6e
Retry to send email when server unexpectedly disconnect
...
Closes #12790
2023-12-01 09:54:40 +01:00
Cédric Krier
b7fe8b8c1a
Always round unit price when recomputing it for stock move
...
Closes #12787
2023-11-30 15:59:31 +01:00
Cédric Krier
e63fe001cb
Do not scroll into view empty element
...
Closes #12783
2023-12-03 01:51:48 +01:00
Cédric Krier
e70d24d375
Return values instead of changed result when testing payment term
...
Since 0db956eb2505 the returned value of on_change_with is set on the field.
Closes #12775
2023-11-27 12:43:31 +01:00
Sergi Almacellas Abellana
93beb80269
Explain where available companies and employes are defined
2023-11-20 09:51:12 +00:00
Sergi Almacellas Abellana
afa4a20176
Make record rules documentation more explicit
2023-11-23 15:04:06 +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
Cédric Krier
4779c72913
Limit size of database cache dump to 40 chars
...
Each backend has their limit. 40 chars is picked as limit to match the size of
mercurial hash.
Closes #12754
2023-11-26 17:12:40 +01:00
Cédric Krier
459795e2f3
Do not fail on missing colli_tracking_number in Sendcloud parcels
...
Closes #12782
2023-11-29 15:12:05 +01:00
Cédric Krier
3dc49cc1ae
Set product to None on supplier invoice when product name is not found
...
Closes #12774
2023-11-25 21:28:50 +01:00
Cédric Krier
c6335a368c
Update trees of chart of accounts with 2 passes
...
When a new parent is added to a tree template like types, taxes or tax codes,
the corresponding record of the new template parent is not yet created.
So we need to use a default value for the parent and update again the tree
after creating the new records.
Closes #12755
2023-11-16 16:32:43 +01:00
Cédric Krier
3af76aa548
Select first record when refreshing attachment preview
...
Since ab82d479eca1 no record is set when displaying screen.
Closes #12756
2023-11-16 18:23:14 +01:00
Cédric Krier
1b1bbc5390
Use screen methods to activate or not the next/previous buttons of attachment preview
...
Closes #12756
2023-11-16 18:22:04 +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
Cédric Krier
c3a8f6bea9
Fix call to Sao.Logger.error
...
Closes #12778
2023-11-27 21:35:24 +01:00
Cédric Krier
b93f265fcd
Submit form only if scan_code is submit
...
Close #12764
2023-11-20 20:41:34 +01:00
Cédric Krier
cd18803452
Use list price instead of gross price in sale reporting
...
The sales are computed without taxes so the sales from point should use the
same kind of price.
Closes #12703
2023-11-03 13:00:12 +01:00
Cédric Krier
b55e8c71ec
Do not remove starting wildcard when searching bank account number
...
The start number of bank account are often the same for account from the same
bank.
Closes #12769
2023-11-22 11:01:31 +01:00
Cédric Krier
00f6195b48
Enforce uniqueness only on bank account number active
...
Closes #12768
2023-11-21 18:07:11 +01:00
Cédric Krier
b794bcb0fe
Use production warehouse to select product location
...
Closes #12765
2023-11-21 11:35:44 +01:00
Cédric Krier
7e9d69f07f
Set state to done when all lines of sale or purchase are cancelled
...
So when the shipment and invoice state are None and all lines have an 100%
progress, then the order should be considered as done.
Closes #12698
2023-11-01 16:37:23 +01:00
Cédric Krier
da3c68d0c0
Add invoice progress on sale and purchase line
2023-11-01 16:34:42 +01:00
Cédric Krier
92a3ddb9ee
Set shipment state of sale and purchase to None when all stock moves are cancelled
...
Closes #12697
2023-11-01 16:32:41 +01:00
Cédric Krier
fe921d6406
Support writing None on Shopify identifier
...
Closes #12760
2023-11-20 12:04:37 +01:00
Cédric Krier
88dc4b90dd
Prevent to delete lines and origins of statements not cancelled or in draft
...
Closes #12678
2023-10-28 14:31:35 +02:00
Cédric Krier
1b5fa9a892
Clear tax identifiers on invoice when they are no more valid
...
Closes #12748
2023-11-15 11:09:44 +01:00
Cédric Krier
41df1f1d7e
Do not expand checkboxes group in party form
...
This gives more space for the name and code.
2023-11-09 15:11:50 +01:00
Cédric Krier
37e43d6573
Optimize update of customer move when drop shipment is set to waiting
...
By using One2Many fields, it is possible to avoid custom search and use nested
single loop to update the customer moves.
2023-10-25 18:11:34 +02:00
Cédric Krier
4344f77ac5
Do not convert width and height URL parameters of product image into boolean
...
Since 8cba7039bc3c there are 2 new arguments w and h.
Closes #12745
2023-11-14 15:07:54 +01:00
Cédric Krier
84d4f09f56
Increase the size of expander
...
Closes #12733
2023-11-11 19:37:53 +01:00
Cédric Krier
adea79e356
Prevent switching row when double click on expander
...
Closes #12732
2023-11-11 19:34:27 +01:00
Cédric Krier
389d7a1143
Do not execute action on row active if there is no selected id
...
Closes #12731
2023-11-11 19:31:35 +01:00
Cédric Krier
fb034737db
Set grab cursor only on draggable-handle class
...
Closes #12730
2023-11-11 19:27:03 +01:00
Cédric Krier
a918b8245d
Hide tree-menu column on sao menu
...
Closes #12729
2023-11-11 19:24:19 +01:00
Cédric Krier
7b454b7284
Set height of street text widget for 3 lines
...
Closes #12723
2023-11-09 10:07:47 +01:00
Cédric Krier
e6d8dbd359
Use default access for ModelSQL based on table_query when method is extended
...
When the create/write/delete methods are extended, we should assume that
developer has implemented such access.
Closes #12757
2023-11-16 18:55:47 +01:00
Cédric Krier
ca253a388c
Do not include locale of build system
...
They should not be needed as tryton uses only its own strings.
2023-11-04 19:52:58 +01:00
Cédric Krier
f25c90e284
Do not copy tryton data and plugins in frozen build
...
Since d94c92c1de67 the library is no more compressed so those package data are
already in the usual place.
2023-11-04 19:51:52 +01:00
Cédric Krier
95fae18a2a
Include shared libraries in lib folder for darwin build
...
cx_Freeze 6.15.10 store included files in Resources folder and make a symlink
in MacOS folder for lib and share.
So we must include shared libraries in the lib folder to be available.
2023-11-04 19:48:03 +01:00
Cédric Krier
aba92d0126
Replace etc directory by share for frozen build
...
cx_Freeze 6.15.10 store included files in Resources folder and make a symlink
in MacOS folder for lib and share.
So we need to store etc content in share to be available.
2023-11-04 19:44:09 +01:00
Cédric Krier
3a05f7b69b
Clean temporary files and directories when exiting tryton
...
Closes #9507
2023-11-06 19:33:16 +01:00
Cédric Krier
5d2bc18e3d
Display fields of payment term delta in application order
...
The user may not know the order in which the relativedelta operations are
applied.
2023-11-02 16:21:25 +01:00
Cédric Krier
7270cc86fa
Remove non updated targets of xxx2Many when importing data
...
Closes #12625
2023-10-09 11:42:36 +02:00
Cédric Krier
f4ca6c4648
Document how account journal are chosen
2023-11-07 00:35:26 +01:00
Cédric Krier
97f432e06f
Fix typo in sale documentation
2023-11-16 09:24:27 +01:00
Cédric Krier
a88682d1a6
Fallback to move date when ordering by maturity date and it is empty
...
Closes #12722
2023-11-09 09:40:49 +01:00
Cédric Krier
3ffd756e7f
Select first visible siblings when page is hidden
...
We need to search for all siblings because the next page may also be
invisible.
Closes #12553
2023-11-06 18:53:39 +01:00
Sergi Almacellas Abellana
7274778986
Do not instanciate transaction multiple times when computing sale price
2023-11-15 16:44:53 +01:00
Cédric Krier
4bc74de579
Remove check against move when deleting account period
...
The period on the move restrict on delete of the foreign key.
2023-11-06 15:46:25 +01:00
Cédric Krier
592edc13dd
Allow modifying account period dates with account moves
...
As long as the existing moves has still a date inside the new period dates.
Closes #12667
2023-11-06 15:44:47 +01:00
Cédric Krier
91f4c6b2b8
Check dates of periods when changing fiscal year dates
...
Closes #12667
2023-11-06 16:19:33 +01:00
Cédric Krier
fac8bb3e18
Always trigger default branch on readthedocs
...
This allows readthedocs to detect new branches:
https://github.com/readthedocs/readthedocs.org/issues/9106
Closes #12694
2023-10-31 23:04:37 +01:00
Cédric Krier
6b2aa74ce5
Preserve product image ratio
...
Closes #12744
2023-11-14 14:18:56 +01:00
Cédric Krier
e4702d47ba
Do not set offset in counting domain of link
...
173ecc4f452d moved the offset parameter into the domain.
Closes #12725
2023-11-09 15:03:32 +01:00
Adrià Tarroja Caubet
ad9c41be26
Fix typo in comment of test scenario for stock supply production
2023-11-13 00:30:34 +01:00
Cédric Krier
f8a6d08b20
Test extension of invoice and shipment grouping fields
2023-11-08 11:37:38 +01:00
Cédric Krier
84318913c7
Incoterm tests depend on sale shipment grouping not sale invoice group
2023-11-08 11:36:58 +01:00
Cédric Krier
b1a3e23951
Extend grouping fields with a list
...
4e84027dbc2e updated the grouping fields method to receive the grouped
instance but it did not adapt to the returned type which is a list.
Closes #12718
2023-11-08 00:09:37 +01:00
Cédric Krier
7fb5a0c6b8
Do not compute internal quantity for stock move created without product nor unit
...
Closes #12716
2023-11-06 18:02:23 +01:00
Cédric Krier
d9ace5f731
Properly use resources files from importlib
...
Closes #12706
2023-11-04 19:32:22 +01:00
Cédric Krier
258912e273
Allow to freeze tryton on OS without python
...
Use python version defined in the setup.py shebang instead of the generic
python.
2023-11-04 14:05:12 +01:00
Nicolas Évrard
02650a0ffd
Share record's _ids when saving new records
...
Closes #12657
2023-11-11 13:48:16 +01:00
Cédric Krier
d35d519ea1
Do not try to compute promotion quantity for lines without type line
...
Closes #12351
2023-11-02 16:42:45 +01:00
Cédric Krier
f8ca4ce512
Avoid race condition when making directories for database cache
2023-11-01 13:27:36 +01:00
Cédric Krier
5ff3893f50
Avoid race condition when making configuration directory of tryton
2023-11-01 13:27:09 +01:00
Cédric Krier
ee8782f102
Avoid race condition when making directories for filestore
...
Closes #12696
2023-11-01 13:26:37 +01:00
Cédric Krier
3e49835516
Update documentation link for UNECE Recommendation N° 20
...
Closes #12695
2023-11-01 10:06:00 +01:00
Cédric Krier
783e4364af
Do not translate data type of inbound email
2023-10-21 23:21:28 +02:00
Cédric Krier
ea16e4e071
Use secondary instead of second in help of Purchase Secondary UoM
2023-10-21 17:21:27 +02:00
Cédric Krier
f20e941597
Display Braintree transaction ID for refund on the form
2023-10-18 13:13:27 +02:00
Cédric Krier
294f666b0d
Display Stripe refund ID on the form
2023-10-18 13:12:57 +02:00
Cédric Krier
bf9bfdcd8d
Test JSON-RPC response ID
2023-10-22 12:19:29 +02:00
Cédric Krier
8f7ce67b20
Translate invalid response ID message
2023-10-22 12:19:54 +02:00
Juan Jose Pablos
efe0f40b55
Fix typo in invalid response ID message
2023-10-22 13:42:01 +02:00
Nicolas Évrard
a42cb450f7
Add timeout parameter on RPC calls
...
Closes #11293
2023-10-08 00:08:52 +02:00
Cédric Krier
6ea6082b78
Wrap long label to 80 chars
...
Closes #12618
2023-10-05 18:29:20 +02:00
Cédric Krier
4556b58e57
Set button sensitive on One2Many widget after screen display promise is done
...
The method to set button sensitive needs the view type to be set since
7d8c4076363f.
Closes #12691
2023-10-31 21:57:09 +01:00
Cédric Krier
816dd6f549
Do not union empty dict as payments when creating moves without statements
...
Closes #12689
2023-10-30 23:45:52 +01:00
Cédric Krier
3175c99f26
Use list to declare requirement for tryton with sound
...
Closes #12690
2023-10-30 23:48:16 +01:00
Cédric Krier
689382daeb
Do not fail when parsing invalid Decimal value in number entry
...
Closes #12692
2023-10-31 21:42:11 +01:00
Cédric Krier
25f2f35fea
Round with decimal digits when applying factor on float and numeric field
...
Closes #12692 #12669
2023-10-31 21:41:23 +01:00
Cédric Krier
38da6a0451
Increase version number
2023-10-30 18:51:13 +01:00