In this commit we cleanup server actions model in order to make it a bit
more inlined with current code state of the art.
* add no_create / no_open on technical fields (m2o towards fields notably)
as creating or updating fields on the fly is not the purpose of base
automation module;
* rewrite onchange into compute or constraint methods;
* add compute methods to cleanup data when changing configuration (model or
trigger). Some fields have no usage except in some configuration better
reset their value. Notably fields linked to the chosen model should be
reset;
* add constraints for invalid configuration, notably for models coherency
with mail features;
Task-2613245 (Server actions mail update / cleaning)
Part-of: odoo/odoo#75906
In this commit we cleanup base automation model in order to make it a bit
more inlined with current code state of the art.
* add no_create / no_open on technical fields (m2o towards fields notably)
as creating or updating fields on the fly is not the purpose of base
automation module;
* rewrite onchange into compute or constraint methods;
* add compute methods to cleanup data when changing configuration (model or
trigger). Some fields have no usage except in some configuration better
reset their value. Notably fields linked to the chosen model should be
reset;
* add constraints for invalid configuration, in addition to currently
returned "warning" in the interface;
Task-2885890 (Base Automation model cleaning)
Part-of: odoo/odoo#75906
Purpose is to ease finding server actions code and views. We just rename
some files and move some code, nothing should change functionally.
Task-2613245 (Server actions cleaning and mail update)
Part-of: odoo/odoo#75906
convert_inline relies on getComputedStyle to crystalize var and calc
values. This however was conflicting with the fact that it also combines
positional styles (eg., margin-top, padding-left) together. This seems
to make getComputedStyle give out the wrong value with var and calc.
closesodoo/odoo#98003
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Allow non system user to get the mondial relay url for tracking parcel.
closesodoo/odoo#98065
X-original-commit: ce8e2e755edab703c557efb0959e0ba21decbb5c
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Signed-off-by: Jérémy Kersten <jke@odoo.com>
On Chrome, the textarea is automatically resized to use all the
available space. On Firefox, this is not the case. Since the css rules
only set the position of the textarea and not its size, the textarea in
Firefox was ridiculously small and unusable.
task-id 2950108
closesodoo/odoo#98060
X-original-commit: ca1d70cb36be99a171a46eb1455b9f5ef5ac388b
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Pass the options: `{'create': False}` to the a many2many_tags field in some arch
Before this commit, there was a crash because the API of the field's props did not
account for that use case.
After this commit, it does.
closesodoo/odoo#98050
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
This commit will simplify the code of Thread by properly splitting all
behaviors exclusive to mail.box threads.
* = test_mail_full
closesodoo/odoo#97996
Related: odoo/enterprise#30402
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Current behavior
Starred messages counter takes into account the starred messages of a private
channels even if we no longer have access to this channel. Happens with deleted
messages too.
Steps channels
- Install Discuss
- Create a Private Channel and invite Marc Demo to join it
then send him a message
- *As Marc Demo*, star the message then leave the channel
-> Starred counter still shows 1
Steps for deleted messages
- Join the private channel again
- Delete the starred message (with Mitchell Admin)
-> Starred counter still shows 1 for Marc Demo
Reasons
Starred message count is computed by a raw sql [1] which only counts partner's
occurrences without taking into account the message's state and/or the
associated channel.
Side records (stars, notifications) are not removed when emptying a message
content [2].
With changes
- It doesn't take into account messages from a private channel which we no
longer have access to by doing a search on mail.message instead of doing it
in SQL (which filters out invisible messages);
- It correctly voids side records when emptying messages;
Side effects
This somehow raises number of queries because we now check access on messages
and records. However this is necessary as bypassing ACLs means unreachable
notifications or stars.
OPW-2742092
Task-2813738
[1] : https://github.com/odoo/odoo/blob/2c1c6b1373c238216fda1e2d9d2f00b5d16c8ca3/addons/mail/models/res_partner.py#L49-L51
[2] : 776d1ee08bclosesodoo/odoo#97974
X-original-commit: b1e8f7d97e3a1fa624436d2dd6801bf5fe7d19aa
Related: odoo/enterprise#30415
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Fixing the survey question form view which is
currently displaying a preview outside of the form
boundaries as a consequence of the BS5 migration.
This commit modifies the question preview to render it
inside the form boudaries.
Task-2950180
closesodoo/odoo#97938
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
When an online appointment (having no location set in it's appointment type) is
booked, we need automatically generate the `videocall_location` so that in the
confirmation email received by customers already has a link to join. For
building this URL, we need to use 'DISCUSS_ROUTE' when appointment is being
created (see the linked ENT PR).
For making 'DISCUSS_ROUTE' easily accessible, instead of keeping it as a global
variable, we now make it a class property of the model `calendar.event`.
taskID-2821957
closesodoo/odoo#92628
Related: odoo/enterprise#27136
Related: odoo/upgrade#3558
Signed-off-by: Warnon Aurélien (awa) <awa@odoo.com>
This commit done below changes:
- Change the "Meeting URL" label to "How to Join".
- Change the "https://meet.jit.si/odoo-xyz" label to
"www.mycompany.com/calendar/join_videocall/xyz".
- Adds the label "Join with Odoo Discuss" if the `base_url` is found
in `videocall_lcation`, otherwise "Join At" instead of simply showing
the meeting URL in calendar event related mail templates and moves the
meeting URL to the bottom of this label.
- To avoid a tiny calendar badge, add style `min-width: 130px;` to the
calendar badge.
taskID-2821957
Part-of: odoo/odoo#92628
Ease subcontractor stock tracking by using dedicated locations.
Simply declare location as a subcontracting one (rules are
automatically adapted) and set it on vendor.
closesodoo/odoo#88644
Task: 2720393
Related: odoo/upgrade#3755
Signed-off-by: Tiffany Chang <tic@odoo.com>
The list view has recently been rewritten in OWL (see 48ef812).
During the rewriting, it was forgotten to put the class o_renderer on
list renderers, making a no content helper in a list view be positioned
too much on the left and have its style broken when the list has a search
panel.
Part-of: odoo/odoo#97876
When an invoice has led to the creation of an Exchange Difference Entry, it is shown on the invoice view form.
The info button allows to see more information on that entry, however in the case of an exchange difference,
the "Unreconcile" button should not be displayed. This commit fixes this.
closesodoo/odoo#96997
Signed-off-by: Laurent Smet <las@odoo.com>
The need for this change is give the flessibility to add new features. Eg. same company have multiple plant/office in this case we will have one VAT code and multiple fiscal code.
closesodoo/odoo#91326
Signed-off-by: Josse Colpaert <jco@odoo.com>
This new commit will add a new tab on the user profile that will list
the certifications attempts made a given user. With this new tab, the
administrators can get a quick overview of the user activity.
task-2679881
closesodoo/odoo#81057
Signed-off-by: Warnon Aurélien (awa) <awa@odoo.com>
The default email sent when a user succeed the certification will now
include the user's score. By opening the email, the users will directly
know how well they performed without having to log in.
task-2679881
Part-of: odoo/odoo#81057
PURPOSE
Improve the Marketing Campaign and Mass SMS form/tree views.
Notably to display clearly what's happening with the A/B testing.
SPECIFICATIONS
- Re-arrange and improve the "mailings" embed tree view in the Marketing
Campaign form, for both mail and sms
- Add A/B testing information in Marketing Campaign form views
- Reword some labels
- Do not override existing campaign when enabling A/B testing
See underlying commits for details.
LINKS
PR #77768
Task 2653806
Related: odoo/enterprise#21421
Signed-off-by: Warnon Aurélien (awa) <awa@odoo.com>
Right now, on an existing mailing, if we enable the a/b testing and there's
already a campaign set, we remove it and add a newly create campaign that
matches the name of current mailing. Also, while duplicating a campaign, the
`ab_testing_completed` field should not be copied over.
This commit improves the behavior and only creates a new campaign if there's
not one already set on a record, and by preventing `ab_testing_completed`
from being copied.
TaskID-2653806
Part-of: odoo/odoo#77768
This commit adds a new group `ab_test_group` after notebook of campaign form
view, which displays A/B test related information. Below are the fields
displayed within the group:
- ab_testing_winner_selection
- ab_testing_schedule_datetime
They will become readonly as soon as the the A/B testing is completed.
Apart from that, this commit makes the mailing/sms mailing lines editable.
TaskID-2653806
Part-of: odoo/odoo#77768
This commit improves the embedded tree view of mailings, sms within
a campaign, and makes it uniform with the original tree views.
However, due to lack of space, we display the stats simply in
numeric format instead using progressbar widget.
Also, to save a bit space, if no mailing, sms has A/B testing
enabled, we hide that column.
Apart from that we have added sum for the field `sent` and average
for these fields,
- recieved_ratio
- opened_ratio
- clicks_ratio
- replied_ratio
- clicked
- bounced
TaskID-2653806
Part-of: odoo/odoo#77768
This commit improves the list view of SMS Marketing to make it
similar to Email Marketing. Now we have these fields in following
order:
- calendar_date
- subject (string updated to `Title`)
- mailing_model_id (optional hide)
- user_id
- campaign_id (optional hide, displayed when activated)
- ab_testing_enabled (displayed when activated)
- sent (added sum)
- clicked (updated string to `Clicked (%)` and added progressbar widget, average)
- bounced (updated string to `Bounced (%)`, optional hide with progressbar widget
and average)
- state
TaskID-2653806
Part-of: odoo/odoo#77768
When register a payment for a bill an a credit note,
the two payments have the same type.
Steps:
- Create a Vendor Bill, and a Vendor Bill Credit Note
- Select both and register payment without grouping them
-> The two created payments have the same type
With this commit, if the field group_payment is True, we
set the payment type regarding the balance of the move line.
opw-2852186
closesodoo/odoo#98010
X-original-commit: 2ad78818b59350cf5e9367802c41820e36d05db1
Signed-off-by: Laurent Smet <las@odoo.com>
Signed-off-by: Guillaume Vanleynseele (guva) <guva@odoo.com>
When we want to activate trigram psql extension for odoo/odoo#97294
on runbot. But one test fails (`test_01_many_records`) with it because
the website fuzzy search behavior depends on trigram extension presence.
closesodoo/odoo#98018
X-original-commit: 0562a17f8ca1be83c80372e2300e24ab9d0458a9
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Signed-off-by: Raphael Collet <rco@odoo.com>
Currently, bold style intensity on text is lost when switching from default
browser mode to full-screen mode for viewing e Learning Course content.
This happens due to the use of the `fw-light` class in full screen.
This class property is font-weight: 300 !important, so it overrides the
font-weight style property in the child element of this class.
This commit solves this issue by removing the `fw-light` class in the
full-screen record set.
task-2850325
closesodoo/odoo#91732
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Searching for anything in the Chart Of Account view would make a stacktrace appear.
FIX --> classic domain names instead of 'str(self)+'%''
Task-2951261
closesodoo/odoo#97991
Signed-off-by: Laurent Smet <las@odoo.com>
This commit changes the activities that are displayed on the project update.
(Both in the table of the project update form view and on the right panel in project update)
Specifically it reduces the sale order items to only the ones that are directly
related to the project (the project itself or its tasks)
A test was modified in order to accomodate the change.
closesodoo/odoo#97985
Signed-off-by: Xavier <xbo@odoo.com>
Considering recent recurring bug reports and the fact that bridge modules
now automatically compute the cost considering logistics, timesheets & expense
flows, the ability to manually edit the cost on a sale.order.line is now disabled.
In most cases, manually specified costs are automatically reset because of
stock/timesheets/expenses added dependencies on the purchase_price field.
Also adapt existing tests and use the new Sale tests common.
closesodoo/odoo#97977
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
The colorpickers forcefully reset the current history step to revert the
color change while previewing colors. This works when the only change in
the current step is in fact the colorpicker. If other changes already
existed in the current step however, they will be reverted as well. This
commit fixes the issue by introducing the concept of stashing mutations to
avoid that these be reverted. They can be unstashed later on when the
system is done abusing the revert mechanism.
task-2921844
closesodoo/odoo#97973
X-original-commit: cc280522d590c3ed257e7c6c495008e8986b2bf3
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Co-authored-by: Nicolas Bayet <nby@odoo.com>
Co-authored-by: David Monjoie <dmo@odoo.com>
When clicking the link tools button, the focus is set inside the URL
input, changing the selection temporarily to that input. This means that
if the user clicks any other button from the toolbar right after using
that input, a command would try (and refuse) to execute outside the
editable area.
The link tool is now destroyed when clicking other buttons of the
toolbar, thus either validating the link or reverting it, and the
selection is reset accordingly.
The toolbar buttons are now correctly bound on click rather than some
being bound on mousedown and some on clicks, like colorpickers, which
would result in weird behavior such as a mousedown handler modifying the
dom which changes the layout so the mouseup event is on another node and
the click is not fired anymore. This commit streamlines the behavior to
use click so that this issue does not occur anymore.
task-2921844
X-original-commit: 798e3d0eb0017e05261ca0a0c5e29706629f0350
Part-of: odoo/odoo#97973
Co-authored-by: Nicolas Bayet <nby@odoo.com>
Co-authored-by: David Monjoie <dmo@odoo.com>
When clicking the link tools button, the listener on `body` clicks is
triggered and we check if the toolbar should appear or be hidden. This
check should be skipped whenever we click in the toolbar but this was
checked via the selection on the global document rather that on the
editable's owner document, resulting in an oft-empty selection object.
As consequence, the checks were done and the toolbar was hidden, whereas
it should remain shown.
task-2921844
X-original-commit: f74184b4f98772949040eeea94e389b425fc3265
Part-of: odoo/odoo#97973
When opening the link tools with a collapsed selection, we have an empty
link, which is ugly with its dashed border around an element of width 0.
This inserts a placeholder space composed of two nbsps so that the
dashed border is correctly rendered.
task-2921844
X-original-commit: a1a3fc850fe50284441f74afb43ac06b0ae2d6c4
Part-of: odoo/odoo#97973
The link tools were made so that one needed to validate the URL they
input before it was applied to the DOM. But this was awkward, especially
when the selection was collapsed and we counted on the URL input to fill
the link's label.
We need to pause history steps however, otherwise each change will be
its own step in the history and the user will have to undo as many times
as the number of characters that were entered.
task-2921844
X-original-commit: 226c4c4032c26d3d8f622b29fb151fa8e78ba70a
Part-of: odoo/odoo#97973
Co-authored-by: Nicolas Bayet <nby@odoo.com>
Co-authored-by: Antoine Guenet <age@odoo.com>
The triple click correction algorithm in `getDeepRange` is supposed to
do be triggered only when a selection spans multiple nodes and ends at
position 0 of a node. But it only checked the end of the selection and
failed to check if the selection actually did span multiple nodes.
task-2921844
X-original-commit: 22fdcc0d09e232c481f05eefdb2e60ba1cea4f10
Part-of: odoo/odoo#97973
The previous pass in #97567 missed a small window of race condition
in *closing the fecking dialog*. Apparently that's still not
instantaneous enough and it's possible to have the check trigger in
the interval between clicking the button and the dialog being
completely torn down.
Add an explicit test for this to the existing `closeProfileDialog`
utility function.
closesodoo/odoo#97969
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
Steps to reproduce:
- Inventory app > Settings > enable barcode scanner
- Manufacturing app > Create a new manufacturing order
- Under components, add a product that has a barcode
- Save > Print > Production order
The barcodes of the products on the report all encode the
same (incorrect) value, which is the manufacturing order name.
This commit changes the barcode value to the corresponding
barcode string of the products.
opw-2930848
closesodoo/odoo#97968
X-original-commit: 71d4d977d42e69e8e3d7e069098707b84812ee07
Signed-off-by: Adrien Widart <awt@odoo.com>
Signed-off-by: stcc-odoo <stcc@odoo.com>
When converting Bootstrap grids to tables for e-mail compatibility, we
need to take into account Bootstrap offsets on columns. We were doing
this by adding that offset to the column but we actually need to create
an extra column instead.
task-2936705
closesodoo/odoo#97962
X-original-commit: 8beb7ac47c4cc86822bbc42b67ce5f6a44d41626
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Signed-off-by: Antoine Guenet (age) <age@odoo.com>