- Mar 16, 2022
-
-
PNO authored
Issue: At anypoint we should be able to call the method "_set_lot_ids" from stock.move on moves that are already done and the quantities should not change. This is not the case for lots that get their quantity changes to 1 as if the product was tracked by serial number. This commit should be seen a a complement to the commit: https://github.com/odoo/odoo/pull/79565 Fix: Check the product is tracked by SN before trying to change the quantities to 1. Related ticket: 2689724 closes odoo/odoo#82360 X-original-commit: 61cd8337 Signed-off-by:
Arnold Moyaux <arm@odoo.com>
-
David Tran authored
closes odoo/odoo#86246 X-original-commit: a7d68627 Signed-off-by:
Thibault Delavallee (tde) <tde@openerp.com>
-
Munaf Khan authored
Currently while sending a digest, if a company does not have an email address set, the "From" field for the mail is blank and so trying to send digest fails. With this commit, if a company does not have an email address set, it will fallback to logged in user's email address as a "From" value. In most cases, it will be the Odoobot email address (if the digest is sent with the CRON) but if the admin send manually the digest, we will use the admin email address. TaskID-2729780 closes odoo/odoo#86390 X-original-commit: 64af6473 Signed-off-by:
Thibault Delavallee (tde) <tde@openerp.com>
-
simonev authored
closes odoo/odoo#85705 X-original-commit: 5ef00fcd Signed-off-by:
Arnold Moyaux <arm@odoo.com>
-
Antoine Guenet authored
When opening mass_mailing in a dialog (eg, in marketing automation), dragging a snippet to the bottom of the page (without dropping) caused an infinitely growing scrollbar on the document element. Note: this revealed that in that particular context the auto scroll to snippet feature is broken and while dragging we have an extra scrollbar, on the editable area. In order to fix that, we need to be able to identify from within the iframe the case where mass_mailing self-resizes. This involves changing the view to add an option which will set a class on the document element. This is not acceptable in stable and will therefore be fixed in master instead. task-2742664 closes odoo/odoo#85126 Signed-off-by:
David Monjoie (dmo) <dmo@odoo.com>
-
Antoine Guenet authored
The empty editor message was overflowing its container when in a modal, so a part of it was hidden and there was a scrollbar. This fixes it by setting its width to the available space. task-2742664 Part-of: odoo/odoo#85126
-
thcl-odoo authored
Current behavior : If no completed template (`completed_template_id`) is selected in the options of an elearning course, an error occurs when a user completes this course. Steps : - Install elearning - (*with demo data*) Go to a course (e.g. Basics of Gardening) - Remove the selected "Completion Email" then save - Complete the course Reason : We are trying to access a `record_email_values` value here [1] but no value is assigned to `record_email_values` unless we have a completed_template [2]. [1] : https://github.com/odoo/odoo/blob/f4d83f31c12cb13d626bcaaa619c0f3be680cdbc/addons/website_slides/models/slide_channel.py#L110 [2] : https://github.com/odoo/odoo/blob/f4d83f31c12cb13d626bcaaa619c0f3be680cdbc/addons/website_slides/models/slide_channel.py#L105-L106 OPW-2753078 closes odoo/odoo#84377 Signed-off-by:
Thibault Delavallee (tde) <tde@openerp.com>
-
Aurélien (avd) authored
Speedup basic_model._updateRecordsData for many2many fields such as fetchmail.server.message_ids and mail_channel.channel_message_ids. Calling _.findWhere(values) inside two nested _.each calls can be quite slow when the number of values is big. Remove the call to _.findWhere by first creating a Map res_id -> data and then calling Map.get to retrieve the data for a given res_id when making a DataPoint opw-2701170 closes odoo/odoo#82522 X-original-commit: aaf653e7 Signed-off-by:
Aaron Bohy (aab) <aab@odoo.com>
-
anhe-odoo authored
Expected Behaviour When updating the cost of a product with a negative quantity and then making an inventory adjustment, the final value should be corrected according to the current cost of the product Observed Behaviour In the case we had a negative quantity when changing the cost, the compensation layer will be ignored when doing an inventory adjustment afterward, leading to an incorrect total value in the inventory valuation Reproducibility This bug can be reproduced following these steps: - Create Storable product with costing method = AVCO Automated, Update cost to 100$ - Sell 10 units of this product (Inventory valuation at -1000 $ for -10 units) - Update cost of the product to 10 $ (Inventory valuation at -100 $ for -10 units) - Create an inventory adjustment to set the quantity of the product to 0. ==> Inventory valuation is a 900 $ for 0 unit of our product Related Issues/PR - opw-2635692 closes odoo/odoo#86368 X-original-commit: 673a6b69 Signed-off-by:
William Henrotin (whe) <whe@odoo.com> Signed-off-by:
Hendrickx Anthony (anhe) <anhe@odoo.com>
-
- Mar 15, 2022
-
-
Adrien Widart authored
When a PO is in the "To Approve" state, it disappears from the forecasted report To reproduce the issue: 1. In Settings, enable "Purchase Order Approval" with a minimum amount equal to 0 2. Create a storable product P 3. With Marc Demo: - Create a PO with 50 x P - Consult the forecasted report of P: there are 50 x P "Forecasted + Pending" - Confirm the PO (its state becomes "To Approve") - Consult the forecasted report of P Error: The 50 x P disappeared: 0 On Hand, 0 Forecasted, 0 Forecasted + Pending. We should still see 50 Forecasted + Pending OPW-2774586 closes odoo/odoo#86376 X-original-commit: 6f1d750c Signed-off-by:
Arnold Moyaux <arm@odoo.com> Signed-off-by:
Adrien Widart <awt@odoo.com>
-
Mihran Thalhath authored
PR #85474 introduced a bug where in users are not able to create purchase requisition in a multi company setup. closes odoo/odoo#86397 X-original-commit: 4ad64719 Signed-off-by:
William Henrotin (whe) <whe@odoo.com>
-
- Mar 14, 2022
-
-
Xavier Morel authored
opw-2793379 closes odoo/odoo#86402 X-original-commit: 0dd7c78b
-
Antoine Guenet authored
When inserting a format with a collapsed selection, we need to insert a zero-width space. It should not be saved so we need to isolate it and put the "oe-zws-empty-inline" attribute on its parent so it gets cleaned up by the sanitizer. closes odoo/odoo#85408 Signed-off-by:
David Monjoie (dmo) <dmo@odoo.com>
-
Antoine Guenet authored
Take `<p>a<b>bcde</b>f` and select the whole paragraph. If you click the "bold" button, you would expect the whole paragraph to become bold. Only if you only select "bcde" do you expect to unbold it. This is the behavior of other editors. Odoo-editor so far was unbolding as long as a part of the selection was bold. The same applies to other formats. Currently the format buttons are active when the closest start container is that format but it should be active when pressing it would undo the format, ie when the whole selection is that format. This harmonizes it with the browser defaults. task-2754127 Part-of: odoo/odoo#85408
-
Antoine Guenet authored
When a background color is applied on an ancestor, while it's visibly there, `getComputedStyle` doesn't know. Because it did depend on it, the toolbar showed the wrong color in these cases. Eg: `<span style="background-color: red;"><b>a[]bc</b></span>` was showing no background color. task-2778416 Part-of: odoo/odoo#85408
-
Antoine Guenet authored
The link button was toggling its active state on every update of the toolbar because we weren't passing the toggle function a boolean. and if the element we were passing it was `undefined`, it triggered the default behavior which is to just toggle. Instead we want it to be false if the element is `undefined`. Part-of: odoo/odoo#85408
-
Antoine Guenet authored
Underline and strikeThrough styles are special beasts in that they both are applied to the `text-decoration-line` property. Unlike `font-weight` or `color`, They behave like a border: setting `text-decoration-line: none` to an element won't undo the value of the parent and therefore the text will still show the decoration applied to its parent. Similarly, nested decorations will apply over each other: a text node whose parent has an underline decoration and whose grandparent has a line-through decoration will be both underlined _and_ struck through. Consequently, we can't treat these styles the same way we treat bold, italic and colors: 1. To undo the style, we have to split the text from its styled ancestor 2. To apply eg underline to a struck through text, we have to insert a new span. task-2778416 Part-of: odoo/odoo#85408
-
Antoine Guenet authored
Consider the following situation: `<p>a[]b<span><zws></span>c</p>`, where `<zws>` is a zero-width space and `[]` is the collapsed selection. On pressing the `ArrowRight` key, we want to enter the `<span>` so we don't press once to be after the "b" then once again to be before the `<zws>`. The cases with a non-collapsed selection, and with the left arrow are analogous. This is what this commit allows us to handle. Part-of: odoo/odoo#85408
-
Antoine Guenet authored
When the selection is collapsed it was impossible to set a format (bold, italic, underline, strikethrough), a font-size or a color. This makes it possible by inserting and selecting a zero-width space first, then placing the caret to its left when we're done. task-2778416 Part-of: odoo/odoo#85408
-
Antoine Guenet authored
The bold format is overridden to use inline style on a <span> rather than a <b>. The other formats (italic, underline, strikethrough) continued to use the default browser behavior. This harmonizes them. Part-of: odoo/odoo#85408
-
Antoine Guenet authored
When pressing the italic or underline buttons, we pass through a command in the editor. Their corresponding keyboard shortcuts however were not intercepted by the editor and were therefore triggering the default browser behavior. As a result we had different behaviors when using the buttons and the shortcuts. Part-of: odoo/odoo#85408
-
roen-odoo authored
Current behavior: Public user have access to payment method that require tokenization wich leads to error when they use it. We should not show those payment methos to the public users (e.g We shouldn't show sepa direct debit because this method uses tokenization) Steps to reproduce: - Activate SEPA Direct Debit in the payment acquierers - Select Bank as payment journal - In the bank payment journal create an account number (e.g BE71096123456769), and select a Bank (e.g BNP) - Create a new customer (type : company, country : spain, and an email) - Create a quotation with this new customer - Click on the "action" icon and click on generate payment link - Open the link in an incognito window (to make sure you'r not connected in Odoo) - Try to use the sepa direct debit - An access error appears because public user do not have access to payment.token. opw-2754505 closes odoo/odoo#85827 Signed-off-by:
Grazioso Andrea (agr) <agr@odoo.com>
-
std-odoo authored
Purpose ======= Since 68182baf , Jinja mail templates have been replaced by QWeb templates. But some reference to Jinja in the mail settings have been forgotten. Task-2701037 closes odoo/odoo#86248 Signed-off-by:
Thibault Delavallee (tde) <tde@openerp.com>
-
Mitul Shah authored
Before this Commit, While creating a new SMS mailing, There is an empty settings tab. After this Commit, - We have added a new 'Option' group and set the 'Include opt-out link' field in this group. - We have moved the 'Responsible' from Email Content to Tracking group. - Responsible(user_id) will be always visible. - Email Content group will visible only while creating Email Marketing. Task-2710557 closes odoo/odoo#83183 Signed-off-by:
Thibault Delavallee (tde) <tde@openerp.com>
-
Artem authored
Fixes odoo/odoo#86216 When printing qweb report use the current company. For example, the company logo printed was always from user company default instead of the current company. closes odoo/odoo#86333 X-original-commit: 3c626331 Signed-off-by:
Martin Trigaux (mat) <mat@odoo.com>
-
Joonas Hartonen authored
* res.partner write method was missing return. This caused errors with XML RPC writes. closes odoo/odoo#86318 Signed-off-by:
Thibault Delavallee (tde) <tde@openerp.com>
-
Florian Damhaut authored
Step to reproduce: - Create an accrual plan with the option "at the end of the year, unused accruals will be lost" and that can be allocated every year (in this example, 3 days) - Create an allocation for Marc Demo based on that accrual plan and starting in 2020. - Run scheduled action "Accrual Time Off: updates the number of time off" - Connect as Marc Demo Current behaviour: - Marc Demo has receive a 6 day allocation - While loop over the elapsed period doesn't take lost time into account Behaviour after PR: - Marc Demo receive 3 day allocation opw-2769066 closes odoo/odoo#85700 Signed-off-by:
Kevin Baptiste <kba@odoo.com>
-
William Braeckman authored
Prior to this commit, the multi company rules were bypassed due implicit sudos (compute_sudo and self.env.user). The function computing the number of days will now make sure to include the right domain. TaskId-2791030 closes odoo/odoo#86166 Signed-off-by:
Yannick Tivisse (yti) <yti@odoo.com>
-
Florian Damhaut authored
Step to reproduce: - Render negative duration with the duration widget Example V15: - Create timesheet entry with negative duration (e.g. -00:30) - Print the timesheet entry Current Behaviour: - Time is rendered as Time-1h (in e.g. -01:30) Behaviour after PR: - Time is correctly rendered (in e.g. -00:30) opw-2731186 closes odoo/odoo#85896 X-original-commit: 8828824f Signed-off-by:
Damhaut Florian (flda) <flda@odoo.com>
-
Jinjiu Liu authored
Reproduction: 1. Install Expense, Accounting, then create a new expense 2. Choose category ”Food & beverages”, enter the amount paid 3. Choose a tax in Taxes 4. The amount paid is recomputed to 0 Reason: the expense form view changed in V15 but still uses the same computation logic in V14. In V15, parameter product_has_cost=False is a new use case where we directly input the total amount, and taxes here are already included in the price. Fix: in _compute_amount function, we need to check if there is unit_amount. If yes, we follow the computation flow which is similar to V14. If not, we calculate the taxes and other variables using the total_amount. But the taxes here must be price_include=True. Otherwise, the calculation will be wrong. To remind the customer, a tooltip and default text are added to tax_ids field. The domain of tax_ids will only include taxes with price_include=True. The translation file and the test are updated accordingly opw-2747288 closes odoo/odoo#85414 Signed-off-by:
Kevin Baptiste <kba@odoo.com>
-
Florian Damhaut authored
Step to reproduce: - Have the same menu items in the different locations - Order one item for Office 1 click " Order now" - Choose different office - Select the same item Current Behaviour: - There is no 'Order now' and you can see that both orders were made from Office 1. - If you select two different items, you can click 'Order now' twice, but there is no button if items are the same Behaviour: - If you change location before adding an item already present you create a new line link to the new location and the 'Order now' button is present opw-2769168 closes odoo/odoo#85942 Signed-off-by:
Kevin Baptiste <kba@odoo.com>
-
Kevin Baptiste authored
THe price shown on the order line was not taking into account the quantities ordered. closes odoo/odoo#85852 Taskid: 2678064 X-original-commit: f9243560 Signed-off-by:
Kevin Baptiste <kba@odoo.com>
-
- Mar 13, 2022
-
-
roen-odoo authored
Current behavior: When you use a workcenter with start and stop time in a BoM the start/stop time is applied for each quantity in the BoM report and workorder. For example if you have 3 quantities the start/stop time will be applied 3 times. Steps to reproduce: - Create a product to manufacture (With atleast 1 operation) - Create a workcenter that has positive Start/Stop time values - Start and stop time are multiplied by the quantity in the BoM report opw-2779381 closes odoo/odoo#86122 X-original-commit: 92fdf81e Signed-off-by:
Adrien Widart <awt@odoo.com> Signed-off-by:
Engels Robin (roen) <roen@odoo.com>
-
Odoo Translation Bot authored
-
- Mar 12, 2022
-
-
Josse Colpaert authored
Before, when sending an invoice for the first time, it would give a "cannot find savepoint" traceback upon wanting to release it. We avoid that error by putting less code in the with statement, so the savepoint gets released a lot earlier while the record remains locked for the rest of the transaction. We also put a nice error message if the user can not send at the moment because another process is already sending. (might happen more often in v15) We also updated the translation .pot as we added a new message and some messages were missing anyways in the .pot, so we added those as well. closes odoo/odoo#85905 X-original-commit: e493dcfb Signed-off-by:
William André (wan) <wan@odoo.com>
-
Brice bib Bartoletti authored
This commit aims to allow assigning tags to the taxes created by the OSS feature by providing the xml_id of their report.line in the eu_tag_map.py file. Before this commit: In l10n_be, the taxes created by OSS (l10n_eu_services) didn't set the tag +47 on invoice_repartition_lines nor +49 on refund_repartition_lines. This make the VAT report for Belgium wrong. After this commit: Taxes created by OSS for a company using the belgian CoA will get their tags set properly and thus will the taxes impact the belgian tax report correctly. task: 2770182 ticket: 2768622 Community-PR: https://github.com/odoo/odoo/pull/85607 Design choices: This fix is currently solving the issue for l10n_be but we have no doubt that it will be raised for other EU countries too. In order to provide the tags, we decided to be consistent with what as been done regarding the tax mapping. Thus we decided to create and maintain a simple mapping file and to test it. several other methods were explored: - create a global variable and update it from all localization modules. This method would work but is ugly and error prone. - create a templating method and override it from localization modules. The problem is where to set the root of the template method? The naïve solution would be to create a bridge module between l10n_eu_services and l10n_be but that would lead to an explosion in the number of bridge modules which we don't want. In order to keep things simple and generic, we could put the template method directly into the account module. But it is kind of ugly because account shouldn't know anything about the oss feature and it would encourage such a leaky design to happen again in the future. closes odoo/odoo#86310 X-original-commit: 88021358 Signed-off-by:
William André (wan) <wan@odoo.com>
-
Brice bib Bartoletti authored
Improves l10n_eu_oss code readability X-original-commit: 61249a43 Part-of: odoo/odoo#86310
-
- Mar 11, 2022
-
-
Paolo (pgi) authored
If applied, this PR will enable button_access for all users and portal_customers, letting them access the documents directly. The button "View Journal Entries" will appear on the notification email, and by clicking this the user will be directed to the portal page of the invoice/refund. All users and portal_customers subscribed to the thread should be able to see this button. A following refactor by TDE (#82167) has addressed this problem in master (for 15.2). For stable versions, in this PR, we agreed to keep changes limited to the accounting scope. Ticket link: https://www.odoo.com/web#id=2645653&model=project.task opw-2645653 closes odoo/odoo#86253 X-original-commit: 1ef5fa47 Signed-off-by:
William André (wan) <wan@odoo.com> Signed-off-by:
Paolo Gatti (pgi) <pgi@odoo.com>
-
Audric Onockx (auon) authored
Steps : Create a recurrent task. Delete it. Run the cron "Create Recurring Tasks". Issue : IndexError: tuple index out of range. Cause : The cron calls a method which takes the last task of the recurrence as a model. As there is no such task, an python error is thrown. Fix : Do not display the "Continue Recurrence" button when deleting the last task of it. opw-2743788 closes odoo/odoo#85209 Signed-off-by:
Laurent Stukkens (ltu) <ltu@odoo.com>
-