Wednesday, January 27, 2021
28 changes · master
Enhancements to existing features
Project users can now filter records by when they were created and when their stage was last updated. This makes it easier to find recent work, monitor progress, and focus on items that changed within a specific timeframe.
Original PR description
Purpose of the task is to add a new filter 'Created On' and 'Last Stage Update' in project. So in this commit, Added a new 'Created On' and 'Last Stage Update' filter in project. Links PR #64981 TaskID: 2444746
Scheduled background tasks now provide clearer logging, making it easier for administrators and support teams to understand what happened when jobs run. This helps speed up troubleshooting and improves operational visibility without changing day-to-day user workflows.
Original PR description
Task: 2368911
Resolved issues and error corrections
The employee vacation plane icon now appears based on the user's actual status, helping colleagues quickly see when someone is away. This fixes inconsistent display of leave status in messaging and user presence areas.
Original PR description
task-2377882
Miscellaneous changes
Issue - Install "Manufacturing" module - Go to settings and activate "Master Production Schedule" - Install Dutch language - Switch user language to Dutch - Go to Manufacturing -> Planning -> Planning by Production - Hover work order Dates are not displayed with user locale. Cause Date are formated to "YYYY-MM-DD HH:mm:ss", regardless the locale. Solution Format date instead with locale format letter
Original PR description
Issue
- Install "Manufacturing" module
- Go to settings and activate "Master Production Schedule"
- Install Dutch language
- Switch user language to Dutch
- Go to Manufacturing -> Planning -> Planning by Production
- Hover work order
Dates are not displayed with user locale.
Cause
Date are formated to "YYYY-MM-DD HH:mm:ss",
regardless the locale.
Solution
Format date instead with locale format letters (L, LL, LTS, ...)
Doc : https://momentjs.com/docs/#/parsing/string-format/
Go to "Locale aware formats" section
opw-2430570
Forward-Port-Of: odoo/odoo#65049
Forward-Port-Of: odoo/odoo#64996This fix prevents a mail conversation from appearing to load endlessly when fetching messages fails. Users get a clearer, more stable experience instead of being blocked by a failed message refresh.
Original PR description
task-2377440
This fix prevents an error from appearing when users save or discard changes in the Point of Sale settings form. It adds a safer check for unexpected data so the configuration screen behaves reliably.
Original PR description
Adjustment of a previous commit b1dff85a85dc1819c029b564dbb87871c2f5e7ea It is possible for the argument to be something else than `undefined` or an array. We're adding a check to prevent an error to occur in that case.
commit 31e1322b40ab33bf81d4c000f2b2a3f3eb8d0958 is allowing the customer to increase is decimal accuracy for currency without consequences but triggering issue upon lowering it if entries already exist. + Remove the redirection to the support. Let's ensure that the behavior is consistent and the users are warned on first modification. To do so, adding an alert msg in addition of the blocking message in case of lowering the decimal accuracy after already creating accounting entries.
Original PR description
commit 31e1322b40ab33bf81d4c000f2b2a3f3eb8d0958 is allowing the customer to increase is decimal accuracy for currency without consequences but triggering issue upon lowering it if entries already exist. + Remove the redirection to the support. Let's ensure that the behavior is consistent and the users are warned on first modification. To do so, adding an alert msg in addition of the blocking message in case of lowering the decimal accuracy after already creating accounting entries. opw-2428857 Forward-Port-Of: odoo/odoo#64344
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#64362
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#64362
Steps to reproduce the bug: - Let's consider two companies C1, C2 and a website W1 in C1 - Set C2 on the payment term Immediate payment - Go to the shop - Add a product in the cart Bug: A traceback was raised because Immediate was not in company C1 opw:2431705 Forward-Port-Of: odoo/odoo#65045
Original PR description
Steps to reproduce the bug: - Let's consider two companies C1, C2 and a website W1 in C1 - Set C2 on the payment term Immediate payment - Go to the shop - Add a product in the cart Bug: A traceback was raised because Immediate was not in company C1 opw:2431705 Forward-Port-Of: odoo/odoo#65045
Steps to reproduce the bug: - Create a promotion program PP - Set 50 in minimal amount - Set promo_applicability = on_next_order - Set reward_type = discount - Set discount_type = discount - Create a new sale order SO with a product with price 100€ - Cancel the SO Bug: A coupon C had been created PS: When reset to draft and confirm SO, C became valid Closes #64361 opw:2431740 Forward-Port-Of: odoo/odoo#65054
Original PR description
Steps to reproduce the bug: - Create a promotion program PP - Set 50 in minimal amount - Set promo_applicability = on_next_order - Set reward_type = discount - Set discount_type = discount - Create a new sale order SO with a product with price 100€ - Cancel the SO Bug: A coupon C had been created PS: When reset to draft and confirm SO, C became valid Closes #64361 opw:2431740 Forward-Port-Of: odoo/odoo#65054
X-original-commit: 5e858240e76934260570d89a600199052148179a Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: fwdport of https://github.com/odoo/odoo/pull/64701 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#65078
Original PR description
X-original-commit: 5e858240e76934260570d89a600199052148179a Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: fwdport of https://github.com/odoo/odoo/pull/64701 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#65078
The regex was updated in JS with [1] but its python counterpart was forgotten during forward-port. [1]: https://github.com/odoo/odoo/pull/46898 Forward-Port-Of: odoo/odoo#65079
Original PR description
The regex was updated in JS with [1] but its python counterpart was forgotten during forward-port. [1]: https://github.com/odoo/odoo/pull/46898 Forward-Port-Of: odoo/odoo#65079
If a product is a kit and has a storable component, if this component is already ordered (with sufficient quantity), when running the scheduler, the ordered quantity of this component will still be increased. To reproduce the error: 1. Create two products P_kit and P_compo - Both are storable products - P_compo must have at least one vendor 2. Create a BoM for P_kit: - Must be a kit - Add P_compo to components 3. Set a reordering rule for P_kit 4. Inventory > Operations > Run Sc
Original PR description
If a product is a kit and has a storable component, if this component is already ordered (with sufficient quantity), when running the scheduler, the ordered quantity of this component will still be…
If a product is a kit and has a storable component, if this component is already ordered (with sufficient quantity), when running the scheduler, the ordered quantity of this component will still be increased. To reproduce the error: 1. Create two products P_kit and P_compo - Both are storable products - P_compo must have at least one vendor 2. Create a BoM for P_kit: - Must be a kit - Add P_compo to components 3. Set a reordering rule for P_kit 4. Inventory > Operations > Run Scheduler 5. Go to Purchase and find the generated RfQ - The ordered quantity is correct 6. Repeat 4-5 Error: This time, the ordered quantity is incorrect. While you don't have any P_kit on hand, each time the scheduler is run, the ordered quantity will increase. A similar issue has already been fixed: #63891. The original commit targets the version 13, but the fix has also been applied to v14 (#64277). However, here the case is slightly different: the user run the scheduler twice while the first RfQ is not yet confirmed and received. In such a case, the scheduler must also check the "quantity in progress". In version 14, it seems nothing computes this quantity for the kits. OPW-2421841 Forward-Port-Of: odoo/odoo#64699
Description of the issue/feature this PR addresses: Migration request fail : https://www.odoo.com/web#id=2422756&action=333&active_id=241&model=project.task&view_type=form&cids=2&menu_id=4720 Issue facing in v14 migrated database In customer migrated database Accounting Dashboard not open it will gives the following error Odoo Server Error ```python Traceback (most recent call last): File "/home/mga/workspace/odoo/14.0/odoo/addons/base/models/ir_http.py", line 237, in _dispatch r
Original PR description
Description of the issue/feature this PR addresses: Migration request fail : https://www.odoo.com/web#id=2422756&action=333&active_id=241&model=project.task&view_type=form&cids=2&menu_id=4720 Issue…
Description of the issue/feature this PR addresses:
Migration request fail : https://www.odoo.com/web#id=2422756&action=333&active_id=241&model=project.task&view_type=form&cids=2&menu_id=4720
Issue facing in v14 migrated database
In customer migrated database Accounting Dashboard not open it will gives the following error
Odoo Server Error
```python
Traceback (most recent call last):
File "/home/mga/workspace/odoo/14.0/odoo/addons/base/models/ir_http.py", line 237, in _dispatch
result = request.dispatch()
File "/home/mga/workspace/odoo/14.0/odoo/http.py", line 683, in dispatch
result = self._call_function(**self.params)
File "/home/mga/workspace/odoo/14.0/odoo/http.py", line 359, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/home/mga/workspace/odoo/14.0/odoo/service/model.py", line 94, in wrapper
return f(dbname, *args, **kwargs)
File "/home/mga/workspace/odoo/14.0/odoo/http.py", line 347, in checked_call
result = self.endpoint(*a, **kw)
File "/home/mga/workspace/odoo/14.0/odoo/http.py", line 912, in __call__
return self.method(*args, **kw)
File "/home/mga/workspace/odoo/14.0/odoo/http.py", line 531, in response_wrap
response = f(*args, **kw)
File "/home/mga/workspace/odoo/14.0/addons/web/controllers/main.py", line 1335, in search_read
return self.do_search_read(model, fields, offset, limit, domain, sort)
File "/home/mga/workspace/odoo/14.0/addons/web/controllers/main.py", line 1354, in do_search_read
return Model.web_search_read(domain, fields, offset=offset, limit=limit, order=sort)
File "/home/mga/workspace/odoo/14.0/addons/web/models/models.py", line 53, in web_search_read
records = self.search_read(domain, fields, offset=offset, limit=limit, order=order)
File "/home/mga/workspace/odoo/14.0/odoo/models.py", line 4832, in search_read
result = records.read(fields)
File "/home/mga/workspace/odoo/14.0/odoo/models.py", line 3018, in read
return self._read_format(fnames=fields, load=load)
File "/home/mga/workspace/odoo/14.0/odoo/models.py", line 3038, in _read_format
vals[name] = convert(record[name], record, use_name_get)
File "/home/mga/workspace/odoo/14.0/odoo/models.py", line 5659, in __getitem__
return self._fields[key].__get__(self, type(self))
File "/home/mga/workspace/odoo/14.0/odoo/fields.py", line 999, in __get__
self.compute_value(recs)
File "/home/mga/workspace/odoo/14.0/odoo/fields.py", line 1138, in compute_value
records._compute_field_value(self)
File "/home/mga/workspace/odoo/14.0/addons/mail/models/mail_thread.py", line 412, in _compute_field_value
return super()._compute_field_value(field)
File "/home/mga/workspace/odoo/14.0/odoo/models.py", line 4054, in _compute_field_value
getattr(self, field.compute)()
File "/home/mga/workspace/odoo/14.0/addons/account/models/account_journal_dashboard.py", line 20, in _kanban_dashboard
journal.kanban_dashboard = json.dumps(journal.get_journal_dashboard_datas())
File "/home/mga/workspace/odoo/14.0/addons/account_check_printing/models/account_journal.py", line 118, in get_journal_dashboard_datas
super(AccountJournal, self).get_journal_dashboard_datas(),
File "/home/mga/workspace/odoo/14.0/addons/account/models/account_journal_dashboard.py", line 234, in get_journal_dashboard_datas
domain=[('move_id.state', '=', 'posted')])
Exception
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/mga/workspace/odoo/14.0/odoo/http.py", line 639, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/mga/workspace/odoo/14.0/odoo/http.py", line 315, in _handle_exception
raise exception.with_traceback(None) from new_cause
TypeError: 'float' object is not iterable
```
Current behavior before PR:
In migrated database Accounting Dashboard not open
Desired behavior after PR is merged:
In migrated database Accounting Dashboard is open
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#64664- Install purchase and stock; - Activate Units of Measure (uom); - Create a new storable product; - Choose a different uom for: 'Unit of Measure' (e.g., Dozens) and 'Purchase Unit of Measure' (e.g., Units); - Update the Cost (e.g. $ 300.00 per Dozens) - Create a PO; - Add the product. Before this commit, the price on the PO will be 300 and the unit of measure will be 'Units'. Now, the price will be adapted to the 'Purchase Unit of Measure', in this example it will be $25.0 per
Original PR description
- Install purchase and stock;
- Activate Units of Measure (uom);
- Create a new storable product;
- Choose a different uom for: 'Unit of Measure' (e.g., Dozens) and
'Purchase Unit of Measure' (e.g., Units);
- Update the Cost (e.g. $ 300.00 per Dozens)
- Create a PO;
- Add the product.
Before this commit, the price on the PO will be 300 and the unit of
measure will be 'Units'.
Now, the price will be adapted to the 'Purchase Unit of Measure', in
this example it will be $25.0 per Unit.
opw-2439506
Forward-Port-Of: odoo/odoo#65041task-2447939 Forward-Port-Of: odoo/odoo#65074
Original PR description
task-2447939 Forward-Port-Of: odoo/odoo#65074
When synced with Google, if a user adds an event to Odoo Calendar, both Google and Odoo will send an invitation to attendees. To reproduce the error: (Need mailcatcher) 1. Sync Odoo Calendar with Google Calendar 2. Create an event in Odoo Calendar - Add at least one attendee who has an email address 3. Save Error: Odoo's server sends an email. When synced, it should not, it should let Google in charge of emails sending. (Similar to #62383) OPW-2440485 Forward-Port-Of: odoo/o
Original PR description
When synced with Google, if a user adds an event to Odoo Calendar, both Google and Odoo will send an invitation to attendees. To reproduce the error: (Need mailcatcher) 1. Sync Odoo Calendar with Google Calendar 2. Create an event in Odoo Calendar - Add at least one attendee who has an email address 3. Save Error: Odoo's server sends an email. When synced, it should not, it should let Google in charge of emails sending. (Similar to #62383) OPW-2440485 Forward-Port-Of: odoo/odoo#64902
Task-2447922 Forward-Port-Of: odoo/odoo#65071
Original PR description
Task-2447922 Forward-Port-Of: odoo/odoo#65071
To reproduce, product A in AVCO: - Buy 2 product A at 1.00 $ - Buy 1 product A at 1.01 $ - Sell 3 product A. - The stock valuation won't be correct: still remain 0.01 in stock without quantity and the svl related to the sell have a value of 3.00 (instead of 3.01) To fix: In case of AVCO, add the rounding error value to the out stock move layer. Forward-Port-Of: odoo/odoo#46850
Original PR description
To reproduce, product A in AVCO: - Buy 2 product A at 1.00 $ - Buy 1 product A at 1.01 $ - Sell 3 product A. - The stock valuation won't be correct: still remain 0.01 in stock without quantity and the svl related to the sell have a value of 3.00 (instead of 3.01) To fix: In case of AVCO, add the rounding error value to the out stock move layer. Forward-Port-Of: odoo/odoo#46850
task-2447695 Forward-Port-Of: odoo/odoo#65061
Original PR description
task-2447695 Forward-Port-Of: odoo/odoo#65061
Otherwise, this can raise the below issue during an upgrade (`-u`): ``` File "/home/odoo/src/odoo/13.0/odoo/modules/registry.py", line 369, in init_models model._auto_init() File "/home/odoo/src/odoo/13.0/odoo/models.py", line 2529, in _auto_init new = field.update_db(self, columns) File "/home/odoo/src/odoo/13.0/odoo/fields.py", line 2456, in update_db return super(Many2one, self).update_db(model, columns) File "/home/odoo/src/odoo/13.0/odoo/fields.py", line 857, in
Original PR description
Otherwise, this can raise the below issue during an upgrade (`-u`): ``` File "/home/odoo/src/odoo/13.0/odoo/modules/registry.py", line 369, in init_models model._auto_init() File…
Otherwise, this can raise the below issue during an upgrade (`-u`):
```
File "/home/odoo/src/odoo/13.0/odoo/modules/registry.py", line 369, in init_models
model._auto_init()
File "/home/odoo/src/odoo/13.0/odoo/models.py", line 2529, in _auto_init
new = field.update_db(self, columns)
File "/home/odoo/src/odoo/13.0/odoo/fields.py", line 2456, in update_db
return super(Many2one, self).update_db(model, columns)
File "/home/odoo/src/odoo/13.0/odoo/fields.py", line 857, in update_db
self.update_db_notnull(model, column)
File "/home/odoo/src/odoo/13.0/odoo/fields.py", line 897, in update_db_notnull
model._init_column(self.name)
File "/home/odoo/src/odoo/13.0/odoo/models.py", line 2455, in _init_column
value = field.default(self)
File "/home/odoo/src/odoo/13.0/addons/utm/models/utm.py", line 28, in <lambda>
default=lambda self: self.env['utm.stage'].search([], limit=1),
File "/home/odoo/src/odoo/13.0/odoo/models.py", line 1648, in search
res = self._search(args, offset=offset, limit=limit, order=order, count=count)
File "/home/odoo/src/odoo/13.0/odoo/models.py", line 4497, in _search
self._cr.execute(query_str, where_clause_params)
File "/home/odoo/src/odoo/13.0/odoo/sql_db.py", line 173, in wrapper
return f(self, *args, **kwargs)
File "/home/odoo/src/odoo/13.0/odoo/sql_db.py", line 250, in execute
res = self._obj.execute(query, params)
psycopg2.errors.UndefinedColumn: column utm_stage.sequence does not exist
LINE 1: SELECT "utm_stage".id FROM "utm_stage" ORDER BY "utm_stage"
```
upg-5396
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#65116When checking the replenishments, it sometimes creates a new reordering rule for a product while another already exists. To reproduce the error: (Need purchase,sale_management) 1. Create a product P - Must be storable - In Purchase tab, add a vendor 2. Create a reordering rule for P - Trigger: Manual - Min: 0 - Max: 0 3. Create+Confirm a SO with P 4. Go to Inventory > Operations > Replenishment 5. On P-product's line, click on "Order Once" 6. Confirm the generated RfQ 7. Re
Original PR description
When checking the replenishments, it sometimes creates a new reordering rule for a product while another already exists. To reproduce the error: (Need purchase,sale_management) 1. Create a product P - Must be storable - In Purchase tab, add a vendor 2. Create a reordering rule for P - Trigger: Manual - Min: 0 - Max: 0 3. Create+Confirm a SO with P 4. Go to Inventory > Operations > Replenishment 5. On P-product's line, click on "Order Once" 6. Confirm the generated RfQ 7. Repeat 3-4 Error: There are now two lines for P-product. A second reordering rule has been automatically created but the first one does already the job. OPW-2431780 Forward-Port-Of: odoo/odoo#65040
Forward-Port-Of: odoo/odoo#65139
Original PR description
Forward-Port-Of: odoo/odoo#65139
Issue - Install "Accounting" module - Ensure there is more then 20 journals ( or must do a zoom-in on the browser) - Go to Accounting -> Reporting -> Profit and Loss - Click on "Journals" filter Not all journals are displayed. Cause No scroll or max-height set on dropdown. Solution Set a max-height and an overflow:auto on the filter menu if it's a dropdown-menu. opw-2430101 Forward-Port-Of: odoo/odoo#64873
Original PR description
Issue - Install "Accounting" module - Ensure there is more then 20 journals ( or must do a zoom-in on the browser) - Go to Accounting -> Reporting -> Profit and Loss - Click on "Journals" filter Not all journals are displayed. Cause No scroll or max-height set on dropdown. Solution Set a max-height and an overflow:auto on the filter menu if it's a dropdown-menu. opw-2430101 Forward-Port-Of: odoo/odoo#64873
PURPOSE Menu drag and drop for moving menus does not work. SPEC Move of menu from Edit menu dialog should work. TASK 2365375 Forward-Port-Of: odoo/enterprise#15609
Original PR description
PURPOSE Menu drag and drop for moving menus does not work. SPEC Move of menu from Edit menu dialog should work. TASK 2365375 Forward-Port-Of: odoo/enterprise#15609
checking state in domain should be slightly faster and doesn't raise error "expected singleton" --- https://github.com/odoo/enterprise/commit/570f6312b293633efe319c238a30b7674a534405 opw-2438589 Forward-Port-Of: odoo/enterprise#15950
Original PR description
checking state in domain should be slightly faster and doesn't raise error "expected singleton" --- https://github.com/odoo/enterprise/commit/570f6312b293633efe319c238a30b7674a534405 opw-2438589 Forward-Port-Of: odoo/enterprise#15950
Issue - Install "Project Enterprise" module - Install Dutch language - Switch user language to Dutch - Go to Project -> Tasks -> Planning - Hover any task Dates are not displayed with user locale. Cause Date are formated to "YYYY-MM-DD HH:mm:ss", regardless the locale. Solution Format date instead with locale format letters (L, LL, LTS, ...) Doc : https://momentjs.com/docs/#/parsing/string-format/ Go to "Locale aware formats" section opw-2430570 Forw
Original PR description
Issue
- Install "Project Enterprise" module
- Install Dutch language
- Switch user language to Dutch
- Go to Project -> Tasks -> Planning
- Hover any task
Dates are not displayed with user locale.
Cause
Date are formated to "YYYY-MM-DD HH:mm:ss",
regardless the locale.
Solution
Format date instead with locale format letters (L, LL, LTS, ...)
Doc : https://momentjs.com/docs/#/parsing/string-format/
Go to "Locale aware formats" section
opw-2430570
Forward-Port-Of: odoo/enterprise#15954
Forward-Port-Of: odoo/enterprise#15905Forward-Port-Of: odoo/enterprise#15960 Forward-Port-Of: odoo/enterprise#15953
Original PR description
Forward-Port-Of: odoo/enterprise#15960 Forward-Port-Of: odoo/enterprise#15953