When a snippet contains a modal, the editor overlay should not cover the
0-height wrapping div but the modal element itself.
Part of https://github.com/odoo/odoo/pull/52663
X-original-commit: bc055e7822b9b2e7f8f9608e335456a71d7896a1
Assets bundle names have been changed in #48676 but QUnit.only uses check was
still using old names. This commit makes that check use the new names.
task-2274185
closesodoo/odoo#52687
Signed-off-by: Julien Mougenot (jum) <jum@odoo.com>
The loading effect of the left panel was conflicting with the invisible
snippet activation. This is to be reviewed with the new UI anyway, so
the loading effect is just removed in that case for now.
closesodoo/odoo#52676
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
In order to find the stock moves linekd to SO line, there is no need to
go through the order and the pickings. Indeed, the SO lines have a
direct link to the stock move lines.
On ~14500 invoices, the duration of the process goes from 90 to 30
seconds.
opw-2266052
closesodoo/odoo#52666
X-original-commit: 155e456a64c54d2c5fdd4078381ed8c1fad28334
Related: odoo/enterprise#11023
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
This is a slow operation and string join is significantly faster
https://stackoverflow.com/a/3055541/1398110
This can make a noticable difference when processing a long form
Courtesy of Nils Hamerlinck
closesodoo/odoo#52664
X-original-commit: 87a2702fdabdcfeb774ddfb9db2e28bdd5595f9a
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
The accounts of these taxes were inverted for the invoices and refunds.
now are properly configured.
closesodoo/odoo#52121
X-original-commit: 0a8303b8cfbaa087ab89dcb56afbfe15d50bd1a2
Signed-off-by: Josse Colpaert <jco@openerp.com>
Create a new company with it's currency
A default price list has been created for this company in this currency
Install the "customizable Chart of Account" under the settings tab, Accounting
By installing this CoA, Odoo creates a new pricelist, in Dollars,
that overwrites the one in the currency of the country.
Avoid creating the new pricelist if there is already a
pricelist for the current company in the company currency
opw-2221854
closesodoo/odoo#52429
X-original-commit: dc0d6af54f56bf6e576013d67cf44b5cd3608351
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Odoo cloc is a tool to count the number of relevant lines written in Python,
Javascript or XML. This can be used as rough metric for pricing maintenance of
customizations.
It has two modes of operation, either by providing a path:
odoo-bin cloc -p module_path
Or by providing the name of a database:
odoo-bin cloc --addons-path=dirs -d database
In the latter mode, only the custom code is accounted for.
Both modes can be used simultaneously.
Files that cannot be parsed are shown at the end of the report.
Parsing can fail due to syntax errors or excessive file size.
closesodoo/odoo#52635
X-original-commit: ae858c3ac66267b4726db459032b91a6be1cc1d6
Related: odoo/enterprise#11018
Signed-off-by: Olivier Dony (odo) <odo@openerp.com>
Co-authored-by: Thibault Francois <tfr@odoo.com>
Co-authored-by: Antoine Vandevenne (anv) <anv@odoo.com>
Things to know about specific views:
Since the introduction of website specific views, we can have multiple
views that are related to a website (specific views). These views have
no xml_id as it is only set on the original view (generic view).
We rely on the view's key to identify related views as it is the same
for all specific views of a generic view. Also the key is equals to the
xml_id.
When a generic view is updated, we will check if the specific views have
the same values as the generic view. If it is the case, the value that
are the same are considered updatable and are updated on both the
generic and specific view. Else these are considered as noupdate.
When a generic view is created we will check if the potential parent
generic view has specific views. If it is the case we will create a copy
of the created view for each specific view.
The issue:
The method that checks if a created/updated view has specific views is
located in website. When we update a module, each modules are
initialized and updated in a specific order. If a generic view that has
specific views located in a module loaded before website this view's
specific views will not be updated/created as the method does not exist.
This issue is mainly affecting portal views at the moment.
The solution:
For write:
We now COW(copy on write) the views in base module, meaning this will
apply to all qweb views that are duplicated and not only the website
specific ones.
For create:
We will create the generic view as before but wait until we have
updated all the modules to gather all generic views that are supposed
to have a specific view but don't and create the specific views.
This will result in a change of behavior being that if a specific view
that have a parent is deleted it will be recreated on update
(same behavior as a generic view).
closesodoo/odoo#52629
X-original-commit: b1a90ee2bb441aa52e3cf4607c43fb464b55b1d7
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
Signed-off-by: fja-odoo <fja-odoo@users.noreply.github.com>
Steps to reproduce the bug:
- Let's consider a company C in the Arab Emirates(AE) with l10n_ae
- Let's consider a customer C1 from AE (as country) and Abu Dhabi (as state)
- Let's consider a customer C2 from AE (as country) and Dubai (as state)
- Let's consider that the current user has no right in accounting
- Let's consider the SO sequence with no_gap and with next_number=1
- Create a product P with 5% dubai tax
- Create SO1 for C1 with P (next_number=2)
- Create SO2 for C2 with P (next_number=3)
- Export SO1 and SO2 xlsx file F
- Import F
Bug:
An error message appeared in the logs:
odoo.addons.base.models.ir_model: Access Denied by ACLs for operation: write, uid: 6, model: account.tax
because odoo tried to write on the field invoice_repartition_line_ids computed from function compute_all on model account.tax
The next_number was 4 instead of 5 because the update made in function _update_nogap was rollbacked
due the Access Denied
opw:2266048
closesodoo/odoo#52588
X-original-commit: e009c3a0df12801e06a4e2301f888ca77bb24946
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
Issue
- Install Discuss & any app with a chatter
- Have 2 session, admin & demo
- Clear admin systray messages
As demo:
- Discuss > #general
- Ping (@...) admin 2 times
As admin:
- Go in the app you installed
- Open systray messages
- Mark messages as read
It doesn't work
Cause
When marking as read we get the message-ids as a string
and if you have several ids it will be ["1,2"] which is
not supported by the back-end
Solution
The back-end should receive an array like [1, 2]
OPW-2234671
closesodoo/odoo#52608
X-original-commit: fbe91697fb1bc2ade5eba034b97bd671eeaf200b
Signed-off-by: Jason Van Malder (jvm) <jvm@odoo.com>
Issue
- Create a second company
- Create user with access to main and second company
- Go to "Contacts" app
- Edit contact of the new user, and under the "Sales & Purchases" tab,
ensure that the company field is set
- Create a new contact with same email of the new user
- In list view, select both contact related to new user
- Click on Action->Merge Selected Contacts, then merge contacts
User has no more access to both companies, only company related to
merged destination Contact/Partner.
Cause
All related companies are unliked from user, and instead overwrited
with one company related of the merged destination Contact/Partner.
Solution
Instead of unlink all companies, we will only add the contact company
to the allowed companies of the user.
opw-2269397
closesodoo/odoo#52620
X-original-commit: e00b23b73f00fb24b2771ea8894031b35204e65e
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Signed-off-by: bon-odoo <nboulif@users.noreply.github.com>
*= website_hr_recruitment, website_sale, website_crm
Adding 2 new types of fields: tel, url
email, url and tel type can now be applied on existing char fields.
task-2213083
closesodoo/odoo#50891
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
The computed preview for non-background properties (e.g. borders) was
wrong in the left panel since the color presets classes were considered
by mistake.
Part of https://github.com/odoo/odoo/pull/52605closesodoo/odoo#52605
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Before this commit, controller did
1. search all channels with an alias
2. search on the messages on mail.channel
3. map the number of messages with the channels
The issue was that the list of messages in step 2 includes more
channels than the ones found in step 1.
The list of messages may be very big and some groups may be retrieved
while not used in the small list of channels with an alias.
This commit should improve performances while accessing the /groups
page.
closesodoo/odoo#52593
X-original-commit: 60e806f4ea8ce75390eb59620ec61a39b4d3ccd2
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Optimize queries
Fix multi-forum / mutliwebsite in child count
Use stored field when possible
Avoid forum count on each request (rarely updated)
closesodoo/odoo#52539
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
Before this commit, list selection box was not hidden after multi
record edition.
task-2266999
closesodoo/odoo#52590
X-original-commit: ac46e9f82b7cbfc55f395b66b2011399b9f972f1
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
PURPOSE
Before this merge, a user could not contact a course responsible to ask him
to join. With this merge he is be able to do it.
SPECIFICATIONS: ACTIVITY
Add activity_search method in mail.activity.mixin to ease searching on
automated activities (code refactoring mainly).
Add possibility to choose a source / request partner on an activity. It allows
to know if an activity is linked to a customer or a requesting partner.
Com
SPECIFICATIONS: SLIDES
Change the message 'Contact website administrator' to 'Contact Responsible'.
Add the name of the course responsible in the course description panel. When
clicking on its name it opens a modal to request access to the course. It
creates an activity linked to the customer and assigned to the responsible.
When hovering the 'You're enrolled' button the fa-check icon changes to a
fa-times icon to show that you can unsubscribe when clicking.
LINKS
Task ID : 2127364
Community PR odoo/odoo#40708
Upgrade PR odoo/upgrade#1101
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
PURPOSE
Before this commit, a user could not contact a course responsible to ask him
to join. With this commit he is be able to do it.
SPECIFICATIONS
Change the message 'Contact website administrator' to 'Contact Responsible'.
Add the name of the course responsible in the course description panel. When
clicking on its name it opens a modal to request access to the course. It
creates an activity linked to the customer and assigned to the responsible.
When hovering the 'You're enrolled' button the fa-check icon changes to a
fa-times icon to show that you can unsubscribe when clicking.
LINKS
Task ID : 2127364
PR : #40708
Go to Reconciliation Models > Invoices Matching Rule
Set the parameter 'Amount Matching'
Set 'Partner Is Set & Matches'
Save
Edit
Unset 'Partner Is Set & Matches'
'Amount Matching' will switch to invisible but is not disabled.
Removing the invisibility check so that the field is always
editable
This also reverts commit 61f1ca63e5dc27e06c855bb09b18bf4897e8ab1f.
Due to a misunderstanding this solution was chosen while the real
intention was to always show the field
opw-2261134
closesodoo/odoo#52264
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Before this commit, when starting a new database with demo data,
the default channel `#general` had no messages initially.
The demo data defines default messages in this channel, but were
incorrectly linked to this channel, resulting in this channel
containing no messages initially.
The messages did not define `channel_ids`, so it was considered
empty. This field is essential for displaying the message in
channel, so by being omitted these messages are not properly linked
to channels.
This commit fixes the issue by correctly linked this demo messages
to this demo channel, so that `#general` now contains some messages
initially. This commit also removes unused context
`mail_notify_noemail`.
Task-Id 2186300
closesodoo/odoo#49539
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
There is no reason for this constraint to be. Languages with a code
longer than 5 do exists in standard, (e.g. ar_001, sr@latin)
Introduced at 004a0b996fFixesodoo/odoo#52558closesodoo/odoo#52569
X-original-commit: 54340487adaed962750c9719fb50fc7e000da476
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Usinf of any seems not efficient in this case
> timeit.timeit('any(7 == o for o in [1,3,5,7,9,12])', number=10000000)
6.556934245978482
> timeit.timeit('7 in set([1,3,5,7,9,12])', number=10000000)
2.78867393406108
> timeit.timeit('7 in [1,3,5,7,9,12]', number=10000000)
0.534781630965881
Try to make the update the latest possible, to minimize risk of concurrent
update.
Since it is not critical to loose a view, add the old value in where clause, to
try to decrease the risk to alter at the same time a same row.
SPECIFICATION
Changes enroll_msg default value to 'Contact Responsible' instead
of testing if it was empty or not. Since the FieldHtml widget sets
the default value to '<p><br></p>' it was never empty.
LINKS
Task ID : 2127364
PR : #40708
PURPOSE
Allow to know if an activity is linked to a customer or a requesting partner.
SPECIFCIATIONS
Add a partner_id field on mail.activity model. It will be used notably in
website slides to know who triggered an "request access" activity. It
can also be used in various business flows when assigned user is different
from the "source" or "requesting" partner.
LINKS
Task ID : 2127364
Community PR odoo/odoo#40708
Upgrade PR odoo/upgrade#1101
PURPOSE
After this commit it will be easier to find all the corresponding automated
activities in a model.
SPECIFICATIONS
Add an activity_search method in the mail.activity.mixin model to ease
the searching on mail.activity corresponding to the model. It is already
inlined in activity_reschedule and activity_feedback.
LINKS
Task ID : 2127364
PR : #40708
Issue
- Windows > Chrome or Firefox
- Any chatter > Open full screen
- Paste any image
The image is pasted twice
Cause
Summernote adds the image but
the browser event adds it too
Solution
I applied the fix that summernote did
summernote/summernote/commit/6e432941af17c5fee0877d9ff54b6ace65fbdb4b
OPW-2267712
closesodoo/odoo#52532
X-original-commit: 2b4b2ce8660326b1cb53b5624690718b89aaceda
Signed-off-by: Jason Van Malder (jvm) <jvm@odoo.com>
*: website, mass_mailing
In continuity with the nline crop, in an effort to make the image
workflow as seamless as possible in the website editor, the image
optimization feature has been moved out of the modal which could be
opened through the media-dialog and into the left panel.
This commit adds a quality slider and a width selector, as well as a
preview of the image's weight to the left panel, and removes the
image_optimize dialog.
This commit also introduces the possibility to add a color filter on
images.
Part of https://github.com/odoo/odoo/pull/51517
task-2192755
closesodoo/odoo#51517
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
*: base
Previously, cropping an image was done inside of a modal window, turning
it into an inline widget makes the editor feel more integrated and
allows you to better see the result of cropping directly in the page,
it's also less intrusive to the user's edition workflow.
At the same time, the way cropped images are saved was refactored to use
the new original_id field on ir_attachment, as the old system was
creating problems.
Part of https://github.com/odoo/odoo/pull/51517
task-2192755
In the next commit the crop functionality will be made into an inline
widget instead of a modal dialog, as such, the name no longer makes
sense.
Part of https://github.com/odoo/odoo/pull/51517
task-2192755
Previously, the media-dialog had a "filter" feature, where when changing
a background image for example, all backgrounds would show first in the
media-dialog. However, because this required to load all public
attachments in the database it was causing issues and was removed. The
backend code for this feature however was unfortunately forgotten, this
commit removes that code.
Part of https://github.com/odoo/odoo/pull/51517
When attempting to update its UI in reaction to events, summernote tries
to make layout info for the event target, this relies on finding this
information on one of the target's ancestors. In some cases, elements
can be removed from the DOM between the moment the event was triggered,
and the moment summernote attempts to create the layoutInfo, resulting
in layoutInfo being null.
This commit prevents tracebacks from happening in such cases by checking
that a layoutInfo was actually returned, and if not, aborting the UI
update that relies on it.
closesodoo/odoo#52541
X-original-commit: 3e999db0c114d51102ae51f870f98a4cc276c4b4
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>