The event is no longer bound since 0df4b0029b
And it's fine in this case : the form view does not need to be updated when
removing a pending attachment from composer.
closesodoo/odoo#86491
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Some payments may be confirmed asynchronously, and we need to be aware
of their status, even if they are not in a "checkout session complete"
event. Relying on successful payment or setup intents instead manage
more use cases.
task-2733725
closesodoo/odoo#84150
Related: odoo/upgrade#3350
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
*: calendar, hr, hr_holidays, im_livechat, mail, mail_bot, note, sms, snailmail,
website_livechat, website_slides.
This commit prepares the removal of beforeEach function in the
mail test suite. Cleanup was relying on beforeEach adding widgets,
components, unpatch method 'this'. We need to clean things up without
using either beforeEach or 'this'.
task-2792108
closesodoo/odoo#86526
Related: odoo/enterprise#25326
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Before this commit, any field requested to `_binary_record_content()`
when the model was `ir.attachment` would be considered as `raw`.
This assumption works at the moment but could lead to unexpected
behavior down the line.
see https://github.com/odoo/odoo/pull/86005#discussion_r824420219closesodoo/odoo#86524
X-original-commit: eeb93287f9a9027d0ce22f9fd3305a7ab081d69f
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Try to use the event_tz before falling back on the mail_tz (user tz) in the
context. Add a tool method allowing to override this behavior easily instead
of concatenating "or". As template is modified anyway translations are already
broken.
Task-2699765
closesodoo/odoo#86513
X-original-commit: odoo/odoo@6ef642ccdc
Part-of: odoo/odoo#86070
Related: odoo/enterprise#25322
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
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
closesodoo/odoo#86506
X-original-commit: 29c6c80ac7009aa5068c763778342f7c6b115fad
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
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
X-original-commit: 0bbe0a6e108591146d1d8cfb252b31f24fbf8ca5
Part-of: odoo/odoo#86506
* hr_timesheet_{attendance}, project, rating, sale_timesheet
- removed the 'admin' group on the reporting menu items so that 'users' can
access these menus.
- 'timesheet / attendance' menu should only show if user has access for both
the attendance and timesheet.
- Project/User should access 'Task Analysis' report And Added rule for user.
- customer ratings: only show ratings which has access of their project/task.
- ratings: user should not able to edit ratings.
task-2467564
closesodoo/odoo#82634
Related: odoo/enterprise#23439
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Co-authored-by: Priyanka Kakadiya <pka@odoo.com>
Cash rounding value were not added with negative amount.
For example if you made an order:
- amount of the order: 1.98
- rounding value: 0.05
- amount to pay: 2.00
The refund of this order should be:
- amount of the order: - 1.98
- amount to pay: - 2.00
- amount to pay before the fix: - 1.98
Because when we added the latest fix that allowed payment lower than the cash rounding value (for example an order amount of 0.03 with a cash rounding for 0.05), the negative amount were not taken into account.
Whenever a negative amount had to be paid, the condition was triggered and return a 0 as rounding to apply (-1.98 < 0.05 => true).
Now we check the absolute value of the total amount to consider if we need to apply a rounding.
closesodoo/odoo#86520
X-original-commit: 421e9d9100e9593999c9490342070a81b1786078
Signed-off-by: Masereel Pierre <pim@odoo.com>
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
closesodoo/odoo#86507
X-original-commit: b9f8b8c721cbe56ebec5e43f96e478107d0c30ff
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Improve the design of SO/PO/INV mails together with the other changes of the
release, i.e. fixes a few imprecisions introduced by odoo/odoo#82167.
In particular, these changes enforce
* a responsive, mobile friendly layout tested on many devices and OS
* more generally, a consistent styling. Note that some redundancy in directives
is required for compatibility across email clients.
Translation files are included.
Task-2751139
Follow-up of Task-2712450
See odoo/enterprise#25154closesodoo/odoo#86494
X-original-commit: 4914127b428802d2ff2e15351238a3ffef24b9cc
Related: odoo/enterprise#25306
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
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
closesodoo/odoo#86488
X-original-commit: 8d5ad3a2092da6188bcbf3ca2c12c20bc95eadb1
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Current behavior:
When you access sales tree view of a company, the sales of archived partners are not shown in the list.
But the sales count on the smart button is right.
Steps to reproduce:
- Add a partner to a company
- Create a sale with this new partner and confirm it
- Archive the new partner
- Go on the company contact page
- The smart button will show the number of sales
- Click the sale smart button
- The list is missing the new partner's sales
opw-2774862
closesodoo/odoo#86485
X-original-commit: ba4b929a174df501adf982ea16f4a030faec0a6b
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: Engels Robin (roen) <roen@odoo.com>
This PR add a copy link button to the invitation link inside the invite people
panel.
task-2664866
closesodoo/odoo#86257
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
issues:
- search sale.report with `('order_id', '!=', False)` in list view =>
you might get lines without sale order, with the wrong product, ...
- group sale.report by product on list view => you might get lines with
a different product than the group
cause:
the sale.report IDs are an union of sale_order_line.id and
pos_order_line.id => so there can be 2 lines of sale.report with same
IDs but pointing two completely different record.
rejected solution:
using row_number() over() for ID after the UNION ALL => rejected since
there was a `row_number` on sale.report at one point that was removed
because of performance issue (03bd6f5243e189cd05b3fc7ad774cc07ea733e14).
solution:
using negative IDs for pos_order_line lines
drawback:
in 14.0, we already use negative IDs for sale_order without lines =>
the probability of conflict is lower for this case and sale.order.line
not being in conflict is better.
opw-2586062
opw-2694529
closesodoo/odoo#83621
X-original-commit: cdaf046637704b53047b79984669ed2044cd8da6
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Purpose
=======
Allow users to re-use a design they made in a previous mailing.
Specifications
==============
Add a duplicate button when the mailing has been sent (so the users
can easily duplicate an existing mailing to re-use the template).
Allow the user to add a mailing to the favorite. When we open the web
editor for the first time, show the email bodies of the favorite
mailings. When the users click on them, load the HTML like we do for
the themes.
Filter the mailing templates based on the model defined on the mailing,
so the user will see the most appropriate templates.
Task-2593231
closesodoo/odoo#79174
Related: odoo/enterprise#23308
Related: odoo/upgrade#3176
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Purpose
=======
Filter the mailing templates based on the model defined on the mailing,
so the user will see the most appropriate templates.
Task-2593231
Part-of: odoo/odoo#79174
Purpose
=======
Allow users to re-use a design they made in a previous mailing.
Specifications
==============
Add a duplicate button when the mailing has been sent (so the users
can easily duplicate an existing mailing to re-use the template).
Allow the user to add a mailing to the favorites. When we open the web
editor for the first time, show the email bodies of the favorite
mailings. When the users click on them, load the HTML like we do for
the themes.
Task-2593231
Part-of: odoo/odoo#79174
Purpose
=======
We can now define a title for the mailing templates that will be
displayed bellow the thumbnail.
Improve the thumbnail image of the "plaintext" template.
Technical
=========
The title is set on the "title" atribute, and not on "data-title",
because the data attributes are not translated.
Task-2593231
Part-of: odoo/odoo#79174
Purpose
=======
When we create a new mailing, the web editor toolbar appear during
a fraction of a second. We want it to be visible only during the
edition of the template.
Task-2593231
Part-of: odoo/odoo#79174
Purpose
=======
Open the standard mailing list form view when creating a mailing list
from the Kanban view because it had no use and was a bit confusing.
Rename the field "Is Public" to "Show In Preference" to describe a bit
better the usage from a functional POV.
Task-2593231
Part-of: odoo/odoo#79174
Steps to reproduce:
- Let's consider a storable product P with HS code
- Create a SO with P and confirm it
- Print the delivery slip
Bug:
The header HS CODE was displayed even if the column doesn't exist in the table
opw:2744000
closesodoo/odoo#83834
X-original-commit: 7f8a6b0accea9ef0d95e4cd613aa7cabdff936d6
Signed-off-by: Simon Goffin <sig@odoo.com>
unauthorized course content
Display a user-friendly error message when a user access an unauthorized
course content.
Specifications:
When a non-authorized course content is accessed, instead of a 403 error page,
redirect to the course page with a small notification saying
"You need to join this course to access ContentName"
Technical remarks:
As the slide URL may lead to a 403 if the user has not access to the course and
we didn't want to change that route, we have decided to share URL with a
specific route when the resource is protected (is_preview = False):
slides/slide/<int:slide_id>/share
To make available that new URL in the templates and to the client, a computed
field website_share_url has been added to the channel and slide model.
Note that when checking the access rule, a MissingError can be triggered if for
example the content has been deleted. In that case the user will be redirected
to a 404 and 2 reads are performed but the code is more generic.
Task 2742087
closesodoo/odoo#83935
Related: odoo/upgrade#3280
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Before this commit: printing a product's label which has currency with
zero decimal places (like CFA franc) raised a traceback error.
To fix this issue, I added a condition that checks whether there is
a separator in the value to ensure that the currency has a decimal point.
opw-2711074
closesodoo/odoo#83358
X-original-commit: bc2ad6ac2312d8446e6d2a9909e957d5e18c3c0e
Signed-off-by: Simon Goffin <sig@odoo.com>
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
When clicking on the "email" button in the `calendar.event`
form view, the `email_to' field should be filled with the list
of attendee email addresses separated by a comma.
opw-2667016
closesodoo/odoo#81857
X-original-commit: 87e913b892c2518a716fceb247b57ab8c955a07f
Signed-off-by: Arnaud Joset <arj@odoo.com>
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
closesodoo/odoo#86476
X-original-commit: c66fc2f3bfd069642fc9ed61ff322a136974a65c
Signed-off-by: Arnold Moyaux <arm@odoo.com>
Signed-off-by: Adrien Widart <awt@odoo.com>
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
closesodoo/odoo#86389
X-original-commit: 673a6b69e335b29d011b7c5743c3fe101445a5e1
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
Signed-off-by: Hendrickx Anthony (anhe) <anhe@odoo.com>
The l10n_sa_invoices changes do not need to be in a separate module as
they are always required for l10n_sa.
This merges the two modules into l10n_sa
closesodoo/odoo#85215
Task: task-2723443
Related: odoo/upgrade#3303
Signed-off-by: Julien Alardot (jual) <jual@odoo.com>
Signed-off-by: Florian Gilbert <flg@odoo.com>
Purpose
=======
Since 68182baff4bdf4b3bcc1f46b361f5a5b8ac9aa11 , Jinja mail templates
have been replaced by QWeb templates. But some reference to Jinja
in the mail settings have been forgotten.
Task-2701037
closesodoo/odoo#86409
X-original-commit: ad366762cb4c2086dd3f3398a19d10c9c01579a0
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
During the merge of qweb/ir.qweb at commit 9ce5bc8881,
the behavior of qweb was preserved instead of the one from ir.qweb.
Rendering inline templates should not be allowed as it is not needed and
include security risks.
Also, minimizing the number of possible types for template arguments
simplifies the API. An error message allows the developer to know how to
adapt his code.
closesodoo/odoo#86404
X-original-commit: 31f3152a1328ec8e2dd28f15433a2cc3ccc80f81
Signed-off-by: Olivier Dony <odo@odoo.com>
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
closesodoo/odoo#86415
X-original-commit: 2a084c4810c6d1af82901882d1588c8449ebdc78
Signed-off-by: Grazioso Andrea (agr) <agr@odoo.com>
Signed-off-by: Engels Robin (roen) <roen@odoo.com>
Before this commit, since the refactor of some base64 decoding flows and
the addition of the raw field*, reading the content of a field that was
related to the `raw` field of `ir.attachment` was treated as reading a
base64 encoded content. This commit fixes this issue.
*https://github.com/odoo/enterprise/commit/680db8197731dae175027f81a705c38b0abf94da
task-2785146
closesodoo/odoo#86403
X-original-commit: 6aa984f072dde5667d07516888c6a4bf19aead8e
Related: odoo/enterprise#25272
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
This commit moves the logic associated with the composer placeholder for two
reasons:
- move business logic from components to models
- allow to easily override the placeholder in other module.
This is uselfull for the feature allowing to leave comments on a spreadsheet.
Task 2638411 (spreadsheet comments)
Task 2793280
closesodoo/odoo#86381
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
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
closesodoo/odoo#86369
X-original-commit: fc18355158b6724aeb3f900cae50cdab3e6d707b
Signed-off-by: Kevin Baptiste <kba@odoo.com>
Modifying the signature of a method in a children module breaks things,
as other modules not being aware of the change will call super method
without the proper arguments. This also applies to adding new keyword
arguments, as these arguments are not propagated through the super call
chain, and you'll lose the value in the best case, or have a crash in
the worst one.
This overwrite is not only adding 2 new keyword arguments, but also
removing an existing one (`date=None`).
Closes#85269closesodoo/odoo#86367
X-original-commit: c933da43a890d4691391757b8760c80d8e70b1fc
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Signed-off-by: Xavier <xbo@odoo.com>