A constraint was added. That is why we had the error,
but we need the fix anyways, otherwise the tags won't be
visible in the configuration of the taxes.
Task id: 2214184
closesodoo/odoo#47440
X-original-commit: 9bac70b6a0e5eab76910c5728371310e32d9cf8a
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
PURPOSE
When previewing a slide of type 'quiz', users are tempted to answer the
questions even if they are not member of the course yet.
This commit will allow users to answer the quiz without being a member of the
course, and offer a smart redirection to join / buy based on the enroll type
of the channel.
SPECIFICATIONS
We introduce a "CourseJoinWidget" that will handle the display and the behavior
of the "join" button based on the user (public or not) and the enroll type
(public course or based on a payment).
When the user answers questions and he's not a member yet, we store the answers
temporarily in the session object.
When he comes back on the quiz page after having completed his membership, we
fill in the quiz based on his previously entered answers and clean the session.
LINKS
Task 2045571
closesodoo/odoo#41972
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
As portal user has access to the "Taking care of trees" demo course, we add
this course to the sale order that already contains the "DIY Furniture".
Since the course is "pay to access", it makes more sense.
LINKS
PR #41972
Task 2045571
PURPOSE
When previewing a slide of type 'quiz', users are tempted to answer the
questions even if they are not member of the course yet.
This commit will allow users to answer the quiz without being a member of the
course, and offer a smart redirection to join / buy based on the enroll type
of the channel.
SPECIFICATIONS
We introduce a "CourseJoinWidget" that will handle the display and the behavior
of the "join" button based on the user (public or not) and the enroll type
(public course or based on a payment).
When the user answers questions and he's not a member yet, we store the answers
temporarily in the session object.
When he comes back on the quiz page after having completed his membership, we
fill in the quiz based on his previously entered answers and clean the session.
LINKS
Task 2045571
PR #41972
Co-authored-by: Florent Lejolyn <fle@odoo.com>
Co-authored-by: Aurélien Warnon <awa@odoo.com>
This commit simply renames a template file to better reflect its purpose and
also align with its JS widget file naming. It is a preparation commit for
pending changes.
Task 2045571
PR #41972
Before this commit:
- Install some random module that can be uninstalled (so not base)
- Open the uninstall wizard for said module in two different tabs /
windows / whatever
- In one tab, confirm the module uninstall and wait for it to be
done
- As soon as the other tab is done with the uninstall, go to the
second one with the uninstall wizard still open, and proceed
with the second uninstall
- Boom, the registry crashes and completely fucks up the DB because
there's no check at all that prevents the uninstall of already
uninstalled modules.
After this commit:
- `ir.module.module.button_uninstall` will check if all the
modules being uninstalled are in the installed state
and if not a UserError will be raised, preventing a second
uninstall of the module which could potentially break the DB
Do note that this fix is LOCAL, the problem is however more or less
global, wherever there's user-actionable buttons that should only be
pressed once there's a potential for bugs / breakage if a similar fix is
not implemented locally. Perhaps a more global fix should be implemented
eventually, but it's generally less annoying for business cases since
those probably won't break the registry, see task 1859014.
opw-2213679
opw-2212594
opw-2206446
closesodoo/odoo#47450
X-original-commit: 8c1bb22ec0222dca652e0649454b986c06cb1368
Signed-off-by: Adrian Torres (adt) <adt@odoo.com>
With l10n_mx installed:
- Check in the settings that cash basis option is activated, and enabled
on a Purchase Tax (example : IVA(16%) COMPRAS)
- Create a vendor bill with this tax, validate it and
register payment.
- Create a credit note to this invoice, validate and register payment.
- Cancel the credit note
Error will occur, a record is already deleted.
This occur because the canceling action recursively find every related
move to delete, but in the process an account.full.reconcile is going to
be unlinked twice: a check on reverse the exchange rate entry will
trigger the error because the record is already deleted
opw-2199093
closesodoo/odoo#47432
X-original-commit: a230690d947be2095ad1ec7ccca170f9faa222dc
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
A user with no Purchase rights and only Inventory User rights should be able to cancel an SO
and access requisition_line_ids field.
closesodoo/odoo#47441
X-original-commit: 9a6af5ea576d7eb451fb3c4fa88880eb9edf78af
Signed-off-by: Alex Tuyls <alt-odoo@users.noreply.github.com>
Images of the lunch dashboard are not cached by the browser.
closesodoo/odoo#47427
X-original-commit: fec2e2a49faa69d2ce554e62a3de196573fa3656
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
The hover effect on popover is the following: the popup is opened when
passing the mouse cursor on the icon and closed once it leave the icon.
The issue is if the popup has a button inside, clicking the button
freeze the popup. It cannot be closed unless the entire page is
refreshed
Task : 2199078
closesodoo/odoo#47408
X-original-commit: 25947264929a602256bd7febafa074ef7dabf7bd
Signed-off-by: William Henrotin <Whenrow@users.noreply.github.com>
The `type` field was renamed `move_type` in
d675dbaa4c but a forward-port re-added a
use of the old `type` name, which breaks if an account.move is
unlinked while l10n_latam_invoice_document is unlinked (and there are
related moves to update).
Instead of renaming the field, use the proper utility method for the
category (purchase) provided by account.move.
closesodoo/odoo#47301
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
Commit [1] does not work as it is supposed to, because there has been a
confusion between the "notification request" and the "chat with OdooBot".
`_showOdoobotTimeout` is for the chat, and it is unrelated to the notification
request. We don't want to initiate multiple chats with OdooBot so that has to be
reverted.
As for the original goal of the PR about the notification request, it wasn't met
either because it is the browser controlling it:
- on Firefox there simply isn't a "close" button, and closing it by any other
means (escape key) is considered as a denied.
- on Chrome, when closing it for the first time, it will appear again
automatically after the next page reload, so no additional code is required.
However, if it is closed too many times (around 3) it will become
automatically denied too, at the browser level.
The only thing to do at that point is to better notify the user that it was
blocked, without being intrusive, which is the focus of task-2188584.
[1] b7254ecaeee7f8fa564ca2059f119f5d12404af6
opw-2186299
closesodoo/odoo#47395
X-original-commit: 50155e808c44121086cc7436cec0e7f166cd4268
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Before this commit, Payment URL was not encoded correctly which can compute Payment refernece Wrongly on website.
Eg,
Enter Description which contains Special Characters
Go to Payment Page using Computed URL.
There will be wrong Payment Reference on Payment page.
With this commit, We encode Payment reference before generating Payment URL.
closesodoo/odoo#47387
X-original-commit: 6ebcc43d177b9333afa73ee90e976d57111aaf3d
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Before this the `--unaccent` flag does double duty to specify whether
to create new databases with the extension *and* to try to use the
corresponding function.
The latter is further gated on the function existing at all in the
database.
Given postgresql does not have unaccent installed by default it seems
only the latter is really useful and we can ignore the flag to decide
whether to enable unaccent features, if the extension is installed
consider that it should be enabled and move on.
Merge this in master rather than previous versions as it can change
things like index access / use.
closesodoo/odoo#47377
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
Fine tuning of 1e411e3a6d
- It moves the attachment in the message when we mark an activity as
done.
- It adds a test
OPW-2196668
closesodoo/odoo#47349
X-original-commit: 2033066426a6af6eed5f80f1bcde6e650e998f0d
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
- Set 'Product Unit of Measure' to 5
- Set the UoM rounding to 0.001
- Create an excluded tax of 6 %
- Create a product costing 7.0
- Open the POS, add the product with a quantity of 0.535
The tax is 0.22 instead of 0.23.
The root cause of the issue is the in JS:
```
round_pr(0.535, Math.pow(10,-5)) * 7 = 3.744999999999999
round_pr(0.535, 0.00001) * 7 = 3.745
```
The numerical error impacts the tax computation later on.
As a workaround, we round by the maximum between the UoM rounding and
the 'Product Unit of Measure', which is what will be done in the backend
anyway.
opw-2205092
closesodoo/odoo#47372
X-original-commit: 125cdf96e94a94146804091ad47e701240c2529e
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Commit ca4eaf4 introduced the data-mobile attribute, used
to specify options to pass when executing an action, only in
mobile (like using a fullscreen modal).
However, we forgot to add the 'isMobile' check, so the option
was passed in desktop as well.
This commit fixes the issue and adds some tests.
Task ID: 2155601
closesodoo/odoo#47333
X-original-commit: 6cb68a53106fa7326a7f818461418437d5a0df77
Signed-off-by: res-odoo <res-odoo@users.noreply.github.com>
If the bank account number is a postal one, search differently
to see if the account already exists. As for a postal account,
the same number can be used by multiple partners, changed the
account to include the name of the partner, but for this
we need to alter the way the account is searched/created.
closesodoo/odoo#47365
X-original-commit: b95b9d6db2af51644f640142d5a0b9ca72eac52f
Signed-off-by: Josse Colpaert <jco@openerp.com>
When reconciling and the bank account is not found, the system
wlll automatically create one. Here we refactor the method
checking/creating this bank account in order to be able to inherit
this functionality.
In the meantime, we added the company_id for the newly created
bank account in order to avoid problems when you are operating
on multiple companies at the same time.
X-original-commit: a63bd575166e4b07345fdcfa1c7d5bb9560821c8
This PR adapts some existing steps or add new ones to execute
the same tour on mobile.
This tour has many steps and give a good idea to know if new tasks
broke mobile or not.
The goal is that even if the design isn't perfect, users aren't blocked
and are able to perform their usual tasks.
The main flow tour is still running on desktop but
we also run it a second time on mobile.
It's only available in enterprise, otherwise the test will be skipped.
'375x667' correspond to the Bootstrap XS size.
This value is already used for the mobile tests suite.
Also see https://github.com/odoo/enterprise/pull/9011
Task ID: 2149402
closesodoo/odoo#46880
Related: odoo/enterprise#9011
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
This commit adapts some existing steps or add new ones to execute
the same tour on mobile.
This tour has many steps and give a good idea to know if new tasks
broke mobile or not.
The goal is that even if the design isn't perfect, users aren't blocked
and are able to perform their usual tasks.
Task ID: 2149402
This commit moves some step utils in a dedicated file and add new ones.
These steps will be very useful for the Main Flow Tour to avoid
duplicated code.
To do this, we also had to transform it into functions to allow
utils to call each other. Existing one are converted for
standardization purpose.
Note that 'WEBSITE_NEW_PAGE' wasn't considered as an util.
This is a very simple step only used twice.
In this commit, we are still running the main flow tour on desktop
but we also run it a second time on mobile.
It's only available in enterprise, otherwise the test will be skipped.
'375x667' correspond to the Bootstrap XS size.
This value is already used for the mobile tests suite.
Task ID: 2149402
We are not able to precise in which case a step should be executed.
We already have 'edition' and now we introduce 'mobile'.
undefined: Desktop + Mobile*
true: Mobile* only
false: Desktop only
*: Responsive (<= SM), see isMobile
Note that tours shouldn't be language dependent.
By using XMLID's we are able to find a menu even if the tour
is running in another language.
The tip has been moved slightly but it's not a big deal,
others selectors menu already used XMLID's.
Before this commit, the tip for a many2X field was consumed with a
input event.
But on mobile we doesn't have the same behaviour; a kanban modal is
opened when we click on the many2X field input instead of writing in it
(auto-complete) like on desktop.
After this commit, the tip is consumed with a click event for many2X on mobile.
Since commit: odoo/enterprise@e662ef3629
a 'div' wrapper was added around the notebook header.
The tip was not visible due to it's location in the wrapper with
'overflow: hidden'.
After this commit, the tip is appended to the ancestor of the wrapper
and so it's visible again.
Before this commit, when you tried to run a tour by clicking on
"Start Tour" in the debug menu, nothing happened and a warning
message appeared in console:
"debug_manager.js:53 No handler for start_tour".
Now it will work on mobile too (debug mode only).
We had to do this to be able to run the main flow tour on mobile.
Note that another commit (in enterprise) will automatically consume
all tours to avoid to display it for demonstration purposes.
Task ID: 2149402
Previously the widget was not refreshed everytime it was opened.
Now that it is the case and since the color picker rerenders every time
we select a color:
It is no longer required to select/unselect the colors.
It is no longer required to add custom colors to existing colors.
Part of: https://github.com/odoo/odoo/pull/45872
task-2212288
closesodoo/odoo#47355
X-original-commit: 481fe703e9400fb64e96291914f76d4dca883e29
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
When a default color matches a theme color it will now select the theme
color class instead of a css attribute when clicked.
Part of: https://github.com/odoo/odoo/pull/45872
task-2212288
X-original-commit: d7b3538a814f0e53cd3c5816f8296ad5e4c5f41a
Purpose of this task is some people would like to make accrual in days
but currently accruals work on different periods(week,month,year).
So in this commit, we added "days" as "interval unit" for leave
allocation with type accrual.
closes odoo/odoo#46751
Taskid: 2168023
Closes: #46751
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Currently on a Sales Order Portal view, the field 'date'
under the delivery order shows the creation date of deliveries
linked to the SO,
After this commit it should display the 'effective date'
(or'scheduled date' if not yet delivered) of deliveries linked to
the SO
task:2180525
closes odoo/odoo#46633
Closes: #46633
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Avoid traceback when click on edit and nothing is editable on the
page.
task-2199214
closesodoo/odoo#47328
X-original-commit: fd92a78bd18a0fd765d9c3a857adc10e29c025dd
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Follow-up of d0c852f
The parser of `many2one_reference` was not introduced when the new field
type was created and then later when the formatter was added, which
leads to errors when the web client is trying to set the value of such
fields.
Since the value of this field is an ID, it is parsed as an integer.
closesodoo/odoo#47330
X-original-commit: db1e16bc041e1d892fd1f3ac5b694e12496a32f9
Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
_prepapre_tender_values in only call from purchase_requisition_stock.
It's not needed to have 2 functions, everything should be in
purchase_requisition_stock.
Allow to propagate custom information to upper document. It could be
usefull in many buisness that do custom stuff for people
(t-shirt with user defined text, poster with own pictures...)
The customes values are pass throught procurements'values and are
display on MO or purchase order line.
Task: 1970476
The report layout was refactored before, but we forgot
to give the specific German lay-out a name, although the field
was added. This gave a traceback when we wanted to
select a lay-out or this particular lay-out (name False)
in the Settings.
closesodoo/odoo#47321
X-original-commit: 162eb09159a8e8836d5decd6d1a210d2659b55a9
Signed-off-by: Josse Colpaert <jco@openerp.com>
The unaccent extension was installed only at restore, not at creation
of a database.
Make both consistent.
closesodoo/odoo#46534
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Some option sections are feeling really laggy (especialy the theme ones
we now have in master/13.2). This was due to the "preview" activation of
the snippet being triggered on mouseover and not on mouseenter.
Introduced by: https://github.com/odoo/odoo/pull/36068
task-2198177
closesodoo/odoo#47303
X-original-commit: d85d912de513de5c81c85a8ff814e0af1e13cefd
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
This PR allows one to build the user documentation with python 3 and sphinx>= 2.4.0.
It also removes several warnings.
Remove autogenerated JS doc (backport from master)
closesodoo/odoo#47295
Forward-port-of: odoo/odoo#47169
Forward-port-of: odoo/odoo#46069
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Partial cherry pick of e4b75149f7
Sphinx 1.6.7 is the minimum in debian stable and ubuntu LTS
X-original-commit: 516e7854fd61c75865bb444e3614cad20283275e