Use the 'Volume' decimal precision on all `volume` fields.
Complement of commit c1a5221ba2
opw-2185374
closesodoo/odoo#44473
X-original-commit: dc0111d6cdf4032fa840f9ff95f4fa687d33f77c
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Linked to issue: https://github.com/odoo/odoo/issues/43745
At slide creation, as image_1920 was in readonly mode in form view when type is
video, document or presentation, the field was not sent in value to the create.
There is no reason to set this field readonly. If the user want to modify the
thumbnail, that his responsability.
This commit remove the readonly flag for slide.image_1920 field to allow
computed thumbnail to be saved at slide creation.
Task ID: 2182638
PR #44405closesodoo/odoo#44472
X-original-commit: 15af8734c5d16a358cababb6163863b30e24f8cc
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Follow up on 255f7219a9
The issue is still happening.
With the current commit, we will be able to know for sure if it happens because
we don't wait long enough, or because the messages are never appearing.
closesodoo/odoo#44471
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Some elements like the file input are not compatible with selection.
Since there is no reliable way of figuring out if the element is
compatible or not we will simply try catch it.
closesodoo/odoo#44470
X-original-commit: 1f0a0b380c2738795b0b5a7976692d9e9cd88583
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
If a view is present multiple times in the same module, the "last
instance" is going to win (by replacing any previous instance's arch
with its own).
Most cases of duplications are probably views which got moved then
either not removed (from the original location) or revived (through a
forward-port), the first instance can just be removed entirely.
For the few which seemed to be more than just trivial mistakes, merge
the two views instead.
closesodoo/odoo#44463
Related: odoo/enterprise#8107
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
When the multi-location is enabled, in the stock picking form, when
the picking is unlocked, we can't modify move lines in the wizard,
due to a bad readonly attribute which doesn't take in account
'is_locked' field.
closesodoo/odoo#44460
X-original-commit: cc2bff6dba6575febe37c8365709609b209a834b
Signed-off-by: Rémy Voet <ryv-odoo@users.noreply.github.com>
Steps to reproduce:
- install pos
- install the hebrew language and set it as preferred language
- start a pos session with the virtual keyboard option activated
- try to search a product
Previous behavior:
the keyboard keys are reversed
Current behavior:
the keyboard keys are not reversed
opw-2171278
closesodoo/odoo#44388
X-original-commit: 37e3fe908ed3e87bdc8bfa33f411672e51e43e1a
Signed-off-by: mightyjol <jhk-odoo@users.noreply.github.com>
Purpose fo the task is to improve the usability of hr contract and
automatic alert before contract expired
-improve sign demo data
-improve kanban state field in contract kanban
-improve contract Form view ui
-set first contract date on employee form
-added the date of last completed contract on the new contract
-improve signature request form
-create automatic activity before the week of contract expired date
closes odoo/odoo#40789
Task: 2049413
Closes: #40789
Related: odoo/enterprise#7454
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Subcontractor and active are in the same section. Would be great
to avoid that since they don't are related at all.
closesodoo/odoo#44453
Task: 2187181
X-original-commit: b8786975169b4b5e61c242dc4f07c2e6c7b7ffdf
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
`AccessError` requires the argument `msg`. Therefore, even if this error
is catched, we need to provide one, otherwise a `TypeError` is raised.
opw-2183184
closesodoo/odoo#44452
X-original-commit: cdefbf8d66e42d88d845dd621e0306cb55c5f79a
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Before this change we were letting the user to create a journal with a
AFIP POS Number they like, and where they try to post an invoice in that
jounrals they receive an error message telling that the document has not
valid POS Number.
In order to avoid this we add as part of the constraint where we check
the validity of the AFIP POS Number which is: should be greater that 0,
and should be 5 digits max.
closesodoo/odoo#44433
X-original-commit: 3e991fb4ceb02eeb41ed6579ac409f9595663c41
Signed-off-by: Josse Colpaert <jco@openerp.com>
The law itself said that you can use 4 or 5 digits, but some customers
complains that they want 5 (for eg. 00001) because some suppliers reject
the invoice if only 4 digits (that is wrong, but suppliers do anything
to avoid paying).
We've check and AFIP online invoices use 5 digits always. So, to satisfy
customers/suppliers and make code simpler, we think using 5 digits is a
better option.
X-original-commit: a475de89568c8274bb556d672948b25a95996599
To be able to flash the partition on which the IoT Box is executed,
we must create a third partition and install an OS there to be able
to boot on it and flash the partition of the IoT Box
- Creation of the third partition
- Raspbian download and checksum verification
- Installation of Raspbian on the third partition
- Download the IoT image on the Raspbian partition and check the checksum
- Reboot on the Raspbian partition
- Installation of the IoT image on the second partition
- Reboot on the IoT partition
- Cleaning and deleting the third partition
closesodoo/odoo#44430
Task: 2161955
X-original-commit: 407d9a88a3d23ed49ed5a2c5fa4d211cec43edfd
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
We move the main.py controller and the upgrade.html view
in the hw_posbox_homepage module for more consistency
X-original-commit: 9ba84dc6c0651892bdd00403477bab23fce16bdb
Extend boot partition to 512Mo to be compatible
with a future version of Raspbian and auto flash
X-original-commit: a9a8aa5ed46f7740d59c4e6f6fd6b7f3e45aabf8
- When rendering a website page, exceptions might happens.
If so, an error page is displayed, to do so we create
a new psyscopg cursor to read the view in database and render it.
But if the current (failed) transaction was holding a lock, the new
cursor might have to wait for this lock to be released further
down the line. However, this will only happen after the
request is done (and in fact it won't happen). As a result, the
current thread/worker is frozen until its timeout is reached.
So rolling back the transaction will release any potential lock
and, since we are in a case where an exception was raised, the
transaction shouldn't be committed in the first place.
closesodoo/odoo#44085
X-original-commit: 7a61c89da5ccaed983275eb5f4986475ebf8b48d
Signed-off-by: Toufik Benjaa (tbe) <tbe@odoo.com>
Before this commit:
when a user asks a question on a forum, share buttons are always showing even if
question is validated or not and hence it will lead to 404 error.
After this commit:
when a user asks a question on a forum, share buttons will only show after a
question is validated.
task-2064874
closesodoo/odoo#37505
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
Add an option to add a right sidebar on the job list page.
Redesign the job list page and the job description page.
Integrate existing website snippets to customize the job description
page in the editor.
task-2145266
closesodoo/odoo#43655
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
When a tag has a very long name, on a screen too narrow, the sidebar
overflows outside of the screen and a horizontal scrollbar appears.
By allowing the tags to wrap, the overflow does not occur any more,
excepted if there is a very long word. In that case, we truncate it.
Same goes in the short blog post template, excepted that the parent's
width is already specified.
closesodoo/odoo#44424
X-original-commit: a5ff42cefeb5e0fff4155d5ec0ff08e521bfebaa
Signed-off-by: Paul Morelle <madprog@users.noreply.github.com>
Stock moves records can be unlinked in some cases, for example when
confirming a move containing a kit, the original move is unlinked and
replaced by the moves of the components of the kit.
This commit adds two indices to accelerate the unlink of stock move
records. The fields were the indices are added are foreign key on stock
move, and postgres checks the foreign keys of the rows before deleting
them.
closesodoo/odoo#44426
X-original-commit: e34a176dd438fe0f4f1a384889bfdc196f2c4b4f
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
When the "Show Detailed Operations" is enabled on a picking type,
create a immediate transfers with it, validate, unlock and readd
a new detailed operation, save and it will create a move line without
any state. Due this lack of state, the quant won't be updated.
Fix by remove the readonly=False in the state fields
(3f4f77fd9d), to avoid sending
state:False by the web client.
closesodoo/odoo#44425
X-original-commit: 8f28b302e6311322abc749daf364d4c1c5398fe6
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
Issue
- Studio
- Add an required html field
- Create new record
- Leave it empty
It is saved
Cause
The isSet function of FieldHtml widget, have a "/" in the <br> tag
and summernote empty = <p><br></p>. If you add a space, the value
becomes <p> <p>.
Solution
Remove the "/" and the spaces, check if value != <p></p> &&
<p><br></p>
OPW-2183687
closesodoo/odoo#44427
X-original-commit: c984b1b1210cea1e63f3bc66cec2120554c76c2a
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Issue
- Install eCommerce
- Add Stripe
- Pay with invalid cart
Traceback
Cause
When I improved stripe error, I didn't checked if
an error could have no event
Solution
Check if the error has an event
OPW-2186385
closesodoo/odoo#44414
X-original-commit: 772c02743b5e6610a75e65e408c956eb6057a47d
Signed-off-by: Jason Van Malder (jvm) <jvm@odoo.com>
As pdfminer does not have a Debian package in Ubuntu Bionic, it cannot
be declared as a strong requirement.
With this commit, a warning is logged if the library is not installed.
It does not prevent to index other types of documents.
closesodoo/odoo#44327
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
Purpose
=======
In Project, the configuration has to be done twice: in the settings of the
app and on each project.
During the onboarding, the user won't understand that a feature has to be
enabled at both places and will think that the system just doesn't work.
If the user enabled a feature, he most likely intends on using it for most
of his projects. Therefore, having to do a double configuration for each
new project is annoying.
By the way, sub-tasks is the only global feature (it can't be enabled or
disabled by project), so we are breaking it down by project to remain
consistent with the rest.
Specification
=============
1/ Enable subtasks per project
Before this commit, sub-tasks were a global feature (i.e. once enabled
they were enabled for all projects). This commit gives the ability to
enable/disable sub-tasks per project.
2/ Make project_id on planning required
3/ Change default rating status on new projects
4/ Default value for allow_subtasks
5/ Enable timesheets on existing projects
6/ Hide Total Hours if subtasks are disabled
7/ Create project in the company context.
Otherwise some records generation could use a default company which is not
the company for which we want to create a project.
8/ Default value for allow_forecast, is_fsm
9/ Change reference to timesheet product
10/ Fix tracback on industry_fsm_report.
Before this commit, there was a traceback when enabling "Worksheets"
(industry_fsm_report) after "Time and Material" (industry_fsm_sale).
11/ Convert some onchange method into computed editable stored fields
closesodoo/odoo#41218
Taskid: 2146474
Related: odoo/enterprise#6998
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Co-authored-by: Yannick Tivisse <yti@odoo.com>
- Activate automatic invoicing after successful payment
- Go to the eCommerce with the public user
- Purchase an item
An error occurs because a `list` has no attribute `id`.
The root cause is the following line:
https://github.com/odoo/odoo/commit/3abe78087a0426ad2783942baa01e1d5fbdff2d9#diff-39d0613187d36f16c541734e80925e9dR556
We want to allow the following scenarios:
- a saleman generates an invoice for its customer but doesn't have
accounting rights
=> check on `sale.order`
- an accountant generates an invoice from a SO he can read but not
modify
=> check on `account.move`
- an invoice is generated from a purchase on the ecommerce
=> use of `sudo` in calling methods
opw-2185680
closesodoo/odoo#44400
X-original-commit: 9ef6282fe51bbd3f0ec56d7ac420d9ffe5c46331
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Co-authored-by: alt-odoo <alt@odoo.com>
Co-authored-by: Thibault Francois <tfr@openerp.com>
Bug
===
Typo error in the name of the action.
Introduced in e2f16573d257257198b1fabb9fe5f619614fb1cf
Task 2186587
closesodoo/odoo#44333
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Since 671a5471cd, services are deployed twice in the backend:
once by the webclient (as it is a ServiceProvider), and once by the
env (which now deploys the services to make them directly available
for each Owl component of the component tree). As a consequence,
some services perform twice some operations (e.g. the mail service
fetches twice the /mail/init_messaging route, the crash manager
service displays twice the tracebacks...).
This commit fixes the issue by making the webclient directly use
services from the env, instead of deploying them a second time.
Part of 2183810
closesodoo/odoo#44301
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
PURPOSE
Add a "live session" mode for survey that allows the host to interact with its
audience. He controls the pace of the survey and the audience answers questions
one at a time.
Results for each question can be displayed by the host to adapt his speech in
real time.
A gamification component even allows to give points to the attendees, based on
the quickness of their answer, and create ranking to keep everyone's attention.
SPECIFICATIONS
This whole feature is deeply integrated within survey. It adds a layer of
"survey session" on top if it that gathers attendees and answers during
the lifespan of the session.
In addition, we fixed/pimped several survey features:
- we now prevent 'enter' submit when survey is done to avoid a raise.
- we made a few small improvements on the frontend views
- we now correctly remove the timer and initialize the result
widget when the user presses 'enter' on the last page / question.
See sub-commits for details.
Task 1972640
closesodoo/odoo#43568
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
To make the survey even more beautiful than it was, this commit:
- set 'or press Enter' in black instead of primary color.
- align content of inputs (text, number, date, datetime) to the left when
relevant (readonly mode).
- Add 'Powered by Odoo' on all 'no footer' survey screens.
PR #43568
Task 1972640
This commit improves the new survey "quiz" demo data by adding some questions to fill in the email
and nickname of the user with the associated user inputs.
PR #43568
Task 1972640
PURPOSE
Add a "live session" mode for survey that allows the host to interact with its
audience.
He controls the pace of the survey and the audience answers questions one at a
time.
Results for each question can be displayed by the host to adapt his speech in
real time.
A gamification component even allows to give points to the attendees, based on
the quickness of their answer, and create ranking to keep everyone's attention.
SPECIFICATIONS
This whole feature is deeply integrated with survey.
It adds a layer of "survey session" on top if it that gathers attendees and
answers during the lifespan of the session.
The attendee identity is filled in by a special question that is marked as
"Save as user nickname".
If the host has not configured that question or if the user doesn't answer,
they are marked as "Anonymous" in the rankings.
The answer score computation is also altered during the session to take the
speed of the answer into account.
To ease the access to the survey to attendees, we have introduced two new
routes in the survey main controller:
- '/s/123456'
That uses the 6 first characters of the token to give quick access to the
survey and allow typing the URL manually somewhat conveniently.
- '/s' that renders a view that asks the attendee to enter the survey 'code',
which then redirects to the previous route.
This commit also fixes a few bugs:
- A bugged use case with the "enter key" listener.
When the survey is done, we display a "result template" that shows the user
his score and allows him to retry if possible.
When this template is displayed, we don't want to listen to the "enter" key
that allows to submit the survey form.
- We now correctly remove the timer and initialize the result
widget when the user presses 'enter' on the last page / question.
SURVEY SESSION FLOW
HOST point of view:
- On the Survey Form, the host configures:
- "Reward quick answers" that gives more points to attendees if they answer
quickly
- Question Time Limit, on each question, that defines the time limit for
that specific question, allowing to have different (or no) timer for each
question.
- From the Survey Form, the host can start a "live session"
Only one session per survey can be running at a time.
- When he starts the session, the session_state is marked as 'ready', meaning
all attendees landing on the survey page will be part of the session.
- The host will land on a page showing the current number of attendees as well
as the link for the attendees to join that session.
- The host starts the session, activating the first question of this session.
We keep an active reference to the "current_question_id" and use the bus to
trigger an event that will refresh the survey page for all attendees, showing
them the question and allowing them to answer.
- The host gets a "question management screen", from which he can:
- See the current question text & suggested answers
- See the current question timer
- See the number of answers received for the question
- Display the answers of the question (same view as the survey "results"
page, but only for the question)
- Display the ranking of attendees (if "competitive mode" is enabled)
- The host controls the pace of the survey by moving to the next question until
it's the last one of the survey, then ends the current session.
When the session is closed, we mark the answers of the attendees as "done".
- The host lands on a screen where he sees the survey results and the ranking
of all attendees.
ATTENDEE point of view:
- He reaches the survey when a session and open, and gets a screen asking him
to wait until the host decides to start the session.
- When the sessions starts, he's automatically redirected to the first question
(see above).
- If the session is already started when he reaches the link, he lands on the
current question (and NOT on the first one)
- If the host has configured a time limit, the attendee sees the countdown
while he's answering.
- When the attendee answers the question, the screen tells him the answer is
registered and he has to wait for the host to go to the next question, which
will happen automatically.
- If the timer reaches 0 and he has not submitted his answer, it's too late and
he waits for the next one.
- It continues like that until the end of the session.
- At the end of the session, the attendee gets a screen with his global results
(same as a regular scored survey).
PR #43568
Task 1972640
Co-authored-by: David Beguin <dbe@odoo.com>
This commit splits the statistics template into a "canvas" part, a "header" part and a "content"
part.
This is a preliminary work for the "survey live mode" task that will need to use the same
statistics content, but use a different canvas and header for it.
PR #43568
Task 1972640
This commit moves the import of bus JS files in the frontend assets from
website_livechat to the bus module itself.
This is done in preparation of the "survey live mode" feature that will also
require the bus files in the frontend context.
PR #43568
Task 1972640
Currently, 'Exception' ativity type is visible in dropdown list of schedule
activity. It is used by the system to generate warning activities on records.
It is not meant to be used by the user when scheduling activities manually.
By, giving active=false on mail.mail_activity_data_warning, we can hide
'Exception' activity type in dropdown list for user but available for the
system to generate warning.
task-2168569
closesodoo/odoo#43549
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
As `_do_unreserve` was rewrited, the `_decrease_reserved_quanity` method
isn't useful since its purpose was to avoid to unlink all stock moves
and it is what `_do_unreserve` cares about.
See 2e41338f42e2ef9f2ac2b3e73b274c4af242b28a
closesodoo/odoo#42582
Related: odoo/enterprise#7488
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
Before this commit, pickings of picking type with `show_reserved` on
False don't show pre-fill moves -what is expected- even if those
pre-fill moves have quantity done -what is less wanted and can happened,
with stock_barcode for example.
With this commit, we continue to hide pre-fill moves for this kind of
picking, except for pre-fill moves who have a quantity done.
When a user unreserve a picking or a move it will
drop all the linked move lines. However it could
happens that some move line already have a done quantity
and the user won't lose this information.
This commit filters move lines in order to only drop
the move line without quantity done and remove the
reserved quantity on others.
Joint work with William Henrotin <whe@odoo.com>
task-2069646
We check the selected pickings are compatible to be attached to an
existing batch transfer.
We add the possibility to create on the fly a batch picking to attach
the selected pickings.
task-2069646