Daily updates from Odoo
Thursday, April 11, 2019
2 changes
Resolved issues and error corrections
Mobile users can now send messages from a chat window even after closing the keyboard. The chat composer now keeps the send icon available in the input area and makes small visual cleanup adjustments for a smoother messaging experience.
Original PR description
On a chat window on mobile, the keyboard can be closed by clicking in the conversation, then there's no way to send your message. This commit add a "send" icon in the input, after emoji and attachments icon. Actually the button was already present on mobile but hidden because of the class o_composer_button_send (used for multiple "send" buttons). This is fixed by restricting the hidding only to the desired button. It also removes an unused 1px top/bottom margin on the thread composer (wasn't visible as the buttons' background color is the same as their parent's background). Finally applying the brand-primary text color on the "send" button only when not being in a "mini composer" mode instead of globally. Task ID: 1943863
Payroll now ignores cancelled work entries when checking for duplicates or scheduling conflicts, allowing users to recreate corrected entries without errors. The update also tidies internal payroll calculation method setup, improving maintainability without changing expected payroll behavior.
Original PR description
[FIX] hr_payroll: Allow recreate cancelled work entry ====== If a work entry have been cancelled (active: True -> False), an other work entry cannot be created with the same employee, type and date because it violates the unique constraint. The unique constraint should not take into account inactive records. Also the SQL query detecting conflicts between work entries should only take into account active entries. This commit fixes both issues. [IMP] hr_payroll: Clean unnecessary api.model ========= Clean api.model of `hr.payslip`. Method `get_worked_day_lines` does not need to be api.model. Method `_get_payslip_lines` was wrongly an `api.model` because it was using self.