Step to reproduce:
1. Go to sign
2. Click on the button 'Share' inside a template.
3. Click on Sign now'
4. Click on a field signature
5. Draw a signature
6. Resize the browser
Before this commit the code of the widget drops the content when a browser is triggering a resize.
But with a mobile devices (like Android phone). A resize event is trigger when the keyboard is displayed.
=> The resize drop redraw all the widget content when the user fill the displayed input.
Task ID: 2155601
X-original-commit: a6af5a12efb0da9d8ee7526e6b4738c9595f9816
Now if you use the data attribute 'data-mobile' inside a type="action", we
can now send some specifics options on the dialogs.
Here a sample to open an action dialog in fullscreen on mobile:
Here the original action:
```
<button name="%(sign.action_sign_send_request)d" type="action" class="btn btn-primary btn-sm mt8 o_kanban_sign_send_request" context="{'sign_directly_without_mail': 0}">Send</button>
```
Now if you define the data-attribute data-mobile to allow fullscreen like:
```
<button name="%(sign.action_sign_send_request)d" type="action" class="btn btn-primary btn-sm mt8 o_kanban_sign_send_request" context="{'sign_directly_without_mail': 0}" data-mobile='{"fullscreen": true}'>Send</button>
```
Task ID: 2155601
X-original-commit: 66f99636d2d8bd850e33ed6c8f272eb662d835f7
Otherwise, users will ending up with broken templates if
they update from v12
closesodoo/odoo#47120
X-original-commit: 3f84cae060c62839e8d493c0b90539363469f5f3
Signed-off-by: Toufik Benjaa (tbe) <tbe@odoo.com>
The content of the "wysiwyg.fonts" module is duplicated in
"web_editor.base". This is a mistake that was introduced with the
revert of the saas-12.2 editor.
This duplication is the cause of github issue https://github.com/odoo/odoo/issues/44689.
This commit fixes the issue by requiring the correct module in rte.
closesodoo/odoo#46865
X-original-commit: 8bc3fd2c41c1d0fc1fa22e0849a7204b6712d7b2
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
When leaving a channel, remove the earned karma in addition of the
slides.
This way, the user goes back in the same state as before completing
the course.
Add a message to clarify to the user the impact of leaving a course.
Add a test to answer questions
opw-2199066
closesodoo/odoo#47166
X-original-commit: a5e66d681ccd760c0af7bd0b179b5e42c76577ba
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Steps to reproduce the bug:
- Let's consider a confirmed PO with one line L
- Create an invoice I and choose PO in the Auto-complete field
- The line L has been added and the Source Document has been filled with PO
thanks to the onchange function '_onchange_purchase_auto_complet'
- Save
Bug:
The field Source Domcument was not saved because the field is readonly
opw:2209893
closesodoo/odoo#47158
X-original-commit: 9fc3a4a6a16a205974d109c22e91b9c2cd250077
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
Previous implementation crashes randomly in chrome headless due to timeout.
Avoid to do web action, while we just want to check reset_password feature.
+ add one test that reset password on partner from website 2 to check that
link match the domauin from website 2.
closesodoo/odoo#47136
X-original-commit: d8019f25a5cd6ed611295e9b93111402f4cad04a
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
- Install Inventory, Purchase
- General Settings/tick Multi-step routes
- In Warehouses/YourCompany
Incoming Shipments: Receive goods in input, then quality and then
stock (3 steps)
- Create a PO and add the same products on 2 lines. One has a scheduled
date in the future
- Go to transfers, where "Picking List" or "Procurement Group"
correspond to your PO
=> the 3 scheduled_date correspond to Datetime.now()
- Validate the first picking (WH/IN)
The scheduled_date (resp date_expected) in the remaining pickings WH/INT
(resp. stock moves) are changed to the past.
This is due to the fact that both moves are merged in subsequent
pickings. The cleanest solution would be to avoid the merge in case the
expected dates are different. Although this makes sense, that also
implies a change of behavior.
Therefore, we avoid such situation by preventing the propagation of an
expected date in the past, which does not make much sense when
propagating.
opw-2171509
closesodoo/odoo#47155
X-original-commit: c7b2341b35aabe394a34e14c48a913a8595737fc
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Co-authored-by: Arnold Moyaux <arm@odoo.com>
The generic IAP flows forces us to commit the creation of a new record
to prevent the loss of his token once the system contacts iap.odoo.com.
Unfortunately, this operation can drastically alter any business flow if
it's not executed at the very begining or end of the flow.
Furthermore, it can be difficult to exactly pinpoint if this will affect
a flow (for instance, the point of sale is affected by iap because of
the module 'stock_sms' while the former doesn't depend on the later).
To avoid those issues, we isolate the account creation on a dedicated
cursor and load the values of the created record on the current cache.
closesodoo/odoo#47026
X-original-commit: 5307f47d975c3b3ebd87c7f7e2248802a1aa5be7
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
When we create a landed cost, we can now apply it on a
manufacturing order instead of a picking. Also, change
some Float fields in Monetary ones and add the currency_id
field in views.
task-2123752
closesodoo/odoo#44109
Related: odoo/upgrade#822
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
On the product form, when "Is a Landed Cost" is checked,
show a "Split Method" selection field. When creating a
Landed cost with this product, automatically
set the right split method on the line.
This behavior was removed by 24bca8fd4a
task-2123752
Add a way to create a munual stock valuation layer, create
a stock valuation layers implies :
- Change the stardard price with the new valuation by product unit in case of AVCO.
- Create a manual stock valuation layer with the added value.
- Update the remaining value of current valuation layer.
- If the Inventory Valuation of the product category is automated, create
related account move.
task-2123752
The private method _change_standard_price was incorrect in batch
and didn't contain a ensure_one check.
Fix to be batched and used this new version in the write method
of product.product model.
task-2123752
The views of stock.valuation.layer model
were in the wrong file,
move it, and merge duplicate search views. Also
remove the unused action 'action_stock_inventory_valuation'.
task-2123752
The test clickEverywhere may last a very long time when all modules are
installed. For that reason, it's not a standard test and we run it at
night.
Unfortunately, it may happen that an App menu breaks and that this
failure is only spotted the next morning.
With this commit, a light mode is added to the clickEverywhere test. In
this mode, only the app menus are tested.
Also, two python tests are added that use this mode and are launched as
standard tests.
closesodoo/odoo#46934
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Issue
- Install Mass Mailing
- Create 2 mailing list (x & y) with differents
contacts
- Create a mass mailing with x & y, send it
Ok, sent to everyome
- Archive mailing list y
- Duplicate the last mass mailing, send it
Not ok, sent to y contacts too
When a list is archived, I can't manually
remove it from the mass mailing (it disappears)
Cause
When archiving a list, it still remains in
contact_list_ids
Solution
Prevent archiving a mailing list if any mass mailing
using it exist with state != 'done'
Re-evaluate the domain field at copy
OPW-2202111
closesodoo/odoo#47094
X-original-commit: 4346f1da7a26a11f49c8e76f6ed8d6d6078a1d8a
Signed-off-by: Jason Van Malder (jvm) <jvm@odoo.com>
- Create a 0 % tax
- Create an invoice with a line using the 0 % tax
- Print the invoice
The 0 % tax is not shown in the 'Tax amount by group' summary, while it
should be.
In 12.0, the 0 % is created in `account.invoice.tax`, therefore the tax
is shown. However, in 13.0 there is no `account.invoice.tax` anymore,
and no journal item is created for a zero amount. Therefore, the tax is
not shown.
We explicitly loop on the zero taxes and add them in the 'Tax amount by
group'.
opw-2209343
closesodoo/odoo#47092
X-original-commit: 37a0f7acae8aebef35577b178f8aeefed11c9105
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Steps to reproduce the bug:
- Let's consider two products P1 and P2 where P2 is an accessory of P1
- Let's consider a pricelist PL1 where P1 and P2 = 10€
- Let's consider a pricelist PL2 where P2 = 20€
- Set PL1 as pricelist of Public user
- Set PL2 as pricelist of Odoobot
- Go to the shop with Public user and add P1 in the cart
Bug:
The suggested product P2 was at 20€ instead of 10€
opw:2206947
closesodoo/odoo#46973
X-original-commit: a9351a0b28ea753e3b7846dbd6aaade7eca96345
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
Steps to reproduce:
- install accounting
- go to accounting > vendors > vendors
Previous behavior:
all contacts are visible
Current behavior:
the vendors filter is set by default
opw-2185332
closesodoo/odoo#47095
X-original-commit: b77cdc020c1e338e09960ab9dea3f3ec907a3fa6
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
5ac269d722f fixed 7e2b0ebe799 that prevented the website menu to actually be
visible, since the JS in charge of displaying the menu was 'crashing'.
A test was missing to avoid that issue to appear ever again, since it is quite
a critical problem.
Note that it might look strange that breaking such a mechanism does not make
the runbot red, but since the menus are actually considered visible, the tests
are able to 'see' it in DOM and click on it.
They are actually hidden through an opacity 0 & height 0 while the JS process
them.
task-2093679
closesodoo/odoo#47138
X-original-commit: 0dc00a252dfe7fee658579a60dc7b1b1ca71a661
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Before this commit, this was done:
1) Primary variables (app order):
(a) web_editor: define palettes (color + theme + gray), only 1 empty
one. Mark the first ones as the selected ones.
(b) website: fill all defined palettes with the website-related
color key and values (body, menu, logo-height, etc).
+ define "website values" palette.
2) Secondary variables (reverse app order):
(c) website: merge the user palettes on top of the selected palettes
(so user values overriding values added in (a) and (b)),
the resulting palettes are added in palettes lists and the
selected palette numbers are set to select those ones.
+ final selection of "website values" palette.
(d) web_editor: final selection of the selected color palette amongst
the color palettes.
--
The problem with all of this is that the definition of palettes
in themes (occuring between step (b) and (c)) never received the
website-related color key and values of step (b) and were thus forced
to redefine all of those by themself even if they wanted to use the
default website one.
This commit changes the system so that step (a) and (b) now define
"base" palettes (color, theme, gray, website values) and step (c) and
(d) now merge the final selected palettes with those "base" palettes.
This is in fact theoratically more efficient and allows to not force
themes to define every possible palette value we might introduce.
closesodoo/odoo#47097
Related: odoo/design-themes#216
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
The parsing of dailymotion URL was not done correctly. This made the
media dialog duplicate the URL params if such an URL was re-edited.
task-2159152
closesodoo/odoo#47102
X-original-commit: 8d8f442f62919b1cee595ed1fae2c6e4f05eb8fa
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
This is a small fixup of previous commit 581020c733044b52cacd0d41a6a8eb8708671d0d.
closesodoo/odoo#47127
X-original-commit: e1e224bbf880718bcfb8d3874bad003aef5e8a27
Signed-off-by: Alex Tuyls <alt-odoo@users.noreply.github.com>
Issue
- Install eCommerce
- Set Stripe up (API keys)
- Go on Shop
- Add a product > Checkout
- Pay with stripe
- Go back when arriving on Stripe payment page
(top left link)
Empty error box
Cause
This behavior is not handled by payment_stripe
Solution
Cancel transaction when going back.
It will display a message "transaction cancelled"
OPW-2195385
closesodoo/odoo#47113
X-original-commit: b8b9a04ff5b5b2ba40b26632e2395b7cdb7ea300
Signed-off-by: Jason Van Malder (jvm) <jvm@odoo.com>
* = website_crm_partner_assign, website_customer
Follow up of [1] which still had a misalignment for logos higher than large
(portrait), or logos smaller than 128px.
The layout of the related pages relies on the logos being exactly 128px for the
text following the images to be aligned.
There are two issues to fix:
- When images are bigger than 128px, due to incomplete migration at this time:
`o_image_128_max` is added to ensure they are not displayed bigger than 128px.
- When images are smaller than 128px, due to the original image being too small:
the parent element of the image is forced to the expected width of 128px.
The 128px width is actually not forced on the image itself but on the parent
of the image in order to:
- avoid a rectangular image (larger than tall) from using 128px height and
creating empty space when its height is actually smaller,
- and avoid images smaller than 128px to be scaled up.
Additional fix:
In "Our References" template, remove the `row` class on the container of
media elements, so that all media are always on their own line.
[1] 8748416b4d8ae4840d7738a0edf226f3240d97cb
closesodoo/odoo#47093
X-original-commit: 5e3242f904ddcee9cf660f13b446b88bead35777
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Purpose
=======
In the Recruitment app, when a new applicant is created and moved staged,
an email may be sent according to the stage configuration.
If the email is not found in the database, a partner is created.
The new contact is now visible and available to the rest of users
(for example can be selected as a customer on a SO), which is a potential
security risk as only HR employees should be able to see this
applicant information. There should be a way to limit the access to this
applicants Contact, for example defaulting the type to private rather
than contact.
Specification
=============
The created partner should be of type private.
closesodoo/odoo#46351
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
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>