Before this commit, when clicking on the link button after focusing a
link, the first input of the link dialog was hidden (label), and the
second input (URL) was not focused.
In this commit, we focus the first *visible* input so users are able to
directly copy-paste URL.
task-2083209
closesodoo/odoo#44931
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
PURPOSE
Add more visibility to course tags as well as the ability to add new ones via
the front-end.
SPECIFICATIONS
Course tags are only viewable in the courses page. In this merge we add more
course tag functionality by:
- making course tag creation more intuitive via backend
- making course tags viewable within a course's specific webpage
- making it possible for those with the correct access rights to add new
course tags via the course's specific webpage (via a "+ Add Tag" button)
- adding the ability to assign colors to course tags
- note that coloring should not show when courses page is filtered by course
tag to allow for easier identification of tag filters.
See sub commits for more details.
LINKS
Task: 2128166
Migration PR: odoo/upgrade#862closesodoo/odoo#44365
Related: odoo/upgrade#862
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
This commit increase the containers sizes in linktracker
because at the moment it's not adapted for big data.
It also add title attributes on truncated link to
preview the full link on hover.
OPW-2203428
closesodoo/odoo#47071
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
The checkbox on product in order to define landed cost is under the
invoice tab. However it requires complex manipulation to be displayed.
Move the option under the purchase tab
closesodoo/odoo#47073
X-original-commit: f7567f10dd0cc936336066e7835c908fde163dc0
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
On the landed cost form, the additional costs would allow
product that are not landed cost. It could lead to a misunderstanding
where the user thinks he should enter the picking's products.
X-original-commit: a0b8ebe9136890a950088c5a4195bfab576191a3
currently button "print" does not exist so it is not possible to
reach the status "quotation sent" without sending it by email.
After this commit without "send by email" user can send
and/or print a quote and change the status of the quote to
"quotation sent" and also add the customer as follower
closes odoo/odoo#47008
Task: 2168504
Closes: #46813
X-original-commit: 0088e967afe4b8884e5bd482de855297d956207a
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Purpose
=======
This merge adds a new survey feature : conditional questions. A conditional
question is a question that will be displayed to the user only if the user
selects a specific answer from another previous question i.e. question B is
displayed if user answers 'Choice 1' at question A.
Specifications
==============
There are 2 different ways to handle conditional questions.
* For one_page and page_per_section survey layout: conditional management is
done mainly at frontend side. The idea is to be able to load all the
questions of the section, hide the conditional questions and display them
dynamically on answer check.
E.g.: If user checks answer 'Choice 1' from question A, question B is
displayed immediately.
If question B is on section 2 and survey layout is set to section per page,
question B will be displayed immediately on next page template load.
Indeed, on each page load, server sends all the selected answers and the
template displays the conditional question depending on the already
elected answers;
* For page_per_question survey layout: conditional management is done mainly
at backend side. The idea is to find on each page the next question to
display depending on:
* navigation direction (next - previous)
* already selected answers and conditional question dependance
* survey questions sequence
E.g.: If questions survey are Question A, B and C and question B must be
displayed if answer 'Choice 1' from question A is selected.
At Question A, if user select 'Choice 1' and goes next: display B
At Question B, no matter the answer, if user goes next: display C
At Question B, no matter the answer, if user goes prev: display A
At Question A, if user select 'Choice 2' and goes next: display C
At Question C, no matter the answer, if user goes next: End survey
At Question C, if user has selected 'Choice 1' at question A and goes prev -> B
At Question C, if user has selected 'Choice 2' at question A and goes prev -> A
In both modes answers on questions that should not have been displayed to the
user depending on the previous selected answers are cleared.
E.g. : User checks 'choice 1' from question A, then complete question B.
Then user unchecks 'choice 1' -> answer on question B is cleared.
Remove questions that should not have been displayed to the user (depending of
the made choices) in scoring computation and print layout.
--> Inactives questions are removed from predefined questions when user finish
the survey.
E.g.: If the user selects first path on 2, he will never see second path.
If the user answers correctly to all question of first path, he should have
100%, instead of 50%, even if questions of path 2 are mandatory and scored.
Specifications: sessions
========================
This merge makes the live session mode work with conditional question.
The point is to determine which question to display next. As multiple users
are 'voting' for answers of the same questions, the way to determine the
next question to display is to keep only the most voted answer.
The most voted answer will be the only one to trigger the linked conditional
question.
E.g.: considering
- following survey configuration:
- Q1: A1, A2
- Q2: triggered by Q1-A1
- Q3: triggered by Q1-A2
- following user inputs:
- U1: A1 selected
- U2: A2 selected
- U3: A2 selected
The next question displayed to ALL users will be Q3.
Note: If U4 had selected A1, the next question would have been Q2 as
when there is an equality, we select the first one.
Links
=====
Task ID 23509
Upgrade PR odoo/upgrade#906closesodoo/odoo#44950
Related: odoo/upgrade#906
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
PURPOSE
Improve SMS composer usability, notably in single recipient mode. Allow to
edit and store number directly.
SPECIFICATIONS
* the SMS button is visible next to a phone number in mass_mailing, and
mass_mailing_sms;
* in the mass_mailing contact list, the "email blacklisted" field has been
moved next to the email field;
* when mass_mailing_sms has been installed, the mass_mailing contact list
also shows the phone number and whether this number has been blacklisted
the mass_mailing_sms contact list also shows the email and whether this
email has been blacklisted;
* when sending an sms to a single contact, his phone number is now an
editable field in the wizard and there is a warning if the number is
invalid. Therefore the operator can modify the phone number directly
and this new number is saved onto the record directly;
LINKS
Task ID 2088303
closesodoo/odoo#40482
Related: odoo/upgrade#873
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Purpose
=======
This commit makes the live session mode work with conditional question.
The point is to determine which question to display next. As multiple users
are 'voting' for answers of the same questions, the way to determine the
next question to display is to keep only the most voted answer.
The most voted answer will be the only one to trigger the linked conditional
question.
E.g.: considering
- following survey configuration:
- Q1: A1, A2
- Q2: triggered by Q1-A1
- Q3: triggered by Q1-A2
- following user inputs:
- U1: A1 selected
- U2: A2 selected
- U3: A2 selected
The next question displayed to ALL users will be Q3.
Note: If U4 had selected A1, the next question would have been Q2 as
when there is an equality, we select the first one.
Link
====
Task ID: 23509
PR #44950
Purpose
=======
This commit adds demo data to illustrate the conditional questions
configuration. Users will be able to choose among 4 themes. Depending on their
choice(s), the survey will continue by displaying only the questions related
to the selected theme(s).
Link
====
Task ID: 23509
PR #44950
Purpose
=======
This commit adds a new survey mode : conditional questions. A conditional
question is a question that will be displayed to the user only if the user
selects a specific answer from another previous question i.e. question B is
displayed if user answers 'Choice 1' at question A.
Specifications
==============
There are 2 different ways to handle conditional questions.
* For one_page and page_per_section survey layout: conditional management is
done mainly at frontend side. The idea is to be able to load all the
questions of the section, hide the conditional questions and display them
dynamically on answer check.
E.g.: If user checks answer 'Choice 1' from question A, question B is
displayed immediately.
If question B is on section 2 and survey layout is set to section per page,
question B will be displayed immediately on next page template load.
Indeed, on each page load, server sends all the selected answers and the
template displays the conditional question depending on the already
elected answers;
* For page_per_question survey layout: conditional management is done mainly
at backend side. The idea is to find on each page the next question to
display depending on:
* navigation direction (next - previous)
* already selected answers and conditional question dependance
* survey questions sequence
E.g.: If questions survey are Question A, B and C and question B must be
displayed if answer 'Choice 1' from question A is selected.
At Question A, if user select 'Choice 1' and goes next: display B
At Question B, no matter the answer, if user goes next: display C
At Question B, no matter the answer, if user goes prev: display A
At Question A, if user select 'Choice 2' and goes next: display C
At Question C, no matter the answer, if user goes next: End survey
At Question C, if user has selected 'Choice 1' at question A and goes prev -> B
At Question C, if user has selected 'Choice 2' at question A and goes prev -> A
In both modes answers on questions that should not have been displayed to the
user depending on the previous selected answers are cleared.
E.g. : User checks 'choice 1' from question A, then complete question B.
Then user unchecks 'choice 1' -> answer on question B is cleared.
Ignore conditional configuration :
* during survey session, to avoid having different users answering different
questions on the same session. That would be confusing for users to see
questions on presenter screen that they didn't have the opportunity to
answer;
* if survey questions selection is random, because it will not display
conditional questions if they are not kept by randomization. To avoid
confusion, conditional configuration is simply ignored, not unset, so the
user can still reactivate it without having to reconfigure everything.
Remove questions that should not have been displayed to the user (depending of
the made choices) in scoring computation and print layout.
--> Inactives questions are removed from predefined questions when user finish
the survey.
E.g.: If the user selects first path on 2, he will never see second path.
If the user answers correctly to all question of first path, he should have
100%, instead of 50%, even if questions of path 2 are mandatory and scored.
Link
====
Task ID: 23509
PR #44950
* Avoid reading all lines invoice_status when the SO isn't confirmed.
* Do not use _default_product_id to discern down_payment lines, use is_downpayment instead
(one ref = one query less by compute call)
* Do not consider display_type lines for SO invoice_status.
X-original-commit: 76a6d0475872f9ffa21cb917f13bc553c720eafd
Available quantities computation is grouped by warehouse,date but using
datetime.now as fallback during the for loop ensures no batch
computation is done at all if order is not confirmed and has no
commitment_date.
X-original-commit: 563d0f73a8cea1933e57ae2b914f161ffeb5b7e4
In this commit,Add a attribut "delete" in mrp workorder gantt view
to disable Remove button on "Planning by Workcenter" gantt view.
task-id:2206166
closesodoo/odoo#47064
X-original-commit: 669408f8b1e760a815e212d9e9fab8663e665dd6
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
For stock, purchase, repair and mrp modules, do a small clean of ACL:
Remove duplication and useless line.
Also improve the readability of the stock traceability report.
task-2172399
closesodoo/odoo#45055
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
odoo/odoo#4c291e3f7049c3af859902a6f5857eab68be2f9e changed theme
categories from Theme to Website/Theme, however theme support has
technical dependencies on the category, so this breaks
design-theme (which was missed as design-themes was not yet under the
Not Rocket Science Rule).
Revert the change specifically for the theme modules.
closesodoo/odoo#47059
When testing to send an email of a campaign from the automation
marketing app, a traceback is thrown.
This is due to a context error. We define a default value which isn't
possible to be assigned for the variable.
opw-2190077
closesodoo/odoo#47039
X-original-commit: ff1d42e26bca3ce60697f9d4ee28f6aae5b7046b
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Issue
- Install Email Marketing
- Create/Edit one of them
- Save
Changes not saved
- Click edit & save
Changes saved
Cause
Before 30db768, the order of execution was:
1. field_html > commitChanges (value = <p><br></p>)
2. mass_mailing_widget > commitChanges (value = "test")
After 30db768:
1. mass_mailing_widget > commitChanges (value = "test")
2. field_html > commitChanges (value = <p><br></p>)
Solution
Use this.saveCroppedImages in mass_mailing widget to
add the delay there too
OPW-2207107
OPW-2207817
closesodoo/odoo#47018
X-original-commit: 31e36fdc9b63fade99cef0c9ac4ed093b3936707
Signed-off-by: Jason Van Malder (jvm) <jvm@odoo.com>
Product templates standard_price (cost) is company_dependent,
because the product_product standard_price is company dependent.
closesodoo/odoo#47041
Forward-port-of: odoo/odoo#46841
X-original-commit: 30ee9f1ac411aca9c2bf2158fca9be7db743616d
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
A future upgrades improvement will be to add tests in upgrades
modules. This small imp will scan in upgrade for some tests,
specific tooling will be added to upgrade repository in odoo/upgrade#878closesodoo/odoo#47030
X-original-commit: 59b5a03bdf7ae1ad8851a67d278edc31a26a96a8
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
In the module account_invoice_extract, the the code need to react to the 'pagerendered' event triggered by pdf.js. However in recent version of pdf.js, event are not visible outside of the library, except if the 'eventBusDispatchToDOM' has been set to true.
We tried to set this option from outside of the library but without success, as our pdf viewer is in an iframe.
There is no state of the iframe in which we can add an event listener to set the option.
pdf.js has an event used to signal when we can set settings, called 'webviewerloaded'.
This event is triggered in an EventListener attached to the 'DOMContentLoaded' event.
So, to list options we had, we could:
a) add an eventListener to the iframe document or window to react to 'webviewerloaded'. This doesn't work as document and windows are not the definitive ones and won't catche the event later.
b) add an eventListener to the iframe to react to 'DOMContentLoaded', which doens't work too as our listener will be called after the pdf.js one.
Finally the option was choosed to modify the default value of this option directly in pdf.js as no hook worked in the
'account_invoice_extract' module.
closesodoo/odoo#47024
X-original-commit: 42e6f56c887c3175c76f0f84b8581e288ebc7daf
Related: odoo/enterprise#9044
Signed-off-by: Florian Daloze (fda) <fda@odoo.com>
- Create a products A
- Create a products B
Tracked by lot
UoM: kg
- Get some quantity in stock for B
- Create a BOM for A: 2g of B to produce A
- Create a MO for A, Produce
In the lot registration wizard, 2kg of B are suggested instead of 2g of
B.
In this case, the UoM of the product is taken instead of the move.
However, it should only be the case if the product is tracked by unique
S/N.
opw-2200263
closesodoo/odoo#47019
X-original-commit: 9d114eb7a48b82b76e9c900cce22dc5022206367
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
- Activate Dropshipping
- Create 3 products: KIT AB, A, B
All have the Dropship route and a supplier set
- Create a BOM of type kit: KIT AB is composed of A & B
- Create a SO for 1 unit of KIT AB, validate
- Validate the created PO
- Deliver the products
The delivered quantity remains zero.
This happens because the `bom_line_id` was not written on the
`stock.move`. Indeed, the latter is created from a PO, not from a SO.
Since the PO doesn't have a `bom_line_id` field, the information is
lost.
As a solution, we apply the 'all or nothing' policy in case of
dropshipping.
opw-2207118
closesodoo/odoo#47014
X-original-commit: 6016476952f53097f8b04f34bdbaf09c12e431fe
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Adds a method to be able to override the error message in the case where
the user try to validate a picking with no quantities done nor reserved.
task-2123726
closesodoo/odoo#45457
Related: odoo/enterprise#8364
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
Before this commit, the batch action done processes only if all batch's
pickings are `reserved`, which cause batches with a waiting picking
(`confirmed` state) can not be validated.
As the picking itself can be validated even if it is in waiting state,
it seems logical that we can do the same from batch picking.
task-2123726
After this commit
* the SMS button is visible next to a phone number in mass_mailing, and
mass_mailing_sms
* when sending an sms to a single contact, its phone number is now an
editable field in the wizard and there is a warning if the number is
invalid;
* if operator updated the recipient number, update record number according
to the new number only in single recipient mode (aka, solving number
issues directly from interface);
LINKS
Task ID 2088303
Community PR odoo/odoo#40482
Upgrade PR odoo/upgrade#873
Co-Authored-By: Florimond Husquinet <fhu@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>
Purpose is to improve information given back, adding notably
* whether the value comes from the customer (partner_id field) or directly
from the record we are looping on;
* the actual field used when no specific field is enforced;
LINKS
Task ID 2088303
Community PR odoo/odoo#40482
In this commit we perform some cleaning in composer model before adding
number update feature:
* remove partner_ids field that is not used anymore. It comes from early
implementation of SMS composer and is now dead;
* rename recipient_count to recipient_valid_count to better reflect its
use;
* rename recipient_description to recipient_single_description to better
reflect it is used only in mono-recipient mode;
* add a new single comment computed field, allowing to display some
information only when sending an sms to a single given record;
We also fix computed fields by making them work in batch.
LINKS
Task ID
Community PR odoo/odoo#40482
Upgrade PR odoo/upgrade#873
Co-Authored-By: Florimond Husquinet <fhu@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>
SPECIFICATIONS
Merge contact list views used in mass_mailing and mass_mailing_sms
* in the mass_mailing contact list, the "email blacklisted" field has been
moved next to the email field;
* when mass_mailing_sms has been installed, the mass_mailing contact list
also shows the phone number and whether this number has been blacklisted;
* the mass_mailing_sms contact list also shows the email and whether this
email has been blacklisted;
* enable sms option on mobile field of contact;
LINKS
Task ID 2088303
Community PR odoo/odoo#40482
Upgrade PR odoo/upgrade#873
Co-Authored-By: Florimond Husquinet <fhu@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>
This commit allows assignment and visibility of colors to course tags.
In order to reuse existing code, the colors offered are the same colors
used for Kanban tags.
Visibility of these tag colors has been added to:
- slide channel form view
- individual course website
- courses (not-filtered) website
- user profile "about" page
Note that visibility was purposely not added to:
- Kanban view for courses since "no color" assigned tags are not shown in
the kanban view by pre-existing design.
- Filtered courses website since selected tag filters are already
color highlighted to make selected tag filter(s) more obvious.
Supports Task: 2128166
PR #44365
Upgrade PR: odoo/upgrade#862
This commit makes it possible for course tags to be added via the
frontend. To support this, course tags were also made viewable in a
specific course's website since previously these tags were only visible
in the courses frontpage (i.e. within the course cards). "Add Tag" is
placed after course page's tags. Note that due to the ability to make new
tags within this "Add Tag" modal restricts addition to only 1 tag at a
time since new tags require a "Tap Group" to be assigned and handling a
mix of new/existing tags would get confusing and complicated.
Supports Task: 2128166
PR #44365
Minor UX updates for clearer wording, better visuals, and more intuitive
interface. Specifically:
- update slide.channel.tag.group form view and related menu item
- update css so 2nd line of course tags on main course page are not cut
off
Supports Task: 2128166
PR #44365
This commit improves the bottom section of the mailing.mailing kanban view to
make it follow other kanban views structure.
It makes the user avatar on the mailing.mailing kanban display in a round shape
instead of a square (with border-radius).
LINKS
Task ID 2207856
closesodoo/odoo#46708
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Previously, the border radius option was only available when there was a
border width, but in some cases you want no border, a background color,
and still have rounded corners. This commit makes the option available
when there is either a border OR a background color.
This commit also adds an option to choose the border style between
solid, dashed, dotted and double. The other styles have been left out as
they look very different browser to browser and are not very useful.
task-2195429
closesodoo/odoo#46625
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
The sentence was a bit odd before this commit. After this commit it reads easier and it is more logical.
closesodoo/odoo#46617
Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
Purpose
=======
The current kanban view is messy. It is difficult to identify which
apps are installed or not. The user can completely miss a module
that might have interested him. A search panel would make things way
more readable.
closesodoo/odoo#44401
Taskid: 2181557
Related: odoo/enterprise#8144
Related: odoo/upgrade#879
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Before this commit, on a picking, when we want to put in pack, we can't
select packages created with no package carrier type as they had a
confusion between `package_carrier_type` and `delivery_type` when we
pass the value in the context (value who is reused to the package
domain, making some package unfindable).
closesodoo/odoo#46992
X-original-commit: 21f054731e8635b9e3681e673a7cbf627ad49cca
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
PURPOSE
Debugging access issues can quickly be a pain.
The goal is to allow to easily debug an access rights issue from the debug tools.
SPECIFICATION
In the debug tools, add the following two new items:
- View Access Rights
- View Record Rules
closesodoo/odoo#46906
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
In Sale, there is a view called oezirhgoi which adds the sign and pay
online buttons (xml id sale.mail_notification_paynow_online)
So rename it with the 'Quotation: Sign and Pay mail notification template'
closes odoo/odoo#46954
Taskid: 2196751
Closes: #46954
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Issue: on main product's kanban, if you group by categories, all
categories (even the empty ones) appear. This is not desired.
We only wanted this group_expand logic when using the products stat
button on the product category form view.
closesodoo/odoo#46966
X-original-commit: e3f1254e5b28aa801f137835d871427786fb3428
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
The chatter's attachment box has an horizontal overflow when adding at
least 1 attachment.
This is due to a negative margin applied on the attachment list/previews
not matching its container's padding (3px vs 5px).
This commit reuses the SCSS variable dedicated to this margin around the
attachment list/previews and apply it correctly to the chatter's
attachment box.
Task ID: 2194025
X-original-commit: 3a7eb3fe97541855ae893514f8b98cbfe6c1a7e4
A horizontal scroll appears on medium to large screen sizes in the
form's chatter sidebar (e.g. between 1534px and 1619px, when all modules
are installed).
This commit restores the padding set by Bootstrap for `.nav-link`
elements instead of a fraction of the grid gutter's (?) width then
applying slightly smaller padding.
Task ID: 2193950
X-original-commit: 7bc8b577d822b057d1bccf881b9c4b1ee127a728