Commit Graph
124700 Commits
Author SHA1 Message Date
Nicolas Martinelli 0fa969a4a7 [FIX] sale: attachment name
- Create a SO, keep it as draft
- Click on 'Send by Email'

The name of the attached PDF file contains `_draft`.

This doesn't really make sense anymore, since the SO will be set to
'Sent' right after sending. Therefore, if sending a second time,
`_draft` won't be added to the filename.

opw-1930282

closes odoo/odoo#30367
2019-01-18 15:35:08 +00:00
Nicolas Martinelli c15551a3f2 [FIX] crm: default CRM team
Keep the default value for the default CRM team (False) since leads are
not activated by default.

opw-1929489

closes odoo/odoo#30360
2019-01-18 14:08:22 +00:00
Christophe Simonis d657d6457f [FIX] website: update *all* views, not only website ones
closes odoo/odoo#30369
2019-01-18 16:34:08 +00:00
Nicolas Martinelli 5291b8c1a4 [FIX] account: Journal Items link
- Activate debug mode
- Go to the Accounting Dashboard
- In Vendor Bills, click on 'Journal Items'

A crash occurs because of the concatenation of a `bool` and `str`.

In this case, the `action['help']` is `False`.

closes odoo/odoo#30351
2019-01-18 12:02:28 +00:00
Lucas Perais (lpe) 897834f406 [FIX] base: res_users form message partner active correct condition
Before this commit, the condition and the field on which it applied were wrong
That is, when both the user and the partner were inactive, the message saying that
the partner was still active displayed anyway

After this commit, we show the message only when the user is inactive but its
directly related partner is still active

OPW 1928247

closes odoo/odoo#30337
2019-01-18 10:07:26 +00:00
XavierDo 76e085cbb7 [FIX] base: avoid to escape image when src contains @
The content id of an attachement can contains a @, therefore
image contained in emails where sometimes escaped by html_sanitize
as if they were emails adresses.

Task: 1915251

closes odoo/odoo#30326
2019-01-17 16:21:08 +00:00
Nicolas Martinelli 8781e2e4f8 [FIX] payment: multiple companies
- Activate multi-company
- Create 2 S2S payment methods (Payment Flow: Payment from Odoo), one
  for each company
- Connect as a regular user to `/my/payment_method`

The user has access to both payment methods, while he should only have
access to the method of his company.

opw-1920483

closes odoo/odoo#30558
2019-01-25 13:34:32 +00:00
Nicolas MartinelliandNicolas Lempereur b2266fae87 [FIX] website_sale: terms & conditions
- Install website_sale and website_sale_delivery
- Activate 'Terms & Condition' on the payment page
- Process a shopping cart

On the payment page, the 'Terms & Condition' checkbox is unchecked, but
the 'Payment' button is enabled.

Both `$checkbox.change` and `_onCarrierUpdateAnswer` set the `disabled`
property, and conflict.

We keep on the HTML node an object with the list of disabled reasons.

opw-1923459

Co-authored-by: Nicolas Lempereur <nle@odoo.com>

closes odoo/odoo#30504
2019-01-25 10:19:12 +00:00
Odoo Translation Bot fe36bff420 [I18N] Update translation terms from Transifex 2019-01-27 01:37:55 +01:00
Nicolas Lempereur c7a281d880 [FIX] website: affix menu no close frontend mobile menu
On mobile the frontend menu navbar is an hamburger menu that open on
click.

If the option "Customize > Main layout | Affix Top Menu" is
enabled, there is two menu:

- one at the full top of the page
- one affixed to the top of the viewport (only shown if we are at least
  scrolling 300px away from the top of the page)

But there is a side effect: when scrolling if the menu at the top of the
page is opened, it will be automatically closed => this makes sense to
avoid having two menu shown on the same page but is an odd behavior.

With this commit, the behavior is changed and when the menu is opened in
the top, the affixed menu is not shown (it only works if the top page
menu has no opened dropdown).

opw-1920310
closes #30564
2019-01-25 15:56:15 +00:00
Yenthe666 146e0692e5 [FIX] l10n_nl: don't set VAT accounts on grouped tax + follow official Dutch tag names
closes odoo/odoo#30539
2019-01-25 09:34:53 +00:00
qdp-odoo 19ece69850 [FIX] account: manual reconciliation from journal items
use cases fixed:
  1) go in the journal items, filter on unreconciled lines, pick just one and click on 'Action > reconcile', the manual reconciliation widget opens but you directly get the rainbowman and you can't do anything. It's not possible to reconcile the selected entry with a writeoff (to clear a customer account, for example).
  2) go in the journal items, select 2 receivable lines for the same amount but that don't have any partner set then click on 'Action > reconcile', the rainbowman directly shows without processing the reconciliation.

    To fix those issues, we now clearly bypass the regular methods in case we have active_ids and active_model == 'account.move.line', since they weren't adapted anyway.

    also implement real error message when selected lines don't have the same company or account (currently it's displaying a rainbowman): see error messages in 'reconcile()' in account_move.py

  OPW #1919727 and #1930957

  Co-authored by wan-odoo

closes odoo/odoo#29771
2019-01-25 12:21:16 +00:00
Christophe Simonis c8ace043e5 [MERGE] forward port branch saas-11.3 up to 387d5cff90
closes odoo/odoo#30566
2019-01-25 17:29:34 +00:00
Lucas Perais (lpe) e8803e91e2 [FIX] account: register payment multi invoices
In the invoice list view, select one or more invoices
click on the action > register payment

In the wizard, put an amount inferior to the sum of invoices amount
Do a write off

Before this commit, the write off was ignored and the invoices not marked as paid

After this commit, the write is written, and the invoices marked as paid

OPW 1920839

closes odoo/odoo#30465
2019-01-24 08:49:23 +00:00
Martin Trigaux 15e2857cf3 [FIX] portal: match title and purpose
Was saying previous while it was actually next

closes odoo/odoo#30543
2019-01-25 10:18:13 +00:00
Nans Lefebvre 5607620623 [FIX] web: make the progress bar handle False as selection value
Fine-tuning of commit 92b4e2e866,
itself a performance fine-tuning of commit b7e2d47596
which added progress bar support for selection fields.
However it assumed that every record had a value in the selection,
whereas False is (nearly) always a possible value.

opw 1916472

closes odoo/odoo#30322
2019-01-17 14:52:25 +00:00
Nans Lefebvre 4ff88dac2e [FIX] mail: allow the followers list to be scrolled
The follower's list has an ancestor (the o_chatter_topbar) that has a 33px size.
Thus it has not been given any max-height, so that it can overflow
that 33px limit.
But it also means that it can overflow the screen, without any scrollbar,
so long lists are unreadable and unusable.

We set the max-height to a reasonable value, allowing for scrollbars.

opw 1922062

closes odoo/odoo#30211
2019-01-18 12:24:23 +00:00
Christophe Simonis 6e5ac01160 [FIX] web: correct forward-port of 187c32c2c7 2019-01-18 15:27:22 +01:00
Christophe Simonis f854e01a98 [MERGE] forward port branch saas-11.3 up to 4aa153e65c 2019-01-18 10:58:41 +01:00
Jorge Pinna Puissant e6b5a0e2eb [FIX] payment: Acquired deployed in production
Before this commit, in the config bar (Sales or Invoicing) when you configure a payment
acquirer,  it was deployed in test mode, and not in production mode. Note that, the config
bar wizard asks for the production credentials.

Now, when you configure a payment acquirer, from the config bar, the acquirer is deployed
directly in production mode.

opw-1918412

closes odoo/odoo#30319
2019-01-17 14:25:25 +00:00
Denis Ledoux 8865d63134 [FIX] res_partner: a partner is portal if he has no employee users
Currently, a partner is considered a portal
if he has no users
or
if at least one of his users is portal.

This causes problems if an employee has two users,
one portal, one employee
and gets notified in a thread (e.g. @ Marc demo):
The email sent won't contain the action buttons (e.g. view opportunity)
because the employee is considered as portal.

A partner of an employee can have multiple users
linked if at some point two partners were merged,
and the partners had each a user, one a portal
and the other an employee.

This revision changes this behavior,
to consider a user as not portal (employee)
if one of its users is not a portal (an employee).

This is uniform with to the behavior of the
`share` field of `res.users`,
which is `True` when the user is part of the group employee.
```
user.share = not user.has_group('base.group_user')
```

opw-1914103

closes odoo/odoo#30314
2019-01-17 13:08:35 +00:00
Nicolas Martinelli 4da161244d [FIX] stock_account: ctx after group by
- Set valuation to FIFO
- Make a PO for a product
- Validate the picking
- Execute the Inventory Valuation report
- Apply group by Category
- Click on the 'Valuation' info button

A traceback occurs because of the usual `group_by` context key which is
kept.

opw-1918915

closes odoo/odoo#30313
2019-01-17 13:00:47 +00:00
Lucas Perais (lpe) 0dd38282c3 [FIX] crm: test lead from email needs second company
Because of a742813c36fc8cdf4e41c72e00944b6901be6017.
Apparently when crm is installed alone, there is only one company

closes odoo/odoo#30312
2019-01-17 12:53:08 +00:00
Hardik Prajapati 81c090751f [FIX] mrp: Barcode on Manufacturing Order Report
opw-1925956

closes odoo/odoo#30304
2019-01-17 12:17:33 +00:00
Nans Lefebvre 01cd87794d [FIX] web: remove the report_layout from studio selectable widgets
Open studio to modify the widget displaying a relational field.
The report_layout widget can be selected, say, to display payment terms.
Obviously it doesn't make sense.

We remove its supported field, as the field is not generic
(indeed there is only one use for it in the codebase).

opw 1919369

closes odoo/odoo#30303
2019-01-17 10:19:23 +00:00
Lucas Perais (lpe) 15cd94b746 [FIX] base: merge contacts linked to by an o2m field with caps
Define a field on a model as:
- o2m to res.partner
- the field's column, hence its name, has capital letters in it
(studio does that)

create two objects of that class, each one linked to a different partner with the new o2m

merge the partners

Before this commit, the object linked to the second partner, was deleted
This was because merge partner sql requests did not quote the column name

After this commit, the second object still exists

OPW 1925060

closes odoo/odoo#30300
2019-01-17 12:30:20 +00:00
qsm-odoo 606bae9e92 [FIX] web_tour: ensure Tip template is loaded
The 500 page has `session.is_frontend === undefined` as it has its own
whole HTML template.
In that case, the ajax.loadXML is not done, making the tour crash when
visiting a 500 error page.

This is needed for #29957 that has a test tour on 500 error page.

closes odoo/odoo#30240
2019-01-17 11:53:09 +00:00
Romain Derie b5fe23055d [FIX] website: handle COW'd views during module install/update
Since multi-website, we COW (copy on write) views when editing a view on a
website.
This is causing 2 issues related to module install/update:
1. During a module install, when creating an inherited view, it will create
   that view as expected on the generic tree.
   But that generic tree may not be used on website(s). Indeed, if the view
   was edited, we are now using a copy of the view instead of the original
   XML view (with an xml_id).
   That copied view won't get the new inherited view in its view tree.
   Now, we correctly copy the new view under every specific view tree (if
   exists).
2. During a module update, when updating a view, it will only update the view
   having the xml_id, so the generic one.
   But most of the time, the generic view is not used as it was usually COW'd
   and the specific view now replace the generic one.
   Now, we also apply the update on the COW'd view. Note that only unmodified
   field will be updated, this behavior basically mimic the noupdate behavior
   on view's ir.model.data.

Step to reproduce for bug 1:
  - Install website_sale module
  - Go to a product page and then enter edit mode
  - Make a modification to trigger COW, eg edit the information area under the
    price "30-day money-back guarantee".
  - Now install website_sale_comparison module
  - The product page won't have the comparison button as the comparison view
    inheriting the product view was created on the generic tree and not copied
    on the specific tree (COW'd before the comparison module install).

Step to reproduce for bug 2:
  - Repeat first 3 steps of bug 1
  - Now make a modification in a view from the XML file in
    website_sale_comparison module and update the module
  - Only the view with the xml_id is updated, not it's COW'd views. This mean
    that only the generic view is updated and not the specific one(s) really
    used on the website.

task-1920487

closes odoo/odoo#29956
2019-01-10 16:19:35 +00:00
Romain Derie 20e9d77be8 [FIX] website: correct order when copying view children on COW
Before this commit, a generic view tree could be valid but impossible to copy
on a COW specific tree.

This was because when looping through inherit_children_ids to copy them, they
would be sorted by the ir.ui.view sort order (name, priority, id).
Indeed, when applying view inheritance and reading a view arch, children are
sorted by (priority, id).

Thus, if sorting the children by (name, priority, id) was different than
sorting by (priority, id) and the children view would conflict in that new
order, the COW would raise an error "can't find DOM element"

Step to reproduce:
  - Create a parent view with just a DIV in arch
  - Add a child view that add something inside that DIV
  - Add another child view with a name alphabetically lower than the other
    child and that replace the DIV by something else, like a SECTION
  - Everything works as expected, when reading the parent view arch, the first
    child is inserting something into the DIV and then the second is replacing
    the DIV
  - Now try to trigger the COW on the parent view by writing something on it in
    a website context
  - It will crash as the child views will be copied in another order, sorted
    firstly by name.
  - Indeed, when reading parent view, the second child will be copied first as
    it's name is lower than the first, it will then replace the DIV by a SPAN.
    When trying to copy the other child view that is supposed to insert
    something into the DIV, the DIV will not be found and it will crash.
2019-01-09 13:09:26 +00:00
Nicolas Martinelli 3ad5748cef [FIX] purchase: auto-complete order
When using the 'Auto-Complete' feature of a vendor bill, oldest vendor
bills are suggested first.

This is because the `_order` uses the `vendor_bill_id` and the
`purchase_order_id`. In the view, we have a mix of positive, negative
and null ids, therefore this can't work.

We sort on the date and the name instead, which gives a more reliable
result.

opw-1925910

closes odoo/odoo#30299
2019-01-17 09:41:41 +00:00
Martin Trigaux 766da2017c [I18N] l10n_be: update chart of account translations
To reflect the latest accounts and taxes
Update nl.po files to help translators
A future commit will translate the missing entries

closes odoo/odoo#30297
2019-01-17 09:17:07 +00:00
Pierre Masereel 27cc1fb3af [FIX] snailmail: background layout footer
In the background layout footer, it happens that the content is over a
zone that must stay blank. That's why w've added a left-padding to the
footer.

OPW-1928366

closes odoo/odoo#30296
2019-01-16 15:17:14 +00:00
Sébastien Theys 13b104bf9e [FIX] sale,sale_management: prevent traceback on get_access_action
The field `sale_order_template_id` is only defined on `sale_management`, so
calling that method without `sale_management` would crash (traceback).

The method was in `sale_management` in the first place but commit
34c47eecd3 happened and some mistakes were made
that day.

PR: #30000

closes odoo/odoo#30294
2019-01-17 08:16:11 +00:00
Sébastien Theys 9df7d244a0 [FIX] tests: fix chrome headless to work with any local HOST
Before this commit, changing the value of the HOST variable didn't work because
it wasn't correctly used everywhere.

Moreover, the `web.base.url` was not correctly set: it is set during
authenticate, but when calling it from the console instead of from a request,
which is the case for tests, it is not able to grab and set the URL as needed.

PR: #30000
2019-01-17 08:16:11 +00:00
Nicolas Seinlet 5f6a491265 [IMP] point_of_sale: use read_group
Using read_group outside of the loop make the sum computation in 
PostgreSQL instead of Python, and avoid the ORM to fetch fields of 
records to compute a sum of one field.

closes odoo/odoo#29825
2018-12-31 08:15:14 +00:00
Bohdan Lisnenko 9298c576f4 [FIX] website_sale_comparison: keep attributes order consistent
closes odoo/odoo#30221
2019-01-16 14:47:46 +00:00
Christophe Simonis f03f09cf90 [FIX] purchase: adapt forward-ported view changes to new version 2019-01-16 18:22:32 +01:00
Christophe Simonis 1d05c0a499 [FIX] mrp: correct forward-ported test 2019-01-16 18:19:55 +01:00
Christophe Simonis 378b283c02 [MERGE] forward port branch saas-11.3 up to 83cc046e9a 2019-01-16 17:02:34 +01:00
Lucas Perais (lpe) e79c35dcbc [FIX] stock_account: inventory valuation value in company currency
In multicompany,
Have company B with a different currency than company A
With a shared product catalog
Open the inventory valuation report for company B

Before this commit the stock Value is expressed in company A's currency,
even though the value itself is correct

After this commit, the stock value is expressed in the right currency

OPW 1912511

closes odoo/odoo#30242
2019-01-16 12:06:45 +00:00
Jeremy Kersten 44585c2420 [FIX] website_sale_comparison: compute currency from template
closes odoo/odoo#30238
2019-01-15 17:12:12 +00:00
Jeremy Kersten bdbca1cdca [FIX] website_forum: add level field in gamification form view 2019-01-15 17:12:12 +00:00
Nicolas Lempereur 535da9e78c [FIX] web: no ResizeObserver video error on chrome
When displaying a video, with the browser window at a certain size, or
resizing it (or opening developer tools) we could the following error:

 "ResizeObserver loop limit exceeded"

This can be reproduced in chromium just with this JS code:

  window.onerror = function(e){ console.log(e); };
  document.body.innerHTML = '<div><video controls src="v.webm"/>';

The issue only happen if:

- the video server does not support HTTP range requests
- the controls are displayed on the video
- browser size is in problematic size/resized to problematic size

And the error is raised in window.onerror but not displayed in the
developer console.

With this change, we ignore these errors until fixed in chromium.

chromium bug tracker: https://crbug.com/809574

opw-1928512
closes #30239
2019-01-15 17:01:57 +00:00
Aurélien Warnon b654fabe04 [FIX] event_sale: fix event registration confirmation modal
Task #1910927

Purpose
=======

When confirming a sale order with event tickets, a modal is supposed to be shown to be able to
confirm the event registration.

That modal was not shown anymore.

To solve it, we split the '_action_confirm' to run the actual business of the event_sale module,
which is '_update_registrations', and moved the action returned in the regular 'action_confirm' method.

closes odoo/odoo#29997
2019-01-09 08:50:45 +00:00
Anshuman Sharma cd1d9824ab [FIX] website: solve alignment bugs in onboarding
- Fix the position of 'Add to menu' toggle button in new page dialog
- Properly align tip icon in the welcome message

task-1895287

closes odoo/odoo#29403
2019-01-16 10:16:44 +00:00
Toufik Ben Jaa 7f524c393d [FIX] payment: display payment tokens for form acquirers
- The method `_get_available_payment_input` that returns the available
  payments acquirers and the payments tokens for a specific user never
  returns the payments tokens linked to a non s2s payment acquirers.

  This is wrong, the payments tokens should always appears no matter
  what are the acquirers' payment flow.

  The payment flow is used only to specify where the customer should
  input his credit cards details, either on Odoo or on the payment
  acquirer's website (or popup).

  Once a token is created, it is safe to process it since no credits cards
  details are stored on the Odoo database.

closes odoo/odoo#30258
2019-01-16 09:45:38 +00:00
Nans Lefebvre ba65d0e259 [FIX] mrp: show correct number of attachments on bom lines
Display a BoM.
On BoM lines, there is an attachment feature that creates a mrp.document,
which is basically a container for an attachment.
This commit fixes the view which displayed 'no attachment' when there were some
and vice versa.
It also fixes the computation of the number of attachment: the displayed view is
on mrp.document, but the computation is done on ir.attachment.
As a result if there are other unrelated attachments (such as digital files)
they would be counted but not displayed.

opw 1923441

closes odoo/odoo#30208
2019-01-15 12:21:07 +00:00
lejeune quentin c516cb90af [ADD] IoT : Add printer compatibility with the LPD protocol
closes odoo/odoo#29875
2019-01-15 15:23:24 +00:00
lejeune quentin b314a970f8 [FIX] IoT : Remove inactive Timesyncd service 2019-01-15 15:23:24 +00:00
lejeune quentin e5c62987b4 [FIX] IoT : HTTPS disable certificate verification by URLLIB3 2019-01-15 15:23:24 +00:00