PURPOSE
Prepare Event Online support by providing fixes and preparatory cleaning
commits.
SPECIFICATION
Currently tickets demo data are not correctly created as they mess up with
automatic ticket computation from event_type configuration.
Solution is to flush event creation. It means tickets default configuration
is computed. Afterwards tickets are created in demo and avoid clashing with
the compute in cache.
LINKS
Task ID 2289148 (Event Bugprovements)
Prepares Task ID 2252655 (master Online Event task)
Prepares Task ID 2283796 (Event B2Basics)
PR #53944
X-original-commit: 6b5ec74b3d9bc008c95a92e7fa954675ae506d1a
PURPOSE
Prepare Event Online support by providing fixes and preparatory cleaning
commits.
SPECIFICATIONS
Currently no tags are set on demo data due to strange construct of eval
and ref. This commit fixes those strange demo definitions.
LINKS
Task ID 2289148 (Event Bugprovements)
Prepares Task ID 2252655 (master Online Event task)
Prepares Task ID 2283796 (Event B2Basics)
PR #53944
X-original-commit: b2b53a6ca02e3e9f51b665bd24cc1d2fee0dc3b9
PURPOSE
Prepare Event Online support by providing fixes and preparatory cleaning
commits.
SPECIFICATIONS
If an event has tags, changing its category resets them. We consider that
a category should update an event but not force or reset event tags, only
give default values.
LINKS
Task ID 2289148 (Event Bugprovements)
Prepares Task ID 2252655 (master Online Event task)
Prepares Task ID 2283796 (Event B2Basics)
PR #53944
X-original-commit: 408bad96de293dc10a3aa78fcee6159d8012fadc
When changing customer on a sponsor, update website only if defined on the
partner. Otherwise you may reset valid website value with a void value which
is not what people expect. Partner gives a default value but fields are not
completely synchronized.
Follow up of 532c2b44ffclosesodoo/odoo#54867
X-original-commit: 2a47d91703e379d905f457e56482e6e152b4da15
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Before this commit the tokens from payment providers (PayPal, Stripe) are shown in plain text in the onboarding wizard.
This means that anyone with accounting rights can grab & copy tokens for PayPal & Stripe.
After this commit they're shielded off with a password=True option so they're not directly readable and copyable.
Steps to reproduce: Open an Odoo instance, go to Accounting > Invoices and click on the 'Set Payments' option for the onboarding wizard.
Next choose Paypal or Credit card in the dialog and see how tokens are shown in plain-text.
closesodoo/odoo#54861
X-original-commit: 65e201ecee3bc145c2ae76d59b6d2fd31c737872
Signed-off-by: Olivier Dony (odo) <odo@openerp.com>
1) Use a default_<fname> context key to give a default value and leave
the management of the default to the orm level when possible.
2) Do not return unwanted default values in default_get override.
When a fields default value depends on another default, this value
should be computed in a default_get override, not in a default method
specified on the field itself.
Furthermore, the management of default_ context keys() should be left to
the orm level (better code understanding, localizing a behavior in one
place instead of multiple places).
Leave the generic management of fields default to the orm as much as
possible.
* Default method is not called unless necessary.
* Default values are correctly post-processed by the orm when necessary.
When default_get is called, the wanted fields are specified through the
fields_list arg. It is useless to fill the values for unwanted fields.
As default_get is called for nearly all records creation, simplifying
the default_get overrides:
* remove potential wrong side-effects of the values
* remove some useless or wrong defaults computations (searches, refs,
...)
The delegation inheritance is very useful in some cases,
but its usage shouldn't be encouraged.
Furthermore, chained _inherits may result in unexpected
behavior/results,
and really shouldn't be used.
closesodoo/odoo#54864
X-original-commit: 4a06a4c79e962906832f98147fe87a2c19efaa75
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Avoid concatenation of translated strings & raw values and/or other
translated values, and use the new _ API (by providing the formatting
values to ensure the fallback on the english terms in case of wrong
translation).
By including the expected values inside the string to translate, we
ensure that the formatted values are included at the right place in the
resulting translated text.
This also provides more information on the string to translate to
the translators, s.t. the chosen terms for the translations can be more
adapted to the translation context.
closesodoo/odoo#54635
Related: odoo/enterprise#11925
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Adaptation of the tests to the changes regarding the refactored search
panel and model.
Part of task 2228968
Co-authored-by: Julien Mougenot <jum@odoo.com>
Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Adaptation of the rest of the environment to the changes regarding the
refactored search panel and model.
This commit includes the following changes:
- Since the control panel model is now part of the search model, the
view widget is responsible of its instantiation with the appropriate
API; creating an ActionModel holding the required model extensions.
- The controller is now importing/exporting the state of the entire
search model as well as the current state of the search panel (given
throught its props). Changes have been made to adapt to this behaviour.
- The multiple components linked to the control panel model have been
adapted to reflect the changes brought to it (they will now listen to
the "searchModel" instead of the "controlPanelModel").
- The `test_utils_create` methods have also been adapted to properly
instantiate a searchModel
Part of task 2228968
Co-authored-by: Julien Mougenot <jum@odoo.com>
Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Conversion of the lunch kanban model to a proper search extension.
Now that the view search model supports model extensions, it has become
more convenient to provide additional domain informations by appending
new extensions.
This is why the lunch "location" logic (locationId and userId) has been
shifted to a new model extension ("Lunch Model Extension") which
provides an additional domain part to the other search extensions.
Part of task 2228968
Co-authored-by: Julien Mougenot <jum@odoo.com>
Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Refactoring of the search panel and its inner logic to Owl.
The previous search panel widget has been divided in 2 parts:
1. Component
The "Search Panel" component's responsibilities are now to render the
search panel data given by its model, display some rendering logic
(expanded categories, checked groups) and dispatch the events triggered
on it.
2. Model Extension
The "Search Panel Model Extension" holds all the search logic of the
search panel. Its responsibilities are calling the server to update its
data and to provide them to its component and other search extensions.
Part of task 2228968
Co-authored-by: Julien Mougenot <jum@odoo.com>
Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Refactoring of the Model class of `model.js` to support multiple
extensions.
The purpose is to build a model having the appropriate modules for a
given situation. For instance, we don't need the control panel model if
we don't have a control panel to start with.
Some logic of the control panel model (which was until now the "main"
search model) has been given to another model extension named
"Search Model Extension" which will synchronize the informations of all
models providing search data (domain, context, etc.).
The model instantiated in the actions/views is now an instance of the
"Action Model" (which directly extends the Model) and is meant to
replace the view model in the long term. It might however need some
improvements to hold such a role (partial interface rendering, etc.).
Part of task 2228968
Co-authored-by: Julien Mougenot <jum@odoo.com>
Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Before this commit, any value could be added to registries and the class
needed to be overridden to assert that added values would answer to a
certain predicate.
Now, the registry can be instantiated with a given predicate function
that all added value must pass to be registered (default: all values
are accepted).
Existing implentations have been adapted:
- FieldRegistry
- FieldRegistryOwl.
Extraction of the findItem function from the control panel test utils
to the dom utils.
This function helps find an item matching a given selector and:
- having the given text as its inner text
OR
- being the item at the given index
An error is thrown if no item matches the predicate
Before this commit only admin setting user can merge contact which is a bit to restrictive
Contract Creation group seems more adequate
closesodoo/odoo#54831
X-original-commit: b5d5bc30dd3769deab09cbc0915741a93df229ef
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Before, if we had PREFIX/9 and PREFIX/10, the highest number was the
lexicographic order, leading to proposing PREFIX/10 again and again.
Because of performances, we can't execute the regex in the SELECT query
and we need to store it in the database. This will allow to do an
indexed search.
closesodoo/odoo#54811
X-original-commit: 8806f33ef68771834496b764aa4c37b7ccf5841a
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
Large form views (containing a lot of fields), e.g. the crm.lead
form view, take a while to render (~ 250 ms). Most form views
contain several (sometimes a lot) invisible fields (invisible="1"),
whose only purpose in the view is to be fetched, so that they can
be used to evalute domains and contexts.
This commit implements a trivial optimization of the form renderer,
which consists in skipping the rendering of those invisible fields.
With this change, we gain ~25% of rendering time on the crm.lead
form view.
closesodoo/odoo#54368
Related: odoo/enterprise#11875
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
The benchmark suite has been broken for a while, by several
refactorings (e.g. use of native Promise). This commit makes it
work again. We do not use it much, but maybe we should as it can
be useful to track changes (mostly in view renderers) that impact
performances.
- Python code is counted slightly differently
in python 3.8.
```python
a = """
str
"""
```
is counted as 2 lines until python 3.7
and only one since python 3.8
This change will not impact a lot the count
but we have to make sure the test will pass
if the test are run
on python 3.8
- the folder migrations is not maintained
from version to version and thus should not be
counted for the maintenance.
closesodoo/odoo#54537
X-original-commit: 2a57a156c7b8e81c01afa095b3291361d208611f
Signed-off-by: Antony Lesuisse (al) <al@openerp.com>
RATIONALE
Even will soon gain a major update called Event Online, allowing to better
support full-online events. In order to prepare its merge, preparatory merge
are done to lessen the final diff.
PURPOSE
Prepare Event Online support by providing fixes and preparatory cleaning
commits.
SPECIFICATIONS
base: support format on duration field when not in digital display
website_event(_track): reorganize website menu management code: move it in
order to have it clearly separated from other code, easening future changes
website_event(_track): improve tests and test classes
website_event_track: add missing views for website menu model: this helps
debugging and tracking what happens with those event-specific menus
LINKS
PR #54801
Task ID 2304817 (Event Preparation 3)
Prepares Task ID 2252655 (Main Online Event task)
Prepares Task ID 2283796 (Event B2Basics)
closesodoo/odoo#54822
Forward-port-of: odoo/odoo#54801
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
RATIONALE
Even will soon gain a major update called Event Online, allowing to better
support full-online events. In order to prepare its merge, preparatory merge
are done to lessen the final diff.
PURPOSE
Add missing views for website menu model. This helps debugging and tracking
what happens with those event-specific menus.
LINKS
PR #54801
Task ID 2304817 (Event Preparation 3)
Prepares Task ID 2252655 (Main Online Event task)
Prepares Task ID 2283796 (Event B2Basics)
X-original-commit: 92f4e01c35460afd8aeee5ed9790e10850b68109
RATIONALE
Even will soon gain a major update called Event Online, allowing to better
support full-online events. In order to prepare its merge, preparatory merge
are done to lessen the final diff., ...
SPECIFICATIONS
Improve website_event and website_event_track test coding style, notably
* use specific users when performing tests to trigger access rights issues
(this notably allowed to find an issue with event groups not allowed to
update menus);
* define common classes;
LINKS
PR #54801
Task ID 2304817 (Event Preparation 3)
Prepares Task ID 2252655 (Main Online Event task)
Prepares Task ID 2283796 (Event B2Basics)
X-original-commit: 774211c7e4667c5350ac090510e72c106f2d10b6
RATIONALE
Even will soon gain a major update called Event Online, allowing to better
support full-online events. In order to prepare its merge, preparatory merge
are done to lessen the final diff.
PURPOSE
In this commit we simply move some code in website_event and event_track to
better separate code about menu management from other code. It allows to
understand code organization and will lessen diff of future commits improving
menu management.
LINKS
PR #54801
Task ID 2304817 (Event Preparation 3)
Prepares Task ID 2252655 (Main Online Event task)
Prepares Task ID 2283796 (Event B2Basics)
X-original-commit: 35b265f1950e9f2977edc940645c35efef19e3c9
RATIONALE
Even will soon gain a major update called Event Online, allowing to better
support full-online events. In order to prepare its merge, preparatory merge
are done to lessen the final diff.
PURPOSE
In this commit we add support of formatting on duration widget. Possible values
are long, short and narrow (see babel formatting options). This option is not
used in digital display mode.
LINKS
PR #54801
Task ID 2304817 (Event Preparation 3)
Prepares Task ID 2252655 (Main Online Event task)
Prepares Task ID 2283796 (Event B2Basics)
X-original-commit: 468a30b0057f4f1c4fba409f4b4baa4f889aad12
Revision fad3ed7ce4 introduced a forced
recompute of `billable_type` which unfortunately has repercutions
(compute triggers) upon every single task of a project, meaning that it
will not scale properly as the number of tasks grows and it is now
called everytime we want to access a project view form whch is a
terrible performance drop.
The underlying issue that it tried to address was that the field
billable_type was not correctly computed when deleting the linked
sale_order_id from the project. This happens because when deleting a
record, it is PSQL that sets relational m2o value (in this cas
sale_order_id to NULL and the ORM has no way to catch that information.
A proper fix consists to change the dependency of the computed field
from the m2o to one of its fields. This will properly mark
'billable_type' to be recomputed when unlinking the sale order.
Note that to avoid useless recomputation which would lead to the sale
result, we rely on a filed that should not change once the sale order is
created.
closesodoo/odoo#54817
X-original-commit: 4f2b532c3ef4ebd9beb2a448f59c4e645ba1e8a1
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
Select a sales order.
Go to action > generate payment link.
Open private browser, reach the link.
User will receive error message because of access denied to the
res.partner data.
opw-2287534
closesodoo/odoo#54808
X-original-commit: 3b4f3a8ad2880721cf6de9fb08387412df85d356
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Issue
- Install "eLearning" app
- Add video to course
- Open video course in fullscreen mode
1. Google drive error message
2. Video still loading
Cause
1. The base google drive video url has no params,
and when adding params, missing the "?" before them.
2. 'autoplay' param make crash the launcher.
Solution
1. Use URL javascript library to append params.
2. Let "autoplay" param only for non google drive video.
opw-2294344
closesodoo/odoo#54793
X-original-commit: 6da17c3ee1e0c63b0cace60da2f98cfc4fe8ac57
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: bon-odoo <nboulif@users.noreply.github.com>
Before this commit knowing which _order option was having issues may
be non-obvious.
This changes makes it a bit more obvious.
closesodoo/odoo#54703
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
The translator defined a `meta` attribute, however:
* it was static so couldn't be expanded using the `meta` directive,
move to instance attribute, and create an `add_meta` method which
adds some indentation (for a cleaner HTML output)
* the `meta` directive itself was not supported by the translator
* turns out HTMLWriter just removes the first to entries of `meta` as
"cleanup", which explains why we had to duplicate it in the template
- therefore pad the `meta` list and remove entries from template
- move front to linktags, that seems more relevant
closesodoo/odoo#49699
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
- Create 3 products A, B1, B2
- Create a BOM for A:
Manufacture, 1 unit of B1
- Create another BOM or A:
Kit, 1 unit of B2
- Create a MO for A
- Click on 'Produce'
B2 appears as a 'By-product'. Upon saving, an error occurs because of a
rounding set to zero.
The issues is coming from the generation of the `move_finished_ids`.
Since the product A has a BOM kit, the latter is exploded and added as
'By-product'.
We should not try to find phantom BOM for this specific use case. A
solution is to not explote the move produced.
opw-2251423
closesodoo/odoo#53526
X-original-commit: 226ccc2f64d00a19e0ae8851c45051106aa49adc
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Given an scenario in which a field F of model M is defined in module X
as `required=True` and is extended by another module Y as
`required=False` in a database with data not satisfying the original
constraint:
During an upgrade of base the original constraint will be re-applied
on the data (and fail) even though it is no longer necessary because
module Y relaxes the NOT NULL constraint.
This failure in and of itself is non-blocking, the upgrade will go
through but an error and a warning are logged anyway which are not
problematic either except in the case of automated testing
infrastructure (such as runbot), because of this it would be best if
these errors would not be logged at all unless we're 100% sure that the
constraint that was applied is not relaxed downstream.
With this commit, the `finalize_constraints` method will verify that the
constraint is applicable (field is required) before re-applying the NOT
NULL constraint.
opw-2269220
closesodoo/odoo#53529
X-original-commit: f09f4826fbdd1a547503c51a3cfad71285312c49
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
Followup on ca707502a6
During replacing `partner_id` field in `purchase_requisition` module, widget and context key `show_vat` was not preserved.
With this commit we add missing attributes of the field.
closesodoo/odoo#52383
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
This ensures that flushing a one2many field automatically flushes its
inverse many2one/integer field. Without that, a search like:
model.search([('o2m_ids', 'in', ids)])
can return incorrect results.
closesodoo/odoo#53514
X-original-commit: b91b485a5d9a62acfe44b12c64a46dcca23981ce
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
1. Activate receipt in 2 steps
2. Make a PO of 10
3. Receive 8 (pick 1), backorder
4. Receive 2 (pick 2)
5. Unreserve the internal transfer (pick 3)
6. Go to pick 2, return 2 (pick 4)
=> product is sent back to the supplier
7. Go to pick 4, return 2 (pick 5)
=> product is received from the supplier
8. Go to pick 3, check availability
Only 8 units are reserved instead of 10.
It happens because pick 5 (return of the return) is not linked to the
pick 3 (internal transfer).
We use a similar approach for `move_dest_to_link` than the one used for
`move_orig_to_link`.
Closes#52459
opw-2271838
closesodoo/odoo#53506
X-original-commit: c96339dd94ffe1e9c5103814062455c79d93a273
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
resolves the following error:
E psycopg2.IntegrityError: null value in column "partner_id" violates not-null constraint
E DETAIL: Failing row contains (193, 010391391, null, null, null, null, 10, null, 1, 1, 2020-05-20 20:05:28.431208, 1, 2020-05-20 20:05:28.431208, null, null, null, null).
To generate an ISR payment slip you need:
* a type == out_invoice
* a partner bank account with a ISR issuer number (field l10n_ch_isr_subscription_[chf|eur])
* a currency either in EUR or CHF
Remarks:
* l10n_ch_postal is not necessary and must be used for Vendors only.
* human readable subscription number is xx-yyyyyy-c
validation of such format is done with the following PR: https://github.com/odoo/odoo/pull/51544/files
It does:
- Removes unexisting field from tests
- Adds required field on partner_id
- Fix test with an actual case that case generate ISR payment slips
closesodoo/odoo#53498
X-original-commit: 776fd59909d12c981585fac82cfa9f3603d96ccf
Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
A recent commit [1] made the daterangepicker automatically close
itself on scroll events. However, in firefox, a scroll event is
triggered when the daterangepicker opens. This event is triggered
inside the picker itself. As a consequence, the picker is closed
directly. This commit solves the issue by only closing it on scroll
events occurring outside the picker.
[1] https://github.com/odoo/odoo/commit/e6730c6e928587cd7438340cc101c57fee34220bclosesodoo/odoo#53497
Task: 2282571
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
- Install US localization
- Change the paper format of the main company
- Upgrade `l10n_us`
The paper format is changed back to 'US Letter'.
Note that the current situation is not ideal since it forces the
paper format on the main company, whithout taking into account its actual
country.
opw-2272894
closesodoo/odoo#53494
X-original-commit: 618f0e7f8b411e1930c73f52462e674353c18be9
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
purpose of this task to improve invoiceable lines decoration
in view_order_form
- decoration is removed from the order line tree view
- decoration applied to fields
- product_uom_qty
- qty_delivered
- qty_invoiced
closesodoo/odoo#53402
Taskid: 2282277
Closes: odoo#53402
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Purpose of the task is to improve the employee image and phone
behaviour while changing the user.
So in this commit, IF there is no pitcure on employee then apply the
image of user while adding the user to employee from cretae, write
and onchage. do not change the employee image if employee image is
already set while creating employee or changing the user on employee.
Also improve the phone behaviour when changing the company,
- Never change the mobile_phone when switching the company
on employee
- Always change the work_phone when switching the company, except
if empty on res.company.
closes odoo/odoo#50115
Taskid: 2240167
Closes: #50115
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
When an applicant is created from the website
and the job_id has a first stage with a template to send
the mail is actually not sent.
This is happening because at the creation of
a mail.thread values from computed field don't
appear in the change to track.
so _message_track_post_template don't see the
change on stage_id and thus don't send the email
This is going to be fix on the master
in the meanwhile we can force the value of the stage_id
at the creation of the applicant from the website form
closesodoo/odoo#53462
X-original-commit: bbaf4913382809da0c4d644f914cb3e8191a5d1b
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>