Add fapiao number to account.move, only show it when the company is
located in China.
Task 2180269
PR #45743
Related: odoo/upgrade#813
Signed-off-by: Josse Colpaert <jco@openerp.com>
PURPOSE
Create a tour for Events to introduce new users to this freshly
revamped application.
SPECIFICATIONS
In 'website_event' module the tour steps extends the 'event' tour steps
LINKS
Task ID : 2180175
PR : #45612
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
PURPOSE
When incoming emails bounce due to alias security bounce email is quite
generic. Purpose of this task is to ease its customization and update.
SPECIFICATIONS
In order to improve the flexibility of alias, add a customizable html field
on the alias model. This html content will be send as bounce email core content
in case of bounced/unauthorized mail received for this alias,
Obviously it has no effect on 'everyone' security setting as no email will
bounce due to that issue.
If it is not set a default generic mail will be send depending on security
setting. It allows to keep void html fields when no specific bounce content
is required
In HR, an old template allowing some light customization for employee based
security option is removed as it is completely replaced by the new feature.
Also add references message-id of the mail received to the answer so that
threads are correctly set.
LINKS
Task ID 2126509
Community PR odoo/odoo#41827
Upgrade PR odoo/upgrade#936
Related: odoo/upgrade#936
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
PURPOSE
When incoming emails bounce due to alias security bounce email is quite
generic. Purpose of this task is to ease its customization and update.
SPECIFICATIONS
In order to improve the flexibility of alias, add a customizable html field
on the alias model. This html content will be send as bounce email core content
in case of bounced/unauthorized mail received for this alias,
Obviously it has no effect on 'everyone' security setting as no email will
bounce due to that issue.
If it is not set a default generic mail will be send depending on security
setting. It allows to keep void html fields when no specific bounce content
is required
In HR, an old template allowing some light customization for employee based
security option is removed as it is completely replaced by the new feature.
Also add references message-id of the mail received to the answer so that
threads are correctly set.
LINKS
Task ID 2126509
In odoo empty html is not always completely empty. This tool method allow
to consider html holding void tags as empty html. This happens notably when
using the editor that may store <p><br><p> even if displayed content is void.
Task ID 2126509
PR #41827
PURPOSE
Ease edition of digest tips by adding a name.
SPECIFICATIONS
Add a name on digest tips. Even if technical and not send to customers it
allows to see them at a glance in list view without having to guess their
content.
LINKS
Task ID 2214325
Com PR odoo/odoo#47416
Related: odoo/upgrade#933
Related: odoo/enterprise#9167
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
PURPOSE
Allow to edit and improve digest tips by adding views.
SPECIFICATIONS
Add views for digest tips. Locate those views in technical menu, in email
section, below Digest Emails.
LINKS
Task ID 2214325
Com PR odoo/odoo#47416
Before this commit:
- Install a module
- Uninstall the previously installed module
- The registry will complain that some dependencies may be missing
for the module being uninstalled
This happens because we check after the installation / upgrade of
modules that none have been left in a transient state to verify that new
dependencies have been properly installed and loaded, this applies to
'to install' and 'to upgrade' states however it's not the same for 'to
remove' states, as the process of uninstall happens much later in the
code.
After this commit, simply uninstalling modules will not trigger this
error log.
Do note that in case of a problem with an uninstall, the function
"reset_module_states" will tackle the case of leftover transient states.
closesodoo/odoo#47495
X-original-commit: c095a28314f78d1d9854e5e9bcb26014922a4f12
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
When your point of sale is offline and you try to print your ticket from
the button 'Print Receipt', the notification "trying to reconnect" is
displayed on the ticket. We are removing it when it is printed.
closesodoo/odoo#47481
X-original-commit: 9aa9705c2dce1c6164b5909500e7c2038b93812c
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
In POS Settings activate IoTBox, and its suboption 'Receipt Printer'
Activate now 'Reprint Receipt'
Open the POS, make an order, validate and go to a next new order.
Click on 'Reprint Receipt', then 'Print Invoice', fill the customer and
try again
Server Error message will popup, reprinting the invoice is thus,
impossible.
In v13 the action warn the user to print the invoice via backend, so
this commit replace entirely the button with the message
opw-2195440
closesodoo/odoo#47049
Original-signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
X-original-commit: d2a7300e8ebddf5dd812ffec75b3eda1a083aeeb
This commit allows to pass a bin_size context to False.
Before this commit it wasn't possible because it was
always overriden.
OPW-2208232
closesodoo/odoo#47491
X-original-commit: 17d53cea1043054dfa9c39b16b430539c4082a9d
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Issue
- Have 2 languages installed
- Install Invoicing & Website
- Go in Settings
- Search "logo" (image)
- Upload a logo for your website
- Save
- Search "Default terms & conditions" (translatable field)
- Click on the translate button (e.g. EN if you are in
english)
A popup will appears saying that you should save your
changes.
- Click on Save & do not edit translation (not needed)
- Search "logo"
Image disappeared
Cause
When saving, a read is called. By default, read has
bin_size to true to avoid performances issues.
It will return the image size instead of the content
This is why the image disappeared.
Solution
As configuration is dirty, you are forced to save &
it will always read with bin_size set to true.
My solution would be to set it to false for settings.
OPW-2208232
X-original-commit: 93a7695f65baf00d1f82481d6a2a97e6c11940a8
Open every model with the chatter
Schedule an activity
Click on "Done" button and insert a feedback with an accent/quote.
Escaped sequence will appear as result.
In v13 the html feedback field which was used to store feedback
was replaced by the mail subsystem, so the value should be sent to the
message_post_with_view unescaped
opw-2209081
closesodoo/odoo#46985
X-original-commit: d66c676e6a49cbf4cfcdae014c3b5e80dd7920d2
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
When testing odoo, errors can occur an undeterministic way, wich can
lead to strange and unreproductible behaviour. This also means that the
performance can change from one execution to another, making it quite
difficult to track performance variation on a global scope.
This commit makes the result of `exists()` deterministic in terms of
order. The side effect is to keep record ids in the same order as the
original recordset, which may be useful.
closesodoo/odoo#47282
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
Co-authored-by: Raphael Collet <rco@odoo.com>
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>