If a user wants to unsubscribe from a mass mailing, he will get a traceback
when doing so. This is due to a file being imported twice. Indeed unsubscribe
file is imported in mass_mailing.layout that calls assets_backend that already
imports unsubscribe.
It seems there is no traceback in 13 but well in 13.2. However we can clean it
in 13. It has been introduced at f296992317 .
Task-2241443
closesodoo/odoo#50722
X-original-commit: 521eb273ce792eb99631fe34faf7d512e3b59a8e
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Commit 6d11097a9b added view mode `tree,activity` in this action which is not necessary for Attendance Kiosk mode. (and also not working when selecting an employee from `tree` view)
With this commit, we remove extra view modes which are not required/working for this action.
closesodoo/odoo#50528
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Create a coupon program with:
- Minimum purchase in currency (ex 100$ tax excluded)
- Fixed discount applied on order (ex 100$)
Generate some coupon.
Go to shop. Fill an order with amount slightly above the minimum
required by the coupon (ex. 125$). Apply the coupon.
Nothing occur to the cart: the coupon is applied correctly,
but when the cart is refreshed it will check for any non-applicable
promotion against the current order state (125$ - 100$ = 25$, since
the coupon check is for orders above 100$ the promotion will be removed).
Fixing the condition in '_get_no_effect_on_threshold_lines' to detect
also coupon lines in order to make the fair computation.
opw-2224169
closesodoo/odoo#50694
X-original-commit: 2f733ba85320dd67c6892f6a56e3680a3b2fbb50
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Steps to reproduce the bug:
- Create a new tax T based on python code, leave the code how it is by default (result = price_unit * 0.10)
- Check included in price
- Create an invoice, add a customer, add a line with random label, assign unit price = 100 and select tax T.
Bug:
On the invoice, the Untaxed Amount = 90 and Taxes = -10 instead of 10 (like the behavior in 12.0)
opw:2242188
closesodoo/odoo#50567
X-original-commit: c704611f7cceee516718f16610838af930709022
Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
In this commit- we have improved responsiveness of description when it's too long
in projects and tasks inside the portal.
task-2124829
Closes#48402
Related: odoo/enterprise#9497
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
In this commit- we have added filter options like bills and invoices in
for invoice view(portal side) .
In addition, we have changed sort by option's string from 'Invoice Date' to 'Date'.
task-2124829
Closes#48402
- Create a product P
- Create a BOM:
Use 1 unit of C
Routing with 2 Operations
Start Next Operation: 'Once all products are processed'
- Create a MO for 10 units
- Process the first WO
- Scrap 2 components, produce 8 units in the first WO
- In the MO, change the quantity to produce to 8
The first WO is done, the second WO is still waiting for the previous
one to finish.
We change the state of the next WO.
opw-2244166
closesodoo/odoo#50690
X-original-commit: 8a723f0f104e64d336764431ea15eb3166cc52b7
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
- Create a product P
- Create a BOM for P
Use 1 unit of C
Produce 1 unit of byproduct B
- Create a putaway strategy for C
From: Stock
To: Shelf 1
- Create a MO for P, perform until the end
The product C is sent to Stock instead of Shelf 1.
When the stock move line is created, the putaway strategy is simply not
applied.
opw-2242987
closesodoo/odoo#50687
X-original-commit: 49ffdfb6ecbdf11ee1dc85ef494df515f249466e
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Steps to reproduce the bug:
- Let's consider a consumable product P with an internal note IN in Dutch
- Create a SO with dutch partner P and confirm it
- Process the delivery and validate it
- Print the delivery slip
Bug:
The internal note IN was displayed on the delivery slip.
The internal note must never appear on a delivery slip.
opw:2227613
closesodoo/odoo#50689
X-original-commit: 4b8d9806c6ee0a85812041f25080617daa7b10f1
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
Steps to reproduce the bug:
Go to CRM > Reporting > Partnership Analysis
Group by > Add Custom Group and select Invoice Account Date
Bug:
A traceback was raised
opw:2249977
closesodoo/odoo#50688
X-original-commit: 00fb1d7972057451dd0c58eb12b70fead5944aa6
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
Issue
1. Install Sales
2. In the Sales settings activate "Product Configurator"
3. Create a product with variant set as "dynamic" (with dummy attributes)
4. Switch your browser view to the mobile view (using dev tools)
5. Click the order line "Add" button
6. Click on the product form
7. Search for your product of step 3.
-> The product of step 3. does not shows up !
Cause
The view used for mobile is the order_line form view in
the view "view_order_form"
This view uses product.product instead of product.template
because the widget is not the same than the tree view.
Solution
Use the product_configurator widget instead when
the module is installed.
OPW-2214095
closesodoo/odoo#50695
X-original-commit: 14a79045ee21a72d78f0fff0495552a8bd834ba4
Signed-off-by: Jason Van Malder (jvm) <jvm@odoo.com>
Record counts are now also available for field with select="one"
attribute. In the module account, the counts should not be displayed
since the search panels have to be quite thin. We then disable them.
closesodoo/odoo#44490
Related: odoo/enterprise#8113
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
This commit introduces several changes in the search panel with
respect to record counts:
- the record counts are now also available for
the fields with select="one" attribute
(if not disabled explicitely).
- the record counts are better computed using the idea that
selected values within a group should not impact the counts
for the group values but only the counts for the other
group values.
On the way we have changed two keys in the values returned
by the server:
- 'count' becomes '__count'.
It has been done to avoid a possible clash in case a model would
have a field named 'count' and that the field values would be
wanted for some reason.
- 'name' (multi case) becomes 'display_name'.
It has been done in order to make the select one and multi cases
more similar and factorize some code.
TASK-ID: 2166814
Co-authored-by: Raphaël Collet <rco@openerp.com>
Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Co-authored-by: Alexis Lacroix <laa@odoo.com>
Co-authored-by: Julien Mougenot <jum@odoo.com>
Add a "sortBy" helper to core utils. This function takes an array and
an optional criterion as arguments and returns a new array sorted
according to the given criterion.
This commit improves the dialog that opens when a user clicks out
of an 'un-commited' many2one. It is no longer possible to edit
the value, and the sentence has been reworded.
closesodoo/odoo#49528
Task: 2234212
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
In 29f02a37f0 we bumped the verion of libsass that we use. One
breaking change introduced by the new version is that if a css variable
is interpolated to the empty string, it is still emited in the compiled
css [1]
This commit fixes that by explicitly omitting null values from the map
before looping over it.
[1]: https://sass-lang.com/documentation/breaking-changes/css-vars
task-2248360
closesodoo/odoo#50668
X-original-commit: 6faf327706169bbe31e188a42805085b95b78052
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Seems like randomly one request disappear. So 28 vs 29
Closes the eyes, while it is not 30 vs 29 ;)
closesodoo/odoo#50667
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
- Set the Product Price precision to 5
- Create an invoice with one line:
No taxes
Price Unit: 0.895
- Save
An error is raised because of an unbalanced journal entry.
The root cause is the `balance` which is not rounded. This is due to the
fact that the currency field (`company_currency_id`) is a related and
not set at the moment of computation. This leads to this being equal to
`0.01` instead of zero:
https://github.com/odoo/odoo/blob/ed1926cb12c830f383dbe540cb96e14d0804eb3d/addons/account/models/account_payment_term.py#L64
Note that if the line is saved with another value then the price unit
is modified, the error doesn't occur since the balance is properly
rounded.
opw-2209543
closesodoo/odoo#50655
X-original-commit: bd4bf1fe759a70d0b44606f1b2a3b27f8e71971d
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
The currency of Ecuador is USD, ECS is archived.
Add states of Ecuador
Signs CLA
Modificando la moneda oficial de Ecuador de sucre a dolar.
La moneda oficial del Ecuador cambió de sucre a dolar en el año 2000.
introducing Ecuadorian states
Correcting previous commit according to mart-e especifications
State codes follow the ISO 3166-2. Each code is compound by two parts separated by a hyphen "-". First part is "EC" (The ISO ecuadorian code), and the second part is the ISO state code.
Correcting res.country.state file according to mart-e especifications
Adding the states directly in the l10n_ec file
closesodoo/odoo#50653
X-original-commit: 1a6b70c6c3d8d739173de59d61563b0a7aad01c3
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
In the search panel, if a select multi was grouped by a field that can
take the value 'false' (like a char field), that value would be confused
with the value false and the group 'false' would never be
displayed (its values would be put in the group false).
This commit avoids that situation by using JSON.stringify instead of
the implicit stringification done when using a value as an object key.
closesodoo/odoo#50647
X-original-commit: 5b19e6c13b636d108e8aa1a09f01124fdb38a577
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Before this commit, and in 13.0, you had access to gray colors in
bootstrap_overridden.scss files through the `palette-gray` function but
only if the gray was explicitely defined in the theme palette. This was
fine as only those were used at that time. Now, some themes want to use
the default BS gray values in those files to customize other variables.
The solution is to "force" all grays in the selected gray palette, using
the BS values by default.
closesodoo/odoo#50640
X-original-commit: fcb62edf3118d2d615296f293e6694b0e533bc99
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
It has been a recurrent request from customers to be able to send email
messages to email addresses containing non-ascii characters. [IDNA] is a
domain extension to allow unicode characters in domain names. [SMTPUTF8]
is a SMTP extension to allow unicode in any header.
IDNA defines the [punycode] encoding which translates unicode to an
ascii representation. This encoding MUST be used to encode domains.
SMTPUTF8 is an SMTP extension that allow utf-8 in all headers on the
envelope.
[IDNA] https://tools.ietf.org/html/rfc5890
[SMTPUTF8] https://tools.ietf.org/html/rfc6531
[punycode] https://tools.ietf.org/html/rfc3492
Task: 2116928
opw-2229906
opw-2248251
closesodoo/odoo#47709
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
Use the new Many2OneAvatarUser field widget in some kanban views,
which allows to open a DM chat window with the corresponding user
by clicking on the avatar.
Part of task 2195254
This commit adapts several views to make them use newly defined
widgets, the new decoration-xxx mechanism on fields, and to adapt
them to the new design of buttons.
Part of task 2195254
This commit adds a tweaked version of the kanban_activity widget
for the list view. This widget displays the summary of the next
activity (and fallbacks on the activity type if there is no
summary). It can be set by defining widget='list_activity' on
field activity_ids.
Part of task 2195254
If set, this value will be displayed as column name in list views.
This attribute could be used in the future in form view for the
same purpose.
Part of task 2195254
This widget is an extension of Many2OneAvatar, designed for
many2one fields pointing to the 'res.users' model, or a model having
itself a many2one field pointing to 'res.partner'.
With this widget, when the avatar is clicked, we open a DM chat
window with the corresponding partner. If the user clicked on itself,
we open a blank chat window for the sake of consistency.
In kanban views, this widget only displays the avatar.
Part of task 2195254
In readonly, this widget displays the image of the related record
next to its display_name. In edit, it behaves exactly like the
regular many2one.
Part of task 2195254
This widget can be used on date and datetime fields. In readonly,
it displays the delta (in days) between the value of the field and
today. In edit, it behaves like a regular date(time) widget.
Part of task 2195254
Have a list view with "badge" field component and 'decoration-xxx'
attributes (on that field). Before this commit, it flickered when
the user refreshed the list (for instance, by clicking on the list
icon in the view switcher). The badges were displayed with a grey
background (i.e. no decoration) for a brief moment, before their
style was applied.
Their style is applied in the mounted hook, which is called by
'on_attach_callback' (legacy version of mounted). However, the list
renderer computes its column widths in 'on_attach_callback', which
produces a repaint.
This commit moves this operation to the end of on_attach_callback,
such that other processing (like applying the badges style) is done
before the repaint.
This new field component displays the field's value inside a
bootstrap pill badge. Supported field types are 'char', 'selection'
and 'many2one'. The background color of the badge can be customized
by using the decoration-xxx mechanism, e.g.
<field name="state" decoration-danger="state == 'cancel'" widget="badge"/>
Part of task 2195254
This commit refactors the way the decoration-xxx attributes are
applied to field widgets/components, in a way that it can be
overridden in a given field or component to generate the approriate
className. By default, 'decoration-x' applies className 'text-x'.
This will be necessary for the new 'FieldBadge' component, which
needs to apply 'bg-x' classNames instead of 'text-x'.
Part of task 2195254
In list views, one can specify decoration-XXX attributes on the
arch root node. Those decorations are evaluated for each record,
and the corresponding style is applied on rows for which the
condition is true.
This commit allows to specify those decoration-XXX attributes on
field nodes as well. In this case, when the condition is met by a
record, only the field on which the attribute is set will be
impacted.
Part of task 2195254
Buttons with icon and string attributes now have both their icon
and string displayed, whereas before only the icon was displayed
(the string was available as title).
We also force class btn-link to style buttons with icon, except if
another btn-xxx class is explicitely provided.
Part of task 2195254
Steps to reproduce:
- install sales, ecommerce and payment_authorize
- setup authorize.net (test mode)
- go to sales and select the quotation S00007 (demo data) or create a quotation
with multiple items that add up to a float
- select action > generate a payment link > go to the link > select pay with authorize
- you are redirected to authorize.net use 4111 1111 1111 1111 as card number and 1223
as expiration date > pay
- you are redirected to the odoo payment process page
- wait for the result
Previous behavior:
the user is returned to a 404 error page but the payment went trough
Current behavior:
access_token generation is consistent and will not fail because of
float representation
the user is returned to the "payment confirmed" page
WARNINGS:
- watching the values in vscode prevents bug reproduction
- when setting up authorize.net, do not forget to add your test url to
the account's allowed return urls
- use https for authorize.net connection
opw-2223135
closesodoo/odoo#50633
X-original-commit: 0fe7fa0f95b7393d8829ba4b216d6c41d0c0dc3d
Signed-off-by: mightyjol <jhk-odoo@users.noreply.github.com>
Step to reproduce : Import from Excel a list of Opportunities.
The problem is that in _compute_day_open, the abs of the extraction
date_open - create_date is set as the lead's day_open.
As the date_open has no milliseconds, all those records which
create date is the same second have a date_open that is before their create_date.
Fixed it by comparing the date_create and date_open without microsecond.
Task ID 2222251
closesodoo/odoo#50599
X-original-commit: f7d1277080a91903342bbb4be44ce3a6ca814a38
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Configure your POS with bank payment method only
Make a sale with rounding necessary (i.e. 1,29€)
The amount will be rounded. Go through the payment screen.
Error message will appear because no payment methods available is
capable of handling the change, but this is not necessary since we are
rounding.
Splitting the code to add a more specific condition in pos_cash_rounding
fix the issue
opw-2239946
closesodoo/odoo#50216
X-original-commit: 6131534da2d3a3bf75529b32f2061d58e925b365
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>