Commit Graph
123830 Commits
Author SHA1 Message Date
Swapnesh Shah 8fdfd4a77c [FIX] project: Fill date_last_stage_update when needed
Before this commit, the date_last_stage_update field in fill everytime at task creation. This does not make sense if ther is no project linked to the task or if there is no stages associated to the project/task.

This commit populates the date_last_stage_update field only when needed. So, we can now have newly created task without date_last_stage_update filled.

closes odoo/odoo#31999

Signed-off-by: Jérome Maes (jem) <jem@openerp.com>
2019-05-01 19:07:50 +00:00
Cas Vissers 3f8a5e466d [FIX] sale_timesheet: extract the check on write in a function
On write, a check is done that raises
'You can not modify already invoiced timesheets …'.
We put that check in a function so that this behaviour can be extended.
(restricted by an override, or relaxed by not calling the super)

opw 1974968
closes #33057

closes odoo/odoo#33092

Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-05-02 06:13:00 +00:00
Goffin Simon 2efcefb504 [FIX] l10n_ch: Error when saving a email template
Steps to reproduce the bug:
- Configured bank account for CHF with all the ISR related informations
- Click on "Send & Print" on a customer invoice with that bank account
- Save the email template

Bug:

An error was raised because the key 'attachments' didn't exist in the variable
rslt.

opw:1970005

closes odoo/odoo#33042

Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2019-04-30 09:27:13 +00:00
Julien Castiaux 27e4d3bb1c [FIX] models.py: invalid write order in inherits
Create a model and extend this model using an inherits. Define a
constraint in the inherited model that uses a field of the parent model.
Create a valid element using the inherited model then write an invalid
value. This pass the constraint although it should raise an exception.

The problem resides in the `write` function of `models.py`. It first
write values on the inherited model then write values on the parent
model. The order is wrong, it should write on the parent model first
then on the child model.

The solution is to change the order fields are written: first we update
child references to their parents, then we update the parents, then we
update the child.

opw-1962705

closes #32919

closes odoo/odoo#33003

Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
2019-04-30 14:34:19 +00:00
qsm-odoo eb5e8d660a [FIX] web_editor: allow d&d of blocks between flex elements
When dragging a snippet in the editor, drop zones are created at the
correct locations (e.g. between columns when dragging a column). Some
code is in charge of "cleaning" the created drop zones to, for example,
remove multiples ones which are at the same position. This code is also
currently removing the drop zones which are between two "non-block"
elements. This is preventing to swap form rows thanks to the form
builder as rows are "non-block" elements as they are flex elements.

This commit solves the problem by changing the "is non-block" condition
to "is inline" condition which is what was intended.

Note 1: rows became flex elements with BS4, that is why this is fixed
        in 12.0.

Note 2: this could be back-ported in previous stable versions as this
        actually preventing to drop snippets between tables, list
        items, etc (all non-block elements) but this can be considered
        as a limitation unless a real breaking case presents itself.

See task-1874350 which discovered the bug.

closes odoo/odoo#33054

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-04-30 13:07:16 +00:00
Jorge Pinna Puissant 622af0b7cc [FIX] account: remove total from invoice lists
In the tree view for account.invoice, there are totals' in some columns.
There is no logic in adding the invoices values for these columns, the
invoices could be of different types, or the invoices could have
different currencies, which creates incoherents totals.

opw-1964348

closes odoo/odoo#33051

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-04-30 12:02:12 +00:00
Xavier Morel 2fc7657975 [FIX] core: reintroduce computation of parent_store in auto_init
When 80f1ac3599 removed deferral of
parent store computations (the MPTT at the time), it also errornously
removed the computation during auto_init.

As a result, when adding a `_parent_store = True` and `parent_path`
field to an existing model (e.g. in an override, or when updating the
database) the column will be created but the column will be
False-filled, and hierarchical queries break as odoo will attempt to
perform string operations on `False` (either `False + '%'` or
`False.split('/')`).

Fix the issue by reintroducing the parent_store computation.

Note: uses the same gating as the old commit, the computation is only
performed if this is the install/update where the parent_path column
gets created.

We could alternatively gate on just _parent_store, but even the RCTE
can be expensive when executed on millions of records (at least when
it has to set all the parent_path) and while it could allow inserting
a bunch of records when calling -u to generate their parent_paths, it
feels like the caller could and would do so manually as they might
have shuffled the tree and need to update more than just the records
for which parent_path is null.

closes odoo/odoo#33034

Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2019-04-30 07:39:20 +00:00
Nicolas Martinelli d7d4ebb312 [FIX] sale: read-only order_id
Setting the `order_id` as read-only in the model prevents the import of
SO lines separately from the SO. We set it read-only in the view
instead.

opw-1978453

closes odoo/odoo#33021

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-04-29 15:25:26 +00:00
Goffin Simon bb38b83193 [FIX] sale_timesheet: Project(s) overview wrong with downpayment
Steps to reproduce the bug:
- Install Timesheet, Sales, Accounting
- Create a product P that creates a project when validated on a SO
- Create a SO with P and validate it
- Create an invoice with a downpayment of 10% and validate it
- On the SO, click on "Project(s) overview" smart button

Bug:

The invoiced amount  on the overview was not updated with the downpayment invoiced.
When the SO was completely invoiced, the amount of the downpayment was counted in
"Other cost" (because an analityc line is created for the downpayment SO line)

opw:1969143

closes odoo/odoo#32962

Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2019-04-30 07:42:11 +00:00
qsm-odoo 695cb942b6 [FIX] website_sale: fix product description on mobile with list layout
Long product descriptions were overflowing on mobile when the list
layout was used. Indeed in all other cases (non mobile or grid layout),
a max-height is set to prevent this problem. This commit sets a
max-height for the mobile list layout use case.

Note: the layout is still to be reviewed to handle these cases the right
way. A task is actually being developed in master to do that.

opw-1974989

closes odoo/odoo#33023

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-04-29 16:07:28 +00:00
qsm-odoo 84bb01606a [FIX] website_blog: restore latest posts snippet's styles
When the snippet was moved from the theme repository to the community
repository, some scss mixins were badly refactored, making the theme
specific styles not work anymore.

This commit removes the bg color which was added to latest posts
snippet's post elements as it made no sense, appeared broken and was
not possible to remove. It also adds some padding to the snippet by
default.

This commit also reviews the snippet options which seemed to allow post
color edition while it is in fact not possible.

opw-1964485

closes odoo/odoo#33016

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-04-29 15:31:20 +00:00
Kishan Gajjar f670d4103b [FIX] website: adapt Facebook snippet to API changes
Facebook API does not accept float values for height and width
parameters anymore.

closes odoo/odoo#32970

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-04-29 10:15:05 +00:00
Lucas Perais (lpe) c7773f9f72 [FIX] sale, _management: portal sale order optional products
Forward Port 0c46c8a929 from v10.0
has dome flows, namely, the new feature of grouping the taxes by tax group was not supported

Now it is supported: when modifying an optional product's quantity, every field is updated with the new values

OPW 1974708

closes odoo/odoo#32980

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-04-29 07:46:39 +00:00
Julien Castiaux 9c4b52000f [FIX] calendar: browse record using IrRules
Install CRM (we need the "Hide Private Message" record rule defined by
that module), create a meeting as of today, set a reminder of one day,
invite another user (Demo) as attendee, save. Edit, go to the options,
change the "Show time as" to "free", save => access error due to the
said record rule.

Using a search instead of browse ensures record unavailable due to a
record rule are filtered.

Same as 54e970e

opw-1974599

closes odoo/odoo#32987

Signed-off-by: Julien Castiaux <Julien00859@users.noreply.github.com>
2019-04-29 07:01:19 +00:00
Nicolas Martinelli e3b25b402c [FIX] sale: date on portal
It is more logical to display the order date on the portal rather than
the create date. Indeed, all computations (e.g. currency conversion) are
performed with the order date, not the create date.

opw-1966040

closes odoo/odoo#32973

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-04-26 08:40:51 +00:00
Odoo Translation Bot 3ac23bef79 [I18N] Update translation terms from Transifex 2019-04-28 01:34:21 +02:00
Martin Trigaux c9913152ec [FIX] base: use correct iso code for Filipino
Instead of fil - fil_PH, it should have been fil_PH - fil.

The iso_code is used in URLs

The "code" value can not be changed in stable but iso-code can.
The code value will be changed in master as requires a migration script

closes odoo/odoo#32867

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-04-23 09:46:24 +00:00
Nans Lefebvre b7f4ff4b54 [FIX] hr_expense: fix payment entry of expenses paid by company
Create an expense paid directly by the company, validate and post entries.
While the account move lines are correct, the payment is not: it is always null.

opw 1962500

closes odoo/odoo#32956

Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-04-25 13:45:47 +00:00
Lucas Perais (lpe) 61f82c077d [FIX] stock: traceability report: direct children displayed
Configure a route to be in 3 steps
make a PO, validate all three pickings
Go on the final picking, the one that has the destination to the Stock
Click on the smart button to access the traceability report
unfold as many lines as you can

Before this commit, the first picking of the whole tree (Vendors to Input)
appeared as a direct child of the final picking,
as well as a child of the intermediary picking (as it should)

- Quality > Stock
	|
	- Input > Quality
	|	|
	|	-Vendors > Input
	- Vendors > Input

After this commit, the final picking contains only the intermediary
which in turn contains only the origin

- Quality > Stock
        |
        - Input > Quality
                |
                -Vendors > Input

OPW 1970286

closes odoo/odoo#32953

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-04-25 12:30:43 +00:00
Denis Ledoux 7228c10884 [MERGE] forward port branch saas-11.3 up to 6fd637e131 2019-04-25 15:47:09 +02:00
Jorge Pinna Puissant 101a28b8dc [FIX] sale: allow multi-record capacity to action_done
Fine-tuning : 6b7bb096e1

closes #32944

closes odoo/odoo#32947

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-04-25 09:44:36 +00:00
Nicolas Martinelli 9378552a89 [FIX] stock: print Traceability Report
The Traceability Report printing option is hidden since the report is
pretty much unusable.

opw-1973161

closes odoo/odoo#32939

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-04-25 08:09:28 +00:00
82c13975f1 [IMP] website_sale_comparison: add test tours
Pretty much the whole module is covered by the tests in this commit:
- standard comparison, from shop, from product page
- comparison with more complicated product configuration
- the comparison page itself
- the alternative products

task-1929151

closes odoo/odoo#32901

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>


Co-authored-by: Priyanka Kakadiya <pka@odoo.com>
Co-authored-by: Mohammed Shekha <msh@openerp.com>
Co-authored-by: Sébastien Theys <seb@odoo.com>
2019-04-24 14:54:35 +00:00
Denis Ledoux 6fd637e131 [MERGE] forward port branch 11.0 up to b71b78035b 2019-04-24 14:31:10 +02:00
Denis Ledoux b71b78035b [MERGE] forward port branch saas-15 up to 0c46c8a929 2019-04-24 10:04:05 +02:00
Denis Ledoux 0c46c8a929 [MERGE] forward port branch saas-14 up to 6fd092e131 2019-04-24 09:31:49 +02:00
Denis Ledoux 6fd092e131 [MERGE] forward port branch 10.0 up to 4730a884b4 2019-04-23 17:16:26 +02:00
Goffin Simon 1da058f8ed [FIX] stock: Error when re-installing manufacturing application
Steps to reproduce the bug:
- Install MRP
- Uninstall MRP
- Install MRP

Bug:
An error was raised by sql constraint 'barcode_company_uniq' which ensures that
a barcode for a location is unique per company.
But when uninstalling MRP, some locations such as pbm_loc_id or sam_loc_id are set to
active = False and when re-installing MRP, the function _create_missing_locations tried
to re-create these locations and the sql constraint was raised.

opw:1967534

closes odoo/odoo#32882

Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2019-04-23 13:37:18 +00:00
Yannick Tivisse 4b0b00dbd9 [FIX] hr_holidays: Avoid erasing values on onchange if set
closes odoo/odoo#32790

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-04-24 12:27:17 +00:00
Lucas Lefèvre 08da07b1ca [FIX] hr_holidays: Fix deleted default employee
The goal of commit 2dbce5e was to handle the company
holiday type in onchange which was probably forgotten
when the company type was introduced.
However because the last `elif` was changed to `else`,
the `else` clause is executed in some situations where
it shouldn't.

e.g. If holiday type is `employee` and an employee is set,
the `else` clause is (obviously wrongly) executed.
This is particularly a problem if the employee is not
HR user nor manager. In that case, the field employee_id
is invisible and its value has been deleted by the onchange.
The allocation cannot be saved because it violates the
sql constraint (employee is null).

Also, the `mode_company_id` and `category_id` should be set
to `False` when the holiday type is not company/category.
2019-04-24 12:26:27 +00:00
Lucas Lefèvre d6242a340d [FIX] hr_holidays: Allow create department leave
1. Open form view to create a leave
2. Change the leave type to 'By department'
3. Choose the department of the current user
4. Save the leave
5. Approve the leave
=> ValidationError, cannot have two leaves at the same time.

In `@api.onchange('holiday_type')`, when choosing by department
it sets `employee_id`, `mode_company_id` and `category_id`
to `False` ONLY if the department is not already set.
But by default, the employee is set to the user's employee
and the department is set to the employee's department.
Therefore the employee is never set to `False` and the
department leave is linked to this employee.
When validating the 'department' leave, an 'employee'
leave is created for each employee in the department.
For the current user, it crashes because the deparment leave overlaps with
the 'employee' leave since the department leave is linked to
the employee.
2019-04-24 12:24:13 +00:00
Nicolas Martinelli 17ac11d5aa [FIX] stock: add operation in mobile view
Since it is possible to create an operation in the regular list view, it
should also be possible to do it in the kanban mobile view.

opw-1963527

closes odoo/odoo#32907

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-04-24 09:52:26 +00:00
Nicolas Martinelli 77c708c516 [FIX] website: sign-up in multi-website
- Create 2 companies A & B
- For each company, create a website linked to a different URL and
  activate 'Free sign up' and 'Specific User Account'.
- As a public user, go to website of company B
- Go to 'Sign in > Don't have an account?' and create an account

The user is created in company A (the company of the user template)
instead of company B (the company of the website).

We set the company of the user based on the company of the website.

opw-1962197

closes odoo/odoo#32823

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-04-19 08:54:22 +00:00
Nicolas Martinelli 3a0f05f334 [FIX] website_sale: multi-website
- Create 2 companies A & B
- For each company, create a website linked to a specific URL
- As a public user, visit website of B
- Buy a product, register your address

The partner is in company A (the company of the superuser) instead of
company B (the company of the website).

opw-1962197

closes odoo/odoo#32822

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-04-19 08:00:25 +00:00
Swapnesh Shah c423e5fe04 [FIX] doc: fix a typo
closes odoo/odoo#32746

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-04-24 06:53:51 +00:00
Nans Lefebvre 0cce154794 [FIX] stock: use float comparison to assign moves
We remove the remaining comparisons to use the precision rounding of the UoM.

opw 1969888
closes #32707
closes #32745

closes odoo/odoo#32844

Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-04-23 08:08:58 +00:00
Toufik Ben Jaa 30e7a64cbd [FIX] hr_holidays: fix logic of a onchange on leave allocation
- When changing the `holiday_type` of a leave allocation while having an
  employee set and if this `holiday_type` has as its value `employee`
  the field `employee_id` is set to False.

  This is not the intended behavior. We want the field `employee_id`
  to be filled if the `holiday_type` is set to `employee`.

closes odoo/odoo#32886

Signed-off-by: Denis Ledoux <beledouxdenis@users.noreply.github.com>
2019-04-23 15:22:16 +00:00
Katherine Zaoral 9617e79e58 [FIX] base: set ARS currency symbol position
Should be before the amount

closes odoo/odoo#32846

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-04-23 08:21:25 +00:00
Aaron Bohy 3c40d732bf [FIX] web: crash in editable lists with date field
Backport of 7bc53ac30e.

Assume an editable list view with a date(time) widget, click to
edit a line, focus the date field (the datepicker opens), press
ESC: there is a crash in the lib, and the datepicker remains open
forever.

This fix is twofold:
 - we added a check in the lib to prevent it from crashing (it is
 easily reproducible: it crashes when an opened datepicker is
 removed from the DOM).
 - we added an event handler of ESC keydown event to hide the
 datepicker before the field is removed from the DOM.

closes odoo/odoo#32647

Signed-off-by: Martin Geubelle (mge) <mge@openerp.com>
2019-04-23 06:58:16 +00:00
Nans Lefebvre d6ad22227c [FIX] sale_timesheet: update delivered quantities when changing the sale_line_id
Create a SO with two lines (sol_1, sol_2) selling a given service.
On the corresponding Project/Task, set the partner so that the sale_line_id
can be chosen to one of the lines.
Add an AAL with x hours, save.
This updates the delivered quantity (x) on sol_1.
Edit, change the sale_line_id to the second one:
it updates the delivered quantity on sol_2 (to x) but not on sol_1.
Has a result, the delivered quantity has been doubled.

The issue is that the quantities are only recomputed on the SOL that we write;
instead they should be recomputed on the old one and the new one.

We base ourselves on 371a92fb which solved a similar bug to add the recompute on
both lines.

opw 1959509

11.0-opw1959509-sltmsht-len

closes odoo/odoo#32820

Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-04-19 07:56:17 +00:00
Nicolas Martinelli fccf4f3ca4 [FIX] event_sale: canceled registrations
Fine tuning of ac31252d54

Do not pre-filter on canceled entries since they are used a few lines
below.

opw-1964459

closes odoo/odoo#32835

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-04-19 12:40:17 +00:00
Lucas Perais (lpe) 4730a884b4 [FIX] website_quote: portal optional products qty change
Have a SO with a quotation template and some optional products set
Display it on the portal
On an optional product, click on the cart icon
to add it to the SO

Modify the quantity of the optional product

Before this commit, the feature was barely working:
- the total price of the optional product did not change
- negative quantities were allowed
- there was no reaction when directly putting a number in the input
- when decrementing the quantity, it crashed
- untaxed and tax amounts were not dynamic

After this commit:
- the total price of the optional product changes as a function of the quantity input
- negative quantities are not allowed
- it is not possible to manually input the quantity with a keyboard
  only +/- buttons are used to change the quantity
- decrementing the quantity works
- untaxed and tax amounts are dynamic

OPW 1947769

closes odoo/odoo#32715

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-04-19 07:41:40 +00:00
Simon Lejeune aac14d23da [FIX] stock: cache invalidation in _action_assign
`reserved_availability` is a computed field of a move depending on its
move lines. We access this field at each iteration of the loop over the
moves to assign and then we create a new move line for it. This triggers
an invalidation of this field, The next iteration will again access this
field and prefetch it for all the next records.

We read the field out of the loop and don't access it again to prevent
these prefetch/invalidation issues.

Confirmation of a PO of ~800 lines goes from 5 minutes to 1 minute.

opw-1953398

closes odoo/odoo#32774

Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>

closes odoo/odoo#32805

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-04-18 12:55:33 +00:00
Odoo Translation Bot e07ecf298f [I18N] Update translation terms from Transifex 2019-04-21 03:09:35 +02:00
Lucas Perais (lpe) b130b35f04 [FIX] purchase: locked purchase orders are billable
Before this commit, when the PO was locked:
- the button create bill did not appear on the form view
- on the invoice form view, the field autocomplete did not mention the PO

After this commit, the button create bill is present, and the PO appears in
the auto-complete field of the Vendor bill

OPW 1970537

closes odoo/odoo#32794

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-04-18 10:57:39 +00:00
Odoo Translation Bot a73206c0b1 [I18N] Update translation terms from Transifex 2019-04-21 01:20:56 +02:00
Nans Lefebvre 3539221364 [FIX] resource: give admin rights to edit global leaves
Commit 27d41ccb introduced record rules on resource.calendar.leaves.
However it gave no way to create, edit or delete a global rule.
We grant this right to the group_erp_manager, so that an admin can do it.

opw 1968376

closes odoo/odoo#32832

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-04-19 12:25:36 +00:00
Xavier Morel 3f681b208c [IMP] mrp: batch-create moves during MO creation
OPW-1967543 on non-trivial multi-level test BOM, MO creation goes from
30s to 13 on my system.

closes odoo/odoo#32819

Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2019-04-19 07:52:22 +00:00
Nicolas Martinelli 6c702172ec [FIX] mrp: mrp_workorder uninstall
- Install 'quality_mrp_workorder' without demo data
- Go to the General Settings

A warning is raised regarding the uninstallation of 'mrp_workorder'.

This is due to `_onchange_group_mrp_routings`, which assumes that the
installation of 'mrp_workorder' is only linked to the group
`group_mrp_routings`.

This is incorrect: `group_mrp_routings` might not be activated, but it
might be in the dependencies of another module. Therefore, we change the
logic: if we activate `group_mrp_routings`, we install 'mrp_workorder'.
If we deactivate `group_mrp_routings` we do not uninstall
'mrp_workorder' if it is already installed, since it might be required
by a dependancy.

opw-1970910

closes odoo/odoo#32811

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-04-19 07:22:16 +00:00
Martin Trigaux a7c774849c [FIX] base_setup: do not create deleted parameter
The base_setup.show_effect parameter is created at module installation (with
an external id) and is removed (and its external id) when the option
"Show Effect" is unchecked from the general setting.

When this option is checked again, the ir.config.parameter entry is recreated
but without an external id (as it is user-provided data, not from a data file).

When the module base_setup is updated, the record base_setup.show_effect is
recreated and the unicity constraint on ir.config.parameter is raised.

Set the record as forcecreate="False" to avoid recreating it when the module
is updated.
Anyway, if somebody uncheck the option, it is not expected to get it back when
the module is upgraded.

Fixes odoo/odoo#32806

closes odoo/odoo#32808

Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
2019-04-18 13:53:09 +00:00