Friday, February 23, 2024
7 changes · master
Enhancements to existing features
Customer portal pages now show discounts when they exist, without depending on an internal discount setting. This keeps sales, field service, rental, and subscription customer-facing information aligned with recent sales system changes.
Original PR description
Also avoid relying on the discount group in portal templates, if there is a discount, it should be displayed to the customer (and there probably won't be any if discounts are not enabled).
Worksheet templates now link to a single company instead of multiple companies, aligning them with related business records. This makes company-specific worksheet setup clearer and more consistent across field service, maintenance, and quality workflows.
Original PR description
This commit's purpose is to transform the company_ids field on worksheet template to Many2one to be coherent with the other models. task-3450204
Planning emails now include options to add shared shifts or full schedules directly to Google Calendar, iCal, or Outlook. This makes it easier for employees to save work assignments in their personal calendars and reduces missed shifts or manual entry.
Original PR description
This commit add an 'add to calendar' button to the 'planning: new schedule' and 'planning: new shift' email templates If a single shift is shared: - By clicking the 'add to Google Calendar' button…
This commit add an 'add to calendar' button to the 'planning: new schedule' and 'planning: new shift' email templates If a single shift is shared: - By clicking the 'add to Google Calendar' button the user is redirected to a Google Calendar URL that will allow him to create an event for the shift - By clicking the 'Add to iCal/Outlook' button the PlanningController will send a .ics file If a planning is shared: - By clicking the 'add to calendar' button the PlanningController will send a single .ics file with every shift in the planning --- ## Details about the implementation ### In planning module In the *mail_template_data* added the buttons which redirects to the corresponding routes: - for planning.planning: the route _/planning/<string:planning_token>/<string:employee_token>.ics_ will return the ics file - for planning.slot: either the direct google calendar URL generated in the planning.py model file or the route _/slot/<string:access_token>.ics_ which will return the ics file In the *Controller* we add the 2 routes to get the corresponding .ics files this is done by creating vobject.calendar and filing it with the corresponding slot information In the *models/planning.py* we create the method planning.slot.get_calendar_from_slot() to fill the *planning slot* vobject given by the 'planning: new shift' email we also create the method planning.planning.get_calendar_from_slot_data() method to fill the *planning planning* vobject given by the 'planning: new schedule' email Those two method are separated because information about the shifts present inside a *Schedule* are given under a different form than a sum slot_ids (a dictionary generated by the method _planning_get()) so the methods that extract the data from the slots are different for a complete schedule and an alone slot (but are named the same: *get_ics_description* and *get_ics_summary*) get_ics_description simply fetches the slot *allocated percentage* *note* and *role* from the slot to later put it in the vobject.calendar description get_ics_summary gets the *resource* and *role* from the slot to put in the vobject.calendar Title also modified the relativedelta import for style reasons ### In project_forecast module inherits the get_ics_description and adds the project name in the description inherits the get_ics_summary and adds the project name in the title (only for planning.planning) ### In sale_planning module in the *controller* added 'partner_id' fetch in the _planning_get() method Created a new planning_planning.py *model* file just to inherit the two ics_summary and description function to add the Sale Order Item and Partner data. inherits the get_ics_description in the planning_slot.py model file Task-3434542 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Restaurant POS users can now send all items from a selected category to preparation at once using a new Send button. This makes kitchen coordination faster and helps teams organize order preparation by product category instead of handling items one by one.
Original PR description
**Before the change:** The control buttons in the POS restaurant module did not have an option to send orders in preparation by category. Users were only able to send individual orders to preparation without categorization. **After the change:** After the modification, a new button labeled "Send" with a fire icon was added to the control buttons. This button allows users to select a ategory and send all products within that category to preparation. This enhancement provides a more efficient way to organize and prepare orders in the point of sale system, improving workflow and order management. https://github.com/odoo/odoo/pull/154754
Restaurant staff can now send order items to preparation in separate batches instead of all at once. This helps teams pace kitchen or bar preparation while keeping batch details internal to orders and preparation tickets, not customer receipts.
Original PR description
Allow user to sent items for preparation in batches, one at a time. Batch are only for internal use, only displayed on the order and on prep tickets, not on receipts.
Portal and guest users in Knowledge will no longer see other guests' email addresses. This improves privacy by limiting access to guest contact details to internal users only.
Original PR description
This commit hides the email adresses of other portal users when one of them is connected. This way we keep a certain level of privacy to guest users as only internal users will now be able to see their email adress. task-3753758
GSTR1 validation now better interprets GST Portal responses, making it easier to understand and resolve reported data issues. This helps businesses using Indian GST reports and POS GST reporting reduce time spent investigating unclear validation errors.
Original PR description
… Traceability Before This Commit: Managing Inaccurate Data Responses from GSTR Portal After This Commit: Simplifying Error Resolution by Enhancing Decoding of JSON Responses task: 3428326