In this commit, we make sure that the selectedTable doesn't change
even during the popup is shown to the user. During testing, there might
be rouge clicks that click the .floor-map element which deselects the
selected floor, making the value of this.selectedTable to be false,
causing runtime error.
Every time we select an item in the selection popup, the item corresponding
the selected item is computed immediately. Instead, we defer this computation
during confirmation (when getPayload is called).
This implementation is lighter than previous because the component doesn't
need to listen to changes in an array, rather in a single number state.
Before this commit, mode value can be different to what is shown in the screen
because of async rendering. To make sure that the mode value is properly synced
with with view, we couple the numpad mode value to the component.
Currently timesheeting on a project without specifying the task does not
increase the delivered_qty of the related sale order line.
This could potentially lead to issues with the Helpdesk module for instance.
When a project is allow_billable = false, the user is not required to specify
the task_id on the helpdesk's ticket. This means that hours timesheeted while
working on this ticket will not be added to the delivered_qty of the related
SOL.
This commit "fixes" this by allowing to timesheet on project without specifying
the task_id. So now, even if an helpdesk's ticket has no task_id, the timesheeted
hours will be added to the related SOL delivered_qty.
Because it was initially impossible to timesheet on project without setting
the task_id, some tests had to be rewritten.
closesodoo/odoo#53172
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
This commit adds webgl image filter to the existing image options,
including a custom filter that lets the user access color-correction
options (saturation, brightness, contrast, sepia, ...) as well as
blending modes for color filters.
Part of https://github.com/odoo/odoo/pull/53114
task-2279190
closesodoo/odoo#53114
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
When compositing filters, it is often the case that you only want to
partially apply a filter. This commit adds an optional "amount"
parameter to the colorMatrix filter, and computes a weighted average
between the identity matrix and the passed in colorMatrix. This
parameter defaults to 1, meaning the effect is applied in full if no
amount is specified.
This is a change in the webgl-image-filter library, currently awaiting
merge into upstream at https://github.com/phoboslab/WebGLImageFilter/pull/25
Part of https://github.com/odoo/odoo/pull/53114
task-2279190
This doesn't make sense anymore: when we record production on a WO, in
any cases everything is processed as we make backorders.
Part of: https://github.com/odoo/odoo/pull/54283
task-2278147
Missed while merging the 2FA: in a mono-db scenario, the request is
bound to a database more or less immediately; however in a multi-db
scenario the current request *may* not be bound to a database by the
time we reach session authentication, this binding is performed *by*
the authentication step[0].
By trying to access an environment (requiring a db) before this
binding is performed, the authentication procedure broke.
We could create the environment by hand, but it seems completely
unnecessary: while there is a bundle of operations to perform in all
cases and a bundle to perform during finalization, they don't seem to
strictly depend on one another (and indeed this separation is already
a reordering of the operations from before), so the finalization can
be performed *after* having bound the current session to a database.
In fact that is closer to the older order: in the pre-totp iteration,
only the binding of the uid was performed before that of the login,
and even it was done after binding the database.
[0] this really is mostly a concern when using this step
programmatically, as interactively the database selector should
require selecting (and binding) a database before it's possible
to log-in
closesodoo/odoo#56093
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
The "Incoming Emails" setting is now enabled by default and the email
address shown on the list helper.
closesodoo/odoo#56069
Taskid: 2300864
Related: odoo/enterprise#12494
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
This commit applies various improvement to make to event agenda more readable.
- Display speaker name under talk title in agenda
- Redesign lighter/smaller badge in agenda
- Make sure talk title does not overflow on neighbours on agenda
- Add border to agenda card
- Compute location width in function of number of locations.
- Vertical Align center for th
- Align bottom for tracks counter
UPDATE
* website_event_track_online.agenda_main
* website_event_track_online.agenda_main_track
Task ID: 2314778
closesodoo/odoo#56082
X-original-commit: 818dd900e81023ae08226e88a92d65e8f142f0f7
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
* Implement new snippets that allow the user to choose a filter
and a template.
Three snippets have been created:
- Dynamic Snippet: Displays the data in a grid format
- Dynamic Carousel: Displays the date in a carousel
- Dynamic Products: Let the user pick a product category and
displays the products in a carousel
task-2276740
PR #53175
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
* Prior to this commit, Snippets XML Qweb templates files were located
under website/static/src/xml/.
* After this commit, Snippets XML Qweb templates files will be named
AAA.xml (with AAA being the revision number) and located under the
related Snippet directory '/website/static/src/snippets/SNIPPET_DIRECTORY/'
task-2276740
PR #53175
This commit will add a bus in the web.config config that allows
to trigger events.
The first use case is the trigger of the size_changed event that
is triggered each time the size of the screen changed of bootstrap
breakpoint.
task-2276740
PR #53175
Since [1], an attribute is added on all snippet contents, on the main
node, to be able to identify them and better support them. This is
added thanks to the t-snippet or the t-snippet-call instruction. The
problem was this was not working if the first node of the snippet
definition is also a t-call to another sub template. This now works.
[1]: https://github.com/odoo/odoo/commit/11c60739e4f4379a61581ed179bc7debbb5e91f9
task-2276740
PR #53175
- the email returned by Partner Autocomplete is often useless as it is
quite generic/random e.g. info@company.com. As it is set automatically,
the user might not realize he is going to send an email to that
generic address.
- not returning the email address faclitates some onboarding flows. It
allows us to prompt the user to set his own email address to have a
preview of the emails we are sending.
Note that this information is not lost but rather displayed in the
chatter of the partner record.
However, we do not propagate this modification to other services like
Lead Enrichment or Lead Generation since this kind of email is still
relevant to:
- approach a new prospect
- enrich information and create leads based on the email domain
TaskID 2321864
closesodoo/odoo#56038
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
The dropdown for scheduling the next activity was overflowing inside the
container div.
After this commit, the dropdown is now attached to body element.
In other terms, the pop-in window to schedule an activity in the web kanban
activity widget is now visible (and not displayed anymore under previous line
in the widget tree view).
Task ID:2301262
closesodoo/odoo#56072
X-original-commit: 5ca624605571f79d1bca27c9a40286722c2a801b
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Allow to add serial numbers as tags on the move in production order and
stock picking. The purpose is to earn time for database with
only tracking installed.
Also when only create_lots is checked on picking type. New lots
could select existing lot and an onchange trigger a warning if
it's used.
closesodoo/odoo#55883
Task: 2280985
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
Steps to reproduce:
- Let's consider a company C in $
- Create a ventdor bill VB of 100$
- Validate VB and register a payment with a check in €
- Print the check
Bug:
The symbol of the currency of the payment was $ instead of €
opw:2314005
closesodoo/odoo#55813
X-original-commit: f05bd107aca192cd7e4b4ab84d0a3e61e932a241
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
The "quick create" form now renders the kanban quick_create buttons on
its own. This means that the form handles them as regular form buttons,
hence including them in its keyboard navigation.
Part of task: 2314864
closesodoo/odoo#55787
Signed-off-by: Mathieu Duckerts-Antoine <Polymorphe57@users.noreply.github.com>
Two things have been introduced in this commit:
The first is a change in the way the tour tip widgets are updated when
a DOM mutation is triggered: before this commit, each active tip would
evaluate its current anchor to elements matching its "trigger" selector.
If the element was not the anchor, it was set as the new anchor and
would be bound to the tip event handlers. Now, the unbinding/rebinding
of event handlers is done regardless of the new element.
This is helpful when the anchor is on a field monetary for example,
which keeps the same input element while internally unbinding and
rebinding the widget event listeners to it on each rendering. This
process does not include external event listeners such as those of the
tip and they were lost until now, breaking the tour step.
The second change is a modification of the CRM tour: the "Expected
revenue" field being an input, the according step trigger has been set
to target the input element instead of its parent. This means that the
step will await an "input" event instead of a click to be consumed,
making the tour step feasible with a keyboard.
Task: 2314864
Co-authored-by: Aaron Bohy <aab@odoo.com>
Co-authored-by: Julien Mougenot <jum@odoo.com>
Make the method `_search` return a `Query` object, and make that object
generate a subquery when used on the right-hand side of a condition.
closesodoo/odoo#52403
Related: odoo/enterprise#10945
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
Introduce better methods for introducing tables, join clauses and where
clauses to the Query object, and other methods to generate a complete
SELECT query. The Query object can also behave as a tuple of ids, where
the query is made on demand, and the result is memoized.
This avoids the formatting part of those methods (`browse` in the case
of `search`, `display_name` in the case of `name_search`), which is
useless in most cases.
This also enables further optimizations where `_search` and
`_name_search` return subqueries instead of record ids.
This provides a better API to search for records by name without the
formatting part (`display_name`).
This also simplifies all the overridings of `_name_search` that no
longer need to call `name_get()`. The call to `name_get()` is done in
method `name_search` in a generic way.
In saas-13.4, if a searchpanel_default_XXXX value was found in the
context to be used as the default value of a searchpanel category
(select="one" field), then the value shown to be active for that
category would always be that value even if another value would have
been selected at some point. This was due to the fact that the
activeValueId was reset at each reload of the category to be that
default value.
In saas-13.5, the problem has been solved by 7ff2e5822f.
The present commit is simply the forward port of a test that covers the
situation described above.
closesodoo/odoo#56042
Task: 2259602
X-original-commit: bdf4fe44652668274030bb6fda25cb564f15c3a6
Signed-off-by: Mathieu Duckerts-Antoine <Polymorphe57@users.noreply.github.com>
This commit removes a few tour steps from the event main tour that required the
user to configure a few "Communications" on the event.
As these steps are a bit tricky and are absolutely not required for a first
overview of the capabilities of the app, they were removed to ease onboarding.
task-2313380
closesodoo/odoo#55912
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
PURPOSE
Currently several integrations of IAP services within CRM exist. However they
do not share anything, leading to duplicated code, fields, and lack of integration.
SPECIFICATIONS: IAP ORGANIZATION
In this commit we reorganize IAP module to better understand its content
and ease future cleaning
* have models separated from tools;
* rename some tools to find their grep. An iap_ prefix is added to ensure
we don't clash with other global functions or methods;
* perform some linting;
To provide backward compatibility support we keep some import in init file of
IAP addon. Standard code is about to be updated but we want to avoid too
much issues when migrating code to 13.5 . Compatibility layer will be removed
after v14 final freeze.
SPECIFICATIONS: IAP_MAIL
In this commit we create a bridge module between iap and mail to hold notably
some notification data. It includes a template shared by several iap modules.
We also move its override in the right file and clearly rename assets file
in crm_iap_lead in order to clean a bit module organization.
SPECIFICATIONS: IAP_CRM
In this commit we create a bridge module between iap_mail and crm to hold
notably some fields used in various CRM integrations.
Now that we have clean bridge module we can safely update crm and partner
integrations dependencies.
LINKS
Task ID-2280177
Community PR odoo/odoo#53214
Enterprise PR odoo/enterprise#11258
Upgrade PR odoo/upgrade#1363
IAP PR odoo/iap-apps#191
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
PURPOSE
Clean and improve IAP services integration in Odoo. Clean IAP integrations
tools and improve data sharing with base modules, notably for CRM and Partner.
SPECIFICATIONS
In this commit we create a bridge module between iap_mail and crm to hold
notably some fields used in various CRM integrations.
Now that we have clean bridge module we can safely update crm and partner
integrations dependencies.
LINKS
Task ID-2248367
Community PR odoo/odoo#53214
Enterprise PR odoo/enterprise#11258
Upgrade PR odoo/upgrade#1363
IAP PR odoo/iap-apps#191
PURPOSE
Clean and improve IAP services integration in Odoo. Clean IAP integrations
tools and improve data sharing with base modules, notably for CRM and Partner.
SPECIFICATIONS
In this commit we create a bridge module between iap and mail to hold notably
some notification data. It includes a template shared by several iap modules.
We also move its override in the right file and clearly rename assets file
in crm_iap_lead in order to clean a bit module organization.
LINKS
Task ID-2248367
Community PR odoo/odoo#53214
Enterprise PR odoo/enterprise#11258
Upgrade PR odoo/upgrade#1363
IAP PR odoo/iap-apps#191rade#
PURPOSE
Clean and improve IAP tools integration in Odoo. Introduce bridge modules
to extract common features, notably for CRM and Partner.
SPECIFICATIONS
In this commit we reorganize IAP module to better understand its content
and ease future cleaning
* have models separated from tools;
* rename some tools to find their grep. An iap_ prefix is added to ensure
we don't clash with other global functions or methods;
* perform some linting;
To provide backward compatibility support we keep some import in init file of
IAP addon. Standard code is about to be updated but we want to avoid too
much issues when migrating code to 13.5 . Compatibility layer will be removed
after v14 final freeze.
LINKS
Task ID-2248367
Community PR odoo/odoo#53214
Enterprise PR odoo/enterprise#11258
Upgrade PR odoo/upgrade#1363
IAP PR odoo/iap-apps#191
When caching a POST request a cache key is builded based on a serialized
version of the request... but the serialization wasn't properly
performed.
This commit properly assigns the `serializedRequest` variable before
attempting to build the cache key.
This was due to a miss-extraction of that variable (see commit
odoo/odoo@f538a551b1 ).
closesodoo/odoo#56049
X-original-commit: 30c99d9fe49cf864687b1f9c7cc887b169698b66
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
Before this commit the Event PWA's install banner may be hidden behind
the footer if a non-zero z-index value has been set (like on odoo.com).
This commit raises the install banner to match the tooltip's z-index and
ensure its visibility.
closesodoo/odoo#56048
X-original-commit: 08f4f1934ea05112705b6a4733c915a8fb2360dd
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
Up until now, the cron would send letters by batch on a single call with
15 secs timeout which is unfortunately insufficient to have an answer
from the IAP server.
The cron would therefore fail and would end up trying to resend the same
letters again and again even if each call had reached the IAP server and that the
letters were actually processed.
FW port of 61c10c5c9bb3f0d3c2d01bcb1798d03996217585
closesodoo/odoo#56050
X-original-commit: b34d2905ba11ee5bddd1efd2121595a4bdc304c4
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
The field partner_id of an account.payment is not required and there
are no value specified for internal transfers.
Before this patch the report had lang=None so was bypassing the
translation system.
Fallback on company's language instead
Fixesodoo/odoo#43377closesodoo/odoo#56030
X-original-commit: 63b161e8c927889cd82da1ed6a0973234c639fb1
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
We order the 'Apps' search panel values by 'sequence'.
Partial realization of Task 2001615
closesodoo/odoo#55997
Signed-off-by: Julien Mougenot (jum) <jum@odoo.com>
Problem:
Now that date_partner_assign is a computed field, a
value should be set each time there is a value
set for partner_assigned_id. Still, it was not the case
Solution:
Use the proper decorator: depends instead of onchange.
closesodoo/odoo#55950
X-original-commit: 56d859d85f1e00029a601e9b1daa6bbcbdb7dc43
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
PURPOSE
Support invisible attributes to remove irrelevant fields in standard views.
SPECIFICATIONS
Add the possibility to not display some fields in the measures dropdown for
the graph and pivot views.
When a field is not displayed in the measures of a pivot views we remove them
also from the list of groupable fields.
Update CRM addons to hide irrelevant measures.
LINKS
Task ID-2288381
Community PR #54774
Enterprise PR odoo/enterprise#11970
Upgrade PR odoo/upgrade#1519
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
PURPOSE
Adapt CRM views now that some measures can be set invisible.
SPECIFICATIONS
Adapt the views and implementing the new invisible attribute on some fields.
It allows to hide unnecessary measures.
In this commit we remove some measures in inheriting CRM apps
* crm: do not use color as measure;
* crm_iap_lead_website: do not use reveal_iap_credits as measure;
* website_crm_partner_assign: do not use partner_latitude and partner
longitude as measures;
LINKS
Task ID-2288381
Community PR #54774
Enterprise PR odoo/enterprise#11970
Upgrade PR odoo/upgrade#1519
PURPOSE
Be able to remove some measures from graph / pivot views. Currently fields
are automatically added but some of them make no sense.
SPECIFICATIONS
Add the possibility to not display some fields in the measures dropdown for
the graph and pivot views.
When a field is not displayed in the measures of a pivot views we remove them
also from the list of groupable fields.
LINKS
Task ID-2288381
Community PR #54774
Enterprise PR odoo/enterprise#11970
Upgrade PR odoo/upgrade#1519
Purpose
=======
Allow to customize the preview text in mass mailing.
Specifications
==============
We do not generate the preview text anymore, instead we add
a new field to let the user choose want he want to put into
the preview. As the preview is added in the mail body, it
supports dynamic placeholders.
Rename "View in browser" into "View Online" because the text
will be displayed in the preview if the snippet is added at
the beginning of the email. And we want to make it shorter.
Remove the alt attribute of the image tag which are not part
of the "email content" in the mass mailing template.
So, we improve the email preview in the mail clients
(otherwise the mail client include the alt attribute into the
preview).
Task-2313872
closesodoo/odoo#55695
Related: odoo/upgrade#1584
Related: odoo/enterprise#12323
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
- Avoid to truncate the hour/min/sec in the computation of the
effective date which is related to the `date_done`
of the first incoming picking.
- With manufacturing in 3-step (pbm_sam), the store picking
had a source document == "New". It was the case because
the `_get_move_finished_values` was call before the create
and the name is set only on create.
To fix this issue, during the `create` set the origin of all move.
- To avoid to maintain old views unused,
remove unused view of stock move.
- The computation of the products_availability json is too expensive
to be in tree view (2.5 times long with it) of picking.
It will be hard to optimize because the half the time
is due to _get_report_lines method - already in batch (on 80 records).
- Review buttons of the replenishment list to be more Odooer.
- In some cases the delay alert date was wrongly compute:
- If we new dest_move_ids of a existant move, the delay alert date
won't be compute.
- If the state (to done) and the date are save in same write call
the alert date of next move won't be reset.
To avoids these issues, refactor the alert date to be a compute stored
fields.
- To avoid any confusion between date expected in the replenishement
(in date) and the purchase order receipt date (datetime),
we put the receipt date at the middle of the day.
Also On-Time Delivery Rate computation counts
only when date are bigger effective date trunced to date.
Also used the timezone of the company by default (if not user timezone)
task-2246665
closesodoo/odoo#55379
Related: odoo/upgrade#1586
Related: odoo/enterprise#12309
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>