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