[FIX] web: Correctly aggregate values in exported parent groups
--------------------
When exporting a grouped list view with some nested groups, the aggregate value
of parent groups are not correct. It always sums aggregated values of children
whether the group operator is 'sum' or not (could be 'max', 'avg', ...).
This behavior is wrong and can even lead to a crash if the aggregated field is a
date field (e.g. with group_operator='max'). (Try two sum two dates...)
To avoid the crash a quick fix was merged 85cf47f just before OXP. This fix
limited the support of aggregates to only int and float fields.
This commit remove this limitation.
This commit correctly implements the aggregation for parent group for all
field types and all group_operator.
This commit also improves the export feature tests.
[FIX] base export: Manage False in groupby title
--------------------
Before this commit, when we export a list with a groupby on
boolean, the groupby title 'False' is replaced by 'Undefined'
in xls document.
After this commit, with an export and groupby on a boolean, we
will have correct title: True and False.
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
closesodoo/odoo#38896
Forward-port-of: odoo/odoo#38373
Signed-off-by: lul-odoo <LucasLefevre@users.noreply.github.com>
Usecase to repdroduce:
- Create a manufactured product with route manufacture and a RR
- Run the scheduler.
Orderpoint will prepare procurement values's date as string. Other
module could possibly also use string as date and a call to from_string
will not break anything if the value is already a date or a datetime.
closesodoo/odoo#38900
X-original-commit: e4c654f8e5e768288226c725a1018ae31e8f5606
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
The attribute `self._fields` is not well named. This is not a list of instances
of the Field class.
It is a list of field names to export.
e.g. 'journal_id', 'account_id/name'
X-original-commit: 6225ce60082d5d2b5fec0e678fe2a1f3f9b93668
When exporting a grouped list view with some nested groups, the aggregate value
of parent groups are not correct. It always sums aggregated values of children
whether the group operator is 'sum' or not (could be 'max', 'avg', ...).
This behavior is wrong and can even lead to a crash if the aggregated field is a
date field (e.g. with group_operator='max'). (Try two sum two dates...)
The quick fix 85cf47f was merged just before OXP to avoid any crash. This fix
limited the support of aggregates to only int and float fields.
This commit remove this limitation.
This commit correclty implements the aggregation for parent group for all
field types and all group_operator.
This commit also improves the export feature tests.
X-original-commit: 5e7e4fa98698967e3c4fd0903f4aa8e91981a6cd
Before this commit, when we export a list with a groupby on
boolean, the groupby title 'False' is replaced by 'Undefined'
in xls document.
After this commit, with an export and groupby on a boolean, we
will have correct title: True and False.
X-original-commit: 7e2c7bc35f2a5b3bc22e0e6c9d3b38279cda9367
In the employee form view and in the employee profile, the stat button
displaying the equipment count is wrong.
It counts the equipment owned by the user, not equipments assigned to the
employee.
closesodoo/odoo#38889
X-original-commit: 07bd725c97519a82cc76f3069614ac70b49495a3
Signed-off-by: lul-odoo <LucasLefevre@users.noreply.github.com>
The link tracker model (link.tracker) contained favicon (store)
and icon_src computed fields. Computing favicon took
{3-6.5%} of installing odoo (with demo data) due to syncronous http
call to a external link (google).
Moreover, these fields had no sense to be store in odoo
and only used in one template. This template was modified to
display the same information (icon) as before but without storing fields
and with a lazy loading of icons.
TASK_ID: 2083715
closesodoo/odoo#38405
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
It is possible to get to a situation where Odoo would try to send an email without a `From:` header address.
In such case, you're unlucky if you don't have access to the underlying deployment, or if you use multiple databases in a single Odoo instance and each of them uses a different mail configuration.
To make this configuration easier to use and cover those use cases, here I add support for a new ICP: `mail.default.from`. It will be used when present, so it shouldn't affect existing deployments. When present, it will allow a admin to configure the default sending address just with Odoo itself.
closesodoo/odoo#38874
X-original-commit: 5010ce630a7f0e01d45d99c9083318b50f9f624a
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
With a Right to Left lang.
Go to an employee form view.
Click on the small pill with the number of subordinates (in the org chart).
The popover opens but on the right side of the window instead of next to the
pill.
Fixes#38722closesodoo/odoo#38873
X-original-commit: 292d4e7ba6bde6970382c816e092892f64e58c73
Signed-off-by: lul-odoo <LucasLefevre@users.noreply.github.com>
Before this commit:
Private email and phone are related of partner 'address' fields.
But the phone was read-only and the email is editable.
After this commit:
As phone and mail are related, they are read-only. We must edit
them on the partner of Address field.
close#38518closesodoo/odoo#38872
X-original-commit: ed6fb25ca0671a520c9d003a58eefefcf93dbc1a
Signed-off-by: jbm-odoo <jbm-odoo@users.noreply.github.com>
Before this commit:
When there few elements in kanban and a search panel, all kanban
cards try to take a maximum of height and become deformed.
After this commit:
The behaviour of dimensions of kanban cards must be the same with
or without searchpanel.
closes#38556closesodoo/odoo#38871
X-original-commit: a95cbbd631a2fa9be62eb42cba43e853fdf4b789
Signed-off-by: jbm-odoo <jbm-odoo@users.noreply.github.com>
When a reconciliation proposition's amount is computed from a regex, we
cannnot be sure the regex captured something. If it didn't we don't want
to display a badly formatted line so we set the amount to 0.
closesodoo/odoo#38870
X-original-commit: 111495795b6cdc53312096078033804dbbfe57f2
Signed-off-by: Cedric Snauwaert (csn) <csn@openerp.com>
base_vat: Correct management of the check of peruvian VAT without prefix.
l10n_pe: Correct income account the last one is not correct.
l10n_pe: Forced Round globally for peruvian companies once l10n_pe is
installed, and with the onchange.
l10n_pe: For peruvian companies it does not make sense a sequence per
year and the year in the prefix is incorrect, we must force XXX- as
a sequence prefix.
closes odoo/odoo#38854
Forward-port-of: #38764
Signed-off-by: Josse Colpaert <jco@openerp.com>
In a barcode environemtn or a situation with a lot of stock.move.line
the subcontract is hard to use with record components because a line is
created each time the produce wizard is proccessed. Then each line is
duplicate, one with reservation and the other with effective transfer.
This commit try to merge them in order to limit the number of lines.
Task 2073383
closesodoo/odoo#38689
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
Usecase:
- Set details operations on picking type
- Create a receipt for a subcontracted product with tracked components
- Records production
- Go to details operations
The move line is created however the lot name is invisible.
It happens due to produce_wizard line creation. It will set the lot_id
but the field lot_id is invisible if the picking type use the option
'use_create_lot' and uncheck 'use_exisiting_lot'
In order to fix it set both lot_name and lot_id after the produce
operation.
When the action is called by a javascript function the view
is not correctly rendered because the tree type does not exist
in the registry but the correct type is list.
After the refactor of mail sending with the newest python API
(18299d7e50),
the order of multipart/alternative was wrong for email.
Indeed, in the MIME protocol [1], for The Multipart/alternative subtype
the order is significant: "In general, user agents that compose
multipart/alternative entities should place the body parts in increasing
order of preference, that is, with the preferred format last".
This bug caused some issues with mail marketing (see related task)
with Gmail web client (see the plaintext instead of html mail).
The fix is to inverse the order of adding alternative in the mail
content.
[1] https://www.w3.org/Protocols/rfc1341/7_2_Multipart.html
TASK_ID : 2084989
closesodoo/odoo#38490
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
The fieldbinary widget has an internal max upload limit set to 25mo.
This was set a long time ago, probably more than 5 years ago. Since
then, a lot of things have changed and it may be more frequent for users
to hit the limit. And it happens for some users, we had to increase
locally their limit.
Also, nginx is configured to accept files up to 64 mo, so it makes sense
that the web client also uses that same limit.
closesodoo/odoo#38856
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
* use an editable tree to edit the supplier info
* keep the original forms because they're used in the "vendor pricelist"
menuitem
* updated tour
* change the position of requisition_id
Task-2029380
closesodoo/odoo#35972
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
This option, if set to True, prevents the user from modifying the
color of the tags.
Part of task 2070454
closesodoo/odoo#38848
X-original-commit: a62b65a8f9114493064d4efae92825814a880c04
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
This commit redo the way workorders are planned on their workcenter
calendar. The resource_calendar_leaves introduced in 0679d0d is now linked
to the effetives dates (date_start and date_finished).
The planned dates copy their information onto effective date at the
workorder plannification or any modification before the actual production
(state = draft, pending or ready)
This way, the gantt view and calendar view display either the plannifaction
slot if the production isn't started yet and the effective production
time if it's done. The plannification is also impacted by validating
a production sooner than expected or cancelling it. In the first case,
the date_finished is set at 'now' and in the second case, all the dates
are emptied. The futur workorders will be planned on the newly recover
time slot.
This commit also fix the button_start() method that always rewrite the
date_start even if the production had already been started.
Task : 2082442
closesodoo/odoo#34038
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
With this commit, the manufacturer will now be noticed earlier in
the process if he produced/consumed a serial number already produced/consumed in a
previous production. Before this commit, an error was triggered as
well but only at the very last step of the production.
This leaded to two issues :
- The user had to unlock-edit-lock to update the wrong serial number
- On large production, it was difficult to figure out which was/were
the product(s) to fix.
The search on previous production is done each time the produce wizard is closed
or once the production is done on a workorder
Task 2002133
All transit locations were set as active by default, confusing some users.
There are now set as active only when when a ressuply route is created
between some warehouses
TaskID: 1873106
Have a reconciliation model that applies to some particular journals
And that will match some of those journals' lines
The field journal should be filled too
(this field is only the default journal that a proposition will be filled with)
Open the reconciliation widget on a given journal, within the list of
possible journal (from the account dashboard)
Before this commit there was a crashed. This was caused by the fact that
one of the lines that should be displayed had a reconcile model that was not fetched beforehand
After this commit, there is no crash as all relevant reconcile
models are fetched
Note that, on reconcile models, the field journal_id is just there to prefill
the propositions it will create
corrects commit e5c8071484
OPW 2084942
closesodoo/odoo#38836
X-original-commit: c285d578cc497044e819c62d42373c29f87b1e93
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
The im_support module was broken in 12.0 after bus refactorings between
11.0 and 12.0.
closesodoo/odoo#38838
X-original-commit: db37e0cedcd0da46bd57686a076a8165e60d6c3b
Signed-off-by: Olivier Dony (odo) <odo@openerp.com>
Co-authored-by: @alexkuhn
companies.
We revert the change we apply in order to let the user to define their
own fiscal positions, now the fiscal position will be set depending on
the afip responsability.
With this change we fix the error that the fiscal position is properly
setted for the customers that are of type "Responsable Inscription" and
"Consumidor Final".
Before this change the "Compras / Ventas en el Exterior" fiscal position
was wrongly seted, now the fiscal position is leave empty so the related
invoice taxes are properly matched
closesodoo/odoo#38830
X-original-commit: 74f172041351e03f60b1aff0f0eb925e896cd1fa
Signed-off-by: Josse Colpaert <jco@openerp.com>
In 12.0 it was 3.5 but for 13.0, it is acceptable 3.6.
Debian Buster has 3.7 and Ubuntu 18.04 LTS has 3.6
This will avoid undeterminist errors with OrderedDict
CentOS 7 still does not ship python3 by default but it is possible to
install it and CentOS 8 with python 3.6 was released in septembre 2019
closesodoo/odoo#38827
X-original-commit: 14e3e7524c2edd08ddf19afe512cb4462d070c0b
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Before this commit, trying to print a registration without a name
specified (not required), was failing
Fixesodoo/odoo#38564
Replace and closesodoo/odoo#38582
Courtesy of Swapnesh Shah
closesodoo/odoo#38821
X-original-commit: a21a81e98c569098d254781318b0030f30b02181
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
- Let a model M define a Many2oneReference field F1.
- Let a model N define a One2many field F2 whose inverse is M->F1
- Define a computed field N->F3 that depends on N->F2
If, for whatever reason, a recordset of M contains records that have
been unlinked already and we try to unlink them again, the system will
crash with a MissingException error.
This happened because, while most _modified_trigger cases cover the case
of a MissingException (i.e. record not in cache), the case for a
Many2oneReference didn't.
This is fixed by simply ignoring these "stale" records in the
_modified_triggers section for Many2oneReference fields.
closesodoo/odoo#38816
X-original-commit: f3b05032f0576befda4dca870718afd429c21b0f
Signed-off-by: Adrian Torres (adt) <adt@odoo.com>
Co-authored-by: mreficent <miquel.raich@eficent.com>
The snippet was using the posts of all websites and blog post creation
was suggesting all blogs. Now:
- On blog post creation only suggest the blogs of the current website
- In latest posts option, only suggest blogs of the current website
- In any case, latest posts only displays posts of the current website
Part of https://github.com/odoo/odoo/pull/38510
Related to task-2083198
closesodoo/odoo#38794
X-original-commit: 4be97b48861a6631fe465054c62baea65bfc1524
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Indeed, a theme can declare its own latest posts template so it would
crash with ref instead of viewref.
Part of https://github.com/odoo/odoo/pull/38510
Related to task-2083198
X-original-commit: 755944f6b88b069515881c9ec58e72e7a0cdd762
The way the active_id(s) were retrieved made the wizard only take care
of one active_id. This prevented from reverse multiple invoices at the
same time.
closes odoo/odoo#38537
Fixes: #35759
X-original-commit: fe47011c3fdcec0bda5334f10679e853fe41e45a
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
payment_ref and amount are small fields that does not render well in large fields.
closesodoo/odoo#38287
Taskid: 2059972
Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>