Before this commit, when "Send message" composer was open with some
suggested recipients, and then editing and saving data related to
the suggested recipients, the suggested recipients were not updated
on composer until some user interactions like page reload.
Steps to reproduce:
- Open an opportunity in CRM;
- Open "Send message" composer;
- Change "Email" field;
- Save changes;
> Suggested recipient above composer textarea is not updated with
newly saved email adress.
It becomes updated only after some user interactions, such as toggle
"Log note" then "Send message" or with a page reload.
This commit fixes the issue by updating the suggested recipients on
the composer in real-time when clicking on "Save".
Task-Id 2089816
closesodoo/odoo#40033
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Co-authored-by: Mohammed Shekha <msh@odoo.com>
Co-authored-by: Alexandre Kühn <aku@odoo.com>
_get_unavailability_intervals didn't return the correct
dict (describe in the docstring). Then the override in
maintenance module was wrong.
task-2082261
closesodoo/odoo#42530
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
Changing the background color was not working
because 'o_mail_snippet_general' having a background color white.
while bg-* colors are applied on a parent of 'o_mail_snippet_general'
closesodoo/odoo#42513
X-original-commit: 751dd4c16f8e6c9e373bd9be3a783cde2833947d
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
- Create products A & B
- Create a BOM: 1 unit of A to produce 1 unit of B
- Create a Route which applies on products with the following Rule:
Action: Push To
Operation Type: YourCompany: Internal Transfers
Source Location: WH/Stock
Destination Location: WH/Stock/Shelf 1
Automatic Move: Automatic No Step Added
- Apply the route to A
- Create a MO for B, validate
- Create an Unbuild Order for the MO created, validate
The component (A) has a `stock.move` to WH/Stock/Shelf 1 but a
`stock.move.line` to WH/Stock.
This is because the `stock.move.line` is created when the quantity is
set in:
https://github.com/odoo/odoo/blob/98b1039705d5911946ed3b5180e4d114dc809ed4/addons/mrp/models/mrp_unbuild.py#L151
However, the `_run_push`, which only changes the `stock.move` location,
is called on `_action_confirm` during the call to `_action_done`:
https://github.com/odoo/odoo/blob/98b1039705d5911946ed3b5180e4d114dc809ed4/addons/mrp/models/mrp_unbuild.py#L152
The solution is to call `_action_confirm` before the creation of the
`stock.move.line`.
opw-2156132
closesodoo/odoo#42493
X-original-commit: ac0f43f704a988f11e4670e241380b76dc81f8fc
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
*: web_editor, website_forum, website_mass_mailing, website_slides
This class no longer does anything.
Part of odoo/odoo#41561
task-2155808
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
The previous commit introduced a new imagepicker uservaluewidget, which
allows the user to select a picture or video in a generic way, this
commit adapts the background and CoverProperties snippet options to make
use of this uservaluewidget instead of duplicating most of the logic.
Part of odoo/odoo#41561
task-2155808
This commit introduces a new web_editor UserValueWidget on the
we-imagepicker tag, this widget allows the user to pick an image or a
video using the MediaDialog, and calls the containing snippet option's
method (specified via data-attribute) with the url of the chosen picture
or video as widgetValue. Videos are disabled by default and can be
accessed through the use of the data-allow-videos="selector" data
attribute, any $target that matches the selector will have videos
available in the media dialog.
Part of odoo/odoo#41561
task-2155808
In 2cc8316c66, the cover properties snippet option was refactored to
using a single data attribute per select instead of repeating it on
every button inside of it. After selecting an option, the corresponding
data attribute would be set on the cover container by finding the
currently active button and copying its select class attribute.
However, because of an oversight, instead of finding the currently active
button inside the select, the option would find any active item inside
of the select, and because the select is always open when a button
inside is clicked, the first active item inside of the select is its
toggler.
This commit fixes that by increasing the specificity of the selector
that finds the active button to only find buttons, and not the
select-menu toggler.
closesodoo/odoo#42567
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
missing bit from rev[0]
[0] 7ef11e3c96closesodoo/odoo#42517
X-original-commit: 8ff69abc9010bb2aa05dea5a5f2e1fa545e6179c
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
This commit fixes the following points:
- While dropping a form builder, the default action is now set to
'Send an email' instead of first available action.
- Titles of the forms which previously were readonly, are now editable.
- When sending an email, the 'reply-to' address is now set from the
email field provided in the form, instead of the catchall mail.
- Hitting 'Send' button for 'Send an email' option now immediately
sends the mail instead of putting it in the queue.
task-2082970
closesodoo/odoo#42515
X-original-commit: 7ada68cc91fde1b6eff151549808a20e85cb5bf7
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Without this, it will crash since self.env does not exists in a controller.
Using request will still crash later since `check_followers` does not exists.
Introduced with 957c99abd5
Found while working on task-2152191
closesodoo/odoo#42509
X-original-commit: 70e4a716feda7acb7385a98ac51ab40dabc3f50e
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Hardcode some existing colors (but make them hidden in the colorpicker)
so they can be removed from snippets when selecting another color.
Normally, the chosable colors do not contain them, which prevents them
to be removed. For example, normally, the 'alpha' and 'beta' color
(which are the same as primary and secondary) are displayed instead of
their duplicates... but not for all themes.
This commit was mainly about the addition of 'success', 'info',
'warning' and 'danger' colors to the list (as we do not give the
possibility to select them through the editor but they might still be
used by snippets or in old databases). This also solves a bug for
upcoming features in master.
This commit also makes the excluded sections of the colorpicker hidden
instead of removed for the same reason.
In preparation of task-2152191 and others.
closesodoo/odoo#42505
X-original-commit: 222f72386a8a0a28ff450bf8dfa6a1ac8fa48d8e
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
The delay alert is only triggered when writing on the date,
We want also to trigger it when themove is created.
Task #1970595closesodoo/odoo#41953
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
Add a field `delay_alert` on the purchase order line, and set in in `_prepare_stock_moves`.
So, we can use this new field to set the value (`delay_alert_date`) on the stock moves.
Task #1970595
Add two widgets in the `mrp.production` / `stock.picking` form view.
The widget is visible only if one of the stock move linked to the `mrp.production` / `stock.picking`
has the flag `delay_alert_date` set.
Task #1970595
Remove the "manual" system alert and replace it by a date field, `delay_alert_date`.
This field is computed in the method `_delay_alert_check` when we write on the date of a stock move.
The method `_delay_alert_check` look to the next stock move and to the previous know to
check if they will be late or not.
If a stock move will be late because of one of the previous stock move, `delay_alert_date`
will contains the minimal date that the stock move should have. Otherwise, `delay_alert_date`
will be False.
Task #1970595
Co-authored-by: sle <sle@odoo.com>
Steps to reproduce:
-install projects
-go to projects > configuration > check the sub-tasks option
-create a project with a sub-task and add an activity on the sub-task
Previous behavior:
attempting to mark an activity as done directly from the chatter
will raise an error similar to
"Records does not exist or has been deleted (Record: mail.message (x), User: y)"
Current behavior:
activity can be marked as done trough the feedback button
opw-2126704
closesodoo/odoo#42383
X-original-commit: 06d72a1ab84f3685f547c8a04a2d3e1405e5d188
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
This is a changement succeeding 13.0 7eb603b26c, in that commit the issue
was solved but only in the case of en_US base language of translation
which can not be the case on a website.
opw-2153422
closes#42269closesodoo/odoo#42467
X-original-commit: 191075454563c7e15b22d20b21afeb8bcc5601c4
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Usecase to reproduce:
- Set a product with routes: MTO + Buy
- Create and valide a SO
- Cancel the delivery
- Cancel the RFQ linked
-> The delivery will be switch to confirmed state while it should remain
cancel.
It happens because the button_cancel on purchase.order call
_recompute_state on move. _recompute_state modify the state to confirm,
partially_available or available depending the reservation status.
Howver it should never be call on 'draft', 'cancel' or 'done' moves
since it would modify their state.
A fix would be to filter the set of moves in order to exclude moves that
are cancel, done or draft before using _recompute_state. However this is
easy to forget and the issue would be probably redo in the future.
A more stable fix is to add the filter in the _recompute_state directly.
closesodoo/odoo#42471
Task: 2157543
X-original-commit: 0619415c17dc810aea67890cd3415c3f05dd2290
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
Add scheduling information (icon) with popover to show info/warning/error
about the scheduling of workorder. Four extra pieces of information
is given (level change the color of the icon):
- Info level; If previous WO and pending state, show sheduling info of the previous WO
- Warning level; info if the WO is late
- Error level; if conflit with other WO (same workcenter in same time)
- Error level; if previous WO is planned after the current one
Also, add a button (in the popover) to replan correctly all WO of the MO of
the current WO (only if it is not in ready/progress and error(s) is detected).
It is done via a JSON data compute field ('json_popover') in the workorder and
the popover_widget of stock. It is allowing use to make computation in batch
and avoid to add lot of fields.
task-2082261
closesodoo/odoo#41950
Related: odoo/enterprise#7296
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
Add a popover widget linked to a Char field containing
a JSON string. It used to display flexible content in a Bootstrap
popover which appears when the user have mouse over or focus on the
information icon/button.
task-2082261
In order to clarify the flow of work order in calendar and gantt view,
add the sequence number of WO by MO. This sequence is
compute during the call of the "name_get".
task-2082261
Change the order of the page of notebook to be
more pertinent for the manager point of view.
Also move workcenter and production (_id) fields
from the miscellaneous page into the main form.
task-2082261
Steps to reproduce:
- Create a default value = 'by_volume' for the field Split method on model stock.landed.cost.lines
- Create a landed cost and add a line
Bug:
The default value was always 'equal'.
opw:2161334
closesodoo/odoo#42460
X-original-commit: 34d93802f33dd845c5fce8a3838c98db18bd7484
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
Before this task, the default description and the scheduled date were placed in the left column. A lot of space was lost.
closesodoo/odoo#41090
Taskid: 2119620
Related: odoo/enterprise#6960
Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
Before this commit, the name and description of a product were copied on a sale order template but not their translations. When the seller used the quotation template for a partner in another language, the descriptions were not translated.
After this task, the translations are kept on the quotation template. The user can still override the descriptions in the template and manage the translations by himself.
closesodoo/odoo#40477
Taskid: 2055933
Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
In this -
1) Modified the label of the accounting entries which take place when
receiving/delivering/producing with products in automated inventory
valuation so that it includes information about the source document
(MO/Transfer) and the the product about which the entry is.
like - (WH/MO/0001 - Finished product)
2) Hide the Valuation stat button shown on transfer while not in debug mode.
3) on landed costs, if no valuation layer created, don't display the button.
4) default groupby is missing on the main valuation report.
Task-2153155
closesodoo/odoo#42464
X-original-commit: abd8e56e10bfc58c2f777b5aeeeb0b6b7360629f
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
Running the vacuum in avco indeed fixed the estimated value on the
delivery but it did not update the standard price afterwards, making it
possible to have an inconsistent standard price with the actual value in
stock, as described in [0] and in the task [1].
A test was added (and validated) in the layers test file and an two old
one were fixed. test_average_perpetual_2 displayed also a different
missing bit: the vacuum should run when the user unlock and increments a
receipt.
[0] https://github.com/odoo/odoo/pull/41669
[1] 2154638
closesodoo/odoo#42292
X-original-commit: 6e4c9b8219db0c94c29f5ee145998e6f1597bb55
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
A similar fix was originally done in [1], where the access to `env` was done
before the parent dispatch.
The issue was then reintroduced with [2], where the `env` was possibly accessed
again after the dispatch. This works most of the time, but in the rare case
where the session is destroyed during dispatch, which is the case on
`/web/session/destroy`, accessing the environment after that point will crash.
This issue didn't manifest before [3], because the `env` was always initialized
during `checked_call` when calling the `clear` method on it (since `env` is a
magic property). After that commit, the `clear` is not called if not necessary,
therefore it might happen that the `env` is never initialized. This leads to the
crash when trying to initialize it for the first time after the `db` attribute
has been cleared during the destroy, since a `db` is required to initialize it.
The current fix aims to prevent the crash. As opposed to [1] that actually kept
the tracking fields by fetching them before the dispatch, it is decided on this
commit to voluntarily lose the tracking fields when destroying the session,
because keeping them would require too much refactoring for a fix in stable, but
we also feel that it makes sense functionally: those tracking fields were maybe
used for a specific purpose in the original database, but they might mean
something completely different on another database.
[1] 6780597f2d
[2] c78de22a09
[3] f6d56afba0closes#42260closesodoo/odoo#42314
X-original-commit: 2ac11ce7a3f36a1572d886bc872facf339cb6516
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Before this commit nothing prevented high concurrency on a threaded http
server to consume too much resources, ending up failing requests either
because the OS is unable to spawn that many threads
(`RuntimeError: can't start new thread`), either because the Odoo db
connection pool is full (`PoolError: The Connection Pool Is Full`).
This commit adds the ODOO_MAX_HTTP_THREADS environment variable which
allows to limit the amount of concurrent socket connections accepted by
a threaded server, implicitly limiting the amount of concurrent threads
running for http requests handling.
Note that if a value has been provided to ODOO_MAX_HTTP_THREADS that cannot
be parsed as an integer, a value will be automatically set to half the
db connection pool size (which defaults to 64). This dynamic value is
chosen because while most requests will borrow only one cursor
concurrently, there are some exceptions where some controllers might
allocate two or more cursors.
closesodoo/odoo#42327
X-original-commit: d42a951369ee87b50e834f73cd2af5cf031d43f7
Signed-off-by: Christophe Simonis <chs@odoo.com>
Purpose
=======
If the user doesn't have the timesheets app, it is not possible to generate
a task from an SOL. However, the user may want to generate a task without
necessarily timesheeting on it (e.g. a task in Field Service).
Specification
=============
Move the feature to a new module sale_project, sale_timesheet becomes
dependent on it.
Task-2123707
closes odoo/odoo#40594
Closes: #40594
Related: odoo/enterprise#6851
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Changes (+ fix) to the way inputs work:
- Placeholder is now independant from the default value and set through
data-placeholder. When emptying an input, it still sends the default
value but appears empty. The value is only visually added in the input
after leaving it (or hitting enter), after the validation through
_computeWidgetState (because now when the default value is applied on
a snippet, the value is displayed in the input as any other value).
- Consider inputs active if they hold a value and, in the case the input
has an associated unit, if that value is different from 0 (important
for visibility checks).
- If no default value is set and that a unit is set, the input will
return the ('0' + unit) value by default (no need to specify it in xml
anymore).
Part of https://github.com/odoo/odoo/pull/42407
Collisions in table names of ORM models with built-in PG structures such
as "attributes", "domains", "routines", "parameters", ... could occur
and render the result of `table_kind` meaningless.
Based on what was done via https://github.com/odoo/odoo/pull/16651 more
than 2 years ago, it seems relying on our tables being in the 'public'
schema is safe, even though it's only a default from PG. We reuse that
same logic rather than the alternative of excluding
('information_schema', 'pg_catalog', ...), even though it looks safer at
first. If we did the latter we'd have to change the other comparison for
consistency, i.e. more risks.
closesodoo/odoo#42358
X-original-commit: d8e74eb14990c82f65a44ffe163aa84159d6ccc4
Signed-off-by: Denis Vermylen <Icallhimtest@users.noreply.github.com>
Currently, the website logo is not displayed on SEO dialog and instead the
company logo is being displayed.
After recent changes (see [1]), company logo and website logo are now
different and so changes were not adapted on the website.
This commit fixes the issue by adapting the changes and displaying the
correct website logo on the SEO dialog.
[1] - https://github.com/odoo/odoo/commit/8be4567ae8f6b0388206c091590278ef11a2df21
task-2083006
closesodoo/odoo#42391
X-original-commit: 9c75960e931bc77530074f60997cced4b5907d3e
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>