Daily updates from Odoo
Navigate
Branch
Thursday, April 1, 2021
13 changes
Enhancements to existing features
Appointment types can now notify the right people when bookings are made or cancelled. Employees linked to an appointment type are automatically subscribed to booking alerts, and cancelled appointments are archived so the business keeps a record for follow-up.
Original PR description
PURPOSE Improve communication (emails sent) when using appointment. Notably allow users to manage their notification through appointment types. SPECIFICATIONS Allow users to subscribe to the subtypes "Appointment Booked" and "Appointment Cancelled". Employees added to the employee_ids field of an appointment type should automatically be subscribed to the subtype "Appointment Booked". Users subscribed to "appointment booked" will be notified whenever someone books an appointment through the frontend. Users will be able to join a calendar.event via the booked email. Users subscribed to "appointment cancelled" will be notified when the event gets archived. LINKS Task ID-2223519 COM PR odoo/odoo#68022
Belgian tax reports now carry negative tax amounts forward to later periods instead of showing them directly in report grids. This helps businesses comply with Belgian accounting rules by automatically offsetting carried balances until they are fully cleared.
Original PR description
In Belgian accounting, some tax lines in the tax report must be carried over to the next period if they are negative. If the balance for the next period is positive, it will be deduced by the maximum possible amount that is carried over. If it is negative, the negative balance will simply be added to the carried over balance. This process repeats itself from one period to the other endlessly, until the carried over balance comes back to 0. This is done by putting the carried over balance in dedicated analytic accounts. task id #2271978
This update renames an internal helper so it more accurately describes preparing contact data for an online response, rather than creating a new contact record. It reduces confusion for future maintenance without changing how users experience the helpdesk mail plugin.
Original PR description
Purpose ======= `_prepare_contact_values` sound like we will create a record. But the function will return the values for a JSON endpoint. Task 2466653
This update adds automated checks for field service projects that price work based on employee rates. It helps ensure sales order lines and timesheet billing stay accurate when tasks are completed or linked sales lines are changed.
Original PR description
Before this commit, very few tests exist to test the behaviour in a fsm project with pricing type set to employee rate. That is, with employee mappings. This commit adds some unit tests to check different cases that could be arrived when a fsm project has employee mappings. That is, the SOL generated in the SO generated to a fsm task when the user marks as done the task. When the user changes the SOL linked to the task, we need to search the SOLs for the timesheets based on the mappings, etc. task-2376382 Related PR: #16348
Accounting reports can now handle VAT reporting for multiple countries or regions within the same company. Businesses with foreign VAT registrations can select the relevant fiscal position, generate separate tax reports, and create separate closing entries for each applicable VAT area.
Original PR description
Task 2304238 [IMP] account_reports: tax report: allow opening of foreign reports if needed A foreign tax report is considered available (and hence: is selectable in the report's menu) if there exists…
Task 2304238 [IMP] account_reports: tax report: allow opening of foreign reports if needed A foreign tax report is considered available (and hence: is selectable in the report's menu) if there exists at least one foreign VAT fiscal position for its country in the company. [IMP] account_reports: introduce fiscal_position option This option is used to filter what is displayed in the report depending on the foreign VAT fiscal positions. Available fiscal positions are obtained by checking the country of the report (the way this check is performed depends on the report type, but it's available for all of them, no only account.generic.tax.report). A 'domestic' and 'everything' option also exist, respectively to only show domestic operations (i.e. the ones without any fiscal_position_id), or all of them (domestic + all other fiscal positions from this country). Note that 'domestic' will not be available in case the country defined for the report does not match the company's fiscal country. In case a report is opened for a country that's not domestic and contains only one foreign VAT fiscal position, the filter is not displayed in the report, and this fiscal position is always selected. So, in most common cases, the option will stay hidden in the interface. It will only show if there are multiple VAT fiscal positions within the same country (for example, if a different tax report needs to be submitted per region, like in India). [IMP] account_reports: tax closing: one closing move per VAT fiscal position and tax report There is not a single tax closing move anymore. It's now unique per (country, fiscal_position). So, you can have multiple closing moves for the same period at the same time, for different operations in different areas. fiscal_position_id of these moves contain the foreign VAT fiscal position that was used to generated them, or None if the move is the closing for the domestic region. [IMP] account_reports, l10n*: add country_id to financial reports It is now possible to define which country a report belongs to. If not set, this field indicates that the report is not specific to a single country. [IMP] account_*, stock_intrastat, l10n_* : Generalize the use of account_fiscal_country_id Before, account_fiscal_country_id was only used for tax operations; and country_id was used for all the other accounting stuff. Now, with the new ability to use foreign tax reports (with foreign VAT fiscal positions), we can generalize the fiscal country, sot that it is the one that needs to be used for the whole accounting. Since foreign tax reports were not supported before, account_fiscal_country_id is already set on existing database as the country for the "main" accounting, so the impact of this change is small.
Odoo Studio now lets users adjust more settings for pivot and graph views directly from the sidebar. This makes it easier for business users to tailor reporting views without needing developer support.
Original PR description
This commit adds some properties in the sidebar of the graph and pivot views This will allow the user to customize the views. task - 2347554
The appointment scheduling flow has been redesigned to make it easier for staff to manage appointment types and for visitors to find and book available slots. Updates include clearer appointment cards, search, simplified booking forms, shareable links, easier publishing controls, and more efficient slot setup.
Original PR description
# Purpose Improve the backend and frontend user interface. # Specifications * Redesign of the kanban view: - Add a publish ribbon on appointment type card when it is published. - Clicking on the card…
# Purpose
Improve the backend and frontend user interface.
# Specifications
* Redesign of the kanban view:
- Add a publish ribbon on appointment type card when it is published.
- Clicking on the card open the form view and the ellipsis button is removed.
- Clicking on the green button "X Scheduled" apply a default filter on this appointment type.
- Dynamically compute the start date of the calendar if they are appointments or not.
- Dynamically compute the display mode (aka scale). If they are appointments only on this week, we display the calendar in week mode, if they are appointments further in time, we display the calendar in month mode.
- Add a switch to publish/unpublish an appointment type from the kanban card.
* Redesign of the form view:
- Fix the buttons in the header
- Remove the chatter
- Add a share button to get a link towards an appointment type in the frontend with prefilled values. It allows also to preset appointment_type_ids or employee_ids to filter the information that the user will see when he will register.
- Remove the personal link of an employee in the form (in an other commit)
* Slots computation:
- Before the slots were generated one by one from each record created (weekday, starting hour and appointment duration). Now the slots are automatically generated with the addition of the ending_hour field. This allows to create multiple slots with one record. This number is equal to : (end_hour - start_hour) / duration.
* Frontend Appointment Submit Form:
- Remove the Country field in the generic part
* Frontend Appointment and Slot selection:
- The "Published" and "Edit in Backend" are now correctly displayed in the top bar
- The appointment type are now displayed in card style by default
- Add a search bar to filter appointment cards.
- Add hooks to customize the step of an appointment registration.
- When selecting a slot where you can choose the employee or change the timezone, you can refresh the available slots when you modify this parameters.
- Improve the display of the calendars to select slot. We display now one calendar at a time (with navigation buttons if need be) and display the slots next to the calendar.
# Links
Task-2190526
ENT PR: odoo/enterprise#9456
UPG PR: odoo/upgrade#2138Resolved issues and error corrections
This fix ensures the customer field is properly set on project tasks when Field Service is installed. It also makes the customer field visible during quick task creation for Field Service projects, helping users capture the right customer information from the start.
Original PR description
Prior to this commit: The partner_id was not set on non FSM projects tasks once the inductry_fsm module was installed. The partner_id field was not displayed in the kanban quick_create view as the is_fsm field was Falsy since the project_id field was not present in the view. Both behaviors have been introduced with odoo/odoo#66589. After this commit: The partner_id is correctly set as the compute is triggered thanks to project_id. The partner_id field is visible in the task quick_create view for FSM projects since the is_fsm task field works as expected as the project_id is present in the view.
Code cleanup and technical improvements
This update adjusts several Odoo Enterprise apps to work with a recent reorganization of older JavaScript files. It is mainly an internal maintenance change that helps keep accounting, payments, planning, timesheets, signing, and web enterprise features functioning consistently.
Miscellaneous changes
The reconcilation page also suggests to reconcile the bank statement lines not posted yet. To reproduce the error: 1. Create a bank statement with one line BSL 2. Back to Accounting Dashboard, observe the Bank's Kanban Card - There is a button "Reconcile X Items" 3. Click on this button Error: There are actually X+1 items to reconcile. The difference comes from BSL. Moreover, since BSL is not posted, the user can not reconcile it ("You can only reconcile posted entries."). There
Original PR description
The reconcilation page also suggests to reconcile the bank statement
lines not posted yet.
To reproduce the error:
1. Create a bank statement with one line BSL
2. Back to Accounting Dashboard, observe the Bank's Kanban Card
- There is a button "Reconcile X Items"
3. Click on this button
Error: There are actually X+1 items to reconcile. The difference comes
from BSL. Moreover, since BSL is not posted, the user can not reconcile
it ("You can only reconcile posted entries."). Therefore, X is the
correct value and BSL should not be listed while it is not posted.
OPW-2469365
Forward-Port-Of: odoo/enterprise#17323Forward-Port-Of: odoo/enterprise#17422
Original PR description
Forward-Port-Of: odoo/enterprise#17422
When opened on a mobile device (smartphone or tablet), both the native Dialing Panel and the virtual one opens when composing a phone number. This commit sets the DialingPanel Widget's flag to detect such environment and properly hides the virtual dialing panel when the native one is available. Steps to reproduce: 1. Open VOIP panel 2. Click on dialing panel to compose a phone number 3. Both dialing panels are displayed => bug Task ID: 2495658 Forward-Port-Of: odoo/enterprise#1
Original PR description
When opened on a mobile device (smartphone or tablet), both the native Dialing Panel and the virtual one opens when composing a phone number. This commit sets the DialingPanel Widget's flag to detect such environment and properly hides the virtual dialing panel when the native one is available. Steps to reproduce: 1. Open VOIP panel 2. Click on dialing panel to compose a phone number 3. Both dialing panels are displayed => bug Task ID: 2495658 Forward-Port-Of: odoo/enterprise#17295
On dmfa, only count the co2 if the car was actually used by an employee Forward-Port-Of: odoo/enterprise#17409
Original PR description
On dmfa, only count the co2 if the car was actually used by an employee Forward-Port-Of: odoo/enterprise#17409