_compute_is_mto was based on the sequence of the routes,
as most of those sequences were hardcoded, some had the same values,
resulting in wrong calculations. Furthermore, the method was setting the so lines
as mto if the sequence of the MTO route had the priority on the other ones, even if
the mto route wasn't set on the product.
This simply ensure to check the mto route is set on the product,
sequences should be set manually to prevent any sequence conflict.
TaskID: 2053703
closesodoo/odoo#35740
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
As it is is trying to write the journal type field everytime we try to
create a account.bank.statement record, even when the value we try to
write is the same already, it is assigned again in the journal.
With this new change we are not trying to overwrite the journal's type
field anymore. Only using it.
Closes#35578closesodoo/odoo#35714
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
Each model of the relation can define `ondelete` for its `column2` foreign key.
This way the behavior is similar to m2o where the target of the `ondelete` is
the `comodel` foreign key.
Some models were already defining `ondelete` 'restrict' on m2m fields and after
review it appears the behavior introduced in this commit is the expected
behavior for them.
The 'restrict' from product.product has to be removed however because the rest
of the code needs adaptation now that it is properly restricted. These changes
will be done on a separate PR.
closesodoo/odoo#35654
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
- no default reason (otherwise the invoice ref is repeated twice)
- rewording of refund types and helper texts
- avoid 'Reversal of: INV/2019/001, False' as reference -_-
When you try to find a carrier in the wizard that let you add one on
your sale order, you don't see all of them because of a domain that only
show the ones that havethe same company id of the sale order, but it
should also show you the ones that don't have company_id set.
So we removed the domain in the view, and the invisible company_id as it
is not used anymore. Because the domain we need is already applied in
'available_carrier_ids'.
This behavior has been introduced in rev: c058562d73closesodoo/odoo#35856
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
task-1973902
+ use of img locally
+ last PO review:
+ show latest in the list
+ remove underline
+ force same height if blog or not
+ ...
closesodoo/odoo#34609
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
In case of large cart and promotion program with a discount reward
of percentage type, we are rewriting the reward order lines
multiple times while we can do all in one update.
opw-2038791
closesodoo/enterprise#5086
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
X-port/Cherry-pick of odoo/enterprise@243e66663a
UTM fields are available in the invoice without sale_crm. That's why just apply
search_read on account.move instead of doing
--> search on sale order
--> map on invoice_ids which is computed
--> search_read on account.invoice.report
to get sale_invoiced_amount.
Currently, stat button 'Invoiced' is not redirecting to invoices tree
view because of wrong action and domain parameters. Thus we, set proper
action and pass valid parameter to get that invoices tree view.
Task 1919391
closesodoo/odoo#35296
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Purpose
=======
It happens a lot that we access to the employee timezone to compute
presence states, leaves, ...
Instead of sudoing all those accesses, it looks better to expose this
data in the public profile.
closesodoo/odoo#35811
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Create two models, `object` and `category`. The object have a Many2One
to the category. Override the `search` on the category so it returns a
subset of the records if a context key is present. Create an IR Rule on
object with the following pseudo-domain: `categ_id in category.search([])`.
Search on object with the context key present. Even if the context
should only be applied to category, it is applied to object too thus
there are some object missing.
When evaluating the domain of IR Rules, the current user is propagated
with the current environment context. API calls triggered by the domain
are called with the given context, possibly populating the cache with
different records than it would normally does without the context (i.e.
at `addons/point_of_sale/models/account_journal.py#L19-L23`). Following
requests do use that invalid cache thus return invalid results.
Forcing an empty context on the user used during the evaluation of the
context ensures the IR Rules are working as they should and is
future-proof (cf `load_company` v13 context key)
opw-2041667
closes#35123closes#35125closesodoo/odoo#35667
Signed-off-by: Julien Castiaux <Julien00859@users.noreply.github.com>
Co-authored-by: Hugo Adan <hugo@vauxoo.com>
When accessing a SO's tasks from Contacts (the partner_id's page), and
calling action_view_task, the active_id first corresponds to the contact's id.
Therefore, if a project.project exists with the contact's id, one can access
the SO's tasks, but otherwise, we get the error
Record does not exist or has been deleted.
(Records: [partner_id], User: ...)
Thus, if there is one corresponding project, we first update the context:
active_ids is set to project_id,
allowing access to the SO's corresponding project's tasks.
Note that the same thing is done lower:
eval_context.update({'active_id': task_projects.id})
which is too late to avoid trying to access the wrong record.
In the case where there are more than 1 corresponding projects (or if
there are no corresponding tasks), we don't have the issue.
OPW 2052559
closesodoo/odoo#35792
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
In some cases, the first request of a test is made before the
proper setting of the cookie. In that case, Odoo picks a new session,
leaving the request unauthenticated.
closesodoo/odoo#35780
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
- Take a quizz survey, and fail it
- Go to Answers
- Print the Certification
Even if the quizz was failed, the certification can be printed.
There is no option to prevent printing a PDF, therefore we need to print
a different template.
opw-2049481
closesodoo/odoo#35769
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
- Create Event (Where All Day is Set to False)
- Edit Event > Check 'All Day', make it 'Recurrent'
An error occurs because a mandatory field is not set (`stop_date`).
It is possible to work around the issue by doing:
- Check 'All Day'
- Save
- Make it 'Recurrent'
However, the result should not depend on the order we perform the
action. To solve this we send data to server with `force_save`.
Fixes#27269Closes#33068closesodoo/odoo#35758
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
From the Maintenance app go to "Settings">"Equipment Categories".
Create a new category, insert a name and save. An alias get
automatically created with the same name as the new category.
The new alias point to "Maintenance Equipment" model, so when
an email is matched with the alias a new equipment under the new category
is created. This is indeed the default behavior but the help message
is deceiving the user. Changing it.
opw-2049830
closesodoo/odoo#35728
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Task 1861198
Add code in tax lines for enterprise commit
Check that some control formula are verified. Display it before exporting the xml and on the tax return journal entry.
closesodoo/odoo#34186
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
Add the dependency between website and auth_signup
auth_signup is in auto-install but there was no strict dependency
Before this commit, installing website transformed the field
auth_signup_uninvited from a static list to a computed list (due to related).
This fixes the following bug:
1. install auth_signup
-> create selections
2. install webstite
-> remove selections and turn it into a computed field with dynamic
selections
3. update auth_signup
-> recreate the selections when updating the module
4. reload the registry (automatic at the end of update)
-> try to remove the selections -> error as not in install/uninstall
mode
Instead, keep the list static and turn it into a computed field with
inverse
closesodoo/odoo#35861
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Currently when shipping method is added on the sales order with error message
then on update of shipping method it will display the error message in dialog
but it will be hidden behind the update shipping method wizard
so on update shipping method display notification instead of dialog.
Closes: #35808
Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
On shipping method company is not required field so having blank
company on shipping method will be a shared method.
so while adding shipping method on so also display the company on
which the company is not set.
Closes: #35808
Before this commit, the external email settings were saved but the
alias domain model was empty. This was caused by this field being
editable in mail module, but readonly in hr_expense and crm_module.
This commit fixes the issue by force saving the readonly fields, so
that they are stored in database and non-empty after save.
Task-ID 2047446
closesodoo/odoo#35589
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>