before this commit:
The `odoo-bin neutralize` command would not neutralise l10n_eg_edi_eta
closesodoo/odoo#92298
X-original-commit: 9a0a644444be4cceb4bdc43838dc6ce414608437
Signed-off-by: Josse Colpaert <jco@odoo.com>
An enterprise module adds the possibility to upload bank statements.
Since the mechanism is exactly the same, we should use the same
functions.
closesodoo/odoo#83639
Related: odoo/enterprise#25123
Related: odoo/upgrade#3460
Signed-off-by: Cedric Snauwaert <csn@odoo.com>
In privacy_lookup, an action is called with a XML id that is not existing.
This commit fixes the traceback received by pointing to the correct XML id.
closesodoo/odoo#92499
Signed-off-by: Kevin Baptiste <kba@odoo.com>
A few points can be improved in the display of the journals audit report:
1. it only contains the account codes. This can be unclear and lead to hard to read reports, especially for manually created accounts
2. the width of the columns Partner, Account, Label can sometimes be too small which causes a line break to happen too early
3. monetary fields do not align right for right-to-left languages.
This commit addresses these issues by:
1. adding the account name right next to the account code (same column) for more clarity.
2. setting a minimum width to mentioned columns
3. modifying the html classes accordingly to ensure the text aligns right no matter the direction of reading of the language (l2r or r2l).
task id=2824121
closesodoo/odoo#92304
X-original-commit: 0f5d125ee12597b4acb40053f74af8e03a102493
Related: odoo/enterprise#27776
Signed-off-by: Quentin De Paoli <qdp@odoo.com>
This migration script assigns the tags associated to an account's
templates to the account. It fails to consider conflicting cases
when the account already has the tag, or when multiple templates
associated with the same account share the same tag.
closesodoo/odoo#91663
X-original-commit: 04e3d52cff678dacee530e12d3f833fcce9147bc
Signed-off-by: Olivier Colson <oco@odoo.com>
Signed-off-by: William André (wan) <wan@odoo.com>
Remove `mail.mail` in batch
===========================
Improve the performance of mass mailing by removing the <mail.mail>, in
batch, all at once. The unlink operation is very expensive for the ORM,
in terms of SQL queries.
A new field `to_delete` is required to know which <mail.mail> we need
to delete. The reason is that the `failure_type` is stored on the
<mail.notification>, and it's possible to have <mail.mail> without
<mail.notification>.
Improve some views
==================
Show the state of the <mail.mail> in the tree view and color only the
badge widget instead of the entire row.
Misc improvement
================
Do not remove cancelled email during the sending.
It's not the role of the sending method to remove non outgoing emails.
Do not try to send a lot of emails because of the mass mailing demo data
Task-2587345
closesodoo/odoo#73271
Related: odoo/enterprise#24266
Related: odoo/upgrade#3481
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Purpose
=======
Improve the performance of mass mailing by removing the <mail.mail>, in
batch, all at once. The unlink operation is very expensive for the ORM,
in terms of SQL queries.
A new field `to_delete` is required to know which <mail.mail> we need
to delete. The reason is that the `failure_type` is stored on the
<mail.notification>, and it's possible to have <mail.mail> without
<mail.notification>.
Task-2587345
Part-of: odoo/odoo#73271
Purpose
=======
Show the state of the <mail.mail> in the tree view and color only the
badge widget instead of the entire row.
Fix a typo in the help of the scheduled_date field on mail template.
Task-2587345
Part-of: odoo/odoo#73271
This PR tackles event registrations in two ways:
1. In order to reduce the concurrent writes on the database occurring when many users book at the same time, this unstores seats availability on events and tickets.
2. To provide better tools to analyse revenues specifically generated from events, we add an event sales report (+ a dashboard with Enterprise).
Task-2654816
Task-2679881
See odoo/upgrade#3118
See odoo/enterprise#24472closesodoo/odoo#81583
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
As an event manager, it can be difficult to estimate how much of the revenue
was generated by the events. To give clear insights, we will add new reports
to the 'event' module.
With those new reports, the user can group the revenues by event (type),
ticket, product, etc. The user will then be able to quickly see which tickets
and events are the most profitable ones. The reports will be accessible only if
the user installed the 'sale' module.
Task-2679881
See odoo/enterprise#24472
Part-of: odoo/odoo#81583
Co-authored-by: Florian Charlier <flch@odoo.com>
Co-authored-by: Julien Banken <jbn@odoo.com>
With stored computed seat attributes, the database can be flooded with update
queries for the stored values for the event (ticket) seats computations (such
as reserved, expected, and available seats).
This can especially occur when a communication is sent to many people about
an event with a registration link, many users may want to register at the same
time, possibly resulting in concurrent_update errors.
In this commit, we remove the `store=True` attribute of those fields, and
therefore remove the Reporting/Event feature depending on them and rewrite some
domain searches and _compute fields in the event and event_sale modules.
This also impacts the way constraints are enforced on the number of
registrations vs defined maximum as no stored value is directly available.
For performance reasons, all events and tickets are now shown on backend form
views, with seat availability added in their displayed name.
Misc
To avoid delaying the inevitable, the Event configurator modal/wizard now
validates event/ticket consistency at closing.
The UI of the RegistrationEditor wizard is also improved:
* A warning alert will tell users that free registrations were not confirmed
because of insufficient seat availability.
* A first step to better explain the consequences of the actions taken on the
modal was to be taken, here via the description and buttons wording.
Tests
Query counts are (indeed reduced) and updated. However, as local testing with
`test-tags=/test_event_full` ("tef_only") is currently not reliable, these
values were updated by applying the same change from the commit as the one seen
for the runbots, while a "?" is appended to show this uncertainty.
Task-2654816
See odoo/upgrade#3118
Part-of: odoo/odoo#81583
Add the `res_users_settings_id` field on `res.users` so that it can be
used as a target for relateds that is not a x2many field.
closesodoo/odoo#90015
Related: odoo/upgrade#3479
Related: odoo/enterprise#26287
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Move expected init_messaging results in a getter so that it can be
overriden.
Needed for task-2821508 that adds fields to the model
`res.users.settings`, whose the content is returned by init_messaging.
Part-of: odoo/odoo#90015
PURPOSE
This commit allows one to filter the events based on its address
LINKS
Task-2810400
closesodoo/odoo#87678
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Moved the cross behaviors and logics in a new link module. This avoid having to
create hook methods in the `point_of_sale` that needs to be overridden.
closesodoo/odoo#92256
Signed-off-by: Masereel Pierre <pim@odoo.com>
Both default expenses product were called Expenses, which was confusing
as it was not possible to distinguish them at first glance.
Here the expense product with a fixed cost is renamed to make it more
clear.
odoo/upgrade#3546closesodoo/odoo#92232
Taskid: 2862104
Signed-off-by: Kevin Baptiste <kba@odoo.com>
Current behavior before PR: You have to find the right menu/view and then take
over the ID stored on the activity (through export) to find back the record.
This is annoying, painful and error prone.
Desired behavior after PR is merged: By adding a smartbutton the user can
quick-navigate to the related record in a second. This allows for quickly
finding and opening records which is usually handy when debugging things or
finding back related records.
Task-2868230
closesodoo/odoo#91230
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Current behavior before PR: You have to find the right menu/view and then take
over the ID stored on the email to find back the record. This is annoying,
painful and error prone.
Desired behavior after PR is merged: By adding a smartbutton the user can
quick-navigate to the related record in a second. This allows for quickly
finding and opening records which is usually handy when debugging things.
Task-2868230
closesodoo/odoo#91228
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
This applies the following heuristic when converting from static columns
to stacking, responsive columns: don't do stack duos of columns where
one is very small and the other very big (eg., col-2 col-10). This
doesn't apply when one of the columns in question is host to a
full-width element (as this could cause ugly sizing).
task-2761098
closesodoo/odoo#87962
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
On mobile, header cells don't always have the space to fit in one line
and end up getting stacked with one aligned to the left and the other
aligned to the right. To avoid this ugly mess, center everything on
mobile.
task-2761098
Part-of: odoo/odoo#87962
When fixing a row's max-width for responsivity, we need to get the
parent table's width before manipulating it. Failure to do that caused
issues with nested table dimensions. In addition, masonry's maze of
nested tables required some extra styling in order to propagate
alignment.
task-2761098
Part-of: odoo/odoo#87962
Since flexbox is not well supported across e-mail clients, columns were
until now not responsive. This adds support for responsive columns and
a special rendering of them for Outlook so they don't break there.
task-2761098
Part-of: odoo/odoo#87962
Outlook's renderer doesn't understand Bootstrap's styling of buttons we
have a special rendering just for it but its design was suboptimal so
this improves it.
task-2761098
Part-of: odoo/odoo#87962
Outlook doesn't seem to properly read `text-align: inherit` on tables.
This makes them explicit by fetching the alignment of the first ancestor
with an explicit alignment.
task-2761098
Part-of: odoo/odoo#87962
When using the product configurator for event tickets the
price was not updated when picking a ticket with a different
price.
This of course is to the desired behavior.
This commit makes sure the unit price is correctly
recomputed when the ticket is modified on the SO
line.
Task - 2767301
closesodoo/odoo#85208
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Before this commit, the external collaborator cannot see in which
milestone the tasks in the project are linked in the Project Sharing
feature.
This commit adds the milestone field in the Project Sharing to show the
milestone linked to a task in the project shared.
task-2829542
Before this commit, when the `Milestones` feature is disable, the user
can always defined a service product with invoice policy equals to
'Based on Milestones' but since the feature is disabled he cannot add
this product on a milestone and so this configuratiom is useless without
the feature.
This commit removes the item into the invoice_policy field Selection
when the feature is disabled. Moreover, when the feature is disabled,
the existing products with this setting should be updated to be a
service product with `invoice_policy='delivered_manual'`. The quantity
delivered method of the existing SOLs containing those products should
also be updated to allow the user to manually edit the quantity
delivered of those SOLs when the `Milestones` feature is disabled.
However, when the `Milestones` feature is enabled again, only the
products contained in SOL linked to a milestone will be updated because
we cannot assume all service products with
`invoice_policy='delivered_manual'` were a service products with invoice
policy based on Milestones. Also the existing SOLs containing the
products updated will not be updated too to not impact the quantity
delivered.
task-2829542
Before this commit, 2 loops are made, one for the `filtered` method and
another for the for loop with the result of the `filtered`.
This commit avoid using the `filtered` method since all could be done in
the for loop directly.
task-2829542
Before this commit, when the user changes the stage of a task linked to
a milestone, he cannot know if after that task, there is another one
before reaching the milestone related.
This commit displays a wizard to allow the current user to directly
mark as reached the milestone when the user changes the stage of a
task linked to a milestone to a closed stage and all tasks linked to
that milestone are done too. However, if the milestone is already
reached, no wizard will be displayed.
task-2829542
Before this commit, when all tasks linked to the milestone are done, it
means all tasks are in a closed stage. Then, the user has no visual
feedback to know if all tasks linked to the milestone are done to be
sure he can mark the milestone has reached without missing a task to
complete.
This commit checks if all tasks of unreached milestones shown in the
project update are done or not. If it is the case the milestone is
greened to show to the user that milestone can be marked as reached.
task-2829542
Before this commit, the compute of `sale_line_id` field searches a SOL
to set to each task containing in `self` as default value for
`sale_line_id`. If no SOL is found in the parent task or the project set
into the task then no SOL will set. Since a milestone can be set to a
task and a milestone can have a SOL set in its model, the task could
have the one of the milestone if no SOL is found.
This commit sets the SOL from the milestone to the task if no SOL is
found in the project or the parent task related to that task.
task-2829542
Before this commit, the milestone is displayed in red in project update
when its deadline is in the past. To display the tasks containing a late
milestone, a filter need to be added.
This commit adds this filter to display the tasks containing a milestone
with a deadline in the past. This filter is also added in the `Tasks
Analysis` and the `Burndown Chart` reports.
task-2829542
Before this commit, the milestones are only linked to a project without
any link to the tasks of the same project. However, the tasks could be
considered as steps to reach a project milestone.
This commit adds a link between the `project.task` and
`project.milestone` models. This link is added in the `project.task`
model with the Many2One field called `milestone_id`. With this field,
the user will be able to link a milestone to a task.
task-2829542
Since 43474916 and ff37a2fe, the function `name_get` now returns an
empty string for missing records. This change was not reflected in
mockServer.
This commit also copies the tests of `name_get` on the legacy mockServer
to the "new" one. They were missing.
closesodoo/odoo#92473
X-original-commit: 638fab65cdf7a615138dee1395f54224b3ea1e77
Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
Co-authored-by: Lucas Lefèvre <lul@odoo.com>
List of companies is a quite delicate configuration, which must be done by Admin
via`Settings > Companies` menu. Inline creation should be always disabled for
`company_id` field. Few such cases were presented probably because of
ambiguous setting name `no_create_edit`: it disabled "Create & Edit" button, but not
"Create" button.
STEPS:
-Go to Sales -> Products and go to the List view.
-Select one Product and try to change their Company
-You'll be able create a new company.
opw-2861853
closesodoo/odoo#92453
X-original-commit: 73e6d2250b2bf15d757f0333f8f014bd8a9895cb
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: Ivan Elizaryev (iel) <iel@odoo.com>
Step to reproduce:
- Have a least 2 lang with portal lang set to langA
- Log in as portal user
- In portal change lang to langB
- Go to portal sharing view
Current behaviour:
- Iframe does not get info from the request and use the user's
lang
Behaviour after PR:
- If there is a lang set on the website (in url) we use this one
instead.
closesodoo/odoo#92459
X-original-commit: 8c8cc52479132a91a2abd7592d589835798c3a49
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
This commit deletes the class `o-autogrow` and replaces each instance of
it with a global Bootstrap class.
Task-2833725
closesodoo/odoo#89714
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
stdout:
stderr:
15:07:24.803999 git.c:344 trace: built-in: git cherry-pick dc8dac3e0f004f2d2569fb2bcf780a4b0669d23f
error: could not apply dc8dac3e0f0... [FIX] website_sale_stock: use website warehouse on sale order
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'
----------
status:
closesodoo/odoo#92461
X-original-commit: d47b845faeda716a3a943fc4aff6c90a86d26b70
Signed-off-by: William Braeckman (wbr) <wbr@odoo.com>