Before that, using an auto-validate reconciliation model to match an invoice with a statement line with a lesser amount resulted in the creation of an payment entry with which the invoice got fully reconciled, and the difference amount was fowarded to the suspsense account in an additional line. This wasn't correct, as we expect the invoice to be only partially paid in that case (with an amount equal to the statement line's).
closesodoo/odoo#63303
X-original-commit: 7393aa3ebcea7b80762b729315f1c890bc677efb
Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
Steps:
- Have a demo user with "User: Own Documents Only" rights on Sales.
- Connect as admin
- Go to Sales > Products > Coupon Program
- Click one of the programs
- Generate a Coupon
- Reconnect as demo user
- Create a Sales Order
- Apply the generated coupon
Bug:
Access rights restriction on the coupon.
Sorry, you are not allowed to modify documents of type 'Sales Coupon' (sale.coupon). This operation is allowed for the groups:
- Sales/Administrator - (Operation: write, User: 6)
Explanation:
When applying a coupon to the sales order, it tries to update the coupon's state and link it to the order. This needs to update the coupon record.
This commit also fixes confirming quotations and cancelling sales orders with coupons for salespeople.
opw:2409858
closesodoo/odoo#63239
X-original-commit: 873340ca98b9732132e056c1ca79c614c6255c1c
Signed-off-by: backspac <backspac@users.noreply.github.com>
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
What are the steps to reproduce your issue ?
1. Install website
2. Connect on the website
3. Choose Customize > HTML/CSS/JS Editor
4. Choose "Web layout" (in "XML (HTML)" )
5. Modify the HTML code by adding any <script> before the existing <script> (console.log whatever)
6. Save
7. Refresh
What is currently happening ?
Traceback: TypeError: Cannot read property 'user_context' of undefined
How to fix the bug ?
Target the odoo script by id in the xpath.
opw-2375490
closesodoo/odoo#63360
X-original-commit: 0b7ba571431d694dea7db3ba1da4c7e86d1013e5
Signed-off-by: Achraf <abz-odoo@users.noreply.github.com>
What are the steps to reproduce your issue ?
1. Install "contacts"
2. Select list view and select one or more contacts
3. Select "Export" actions
What is currently happening ?
When filtering fields with text, the system only displays the corresponding
fields, but when clicking on sub-field the text written just before
is deleted, which prevents us to return to all fields without filter
What are you expecting to happen ?
Filter fields and select sub-field without deleting the filter text
opw-2411928
closesodoo/odoo#63339
X-original-commit: d947ea609b458ddbccabd661c22652d6c86a8167
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: Achraf <abz-odoo@users.noreply.github.com>
Steps to reproduce the bug:
- Create new project P with "Billable" unchecked
- Create a new task T in P and log hours on the timesheet TS
- Go to Timesheets > All Timesheets and filter for "Billable"
Bug:
TS was displayed even if P was not billable
opw:2394624
closesodoo/odoo#63348
X-original-commit: 78491ae8f6b7978444bf789d9ecdd71201afdebe
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
Co-authored-by: IT-Ideas <ltu@odoo.com>
Field `partner_bank_id` should be readonly like other fields when Payment is not in `Draft` state.
closesodoo/odoo#63254
X-original-commit: 366bf51bb07aac6edca668635f49316b21bbb7be
Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
Field's help doesn't match with field's Usage.
closesodoo/odoo#63249
X-original-commit: a48ba4672e90a7e9f3143de5ede0099a8e28d4cd
Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
Issue: display the footer tag from snippet in the modal and replace the
save and cancel button.
Steps to see: Email marketing -> mailing lists -> option icon of a
kanban -> Edit -> Website popups -> add a line
X-original-commit: 073699749401adadeec029de6534b4d205e41067
PURPOSE
Required fields are annoying, notably when dealing with tests or xml-based data
to create in concurrent modules. For example ModuleA adds a required field on
Model. ModuleB that does not depend on ModuleA tries to create a data of
Model. Currently it crashes as field is required but default is not provided if
ModuleA is not loaded in registry.
SPECIFICATIONS
Field activity_user_type on ir.actions.server model in mail is currently
required. This field is however not really required as its use is limited
to actions linked to activities. Remove the hard required and put it only
in views.
If no value is given due to some bad configuration no responsible will be
set.
Followup of odoo/odoo@7309981426
LINKS
Task ID-2367655
closesodoo/odoo#61769
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
The balance/debit/credit compute fields need the user to be part of 'account.group_account_readonly' in order to be calculated. This will avoid having an access error when a user who is not in 'account.group_account_readonly' accesses a view of 'account.analytic.account'.
We need it for the task-2195019. This task adds the possibility to display a m2o('account.analytic.account') field that can access the tree view with the 'Search More...' button.
Task-2195019
closesodoo/odoo#56554
Related: odoo/upgrade#1810
Related: odoo/enterprise#12680
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
model_field: name of the FieldMany2One('ir.model') containing the model of the records that can be selected. If its value is different from False, the select will not be displayed.
The purpose of adding this option is to allow the creation of a reference field having its model defined in another field (Many2One).
Task-2195019
Step to reproduce:
1. Install module "sale_project"
2. In Project > Configuration > Settings, turn on "Recurring Tasks"
3. Create a recurrent task
4. Set the "next_recurrence_date" for the recurrence ahead of today
5. Run scheduled action " Project: Create Recurring Tasks"
=> error: 'project.task' object has no attribute 'is_fsm'
Reason:
"is_fsm" is defined in the module "industry_fsm" and the module "sale_project" does not depend on that module.
opw-2412370
closesodoo/odoo#63325
X-original-commit: 36c3fb0e1d16f5cce21e3edcb01ee8a39a35caa8
Related: odoo/enterprise#15288
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
To be able to be saved, nodes have to provide information on where to
save them. This is done through the use of data attributes. Nodes that
do not have these data attributes or are not contained within nodes that
do, should therefore not be editable.
Recent changes in Jabberwock ensure that the nodes with these data
attributes are saved either as `OdooStructureNode` or as `OdooFieldNode`
so we can simply check for these.
closesodoo/odoo#63311
X-original-commit: adf778d4bb499c6beb6b54d8093ced4f81d2ac57
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Consider a model M with a one2many field with comodel L, such that
deleting records in M cascade-deletes records in L. Import a bunch of
records in M with one2many lines having specific external ids. Delete
the imported records: the database cascade-deletes the corresponding
lines, but the lines' external ids are not deleted. Now re-import the
same records: this crashes, because the import process finds the lines'
external ids and tries to update the deleted lines!
The fix consists in checking that an external id's record actually
exists. The existence check was removed for performance reasons by
https://github.com/odoo/odoo/pull/26496. We reintroduce it by resolving
the external id with a join on the model's name, which checks the
record's existence faster than an extra query. This patch allows to
re-create the imported records' lines.
Another patch is necessary to actually update the external ids that
refer to deleted records, otherwise they remain dangling, and importing
the same records again duplicates the lines, because their external ids
do not match any existing record.
OPW 2409649
closesodoo/odoo#63318
X-original-commit: 0322febbea2cfd2d2fd7aedc42ef03632b17c967
Related: odoo/enterprise#15285
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
Some characters are filtered out for an unknown reason, leading to
strange behavior when the font supports those characters.
closesodoo/odoo#61199closesodoo/odoo#63290
X-original-commit: 429febb30bb3f5442cf310e836a5e0e6c4bc3e65
Signed-off-by: Olivier Dony (odo) <odo@openerp.com>
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
Some pictures are downloaded from odoo cdn, this is seen as a privacy
breach by Debian Lintian tests [1]
1: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=973605
X-original-commit: 5e7418fb52e83656963c6f0c2618e226bb95ef69
Some ttf fonts used to sign are shipped does not come with a clear
licensing. Also some of them does not have accented characters.
With this commit, they are replaced with better ones and their
accompanying Open Font License.
Also, before this commit, any file in the font directory was read to be
rendered by the sign widget. With this commit, only `ttf`, `otf` and
'woff[2]' files are read, this allows to store the license file
alongside with the font.
X-original-commit: f4a9aec57b871806fb225bf91a941edb0fde5cbe
TheSecretRegular font license is not clear and moreover, does not
support accented characters.
With this commit, the font is replaced by one under the SIL Open Font
License.
X-original-commit: c455627fe0bf473c437e43831e88e907fc462845
Before this commit, the css of the active items considered the items
to always be <a> elements. But a PR, coming after the one who
introduced this css code, changed the items generation system and now
the items are no longer <a> elements but <div> elements.
This caused a flickering effect when hovering over the last item in
the dropdown.
Part of #62971
task-2312878
closesodoo/odoo#63112
X-original-commit: b046fb31c34fd61086a492b2b8abf59a4e205dad
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
Before this commit, website_url_chosen was triggered when the dropdown
of the input closed instead of when an item was selected in the
list. This caused the following issue: you lost focus in the input
every time the list closed while typing.
After this commit, website_url_chosen is only triggered when an item
is selected in the results list of a urlpicker input.
Part of #62971
task-2312878
X-original-commit: a4cf182211de21970d5261713c5cbae3e609cfb1
This commit fixes a small design glitch in the user form by replacing a "X"
character to close an alert by an actual close icon.
Which looks better, the "X" really sticks out from the rest of the design.
Task n°2393814
closesodoo/odoo#62368
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
In Belgium, the company registry and the VAT number (no country code) are identic.
The company registry field is not mandatory, but is needed to export the belgian Intrastat XML file.
Now:
- belgian company registry is set by default to vat number.
- missing company registry warning message redirects to company settings.
closesodoo/odoo#58047
Task: 2335088
Related: odoo/enterprise#15270
Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
PURPOSE
Provide various fixes related to mass mailing (sms) and marketing automation
applications.
SPECIFICATIONS
See sub commits for more details.
[FIX] link_tracker: disable create and edit on clicks list view
[FIX] sale: prevent creating quotations from UTM campaign reporting buttons
[REF] mass_mailing: split mailing.trace.report sql to ease inheritance
[FIX] mass_mailing: let subscription_ids won over default_list_ids
[FIX] utm: fix naming of utm campaign card
[FIX] utm: show campaign tags by default by giving them a color
LINKS
Task ID-2300385
COM PR odoo/odoo#59872
ENT PR odoo/enterprise#14031closesodoo/odoo#63271
Forward-port-of: odoo/odoo#59872
Related: odoo/enterprise#15278
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Colorless tags are not displayed in kanban view of utm campaigns. When creating
tags on the fly currently they have no color and are therefore not displayed
once saving the campaign. This is not really intuitive for users.
We now set a default value to color field of tags. They are now displayed
by defauklt.
LINKS
Task ID-2300385
COM PR odoo/odoo#59872
ENT PR odoo/enterprise#14031
X-original-commit: 4f83be33d4cc53d50081050b3a9dee2892c562a4
When creating new contact coming from a mailing list a default_list_ids
context key is set. It is used to give a default value to list belonging
and also to compute opt_out.
However subscription_ids field is displayed on contact form view, allowing
to add the contact to mailing lists. We may end up in situation where a list
is given twice to a contact: once through default_list_ids and once through
subscription_ids field manually completed by users.
In this commit we therefore merge those two values when creating contacts.
Also improve some wording while we are at it.
LINKS
Task ID-2300385
COM PR odoo/odoo#59872
ENT PR odoo/enterprise#14031
X-original-commit: 30bab79183b4b9f1a571d6ebd9bbc1f3c0692457
Purpose is to ease inheritance of generated SQL report for mailing traces.
Notably we want to be able to filter out some mailings like those used
in marketing automation.
For that purpose we rework the hardcoded string to be a bit easier to
inherit. It is now build based on various sub methods returning sql items
(columns, group-by, ...) that are then aggregated to make the final SQL
query.
Functionally nothing changes. String manipulation is feasible as there is
no user input, meaning only valid terms will be accepted in final SQL.
LINKS
Task ID-2300385
COM PR odoo/odoo#59872
ENT PR odoo/enterprise#14031
X-original-commit: 15783a7dcfacc5904b3d3c823f175a4be5667129
Configure the incomming mail server, use another mail client to send a
message to Odoo with an EML file as attachment. The fetchmail server
fails.
Since the introduction of the new EmailMessage python API to
encode/decode email messages, every EML attachment is automatically
parsed into a EmailMessage.
closesodoo/odoo#63255
Task: 2329606
X-original-commit: e628defec14f3b36612951bc698fa51b7c9f56bb
Signed-off-by: Julien Castiaux <Julien00859@users.noreply.github.com>
- Install stock
- Create a Storable Product
- Add an Attribute with Variant Creation Mode set to Instantly (i.e. Color)
- On Product form, click on Variant smart button and open a Product Variant
- Click on "Update Quantity"
The Create button to edit Quantity on Hand is not present.
This comes from the Variant smart button (id: product_variant_action) that adds
'create': False in the context to prevent creation of Variant.
But when navigating to Update Quantity page, it is still in the context and hides
the Create button.
opw-2412380
closesodoo/odoo#63272
X-original-commit: 3d671ef824fec9dc8ee7d3666b6e528a3c794226
Signed-off-by: Anh Thao PHAM <kitan191@users.noreply.github.com>
Make the element #wrapwrap be placed directly in the body as in 14.0
instead of wrapped inside containers.
FIX: [QSM] Header effects don't work in edit mode even though they are started
FIX: [QSM] The editor overlay on top of snippets does not disappear during scroll
anymore
FIX: [QSM] Click on the header, it is deletable while it should not (I precise
that here asit is a kinda different case: the header has options even though
it's not editable but it's not deletable)
closesodoo/odoo#63268
X-original-commit: e0331583cf995b7cfe7d7928918c71b51c854f2d
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
When you mark an crm.lead as "won" using the "mark as won" button, the user
will be shown a rainbowman under certain conditions. This happens notably
when you win your first lead.
This commit fixes the 'ir.actions.act_window_close' model to allow the
'effect' key within its readable fields (even if it's not a real field) which
is in turn picked up by the web client to display the infamous rainbowman.
At the same time, we add the tour that is testing the rainbowman of the crm app
in the test suite, since it was missing and never actually executed by the CI.
Some fixes were also necessary to make the test run properly.
Task ID-2394745
closesodoo/odoo#63259
X-original-commit: 47079f67f586adf45da15fc98dbc81571f7a9100
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
1) Replace editor function that change the editor internal structure
with a new mechansim that does it automatically by observing dom
mutations. Welcome wysiwyg.withDomMutations.
2) Add a mechanism to reuse the active editor execution context
when a wysiwyg.execCommand or wysiwyg.withDomMutations is called
inside itself.
Example:
await wysiwyg.execCommand(async ()=> {
...
await wysiwyg.execCommand(()=>{...})
await wysiwyg.withDomMutations(()=>{...})
})
closesodoo/odoo#63237
X-original-commit: fe7056ccb450c9767693671e8d980a6aebacd6ab
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Changelog:
[IMP] Odoo: allow empty structure nodes
[IMP] Odoo: expand parsing range of OdooStructureNode
[FIX] DomHelpers: removeNodes only when they exist
[FIX] withDomMutations : getParentModifiers
[FIX] withDomMutations: don't get node loosely
[FIX] withDomMutations: remove the proper observer
[FIX] OdooField: do not apply empty class if placeholder
[FIX] OdooWebsiteEditor: add expected Theme plugin
X-original-commit: 537c3318a6f2751d83a011345602456125420590
Right now, the quick create kanban card is having three buttons, Add, Edit
and Discard. In some languages, the translation terms of these buttons may be
quite long. This pushes the last button into second line and leads to an
ugly display.
This commit replaces the 'Discard' button with trash icon and makes sure that
all buttons are always in single line. If the strings are too long, they will
be cropped automatically.
Task ID-2373130
closesodoo/odoo#62326
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>