* Reorganize and reword some of the fields for the activity form type view
* The fields `force_next` from `mail.activity.type` and its related
field from `mail.activity` are removed.
Instead, a new field `chaining_type`, which is a `selection` will
improve the readability of the activity_type form. (It is made more
obvious that the user has to choose between 2 modes :
- 'Trigger Next Activity': used when the user wants to specify the type of the
next activity, which will be triggered once the current activity is done
- 'Suggest Next Activity': used when the user wants to recommend the
next activity for the user to schedule once the current activity is done
* To be consistent with this change :
- The field `default_next_type_id` is renamed `triggered_next_type_id`
- The field `next_type_ids` is renamed `suggested_next_type_ids`
* The field `default_description` is renamed `default_note` to better match the
`note` field from `mail.activity`
* About the specific case of activity_type.category = 'upload_file' :
An activity which has this type's category is automatically marked as done as soon as
the file is uploaded. This prevents the user from choosing a "next activity type".
As such, an activity_type with this category can only make use of the
chaining_type = "trigger", to be part of an automated process.
An activity_type with this chaining_type should have the
triggered_next_type_id set (usually required in the Form).
But, since it does not make sense to set suggested_next_type_ids in this case :
- chaining_type will stay hidden in the Form
- triggered_next_type_id will always be shown and is not marked as required in the Form
- if triggered_next_type_id is not set, chaining_type will be "suggest"
Task ID : 2410217
PR : https://github.com/odoo/odoo/pull/63370
UPGRADE : https://github.com/odoo/upgrade/pull/2167
* When clicking on a button that is a preview for a "mass mailing",
always open it in a new window for the user that is editing the form, so
that changes are not discarded (when leaving the page).
- The option "Open in a new window" remains effective for the recipients of the mail.
* Rename Mailing Campaign to Campaign : this is just a mailing campaign,
they are used everywhere in the marketing scope now. And it can be part of
a multi-channel campaign.
* Show/hide mailings count depending on settings :
- Mailing Campaign must be activated in the email marketing settings in
order to display the Mailings count in the utm.campaign kanban view
* When there is no matching recipient for a mailing campaign,
properly display 0 / 0 instead of 0 / 1 to better indicate that it is
not expected that anyone will receive an email.
Task ID : 2410217
PR : https://github.com/odoo/odoo/pull/63370
* When the option "Skip Queue" is enabled, there shouldn't be an error
raised in case there is no matching record for the specified domain
when clicking on "Launch now".
(i.e. : no partner/contact associated with a certain number)
In other words, the user should be allowed to launch a campaign without
recipient whether its mails or sms, even without a cron rule.
This was already the case when launching the campaign without skipping
the queue (= handled by cron).
Task ID : 2410217
PR : https://github.com/odoo/odoo/pull/63370
* Add a new error message upon deleting the partner linked
to an active user.
* Improve the error message wording upon archiving the partner
linked to an active user. Add the linked users names at the end of
the message.
* If the user has 'write' access on res.users, raise a RedirectWarning
instead of a ValidationError, to offer an easy access to the related users :
- If there are multiple Users, redirect to a list view.
- If there is only one User, redirect to the form view.
* Adapt the test_access_deleted_records from test_orm.py to use a more
basic model : `res.partner.category` (with less business logic), because the
new unlink error message is dependent on a condition that will throw an error
in case of multiple unlinks of the same record (MissingError).
* Force close the frontend archive confirmation Dialog since _toggleArchiveState
may be interrupted by another Warning/Error Dialog. If the new Dialog was the
redirectWarning, and the user chose to be redirected, the first Dialog would
stay open even thought the context already changed.
* Modify the placeholders for a partner Name/Company
-> placeholders will change according to an Individual or a Company.
* Adapt the main_flow tour to correctly select the partner name field on
mobile (tested in enterprise).
Task ID : 2410217
PR : https://github.com/odoo/odoo/pull/63370
Convert the override of method `power_on()` to an `@autovacuum` method.
closesodoo/odoo#67178
X-original-commit: f212223305a4d1da0f01f008c3874a72945fcae0
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
Steps to reproduce the bug:
- Let's consider an included tax T (10%) and a product P (11€) with invoicing policy based on delivery
- Create a sale order SO with one line L with 2 P and T
- Confirm SO and deliver it
Bug:
The untaxed_amount_to_invoice was 40€ on L instead 20€
opw:2457660
closesodoo/odoo#67188
X-original-commit: 56d92277f20566d5b652ce713551970d0b7784c0
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
PURPOSE
Purpose of this merge is to improve reporting usability
and views in crm, lead generation and iap services.
SPECIFICATIONS
Some usability improvements going to be done by this merge are listed
below.
Improve the action helpers for the actions bound to below listed menus
for better usability:
* My Activities
* Leads
* Leads Analysis
Along with that, this commit also improves the following:
* while generating leads, make 'Industries' field required on the modal so
that results obtained are actionable instead of random leads;
* after trying to generate leads, if no result is found, the same pop-up
opens again with same criteria and displays a waring in the pop-up. It
informs users that leads are not found and no credits are spent for their
last search;
* improve the warning message for unsuccessful enrichment due to invalid
email;
This merge adds the color_picker widget for setting valid color of
CRM tags in the form view.
With this merge, the 'Enrich' button on lead now appears only after the
email is set and valid, which previously appeared even if no email is set
or if the value is not a valid email.
Right now, for the fetched contacts through enrichment, we display
name and title in separate columns (in the chatter), that leaves
lesser space for email and phone.
With this commit, we merge name and title columns, and provide a bit
extra space to email and phone so that chances for them being wrapped
in a new line are less. Also, if phone number is not available in any
contacts, the 'Phone' column is hidden, giving even more space for the
Name/Title and Email columns.
LINKS
COM PR odoo/odoo#64075
ENT PR odoo/enterprise#15561
Task ID-2393253
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
The color_picker widget, that can be seen for example in the track form
view for event tracks, had an issue: if the user clicked on it, then
pressed TAB, a traceback was displayed.
The problem comes from the fact that the color picker widget inherits
from FieldInput, but is not a fieldinput, so many expectations made by
the FieldInput code do not hold, such as the code run when handling
navigation (by TAB and such keypress). Because of that, the code in
_onNavigationMove crashed, because it expected an input.
Since this is a bug fix, I simply disabled the navigation in that case,
so no crash happens. Sadly, this widget has still a big issue: it
clearly does not work as most users would expect: pressing TAB or arrows
should update the selection. But this would be a more complicated
refactoring, for a bug which is clearly not critical, therefore this
commit implements the simple and safe solution.
Also, we disable the focus outline to minimize the wrong expectation.
Seeing them kind of implied that one could update the selection with the
keyboard.
Note that the widget color_picker was moved from another addon to web/, without
any tests nor documentation.
OPW 2467369
closesodoo/odoo#67195
X-original-commit: 580456b6ab36d16195eae9ffd776ff245ecd936e
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Right now, for the fetched contacts through enrichment, we display
name and title in separate columns (in the chatter), that leaves
lesser space for email and phone.
With this commit, we merge name and title columns, and provide a bit
extra space to email and phone so that chances for them being wrapped
in a new line are less. Also, if phone number is not available in any
contacts, the 'Phone' column is hidden, giving even more space for the
Name/Title and Email columns.
Task ID-2393253
COM PR odoo/odoo#64075
With this commit, the 'Enrich' button on lead now appears only after the
email is set and valid, which previously appeared even if no email is set
or if the value is not a valid email.
Task ID-2393253
COM PR odoo/odoo#64075
This commit improves the action helpers for the actions bound to below listed
menus for better usability:
* My Activities
* Leads
* Leads Analysis
Along with that, this commit also improves the following:
* while generating leads, make 'Industries' field required on the modal so
that results obtained are actionable instead of random leads;
* after trying to generate leads, if no result is found, the same pop-up
opens again with same criteria and displays a waring in the pop-up. It
informs users that leads are not found and no credits are spent for their
last search;
* improve the warning message for unsuccessful enrichment due to invalid
email;
COM PR odoo/odoo#64075
ENT PR odoo/enterprise#15561
Task ID-2393253
This line was an hack to manage the custom register payment wizard of hr_expense.
Since this wizard is gone and 'payment_id' is a related stored field in account.move.line, we should not write such data explicitely.
closesodoo/odoo#67162
X-original-commit: 2d7f45e76607736bcc4f37bec480967ae2b373d7
Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
PURPOSE
Improve certification templates and make them more aligned with current
state of the art certifications.
SPECIFICATIONS
Design has been completely redone to be more modern.
Also displays dynamic certification number based on the ID of
certification record for both modern and classic layouts. It consists in
minimum 10 digits. It means that if the ID of the record is 5 it is displayed
as 0000000005.
Also improves the behavior by adding name of the certification in page title
so that use can see the proper string on browser tab. For doing so, we create
a new wrapper template that sets the title for the page, and use an iframe
to loads the pdf file from existing controlloer (which returns response for the
preview pdf).
LINKS
Task ID-2341847
COM PR #66028
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Right now while previewing the certification template, the proper title is not
displayed on the tab of browsers.
This commit improves the behavior by adding name of the certification in title
so that use can see the proper string on browser tab. For doing so, we create
a new wrapper template that sets the title for the page, and use an iframe
to loads the pdf file from existing controlloer (which returns response for the
preview pdf).
Task ID-2341847
COM PR odoo/odoo#66028
This commit displays dynamic certification number based on the ID of
certification record for both modern and classic layouts. It consists in
minimum 10 digits. It means that if the ID of the record is 5 it is displayed
as 0000000005.
Task ID-2341847
COM PR odoo/odoo#66028
Improve certification templates and make them more aligned with current
state of the art certifications.
Task ID-2341847
COM PR odoo/odoo#66028
Co-Authored-By: Elisabeth Dickinson <edi@odoo.com>
Co-Authored-By: Dharmrajsinh Jhala <dja@odoo.com>
The underscore (_) library has a bug in which the _.each method does not
work with object which contains a "length" property. This is because it
does look for that key and if it is a number, it will assume that it is
an array with that length value. Nicely done...
If that length value is set to 0, then it will just do nothing, since it
thinks that it is dealing with an empty array.
Note that if the value is set to an object, _.each is smart enough to
notice that it cannot be an array, and will do the correct thing in this
case.
Usually, our _.each calls are safe, since we usually iterate on arrays,
or on object with safe keys, or on object with values that cannot be a
number.
But there was 2 unsafe calls in basic_model, which leads to strange
bugs: some code is skipped, and the form view is then confused. The
motivation for this fix is the fact that onchanges are not applied at
all, if there is a length field set to 0.
To fix this, we can just avoid using _.each. Note to every Odoo JS
developers reading this: new Odoo code should avoid using the _ and $
libraries, because we do not really need them, and we want to keep our
dependencies to the strict mininum.
OPW: #2465808closesodoo/odoo#66126closesodoo/odoo#67172
X-original-commit: 8dbd1efef899fb637acca3c318ae99cb23838b8f
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
Some requests are sended without specific action.
So we need set these call to fit to a default action
who is a empty string.
Pull requeste related: 63375
closesodoo/odoo#67089
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
this commit aims at refining the UX for events, notably:
- create a helper for the magic button on the event_track form, because without
this the user won't be able to understand what the button does.
- on stage update, the kanban state will be automatically set to "gray"
beacause when changing stages it does not make sense to keep the previous
kanban state especially when it is set to "green" or to "red".
- make the cost of the event registration product demo data lower then the sale
price as it is not normal to have a sale price lower then the cost.
- change the style of the "discover all our events" marketing link in the event
reminder email template in order to make it pop a bit more for the user as
this is an important link
Task-2451125
closesodoo/odoo#65613
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
This commit aims to force to open in a new tab out-of-domain hyper-links
in backend html fields.
Previously:
When a user adds a link in an html backend field, the user is free to
choose if the link will open in a new tab or not with a check box.
After this commit:
When a user adds a link in an html backend field, this link opens a new
window if those two conditions are met:
- The url doesn't begin with the current location origin;
- The url doesn't begin with a "/", i.e. an internal link
that has been stripped.
The user doesn't have the check box option.
Remark:
This doesn't affect previously added links BUT if a previously added
link is opened in a LinkDialog, it will be re-rendered following the
conditions hereabove.
Part of https://github.com/odoo/odoo/pull/64622
task-2377544
closesodoo/odoo#64622
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
This commit aims to change the behaviour of <a> links in readonly pad
widgets.
If the <a> redirects to a page that isn't in the domain (hostname
different of the current location hostname), we open it in a new
browser tab by adding a target.
Limitation: If you use the collaborative pad for a while and then
go back to a web editor html field, you'll have to edit each link
in order that the link opens a new tab by clicking on it.
Part of https://github.com/odoo/odoo/pull/64622
task-2377544
* = web_editor
Add support for default values on website form
Compatible fields are: textarea, text, number, date, datetime, unique
checkox, multiple checkboxes, radio buttons, select.
Part of: https://github.com/odoo/odoo/pull/47949
task-2011583
* = website
Add we-datepicker
Allow empty date/datetime inputs
The countdown was the only snippet using this so if no date it will
default to timestamp 0 and display a resolved countdown.
Before it was the moment().now() datetime which is the same result:
0 time remaining.
Part of: https://github.com/odoo/odoo/pull/47949
task-2011583
Empty attributes were not removed from the element.
This is an issue for attributes like checked/selected on input/select.
Part of: https://github.com/odoo/odoo/pull/47949
task-2011583
Have a user [DEMO] with just user permission on POS
Have a POS configured with advanced cash control
With user [DEMO] open POS session
Traceback will occur because [DEMO] cannot access the relevant model
opw-2464150
closesodoo/odoo#67141
X-original-commit: 0bae5994649172ec572c619fadb0c8f8aaf58baa
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
Extract the way images are set on a product into a new method to
allows having the same behavior with other variant fields.
Now also used to set an Intrastat code varying from the template one.
Task id #2369561closesodoo/odoo#65348
Related: odoo/enterprise#15099
Related: odoo/upgrade#1996
Signed-off-by: William André (wan) <wan@odoo.com>
Description of the issue/feature this PR addresses:
- Fix tends to fix reserved_qty if the precision of product_uom_qty is higher than 0.5
Current behavior before PR:
- If the precision of product_uom_qty is higher than 0.5 reserved_qty (components availability) appears to be not available although there is enough qty in the stock.
Desired behavior after PR is merged:
- Unless there's no enough qty in the stock, reserved_qty is available.
opw-2425473
opw-2459650
opw-2448443
opw-2446985
opw-2440853
opw-2464507
closesodoo/odoo#67116
X-original-commit: e406e7b2512b52bd45c9c825981678cd2bbd3128
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
Some characters were not rendered properly, this commit restores the display
as it was in v13.0.
closesodoo/odoo#67095
X-original-commit: 9c8286b8a6fb376aa21b833cb35da044d2eb0e23
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
- Add "payment_status" field to be more explicit.
- Turn error message "Expenses must have an expense journal specified to
generate accounting entries." into "Specify expense journal in tab
Other Info to generate accounting entries."
closesodoo/odoo#65528
Task: 2424870
Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
When we create a partner on lead form view, the user and team are
propagated to the created partner, while they do not when we do the
same from lead kanban using quick create.
With this commit, user (salesperson) and team are propagated to the
partner created through lead kanban (quick create) as well.
Task ID-2446969
PR #65846
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
When setting a partner on a lead if we select the individual customer that
is not a company with company_name being set, propagate it to partner_name
on lead.
Task ID-2446969
PR #65846
This commit makes the product's value computation in sudo mode in order
to be performed even by stock users.
closesodoo/odoo#67118
X-original-commit: a87c7fbad55d987b37a50e2b74b4dd9f9096a349
Signed-off-by: William Henrotin <Whenrow@users.noreply.github.com>
Before this commit:
While trying to duplicate a mailing contact within particular
mailing list, it throws an user error saysing that 'A mailing
contact cannot subscribe to the same mailing list multiple times.'
After this commit:
User can duplicate a mailing contact from a mailing list without
the user error. In this case, we simply remove the default_list_ids
from the context, because all the mailing lists will be simply be
copied over from the existing contact and so we don't have to
re-add the default ones.
closesodoo/odoo#67094
Task-id: 2431344
X-original-commit: b92ebf3a47b7b1263669ac020ac8c213027400ea
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
As a user accessing only the purchase module, create a request for
quotation, add a line with a tax and a cost > 0.
Confirm the RfQ to create the purchase order.
Before this commit, the user get a access error on account.account.tag
This patch add read access on this model for purchase users
opw : 2466688
closesodoo/odoo#67105
X-original-commit: b52e6ae72429add2bfa01496e704fd9f34a56e01
Signed-off-by: William Henrotin <Whenrow@users.noreply.github.com>
This is used in mail and sale_timesheet but wasn't an openerp-web
translation there.
Similar to 5caa0f0cc2c9025bef
closesodoo/odoo#67117
X-original-commit: 4c92805bd912b3b9753fe558f7525b9697564067
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
The `clicks_ratio` field was computed outside of its compute method,
this is illegale as the ORM cannot protect the field from being included
in the "towrite" structure.
Backport of 7acc035
closesodoo/odoo#67111
X-original-commit: ca1f2e9d1285a02ebaf2502eaeb3d38feea6c477
Signed-off-by: Julien Castiaux <Julien00859@users.noreply.github.com>
Problem
-------
Since
https://github.com/odoo/odoo/commit/d3b18979bfb5496fa4370fdf03a806c469127730,
when a visitor register for an event, the fields in the POST are checked against a list of allowed fields.
The list is hardcoded inside the method _process_attendees_form.
Solution
--------
Move this list in a specific method that can be easily overidden by
another module
closesodoo/odoo#67080
X-original-commit: ebadf16c7c38ca52ec4c5ce871c2584aaa98b91d
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Signed-off-by: Thibault Francois <tfr-odoo@users.noreply.github.com>
Previously, when we find out subcontracted productions of moves, we get
all production_id from the origin moves of the moves. When user use
multple steps manufacturing, moves may also have their move_orig_ids.
In this case, we will consider its production_id as subcontracted
production.
To fix, we filered the moves, consider only move that is_subcontract is
true.
closesodoo/odoo#67101
X-original-commit: 60d799059d60befc976fd0fe5e2c0afec5d3f83b
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
Signed-off-by: Yuchen Huang <yhu-odoo@users.noreply.github.com>