PURPOSE
Various improvements of the results' statistics were required, mainly regarding
* the filtering features that were not clear and impractical
* the way answer scores was reported
* the vertical space taken by questions never answered
Among other smaller changes, the layout of `datetime`-answers questions is
harmonized with the other answer-types (grouped by value), considering that
the "time" part is important and that the "seconds" part bof that time would
only be changed if it is relevant to the question.
SPECIFICATIONS
**Filters**
It is now more convenient to filter surveys based on:
- Whether they are fully completed
- Whether they are passed
- Whether they are failed (last 2 are mutually exclusive, and only available
for scored tests)
A badge is added to show the number of surveys that match each filter option
if chosen. Note that this simple implementation does not allow to show the
number of surveys which would be displayed if the filter was removed, or
replaced, so the badges are not shown once a filter is selected.
The question/answer filters can now be removed individually.
The i.fa-filter elements used to activate them are now always visible, and are
only available for answers that have been selected at least once.
**Scoring**
Scores are added in tables next to the answers instead of as additional lines
below the question caption.
Right answers are now marked in the Graph and Data tabs instead of being simply
listed under the question.
**Unanswered questions**
To make this special case more clear to the user, a discrete alert is added
below the question. The Graph and Table tabs are removed in this case, as they
contain no information. For Multiple choice and Matrix questions, the Table tab
stays visible to show the possible answers available.
*Misc*
To follow common representation, numbers which are equal to integer values will
show as integers in answers and scores (e.g., 30.0 will show as 30), using a
sub-template.
Distinguishing the questions and results from the previous/next ones was
difficult, hence the added margins and discrete lines.
Similarly to other fields, datetime results now display one line per answer
value, with its occurrence.
Stylesheets are cleaned up.
LINKS
Task-2618399
closesodoo/odoo#77522
Related: odoo/upgrade#3168
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Before this commit:
- From the task form, it was not possible to select a parent task
that is itself a subtask and thus creating multiple level of
subtasks.
After this commit:
- From the task form, it will be possible to select a parent task
that is itself a subtask and thus creating multiple level of
subtasks.
task-2703632
closesodoo/odoo#82769
X-original-commit: 8ccec8c873d3c4fb4445ab3489d1ee6cbddea3de
Signed-off-by: Xavier <xbo@odoo.com>
In mrp_production_workorder_tree_editable_view the name field is defined twice, once invisible. This makes inheritance more difficult than it needs to be. After this commit, the first invisible name field is removed, leaving it defined only once.
closesodoo/odoo#82765
X-original-commit: 33b34d05a1ddcb0ab51c1b457b5bbca92e5eb89b
Signed-off-by: Tiffany Chang <tic@odoo.com>
Harmonize backend & frontend behaviors
Avoid the overhead and additional stacktrace depth of write/create
overrides
Ligth cleanup of the fields & code as well.
Part-of: odoo/odoo#81818
* onchanges/defaults conversion
Harmonize frontend and backend behaviors
Delegate price computation to sale computes
* multi-company fixes
Do not allow adding a product restricted to a company to a
quotation template shared between companies.
Remove old onchange updating template company when such a product was added
Update product_id field domains accordingly
* cleanups
Clean fields (ordering, attributes, ...)
Clean methods order following odoo guidelines
Remove useless class reference in super calls
Make onchange methods private (_onchange_sale_order_template_id)
Part-of: odoo/odoo#81818
* make sure company based values are correctly updated when the company
is changed
* Also use context_today instead of now since validity_date is a date,
and not a datetime
Part-of: odoo/odoo#81818
The commit adapts the CommandPalette to use a t-ref to a node
in the template instead of a this.el.querySelector("...") in
the component to query an element. This will improve the
compatibility with Owl 2.
closesodoo/odoo#82752
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
When clicking, double clicking or triple clicking in the stars widget of
the Powerbox, we don't want to see the regular options of icons or text.
This prevents them from showing.
task-2575449
closesodoo/odoo#81920
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Similar to checklists, this allows the user to click the powerbox stars
widget even in readonly mode, so as to change a rating without going in
edit mode.
task-2575449
Part-of: odoo/odoo#81920
When a checklist is present in an html field, there is a feature that
allows us to check/uncheck its boxes without going through edit mode.
That feature was broken due to a dead callback in wysiwyg.js, which is
hereby restored.
Meanwhile, the behaviour of checklists had changed but the python code
handling the readonly checking/unchecking hadn't so this brings it up to
date[1].
Finally, the code managing checklist ids was unnecessarily complicated
as it was trying to keep the ids consecutive for no particular reason.
This refactors it to simply use unique ids based on date stamps.
[1] It used to be that checking a box checked all the children of that
box but it was in the meantime decided not to do that anymore.
Part-of: odoo/odoo#81920
This adds two new widgets to the powerbox, which allow the user to
quickly insert 3 or 5 stars, then click on them to color them gold.
task-2575449
Part-of: odoo/odoo#81920
Prior to this commit the line amounts on the invoice report where including the VAT always. With this change we only include VAT if invoice needs to include it (_l10n_ar_include_vat)
closesodoo/odoo#82740
X-original-commit: 47996fdd4e8c79f876d669f73b18c6046a83c95e
Signed-off-by: Josse Colpaert <jco@odoo.com>
In mass_mailing, creating a link from the linktool in mass mailing
generated link that would not create a new tab when clicked.
Task-2734760
closesodoo/odoo#82735
X-original-commit: c6b7556a35182174c3384c2069256826205bba22
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
When the search field is used to query an element, the value is
trimmed to remove unnecessary spaces before and after the actual
keywords. This eliminates the annoyance of a search having no
result because of a space that was left (for example when copy-
pasting some text). A test has been added to check if a value
has been trimmed when the text input contains spaces.
closesodoo/odoo#82193
Signed-off-by: Géry Debongnie <ged@odoo.com>
Before this PR the only purpose of the file_uploader component was to inject a
`<input type="file">` inside the DOM.
We can now create this input directly inside the FileUploader model without
register a component.
task-2727815
closesodoo/odoo#82213
Related: odoo/enterprise#23261
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Create a demo database installing l10n_ar and sale_timesheet, something like: `odoo -i l10n_ar,sale_timesheet`
Current behavior:
We get the error
`- 'Hotel Accommodation' belongs to company 'YourCompany' and 'Partner' (partner_id: 'YourCompany, Marc Demo') belongs to another company.
`
Desired behavior:
Everything fine.
There is no need to set company_id = responsable inscripto for partner demo and admin
closesodoo/odoo#82737
Forward-port-of: odoo/odoo#80489
Signed-off-by: William André (wan) <wan@odoo.com>
Changing company_id on root user was not a good idea. We make all the changes needed to make it work without that change.
X-original-commit: 9d4145da94284b9346d4fd5bec2dd35143ec1ba7
Part-of: odoo/odoo#82737
Before https://github.com/odoo/odoo/commit/254d40ffcc21f56a80a1814da7f6355d44e5670b it was possible that when a user cropped an image
using the crop tool, a copy of the original image was created that
had both original_id and theme_template_id carried over, therefore
find could be multi-record. We strengthen that search by adding
original_id=False, which ensures we always fetch the record of the
original image and not also its copies. In addition, databases that
happen to have this issue of corrupted data will be fixed
during an upgrade with https://github.com/odoo/upgrade/pull/3110.
closesodoo/odoo#82725
X-original-commit: e4bb0cd4466404e2fba62ae2d3bbaebd831fbcb2
Signed-off-by: Christophe Simonis <chs@odoo.com>
Before this commit, the server version used to detect whether the client
assets are outdated relied on the `odoo.release.version` string directly
imported at the root of the `assetsbundle.py` file.
The problem is that this string is altered by web_enterprise and we must
wait for these changes before using the string.
This commit dynamically imports the `release.version` string to use its
final version.
closesodoo/odoo#82705
X-original-commit: 9eccbd884853fddab8a17d28779d670e7d48bbc3
Signed-off-by: Olivier Dony <odo@odoo.com>
Signed-off-by: Julien Mougenot (jum) <jum@odoo.com>
* indentation
* group records by models
* products records (& attributes, values, ...) in the `product_demo.xml` file
* group SO & SOL records together
* group SO's confirmation in one place
* ...
* move `model_sale_order_action_share` server action to the correct `views` folder
* remove useless nodes/indentation
* split security files by models
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
closesodoo/odoo#82719
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
This reverts commit 11fd24856e436136236d67f01dd88acc00105e9b.
Removing the "21% S." tax made sense for Belgium,
but created an issue for the mapping fiscal positions.
A task is being created to use the tax_scope instead (in master).
closesodoo/odoo#82713
X-original-commit: 136808203545eb5d7056d941f3fc250f2871f95b
Signed-off-by: William André (wan) <wan@odoo.com>
Signed-off-by: John Laterre <jol@odoo.com>
Apparently a migration error in
0fd773a486, probably never noticed
because nobody ever tries to copy config objects since there's a
bespoke widget, and it's specifically forbidden.
Also fix the signature of the method itself to match the normal one.
closesodoo/odoo#82711
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
Whenever adding a snippet from the powerbox, the postprocessing was not
made. This could result in unexpected behavior of the snippet.
Task-2601600
closesodoo/odoo#82694
X-original-commit: bcbf8e59c83200cb079ef15cb1fa5f7783023d88
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Before this commit a "List" command hint was set as placeholder in
navigation items without content upon selection of the header menu. This
showed up when using the sidebar template of the header menu.
After this commit the command hints are blacklisted for nav-items in
website.
task-2677310
closesodoo/odoo#82693
X-original-commit: e0cc23b44d798a5bf79d3e8f7e183f5e8a3c6901
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
There was some confusion about all the types of hybrid vehicles.
Also changes the order in which they are displayed.
TaskId-2629318
closesodoo/odoo#82672
X-original-commit: 73171da60059c85355e8675061db485e84aedb05
Related: odoo/enterprise#23460
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Steps to reproduce the bug:
- Create two batches, one with picking and one without
- Try to compute their state together with an RPC call
Problem:
If the first has no picking, the second batch does not compute state because we use `”return”` instead of `”continue”`
opw-2725988
closesodoo/odoo#82671
X-original-commit: 0242fcee2618425bd87846d818cffcd368c25121
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
Signed-off-by: Djamel Touati (otd) <otd@odoo.com>
Since auto-retry, real errors will lead to doubled errors on runbot.
This can be noisy and hard to understand.
This commit will help with this by using a lower log level on the first
execution. Log 25 are kepts.
closesodoo/odoo#80378
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
Traceback on the ticket:
https://pastebin.com/mCAFJVWG
A browse should take an id or a list of ids as parameter.
```python
record = env['mail.compose.message'].browse(1)
attachments = env['ir.attachment'].sudo().browse(record.attachment_ids)
print(attachments)
attachments = env['ir.attachment'].sudo().browse(record.attachment_ids.ids)
print(attachments)
```
OPW-2728748
closesodoo/odoo#82664
X-original-commit: 74cfe2bc95827b52232995cd075757f54041d289
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
When computing the todo fields of maintenance requests, we could get a
`MemoryError` since we are fetching more fields that we actually need.
Here we rework the way the compute is done in order to avoid too much
prefetch.
closesodoo/odoo#82662
X-original-commit: 510831013ba081edd83191a01d562485b6ceca38
Signed-off-by: Christophe Simonis <chs@odoo.com>
* make sure full content is translated in partner language
* drop useless product param (use line product_id field instead)
* delegate order lines name computation to computes for ecommerce carts
closesodoo/odoo#82620
Related: odoo/enterprise#23432
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Steps :
- Install Planning
- Users > Mitchell Admin > Preferences > Timezone :
Europe/Brussels
- Settings > Employees > Company Working Hours > Timezone :
Japan
- Planning > Gantt View > Week > Mitchell Admin x Friday > Click "+" button
Issue :
- Start date is set by default to Thursday 05:00
whereas it is expected to be set on Friday 00:00
Cause :
- When we want to plan a shift on a day,
we look into the 00:00 to 23:59 range for this day in calendar's tz
to get the closest work time inside of it.
- Yet, this doesn't take the "resource user" into account.
Fix :
- Set these limits for the day in resource's tz.
opw-2678221
closesodoo/odoo#82555
X-original-commit: 1b248ebd58e0a57b070ebf7d67c6da78351a720a
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
We have our own html2plaintext, already used in lot of use cases instead of
just a few for the html2txt library.
Notably for emails: most emails going through Odoo stack use our simple
html2plaintext to format the body alternative. When no body alternative
is given to ``build_email`` an alternative is built using the library to
remove. Using our own parser allows to have the same results compared to
using ``MailMail.send()``. Difference lies in spaces and new lines as well
as markdown. Our html2plaintext is a bit simple and does not try to generate
Markdown but generates a simple plaintext version.
This also helps solving some issues with depending on that library.
Task-2702034
closesodoo/odoo#82486
X-original-commit: b3b9627b655cd7cb928925affed6cc8d92661e8d
Related: odoo/enterprise#23364
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>