Thursday, October 10, 2024
22 changes · master
Enhancements to existing features
This update standardizes the JavaScript code style across barcode-related inventory, manufacturing, batch picking, subcontracting, lookup, quality control, and expiry modules. It is an internal maintenance change that should make future development and reviews easier without changing day-to-day user workflows.
Original PR description
*: stock_barcode_mrp, stock_barcode_mrp_subcontracting, stock_barcode_picking_batch, stock_barcode_barcodelookup, stock_barcode_quality_control, stock_barcode_quality_control_picking_batch, stock_barcode_quality_mrp Following the community PR odoo/odoo#182955 , made all needed changes to follow eslint rules.
Several Odoo apps were updated to stop using an outdated window-opening option. Users should see the same practical behavior, while the system stays aligned with the latest platform standard.
Original PR description
In https://github.com/odoo/odoo/pull/182800, the selection value "inline" for the field "target" of "ir.actions.act_window" has been removed. Here we remove that value in some actions that used it. The default target "current" will be used for those actions with a similar result. Task ID: 3245566
Planning screens now use a direct user check to decide when certain buttons or elements should be shown. This simplifies the underlying setup without changing the intended user experience, making the feature easier to maintain.
Original PR description
Previous Implementation: The is_assigned_to_me field was initially created to control the visibility of certain elements (mostly buttons) in planning slot views, using it within the invisible domain. Refactor: This commit replaces the usage of the is_assigned_to_me field with a condition that directly compares user_id with uid. This change streamlines the logic for making elements invisible. task : 4073484
Project managers can now see the critical path directly in the Gantt view, highlighting the sequence of dependent tasks that must stay on schedule. This helps teams focus attention on the work that most affects the overall project deadline.
Original PR description
Purpose ======= The critical path shows those tasks that must be completed on time. It is the longest chain of tasks between the start and end dates of your project that cannot be compromised. It helps to know what sequence of tasks requires special attention, and how much it takes to complete your project on time. Implementation ============== The critical path is the longest path of dependent tasks of a given project. This commit introduces: - Backend methods to get the critical path of a group of tasks (based on a domain) - Frontend methods to display the critical path of a project in the Gantt view - Testing for those methods task-3391988
Resolved issues and error corrections
This fix ensures the holiday planning Gantt view has its required dependency available during testing and use. It prevents dependency errors caused by delayed loading, making the related planning functionality more reliable.
Original PR description
**Current behavior before PR:** before this PR dependency error encountered during test execution of planning_holidays it is due to lazy loading of gantt renderer and view. **Desired behavior after PR is merged:** hr_gantt is added into depends now the dependency problem is resolved.
Miscellaneous changes
Some "week" date filters show records of the wrong week if the current day is Monday. This PR fixes them. Task-4219531 Forward-Port-Of: odoo/enterprise#71490 Forward-Port-Of: odoo/enterprise#71044
Original PR description
Some "week" date filters show records of the wrong week if the current day is Monday. This PR fixes them. Task-4219531 Forward-Port-Of: odoo/enterprise#71490 Forward-Port-Of: odoo/enterprise#71044
The gantt view was not supposed to support fields of type 'date' but a view using such fields was introduced in the app "Project" (it is available in the first menu of the app when the option "Project Stages" is enabled). Here we make the gantt view manage correctly the date fields: display, drag and drop, or resize pills should now work as expected. Task ID: 3424435 Forward-Port-Of: odoo/enterprise#71587 Forward-Port-Of: odoo/enterprise#67971
Original PR description
The gantt view was not supposed to support fields of type 'date' but a view using such fields was introduced in the app "Project" (it is available in the first menu of the app when the option "Project Stages" is enabled). Here we make the gantt view manage correctly the date fields: display, drag and drop, or resize pills should now work as expected. Task ID: 3424435 Forward-Port-Of: odoo/enterprise#71587 Forward-Port-Of: odoo/enterprise#67971
Consider an unreconciled bank statement (line) in the bank reconciliation widget. Currently only the liquidity and suspense/transfer line of the associated move are shown. This means that some lines of the move are not shown. After this commit we show all the line (so i.e. the other lines). Since the diff is not the nicest: The commit just removes the outer `if wizard.st_line_id.is_reconciled`. Forward-Port-Of: odoo/enterprise#71592 Forward-Port-Of: odoo/enterprise#71236
Original PR description
Consider an unreconciled bank statement (line) in the bank reconciliation widget. Currently only the liquidity and suspense/transfer line of the associated move are shown. This means that some lines of the move are not shown. After this commit we show all the line (so i.e. the other lines). Since the diff is not the nicest: The commit just removes the outer `if wizard.st_line_id.is_reconciled`. Forward-Port-Of: odoo/enterprise#71592 Forward-Port-Of: odoo/enterprise#71236
**Steps to reproduce:** - Install l10n_au_aba - Switch to an Australian company (e.g. AU Company) - Configure batch payments according to this [documentation](https://www.odoo.com/documentation/17.0/applications/finance/fiscal_localizations/australia.html#aba-files-for-batch-payments) - Create a vendor with a special character in the name (e.g. a curly apostrophe `’`) - Configure a bank account for the vendor - Create a bill for that vendor - Confirm the bill - Register a payment with "A
Original PR description
**Steps to reproduce:** - Install l10n_au_aba - Switch to an Australian company (e.g. AU Company) - Configure batch payments according to this…
**Steps to reproduce:** - Install l10n_au_aba - Switch to an Australian company (e.g. AU Company) - Configure batch payments according to this [documentation](https://www.odoo.com/documentation/17.0/applications/finance/fiscal_localizations/australia.html#aba-files-for-batch-payments) - Create a vendor with a special character in the name (e.g. a curly apostrophe `’`) - Configure a bank account for the vendor - Create a bill for that vendor - Confirm the bill - Register a payment with "ABA Credit Transfer" as payment method - Go to the payments list - Select the created payment and create a batch payment - Validate it - Download the generated ABA file - Try to validate the file on an online [ABA validator](https://www.bcu.com.au/business-banking/payments/internet-banking/aba-file-validator/) **Issue:** The online ABA file validator finds an error because the accepted length for a row is not respected. **Cause:** Each row information is encoded with a specific number of characters where blank characters are added to reach that length. In this case, the name of the account holder is containing a special character that corresponds to 3 characters when converted to utf8 and too many blank characters are added. **Solution:** Compute the length in utf8 before adding the blank characters. opw-4059837 Forward-Port-Of: odoo/enterprise#71590 Forward-Port-Of: odoo/enterprise#71351
Before this PR, overseas transactions with GST were shown in the spreadsheet, but not in GSTR-1. After this PR, overseas transactions with GST will no longer be shown in the spreadsheet. **Technical Reason:-** In the `_get_exp_json` method, we retrieve journal items that meet the exp domain criteria. However, the `tax_details` are linked from `move_id` using `tax_details_by_move`, which applies the hsn domain. Consequently, all journal items are retrieved, necessitating the exclusion of t
Original PR description
Before this PR, overseas transactions with GST were shown in the spreadsheet, but not in GSTR-1. After this PR, overseas transactions with GST will no longer be shown in the spreadsheet. **Technical Reason:-** In the `_get_exp_json` method, we retrieve journal items that meet the exp domain criteria. However, the `tax_details` are linked from `move_id` using `tax_details_by_move`, which applies the hsn domain. Consequently, all journal items are retrieved, necessitating the exclusion of those involving CGST and SGST, as these are not relevant for overseas transactions. **Task**-4008149 Forward-Port-Of: odoo/enterprise#65280
The newly added button shortcut to edit a dashboard would only always open the active dashboard edition and not the one we clicked on. Task-4236307 Forward-Port-Of: odoo/enterprise#71380
Original PR description
The newly added button shortcut to edit a dashboard would only always open the active dashboard edition and not the one we clicked on. Task-4236307 Forward-Port-Of: odoo/enterprise#71380
With an EC company setup Open POS Add a product Go to Payment screen Select Invoice and pay using a cash payment method with an excess amount Issue: On the invoice (and xml e-invoice) there will be 2 payments, both with a positive amount We should not report the change opw-4192615 Forward-Port-Of: odoo/enterprise#71493
Original PR description
With an EC company setup Open POS Add a product Go to Payment screen Select Invoice and pay using a cash payment method with an excess amount Issue: On the invoice (and xml e-invoice) there will be 2 payments, both with a positive amount We should not report the change opw-4192615 Forward-Port-Of: odoo/enterprise#71493
Create a field x_company_id on a model. Create a new Company. Before this commit, no ir_default was created for that field, studio only did for x_studio_company_id. After this commit, the fields named x_company_id have an ir_default created when a new company is created. task-4226351 Forward-Port-Of: odoo/enterprise#71447
Original PR description
Create a field x_company_id on a model. Create a new Company. Before this commit, no ir_default was created for that field, studio only did for x_studio_company_id. After this commit, the fields named x_company_id have an ir_default created when a new company is created. task-4226351 Forward-Port-Of: odoo/enterprise#71447
RFID Count ========= While scanning RFIDs, instead of displaying the usual "Processing n/N barcodes", a pop-up with information (total reads count, unique reads count, read time and read rate) wille be displayed. This pop-up closes itself after 5 seconds. ______________ Follows this PR: odoo/enterprise#68825 [task-4089638](https://www.odoo.com/odoo/project.task/4089638) Forward-Port-Of: odoo/enterprise#70529
Original PR description
RFID Count ========= While scanning RFIDs, instead of displaying the usual "Processing n/N barcodes", a pop-up with information (total reads count, unique reads count, read time and read rate) wille be displayed. This pop-up closes itself after 5 seconds. ______________ Follows this PR: odoo/enterprise#68825 [task-4089638](https://www.odoo.com/odoo/project.task/4089638) Forward-Port-Of: odoo/enterprise#70529
Before this commit: In a recent commit to allow sendcloud to generate labels without having to fetch rates. When the returned value for field `price` is `None` it was set as `0.0` with datatype `float` when it should be `str`. After this commit: Added a check when setting price to make sure correct datatype is set. opw-4222636 Forward-Port-Of: odoo/enterprise#71367
Original PR description
Before this commit: In a recent commit to allow sendcloud to generate labels without having to fetch rates. When the returned value for field `price` is `None` it was set as `0.0` with datatype `float` when it should be `str`. After this commit: Added a check when setting price to make sure correct datatype is set. opw-4222636 Forward-Port-Of: odoo/enterprise#71367
The search functionality in the Recurring Plan view was not working when users entered text. While custom filters worked, the search field failed to respond to user input because no fields were defined in the search view. OPW-4116088 Forward-Port-Of: odoo/enterprise#70464
Original PR description
The search functionality in the Recurring Plan view was not working when users entered text. While custom filters worked, the search field failed to respond to user input because no fields were defined in the search view. OPW-4116088 Forward-Port-Of: odoo/enterprise#70464
Add context key to be able to redefine the date used to select which subscription lines are invoiceable. This allows to generate invoices before the date of next invoice set on the subscription with the help of custom module. Forward-Port-Of: odoo/enterprise#70053
Original PR description
Add context key to be able to redefine the date used to select which subscription lines are invoiceable. This allows to generate invoices before the date of next invoice set on the subscription with the help of custom module. Forward-Port-Of: odoo/enterprise#70053
When having account_3way_match installed, the number and sum of bill to validate is not consistent with the bills displayed when clicking on the link. With this commit, we adapt the query to be consistent with `view_account_invoice_filter` which has been override. Steps: - Create 3 draft bills, $200 each: 1. invoice_date_due < today, release_to_pay != 'yes 2. invoice_date_due >= today, release_to_pay == 'yes' 3. invoice_date_due >= today, release_to_pay != 'yes' - Go to journal dashboard ->
Original PR description
When having account_3way_match installed, the number and sum of bill to validate is not consistent with the bills displayed when clicking on the link. With this commit, we adapt the query to be consistent with `view_account_invoice_filter` which has been override. Steps: - Create 3 draft bills, $200 each: 1. invoice_date_due < today, release_to_pay != 'yes 2. invoice_date_due >= today, release_to_pay == 'yes' 3. invoice_date_due >= today, release_to_pay != 'yes' - Go to journal dashboard -> On the vendor bill journal, we display 3 bills to validate and $600, although when clicking on the link we display only bills 1 and 2 opw-4182523 Forward-Port-Of: odoo/enterprise#71412 Forward-Port-Of: odoo/enterprise#70388
Currently, some localizations are not able to invoice if a combo product was bought. Steps to reproduce: ------------------- * Install **l10n_pe_edi_pos** * Switch to the **PE Company** * Go to the **Point of sale** App * Go to the products * Select a combo product * Navigate through all the products that can be selected in the combo and apply a tax on each * Open shop session * Add the combo product to the order * Validate and invoice the order > Observation: Invalid Operation: Ta
Original PR description
Currently, some localizations are not able to invoice if a combo product was bought. Steps to reproduce: ------------------- * Install **l10n_pe_edi_pos** * Switch to the **PE Company** * Go to the **Point of sale** App * Go to the products * Select a combo product * Navigate through all the products that can be selected in the combo and apply a tax on each * Open shop session * Add the combo product to the order * Validate and invoice the order > Observation: Invalid Operation: Taxes need to be assigned on all invoice lines Why the fix: ------------ Combo products do not have the possibility to be assigned a tax, as they are not supposed to. Taxes are computed for each product chosen and applies on that product. We can treat the parent combo line as the note or sections we would put on a quotation. opw-4090946 Community PR: https://github.com/odoo/odoo/pull/181068 Forward-Port-Of: odoo/enterprise#71429 Forward-Port-Of: odoo/enterprise#70505
Problem: Once we set the product ID in `WebsiteSaleDaterangePicker`, it doesn't get updated if it has a truthy value. However, it should update because a different variant (product ID) can be selected. Steps to reproduce: - Install a database with website, eCommerce, and Rental (ensure the "website_sale_stock_renting" module is installed). - Create a product that can be rented with 3 variants. - Add a daily rate of your choice. - In the Sales tab, untick the option "Continue selling if
Original PR description
Problem: Once we set the product ID in `WebsiteSaleDaterangePicker`, it doesn't get updated if it has a truthy value. However, it should update because a different variant (product ID) can be selected. Steps to reproduce: - Install a database with website, eCommerce, and Rental (ensure the "website_sale_stock_renting" module is installed). - Create a product that can be rented with 3 variants. - Add a daily rate of your choice. - In the Sales tab, untick the option "Continue selling if out-of-stock." - Restock 1 quantity of each variant and publish the product on the website. - From the shop, rent the product with variant size S for one week. - Return to the shop and select another variant (M or L). The calendar will incorrectly show the rental days in red, as if M & L are also already rented. However, they can still be rented. opw-4115519 Forward-Port-Of: odoo/enterprise#68832
Previous behavior: - Late bills were determined by comparing `supprd` with the `return period`, which led to inaccuracies. New behavior: - Late bills are now identified by checking if the `bill date` is earlier than the `return period start date`, ensuring more precise classification of late bills. OPW: 4210068 Forward-Port-Of: odoo/enterprise#71511 Forward-Port-Of: odoo/enterprise#70225
Original PR description
Previous behavior: - Late bills were determined by comparing `supprd` with the `return period`, which led to inaccuracies. New behavior: - Late bills are now identified by checking if the `bill date` is earlier than the `return period start date`, ensuring more precise classification of late bills. OPW: 4210068 Forward-Port-Of: odoo/enterprise#71511 Forward-Port-Of: odoo/enterprise#70225
Steps to reproduce: - Create a employee with running contract. - Open planning app. - Create a planning for him. - Move through gantt date to employee' contract end date. Issue: - You can see there there as extra date being shown white which means he is contract for visual indication but not in backend. Fix: - Handling timezone issues. task-3815229 Forward-Port-Of: odoo/enterprise#69899
Original PR description
Steps to reproduce:
- Create a employee with running contract.
- Open planning app.
- Create a planning for him.
- Move through gantt date to employee' contract end date.
Issue:
- You can see there there as extra date being shown white which means he is
contract for visual indication but not in backend.
Fix:
- Handling timezone issues.
task-3815229
Forward-Port-Of: odoo/enterprise#69899