This commit fixes the courses (slide.channel) completion displayed on the user
profile page. It uses the number of completed slides instead of the percentage
of completion. This is due to the completion field having been updated
recently to store number of completed slides instead of a computed percentage
for performances reasons [1]
Commit linked to task ID 1978530 (fixes linked to internal testing).
[1] See 534822e54c
This commit adds back the slide type icons on the sidebar list
in fullscreen and not fullscreen mode.
Commit linked to task ID 1978530 (fixes linked to internal testing).
This commit fixes the selector for the slide_course_join widget. This issue
comes from the removal of the selector 'o_wslides_wrap' recently removed
when cleaning the DOM [1].
Commit linked to task ID 1978530 (fixes linked to internal testing).
[1] See e5c7e43c71
Before this commit, only the users who validated their email could change
their own profile. In addition to that behavior we let administrators update
all profiles.
Commit linked to task ID 1978530 (fixes linked to internal testing).
Issue: in studio, when the user click in the iframe instead of click on
an other menu (on left sidebar) the editor does not trigger blur event,
the content are not saved.
closesodoo/odoo#31331
- When having multiples contracts, at least one open and one closed, we may
not be able to request a leave.
This issue is triggered if the closed contract has no end date.
The code checks if the leave you try create overlap over multiple contracts.
But if a contract has no end date and is closed, the check may never
succeed.
So if a contract has no end date and is closed we don't take it in
account.
closesodoo/odoo#32909
Signed-off-by: Toufik Benjaa (tbe) <tbe@odoo.com>
Before this fix an extra line with the price without discount will be
printed even if there is no discount on the product.
After this fix the line will only be printed if there is a discount.
The error occured due to the use of t-else instead of t-elif.
closesodoo/odoo#32989
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Protactively checking exists() seems unnecessary, it's likely that the
widget would be called on an empty recordset but seems very unlikely
that it'll be called on a missing record. The commit which added the
exists() call performs significant refactoring/rewrite and doesn't
explain why this exists() call would be useful.
Since exists is not cached and qweb field converters are not batched,
saves a large number of queries when formatting a series of addresses
e.g. with 99 hr.job, /jobs goes from ~170 queries and ~100ms spent in
SQL to ~70 queries and ~60ms spent in SQL.
Though the total performance improvement is very limited as even with
odoo/odoo#32985 the endpoint takes ~700ms (with the aforementioned 99
hr.job visible to the current user).
closesodoo/odoo#32986
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
The "comparisons" website snippet uses a list group with the class set
on a UL. In consequence, the web editor considers it as a regular list
and may try to outdent it, which is not the expected behavior with a
list group. This fix ensures that ULs with the `list-group` class cannot
be in/outdented.
closesodoo/odoo#32709
Signed-off-by: Pierre Paridans <pparidans@users.noreply.github.com>
A list item with text can be written as <li>text</li> or as
<li><p>text</p></li>. Issues occurred when both syntaxes need to be
merged together. Namely, the <p>text</p> was being appended to the other
list item, thereby creating a visible new line.
This addresses various bugs that occured with nested lists - including
lists that are nested with a UL within a LI (as opposed to a UL directly
within another UL).
Backport of 6d9862f860 to saas-12.2
Instead of fil - fil_PH, it should have been fil_PH - fil.
closesodoo/odoo#33040
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Backport of d3d58b60dc
Only the variant is using this code, so it was a bad idea to make the mixin
more complicated than it had to be.
Update the image tests to make sure this is working correctly. The test were
only testing the size of the images, now they also test the actual content.
Part of task-1949729
Original PR: odoo/odoo#32253closesodoo/odoo#32814
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
This resolves an issue with pasting in text only mode (no HTML): the
list of nodes to paste was being modified with the `_mergeAdjacentULs`
method which is irrelevant to text nodes. Because of that, a corrupted
list of nodes was inserted into the DOM.
opw-1962743
closesodoo/odoo#32454
Signed-off-by: Pierre Paridans <pparidans@users.noreply.github.com>
- When retrieving lunch orders for specific users, the search could take a
long time to be resolved.
To fix this issue we rewrote the SQL View that retrieves the
information for lunch orders.
closesodoo/odoo#32908
Signed-off-by: Denis Ledoux <beledouxdenis@users.noreply.github.com>
Purpose
=======
We need to hide header and footer of survey and website layouts when
the user is taking a certification ("certificate" field of survey.survey).
This is done to have a more "immersive" taking and avoid that the user
clicks on other links in the layout header or footer and moves to another page.
closesodoo/odoo#31503
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Have a grouped Kanban view with an x2many field. Interact with the
searchview, and then click anywhere.
The fetch of the x2many relational data is batched for the whole view
a single RPC for all groups) since e10fd346.
If the click occurs before all search_read are done (i.e. before the
fetch of relational data is started), there is a crash.
This is due to a call to get({raw: true}) to obtain the current model's
state, which is currently being reloaded and in an intermediate state.
Ideally, this shouldn't happen, but with the sync API of get, we can't
change that easily. So at most, we can ensure that it doesn't crash.
Moreover, sensitive functions requesting the state for the data can do
that in the mutex to ensure that the state isn't currently being reloaded.
Related to Issue: 1937149
closesodoo/odoo#32587
Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
Co-authored-by: Mohammed Shekha <msh@openerp.com>
Co-authored-by: Aaron Bohy <aab@odoo.com>
Slight improvement to the course purchase flow that directly redirects the user
to the checkout process when he buys a course.
closesodoo/odoo#32649
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Purpose of this merge is to provide some fixes and tweaks related to design
of eLearning application. Notably this merge provides fixes for mobile
display, forum integration, certification-specific design and some cleaning
in SCSS and bootstrap customizations. See sub commits for more details about
them.
Linked to task 1958372
Related to PR #32648
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Instead of fil - fil_PH, it should have been fil_PH - fil.
The iso_code is used in URLs
The "code" value can not be changed in stable but iso-code can.
The code value will be changed in master as requires a migration script
closesodoo/odoo#32867
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Create an expense paid directly by the company, validate and post entries.
While the account move lines are correct, the payment is not: it is always null.
opw 1962500
closesodoo/odoo#32956
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
Configure a route to be in 3 steps
make a PO, validate all three pickings
Go on the final picking, the one that has the destination to the Stock
Click on the smart button to access the traceability report
unfold as many lines as you can
Before this commit, the first picking of the whole tree (Vendors to Input)
appeared as a direct child of the final picking,
as well as a child of the intermediary picking (as it should)
- Quality > Stock
|
- Input > Quality
| |
| -Vendors > Input
- Vendors > Input
After this commit, the final picking contains only the intermediary
which in turn contains only the origin
- Quality > Stock
|
- Input > Quality
|
-Vendors > Input
OPW 1970286
closesodoo/odoo#32953
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
The Traceability Report printing option is hidden since the report is
pretty much unusable.
opw-1973161
closesodoo/odoo#32939
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Pretty much the whole module is covered by the tests in this commit:
- standard comparison, from shop, from product page
- comparison with more complicated product configuration
- the comparison page itself
- the alternative products
task-1929151
closesodoo/odoo#32901
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
Co-authored-by: Priyanka Kakadiya <pka@odoo.com>
Co-authored-by: Mohammed Shekha <msh@openerp.com>
Co-authored-by: Sébastien Theys <seb@odoo.com>
Steps to reproduce the bug:
- Install MRP
- Uninstall MRP
- Install MRP
Bug:
An error was raised by sql constraint 'barcode_company_uniq' which ensures that
a barcode for a location is unique per company.
But when uninstalling MRP, some locations such as pbm_loc_id or sam_loc_id are set to
active = False and when re-installing MRP, the function _create_missing_locations tried
to re-create these locations and the sql constraint was raised.
opw:1967534
closesodoo/odoo#32882
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
The goal of commit 2dbce5e was to handle the company
holiday type in onchange which was probably forgotten
when the company type was introduced.
However because the last `elif` was changed to `else`,
the `else` clause is executed in some situations where
it shouldn't.
e.g. If holiday type is `employee` and an employee is set,
the `else` clause is (obviously wrongly) executed.
This is particularly a problem if the employee is not
HR user nor manager. In that case, the field employee_id
is invisible and its value has been deleted by the onchange.
The allocation cannot be saved because it violates the
sql constraint (employee is null).
Also, the `mode_company_id` and `category_id` should be set
to `False` when the holiday type is not company/category.
1. Open form view to create a leave
2. Change the leave type to 'By department'
3. Choose the department of the current user
4. Save the leave
5. Approve the leave
=> ValidationError, cannot have two leaves at the same time.
In `@api.onchange('holiday_type')`, when choosing by department
it sets `employee_id`, `mode_company_id` and `category_id`
to `False` ONLY if the department is not already set.
But by default, the employee is set to the user's employee
and the department is set to the employee's department.
Therefore the employee is never set to `False` and the
department leave is linked to this employee.
When validating the 'department' leave, an 'employee'
leave is created for each employee in the department.
For the current user, it crashes because the deparment leave overlaps with
the 'employee' leave since the department leave is linked to
the employee.
Since it is possible to create an operation in the regular list view, it
should also be possible to do it in the kanban mobile view.
opw-1963527
closesodoo/odoo#32907
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
This commit introduces a specific icon/design for certifications. It is applied
to channels having at least one slide of certification type.
Linked to task 1958372
Related to PR #32648
Purpose: reduce some customization and ease eLearning link with themes. For
that purpose use the body class name propagation recently added.
Linked to task 1958372
Related to PR #32648
Purpose: reduce some customization and ease eLearning link with themes. For
that purpose use the body class name propagation recently added.
Also mask the initial part of the circular progress, removing the border
radius effect.
Linked to task 1958372
Related to PR #32648
Purpose: allow <body> to accept other classes rather than just the
'o_connected_user' one. It is useful notably to tweak the display of some
pages without breaking themes.
Linked to task 1958372
Related to PR #32648
- Create 2 companies A & B
- For each company, create a website linked to a different URL and
activate 'Free sign up' and 'Specific User Account'.
- As a public user, go to website of company B
- Go to 'Sign in > Don't have an account?' and create an account
The user is created in company A (the company of the user template)
instead of company B (the company of the website).
We set the company of the user based on the company of the website.
opw-1962197
closesodoo/odoo#32823
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
- Create 2 companies A & B
- For each company, create a website linked to a specific URL
- As a public user, visit website of B
- Buy a product, register your address
The partner is in company A (the company of the superuser) instead of
company B (the company of the website).
opw-1962197
closesodoo/odoo#32822
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>