Wednesday, August 27, 2025
2 changes · master
Enhancements to existing features
Manufacturing teams can now generate and manage multiple serial numbers from a single manufacturing order instead of creating separate orders. This simplifies production workflows for serialized products and improves visibility in Shop Floor and Barcode apps, including clearer display when many serial numbers are involved.
Original PR description
Allow Manufacturing Order to produce multiple serial numbers.
Appointment questions can now be reused across different appointment types, making setup and translation easier to maintain. Phone number collection is now managed as a configurable question, so businesses can choose whether each appointment requires or omits it, while required questions are more consistently enforced during booking.
Original PR description
MAIN CHANGES ============= 1. Make questions easier to (re-)use across similar appointments (translations, update, consistency...) by making the field a m2m. 2. Also make appointments more flexible…
MAIN CHANGES ============= 1. Make questions easier to (re-)use across similar appointments (translations, update, consistency...) by making the field a m2m. 2. Also make appointments more flexible by adding a new 'phone' question_type and moving the phone from an hard-coded template input to an appointment.question record (and data). Appointments can now be phone-less. 3. Give configuration flexibility on questions, with new `is_default` and `is_reusable` boolean fields. `is_default` will make the question added to all new appointment_types, and if `is_reusable` is false, it will not be available when adding new questions on the appointment type form. OTHER CHANGES ============== - Improve the form view of appointment.question and add a small selection badge widget with icons. - The appointment question model is now also ordered by id to improve determinism. - Add the data appointment_question_phone, default question and reusable. - Partner matching is the same when a phone question is used. The first phone question (in terms of order - sequence) is the one to be used, also for prefilling partner data, or updating partner if appropriate. - Add an `active` field on the appointment.question model. - Enforce mandatory questions on controller side OTHER COMMIT ============= Before applying the changes above, improve the question answer handling in the controller by removing heavy regex and use a lighter solution based on existing questions and answers. UPGRADE ======== - relational table is created and populated between appointments and questions. - questions without `question_type` are deleted, and related records due to `cascade ondelete` - `is_reusable` is false for existing questions, despite True by default for future records. This allows a 'clean sheet' on migration, as existing questions will not be reusable on all appointments. - `is_default` is false for existing questions - Add new 'phone' data question and link it to all existing appointments. Also give it the lowest sequence so that it appears at the top of questions, as it was before. A test is also added. See UPG PR: https://github.com/odoo/upgrade/pull/7691 Task-4655040