Commit Graph
130730 Commits
Author SHA1 Message Date
Pierre Rousseau b969018475 [FIX] partner_autocomplete: correctly manage empty country data
Steps to reproduce:
1) Enter a vat number in a customer field (for exemple Sales Order)
2) Click on the suggestion
=> Traceback

Task-ID 2059940

closes odoo/odoo#37180

Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
2019-09-20 11:15:55 +00:00
Florian Gilbert 65f657b2b2 [FIX] account: Remove helper for 'amount_by_group' field.
Task ID: 2060475

closes odoo/odoo#37435

Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
2019-09-25 14:09:14 +00:00
Florian Gilbert a2493ece06 [FIX] account: Delete attrs in account.move.tree.grouped
closes odoo/odoo#37434

Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
2019-09-25 13:59:54 +00:00
Arnold Moyaux 312e78581c [FIX] mrp: test race condition issue
assertRaise do not rollback and continue with a broken cursor
which could cause problem during the remaining part of the test.

closes odoo/odoo#37421

Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
2019-09-25 12:52:42 +00:00
5d82725f62 [FIX] web: stop defaulting on empty kanbans when you should not
1/ Write a form view with a o2m field that has its own inline tree view
(no other view exist in db for the target model)
2/ Open that view in a mobile environment
3/ Instead of having a list view, you get a kanban view. No luck for
you, since the default kanban generated by `models.py` is an empty one,
your records are *invisible* \o/

From what I can tell, the previous condition made no sense:
```
if (there is a list view and a kanban view)  <-- this seems absurd
  then (use the list mode)
elif (there is no list view but a kanban view)
 then (use the kanban mode)
else (use both modes)
```

The first condition seems absurd: it *actively* ignores a kanban view
if there is one. Even better, the list view whose existence it checks
is never there: it checks for a `tree` when it should be checking for a
`list`. In short, the first condition was *never* met, and you ended up
either with exclusive kanban mode or with both modes - even if you had
no existing kanban view for the target model...

This commit moves the normalization of `tree` into `list` before
attempting to process the x2many field's subviews. It clarify the usage
of `tree` vs `list` (cf. only use `list`) which  prevents weird edge
cases like described above.

closes odoo/odoo#36237

Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
Co-authored-by: Adrien Dieudonné <adr@odoo.com>
Co-authored-by: Pierre Paridans <app@odoo.com>
2019-09-25 12:50:59 +00:00
Victor Feyens 07631a5185 [IMP] * : manifest module categories cleanup
closes odoo/odoo#35754

Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
2019-09-25 14:03:45 +00:00
Christophe Simonis f1c0b08504 [MERGE] forward port branch saas-12.4 up to bef26222b8 2019-09-25 16:53:26 +02:00
Christophe Simonis bef26222b8 [I18N] stock: correct fr.po file 2019-09-25 15:26:17 +02:00
Christophe Simonis 07501d3cad [FIX] account_analytic_default: adapt code to new version
Oversight of previous forward-port.
2019-09-25 14:33:08 +02:00
Christophe Simonis 257a382b5c [MERGE] forward port branch saas-12.3 up to dd627b9698 2019-09-25 13:43:26 +02:00
RomainLibert f8f2b6a6ce [FIX] hr_skills: use more specific selector
closes odoo/odoo#37415

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-09-25 11:13:42 +00:00
Laurent Smet fc5765e860 [FIX] account: Fix uploading attachment from dashboard
Suppose uploading an attachment with res_id = 0, res_model = 'existing.model'.
Suppose also there a one2many having 'ir.attachment' as co_model and res_id as co_field
in 'existing.model'.
This setup leads to an error since the record with id=0 doesn't exists.
This commit ensures the res_model is not set when uploading the attachment.

closes odoo/odoo#37414

Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
2019-09-25 11:03:09 +00:00
qsm-odoo cf27ff8fd3 [IMP] http, *: review cache TTL values
* base, web

Google now recommends a TTL of one year for static contents. We used to
use 1 week in almost every case. This commit increases that value to one
year for safe resources, like assets bundles which contain a specific
hash in the URL which changes if the bundle is recomputed anyway.

Note: this commit refactors the code so that both the one week and one
year durations are defined in http.py and used by others apps. Loading
the library "locale" file used to be done with 10-hours-cache, this has
been increased to 1-week-cache by using the http.py STATIC_CACHE var.

closes odoo/odoo#37402

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-09-25 11:55:30 +00:00
Simon Lejeune 14a50ce62f [REF] mrp: better gantt view for workorder
Implement group_expand for workcenter_id so that all workcenters are
visible in the planning by workcenter gantt.

Implement some constraint on write because anything can be moved in the
gantt view.

When changing the workcenter of a workorder, make sure the leave is now
set on the new workcenter.

closes odoo/odoo#37386

Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-09-25 09:08:47 +00:00
Aaron Bohy 1787ff0b52 [FIX] web: don't allow to aggregate date(time)
Go to Accounting > Accounting > General ledger. The view is grouped
by account. There is a layout issue as the first column (date) is
positionned after the group names, leaving a large blank space.
This is because the date field is considered as an aggregated field
(for sorting purpose, in python), but the JS can't (and we don't
want to) display it. This rev. ensures that such field types are
completely ignored by the JS, s.t. they do not impact the layout.

closes odoo/odoo#37113

Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com>
2019-09-25 07:20:36 +00:00
Julien Mougenot 3147e5fada [IMP] web,*: editable readonly list views
*:board,hr_skills

Hold on tight, this is a tricky one.

Allows *any* readonly list view (only plain lists, not x2manies) to
become partially editable when checking records.

This means that once checked, a record line acts just like it was
in an editable list. You can click on it, edit any of its values as long as
they're not constrained by readonly modifiers, and save them on the fly.

Clicking on an unchecked record will have the same effect as before:
it will open the record, regardless of the other selected records.

You can also check multiple records and edit them all at once by
changing the value of one selected record (just like standard multi edition).

Keyboard navigation is also allowed between selected records (TAB and SHIFT+TAB
to navigate and ENTER to save).

/!\ If a list is only made of records having all of their fields locked by
readonly modifiers, checking a record and clicking on it will do absolutely
nothing. This is to keep consistency with the rest of the specs.

Task 1967602
2019-09-25 07:20:36 +00:00
Aaron Bohy 3023cd24af [FIX] web: more precise textarea autoresize
Setting 'overflow: hidden' on the (hidden) textarea used to compute
the (visible) textarea height ensures that there is no vertical
scrollbar, which would lead to a not so precise computation of the
height. The bug could be observed in sale.order form view, in the
order line x2many (description field), and had been introduced by
ef46378cd3.
2019-09-25 07:20:36 +00:00
Julien Mougenot f328b9ca8c [IMP] web: list multi edition confirmation modal
Changed the information dipslayed by the confirmation modal in multi edition
in list views.

Before this commit, the modal simply showed a one-line message with the amount of valid records.

Now, there are 3 elements:
- If all of the fields cannot be changed, a first line warns the amount of valid records.
- A second (or first if all fields can be updated) line ensuring that the user is aware of
the occuring changes.
- A table displaying the affected field and the updated value (readonly widget with the new value).

Part of task 1967602
2019-09-25 07:20:36 +00:00
Julien Mougenot 6fea5b42d6 [IMP] *: editable readonly list views: adapt views
Since the commit allowing all list views to be editable, there are some
views in which we need to ensure that certain fields are always readonly.

Affected modules:
- account
- crm
- product
- purchase
- sale

Task 1967602
2019-09-25 07:20:36 +00:00
Aaron Bohy e6d2175577 [FIX] web: list: horizontal scrollbar bottom of page
... instead of at the bottom of the table (which may be several
scrolls down).
2019-09-25 06:16:55 +00:00
Julien MougenotandAaron Bohy 0ebacff465 [FIX] web: list: prevent tables from overflowing
In an editable list, select a very long value in a many2one...

Before this commit, the table stretched as much as it needed to to
display all of the columns content.

Now, the largest columns are trimmed in order to keep the table
as wide as the list container (meaning it won't overflow anymore
unless there is a huge load of columns).

Also ensured that values trimmed by this feature are followed
by an ellipsis.

Task 2068261

Co-authored-by: Aaron Bohy <aab@odoo.com>
2019-09-25 06:16:54 +00:00
Julien Mougenot d99e80f92a [FIX] web: column resize trying to freeze the list
Before this commit, resizing a column would cause the
list to develop a mind of its own and to grow/shrink random
columns according to its own will.

Now, resizing a column does not "freeze" the list anymore and simply
gives a static width to the resized column.
2019-09-25 06:16:54 +00:00
Julien Mougenot d2f024d254 [FIX] web: allow line return in textareas
Before this commit, textareas in x2many would not allow line return
when pressing enter.

Now, it does.
2019-09-25 06:16:54 +00:00
Aaron Bohy 104a86f1c8 [FIX] web: limit autocomplete dropdowns width
When the content of an autocomplete dropdown (e.g. many2one field)
was long, the dropdown could overflow the page. For instance, this
was the case of the intrastat_id many2one.

Task 2068261
2019-09-25 06:16:54 +00:00
Aaron Bohy be222b795e [FIX] web: list: keep widths when editing records
Let's assume an editable list view with at least two rows. Before
this rev., the column widths were re-computed and frozen each time
a record was switched into 'edit' mode. As a consequence, if the
user clicked on a row, and then on another one, column widths might
slightly change.

Task 2068261
2019-09-25 06:16:54 +00:00
Aaron Bohy 22d43f1540 [FIX] web: list: increase width of boolean columns
Task 2068261
2019-09-25 06:16:53 +00:00
Aaron Bohy 7e72471552 [FIX] web: correctly handle 'oe_read|edit_only' in lists
ClassNames 'oe_read_only' (resp. 'oe_edit_only') can be used in
x2many lists to hide columns in 'edit' (resp. 'readonly') modes.

However, before this rev., there were two issues:
 1) Having such a className on a <button> tag didn't work well as
    the 'display: none' rule didn't apply on the body cell (it only
    applied on the button). Same could be observed on <widget>
    nodes.
 2) Having more than one invisible column (with those classNames)
    didn't work either, because the footer cells weren't hidden.
    We didn't notice it with one invisible column, because the
    footer contained one cell less than the header and the body.

Those two issues could be observed on the mrp.bom form view.

Task 2068261
2019-09-25 06:16:53 +00:00
Laurent Smet 6b8acd0257 [IMP] account: Improve lock dates
The tax lock date no longer blocks the user when creating a journal entry priors to it.
Instead, the accounting date is moved automatically during the validation to the next
available date.

This commit also brings more flexibility when dealing with the tax lock date. Indeed,
the error is now shown only when adding something impacting the tax report that was not
always the case before (e.g. adding a new line not affecting the tax report must not
raise something).

Others check has been also refactored to be more consistent with the "fully editable" mindset.

closes odoo/odoo#36304

Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
2019-09-25 11:26:02 +00:00
Laurent Smet 7aa90628ac [REM] l10n_fr_sale_closing: This module is squashed into l10n_fr.
Task ID: 2039160
2019-09-25 11:26:02 +00:00
Florian Gilbert 429263af7d [IMP] account_lock: _check_lock_date is move into account_lock module.
This method is also renamed "_autorise_lock_date_changes" and check
tax_lock_date.

Task ID: 2039160
2019-09-25 11:26:02 +00:00
Florian Gilbert ab483a3a66 [IMP] account: Add restrict mode and normal mode for account move.
This commit deletes account_cancel module and squash it into account.
The 'update_posted' field is changed by 'restrict_mode_hash_table' field.

If 'restrict_mode_hash_table' is true, you have a hash chain on your account journal.
These hash chains prove the inalterability of your accounting.

l10n_fr_certification module is deleted and all hashing method are moved in account module.
Now, you can download a PDF report about your inalterability in the company settings.

If you have l10n_fr or l10n_post_cert installed you have more information on this report
like the inalterability of pos orders, etc.

Task ID: 2039160
2019-09-25 11:26:02 +00:00
Arnold Moyaux 02dfe1e8e7 [FIX] mrp: mobile byproduct BoM form view
On Mobile the byproduct One2many only empty line.
It's due to default kanban view using the _rec_name
in order to display the byproduct name. On byproduct the
_rec_name is not defined nor the field name so the kanban
is empty.

closes odoo/odoo#37403

Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
2019-09-25 08:11:20 +00:00
Simon Lejeune e75ea301f6 [FIX] mrp: workorder operations and kit
When a BoM was composed of a phantom BoM, there was mutliple bugs:
- if not routing was set on the phantom BoM, the components were never
  consumed
- if no operation was set on the BoM, its components were to be consumed
  on the last workorder of the BoM and of the phantom BoM.

closes odoo/odoo#37304

Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-09-25 08:05:03 +00:00
Samuel Degueldre dd627b9698 [FIX] account_analytic_default: fix ocr not using default analytic account
PURPOSE:

Default analytic account should be used wherever possible. This wasn't
the case because the module didn't implement a default_get and only
filled the fields on product_id change, which isn't set by the OCR

task-2067097
opw-2068110

closes odoo/odoo#37389

X-original-commit: 2c450015154f8ba2384fb1f0ad1d4075785009c0
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-09-24 15:50:04 +00:00
Raf Ven 3371bfabd5 [FIX] purchase_requisition: filter lines
Pre-filter lines based on known products.

Closes #36854
opw-2074824

closes odoo/odoo#37383

X-commit: bd3997b79a075a24afce749474fc32b43ac8c03f
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-09-25 05:25:59 +00:00
Romain Derie f8aba7b347 [FIX] website: make 'Go to website' redirect to correct website
Before this commit, 'Go to website' in website module dashboard might not
redirect to the correct website.
It would just redirect to `/` (href) without forcing the website selected in
the dashboard.

task-2063252
Closes #36390

closes odoo/odoo#37359

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-09-24 13:59:23 +00:00
Romain Derie 964aa3d696 [FIX] website: make website selector work with scheme and port
Before this commit, if one would introduce a scheme or a port in his website
domain, it would make the website selector to crash JS side.

Indeed, it would replace the current url hostname by the website domain.

If the website domain was introduced with `http://` it would lead to
`http://http://mysite.com`.
If port was introduced, `http://mysite:8069:8069`.

Also, by fixing those 2, it also make `localhost` and `127.0.0.1` to work.
(which would not work without `http://`.

Related to #36390
2019-09-24 13:54:26 +00:00
Nans Lefebvre 14a5983dca [FIX] base_import: clear cache after a dry run
Test import of a file with xml ids.
At the first dry run, the xml id X is associated with id R for each such record.
If some records refer to X via a relational field, then in SQL it reduces
to a query using R as id; but R does not exist since it was a dry run.
As a result, subsequent runs fail.

The cache should be cleared after a dry run, since the xml ids are not reliable.

opw 2068446

closes odoo/odoo#37396

X-original-commit: 1b35294d7b8d07f373eca24977e2952b9cfb2c7d
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-09-24 16:59:00 +00:00
Andrea 33f5fc7355 [FIX] l10n_ch: set field l10n_ch_currency_name to readonly
l10n_ch_currency_name is a related field to currency
Without this patch, when creating an invoice, the inverse of the
related field was computed, trying to write the name on the currency
(with the same value).
If a user did not have the required access rights (e.g. a user in the
group Billing can create an invoice but not write on res.currency by
default), he was unable to create the invoice.

Fixes odoo/odoo#31487
Closes odoo/odoo#31489

closes odoo/odoo#37381

X-original-commit: 5e49fa8002d7581bfad6dacee0f0b75de59817ec
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-09-24 14:20:33 +00:00
Ankita Raval 3c8f9a1973 [IMP] hr_expense : fix issues
In this commit, we add a currency symbol in kanban card.

closes odoo/odoo#36440

Task-id: 2061910
Signed-off-by: Jérome Maes (jem) <jem@openerp.com>
2019-09-24 13:52:14 +00:00
Florent Lejoly 8ea761824d [FIX] website_slides: leave course
Currently there is a traceback when trying to leave a course (unsubscribe)
from the frontend on the homepage of a specific course. (when clicking on
"You're enrolled")
This fixes the traceback.

closes odoo/odoo#37384

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-09-24 13:43:18 +00:00
William Henrotin a25c84b9cb [FIX] mrp: ensure all quantities are filled up
Computing quantities of a kit product made only of consumable
failed as the quantities are not initialized.

This commit makes sure this kind of products don't have their quantities set up
in mrp and so are set to 0 in stock

closes odoo/odoo#37382

Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-09-24 14:17:45 +00:00
Denis Vermylen adc3ed5c4a [FIX] website_sale: add missing step
if website_animate is installed.

Website_animate suggests to animate the image when it's selected and
hides the blocks. So we add a click on "Blocks" to ensure we're in
the right menu before continuing.

If website_animate isn't installed, this extra step doesn't alter the
current behaviour.

Technically this should be done in a bridge module depending on
website_sale and website_animate but none exists and it's not worth
creating one for this tiny fix alone.

closes odoo/odoo#37377

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-09-24 15:16:42 +00:00
Simon Lejeune 895fb09b74 [FIX] stock: put away on parent locations
oversight of bad6db2483

Closes #37289

closes odoo/odoo#37361

Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-09-24 15:01:36 +00:00
Alexandre Kühn af26c70469 [FIX] mail: remove "Please wait..." in Discuss when ready
Revision on https://github.com/odoo/odoo/commit/9a66619db33fca5f0cb81d9f6bfeb0fb0290cf68

Commit above improved webclient loading by not having to wait for
the RPC `/mail/init_messaging`.

It introduced an issue in which Discuss app was indefinitely showing
"Please wait...". This commit fixes this issue.

closes odoo/odoo#37337

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2019-09-24 12:23:22 +00:00
Nicolas Martinelli a5835a160e [FIX] stock: do not display 'Location' and 'Warehouse' in search view
- Go to Inventory > Reporting > Inventory Valuation
- Run the report
- In the search view, filter on 'Location' or 'Warehouse'

The filter doesn't work.

Actually, the filter can't work. This is a hack introduced in order to
add context keys.

Originally, the function `search` was added to avoid the error log
'Non-stored field %s cannot be searched.'. This happens because the web
client adds the field in the domain on top of adding the context key. By
using `filter_domain`, no domain is added and no error is logged.

opw-2075456

closes odoo/odoo#37347

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-09-24 10:32:41 +00:00
RomainLibert 04c98c3ef1 [FIX] hr_recruitment: fix layout issues
Make the kanban ribbon smaller and purple
Move categ_ids

closes odoo/odoo#37349

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-09-24 09:42:02 +00:00
David Beguin 03c2f101bd [IMP] website : set kanban view as default for website visitors
Task ID: 2074582

closes odoo/odoo#37340

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-09-24 14:05:54 +00:00
David Beguin 4a37beeff6 [FIX] website_livechat : fix history in discuss visitor banner
Adding a string element to a list with += is not adding the element to the list
but is instead adding every single character of the string as an element to the list.
Building a string using a join method was resulting to an recent history displayed like
H > O > M > E > ( > 8 > : > 4 > 2 > )
--> Should be : HOME (8:42) > Contact Us (8:45)

Apart from that, since the tracking is now ordered by visit_datetime DESC,
to have a chronological order, we need to reverse the list of last visited pages
to have something like :
    Home (12:43) > About us (12:45) > Contact Us (12:52)
instead of :
    Contact Us (12:52) > About us (12:45) > Home (12:43)

Task ID: 2076190
PR #37340
2019-09-24 13:25:50 +00:00
David Beguin 33f5bbc7d0 [FIX] website_livechat, im_livechat : use visitor display name instead of name
As since 5b9a81a2c6
website.visitor.name can be null
if the visitor is not linked to a lead or a res.partner,
we cannot use the name anymore to build the name of the mail.channel, etc..
Using display_name will always return the correct value,
and will include the numbering of the visitor,
in order to identify easily the chat windows
(if operator is speaking with multi visitor at the same time)

Task ID: 2076190
PR #37340
2019-09-24 13:25:50 +00:00