Tuesday, January 21, 2020
12 changes · master
Enhancements to existing features
This update cleans up how document followers are managed across mail features, making the behavior clearer and easier to maintain. It also streamlines related web routes and improves follower information handling, which should support better performance and reliability in messaging workflows.
Original PR description
Follower model holds relationship between a document, and a partner or a channel. It is used mainly through dedicated routes and methods as it has been optimized for performance reasons. In this commit we go further in route and management cleaning, trying to optimize follower management using notably sudo to lessen query count.
Email Marketing and SMS Marketing activities now appear as separate entries in the activity menu instead of being grouped together. This makes the alerts clearer, uses the right app icons, and opens only the relevant email or SMS marketing activities when selected.
Original PR description
PURPOSE mass_mailing and mass_mailing_sms activities are grouped as 1 item in the systray due to them using the same model name (sms inherits and distinguishes itself with a different field.Selection value). This is confusing behavior because they are 2 separate modules and the default icon ends up mismatching the sms-related activities. SPECIFICATIONS Split mass_mailing and mass_mailing_sms activities into 2 separate items in systray. Additionally, make it so when mass_mailing and mass_mailing_sms activities are clicked on, only the relevant activities are shown to prevent confusion. In order to only show relevant activities, an optional "domain" check is needed in __systray_activity_menu.js__ for when overriding _systray_get_activities_ methods provide a domain to apply. Task: 2169498 PR #43272
This improves how Odoo gathers related record data, reducing repeated work and making better use of caching. Business users should see faster responses in areas that process large sets of records, especially where reports, lists, or automations rely on these lookups.
Original PR description
Reimplementation of (part of) #38850 TODO: - [x] Make `_RelationalMulti.__get__` use the new and improved `mapped` instead of naively reimplementing the old one
This change adds compatibility tools that let older Odoo web screens and newer Owl components work together during the ongoing interface modernization. It reduces migration risk for the web client and updates the pivot view to use the new adapter approach without aiming to change day-to-day business workflows.
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
This update speeds up common data lookups by reusing a previously calculated cache value instead of recalculating it repeatedly. It can make heavily used operations noticeably faster across Odoo, while also preventing website sale tests from changing shared environment settings unexpectedly.
Original PR description
It's caches all the way down `Field.__get__` and `BaseModel.mapped` are up to 2x faster thanks to this patch When paired with #42611, `BaseModel.mapped` becomes blazing fastererer Benchmarks will be made public later (?)
This update adds documentation for a Gantt view option that controls dynamic date ranges. It helps teams understand and use the planning view configuration more confidently, with no direct change to business workflows.
Original PR description
Add documentation about the new gantt parameters. The parameter was added in enterprise (odoo/enterprise#7640). Task #2168740
New users now receive a default profile picture, making profiles look consistent even when no photo is uploaded. Unassigned records in kanban-style views now show a clear unassigned icon and hover text, helping teams quickly distinguish missing assignments from users without photos.
Original PR description
======= Purpose ======= When you go in project (or any other module) and nobody is assigned to a task, the default 'missing image' is displayed. Because of that, there is no way of telling if the user is missing a profile picture or if nobody is assigned to the task. =========== Specifications =========== - Set a default image for new users - Each user should have a distinct backgroung color - If the record is unassigned display user-slash icon and unassigned on hover TaskID: 2060206
Swiss invoicing now supports version 2 of the QR Invoice standard planned for 2020. This improves payment accuracy by using the correct invoice payment reference and supporting QR-IBANs required for QR reference payments.
Original PR description
- [x] Depends on #35873 - [ ] for tests fixing depends on #35979 [this needs rebase] ## Description of the issue/feature this PR addresses: The QR-Invoice is planned to land in June 2020. (as it was…
- [x] Depends on #35873 - [ ] for tests fixing depends on #35979 [this needs rebase] ## Description of the issue/feature this PR addresses: The QR-Invoice is planned to land in June 2020. (as it was delayed) Since it was developed [IMP] l10n_ch: Swiss QR Invoice version 0200 Swiss QR Invoice with QR Reference (QRR) needs a special IBAN named QR-IBAN. A QRR is exactly the same as an ISR Reference. * Add a new res.partner.bank type `qr-iban` * Fix Reference on QR-invoice which was subscription number instead of QRR * Move QR code logic for report on invoice instead of res.partner.bank * Change addresses to "K", combined, in order to not have to split the building number from the addresses * Upgrade QR-Invoice to 0200 reminder: *to activate Swiss QR-code add the system parameter* **l10n_ch.print_qrcode** https://www.paymentstandards.ch/dam/downloads/ig-qr-bill-en.pdf ## Current behaviour before PR: The version was still version 1. The reference used was a the subscription number (previously badly named ISR reference on the bank). ## Desired behaviour after PR is merged: Version 2 of QR-Invoice specs. The reference on the invoice QR must be a Payment Reference in our case the ISR reference which is computed on the invoice (`l10n_ch_isr_number`) ### Current output with fixed reference  To be done later, add the optional bill information from Swico standards. Be able to print a QR code with the ISR reference of the invoice (account.move). -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change makes the employee form controller easier to customize for specific business needs. It helps organizations adapt HR workflows with less effort while keeping the standard employee management experience intact.
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
Event and website event track Gantt views now open around the relevant event or record dates instead of defaulting to calendar period starts. The view can also choose a more suitable timescale automatically and avoids an error when switching from grouped list views.
Original PR description
Purpose ======= Improve the gantt views in Event, to show relevant data. Specifications =========== We want to gantt view to start at the `initialDate`, and not at the beginning of the year/month/week. For that purpose, we added a new parameter on the gantt view, `dynamic_range`. If this attributes is set, the gantt view starts at the `initialDate` (now, or defined in the parameters) instead of starting at the beginning of the year/month/day. We also want to have an automatic scale. If all the records are on the current week, we want the scale to be "week". Fix a bug when in the tree view we group by day:hours, and then we go to the gantt view. Task 2168740
Kanban cards now clearly show when a record has no assigned person, using an unassigned icon and hover text instead of a generic missing image. New users also receive a default profile image, helping teams distinguish between missing photos and genuinely unassigned work.
Original PR description
======= Purpose ======= When you go in project (or any other module) and nobody is assigned to a task, the default 'missing image' is displayed. Because of that, there is no way of telling if the user is missing a profile picture or if nobody is assigned to the task. =========== Specifications =========== - Set a default image for new users - Each user should have a distinct backgroung color - If the record is unassigned display user-slash icon and unassigned on hover TaskID: 2060206
Accounting reports now have cleaner alignment, better spacing, and more consistent printed output. Users can also search more reports and see totals handled consistently, making financial review easier and reducing confusing display issues.
Original PR description
TODO : complete commit message