Commit Graph
117709 Commits
Author SHA1 Message Date
Christophe Simonis efe2dcd7ae [MERGE] forward port branch 11.0 up to ced9156a97 2018-08-07 19:08:07 +02:00
Christophe Simonis ced9156a97 [MERGE] forward port branch saas-15 up to 65a80cf3fd 2018-08-07 18:11:15 +02:00
Swapnesh Shah 174bd3a7ac [FIX] website: remove unnecessary ensure_one
The write works on multiple records

Closes #26033
2018-08-07 17:47:57 +02:00
Nicolas Martinelli 6470ee74b8 [FIX] point_of_sale: return with rounding < 0.01
- Set the currency to a rounding of 0.001
- Create a POS order:
  Unit Price: 0.12
  Quantity: 0.1
- Pay and validate
- From the backend, return the products on the create order
- Click on 'Payment'

The proposed amount is 0.01, not 0.012. It is not possible to complete
the payment process since the field is rounded at DB level to 2 digits
of precision.

We make consistent the `amount` field with the various amounts on the
`pos.order`. By using a `digits=0` and forcing the rounding, we avoid
inconsistent rounding between the order and the payment.

opw-1864344
2018-08-07 17:33:57 +02:00
Christophe Simonis 65a80cf3fd [MERGE] forward port branch saas-14 up to 0c5cbbe0bb 2018-08-07 17:01:16 +02:00
Christophe Simonis 0c5cbbe0bb [MERGE] forward port branch 10.0 up to 692a32e780 2018-08-07 16:54:18 +02:00
Christophe Simonis 692a32e780 [MERGE] forward port branch 9.0 up to 1b76b6168f 2018-08-07 16:52:50 +02:00
Martin Trigaux 3d3a9f3169 [FIX] event_sale: make action_confirm work with multi
The other overrides are working with multiple records but not event_sale.
The ensure_one() is not needed if you make a proper loop

Replaces and closes #26078
2018-08-07 14:58:40 +02:00
Christophe Simonis d7e2c767ce [MERGE] forward port branch 11.0 up to 3513e599a7 2018-08-07 13:58:20 +02:00
Nicolas Lempereur 3513e599a7 [FIX] base: show char field size in form view
The char field has a size attribute that is displayed in the interface:

- if the field is added with code, the size is always 0 even tough the
  size limit is set correctly in the database.

- if the field is a custom field, the size is correct and can be updated

With this commit, a base field show the correct size.

opw-1869282
closes #26204
2018-08-07 09:54:47 +02:00
Andreas PerhabandNicolas Martinelli 52fef21d81 [FIX] web: re-add title attribute for many2many tags that got lost
Co-authored-by: Nicolas Martinelli <nim@odoo.com>

Closes #25693
2018-08-07 09:21:22 +02:00
Nicolas Martinelli b37416376b [FIX] google_calendar: rrule crash
Consider the following:
``` python
from datetime import datetime
from dateutil import rrule
import pytz

dt = pytz.UTC.localize(datetime(2016, 9, 2, 15, 42, 43, 205))
rset = rrule.rrulestr('FREQ=WEEKLY;INTERVAL=2;BYDAY=SU,FR,SA', dtstart=dt, forceset=True, tzinfos={})
test = [d for d in rset]
```

This will generate the following error:
```
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/dateutil/rrule.py", line 1164, in _iter
    advance_iterator(ritem)
  File "/usr/lib/python2.7/dist-packages/dateutil/rrule.py", line 1091, in __next__
    self.dt = advance_iterator(self.gen)
  File "/usr/lib/python2.7/dist-packages/dateutil/rrule.py", line 649, in _iter
    date = datetime.date.fromordinal(ii.yearordinal+i)
ValueError: year is out of range
```

If such an event is received from Google Calendar, the synchronization
crashes. To avoid this, we enforce a `COUNT` condition if the latter or
`UNTIL` is not explicitly specified. This gives:
``` python
rset = rrule.rrulestr('FREQ=WEEKLY;INTERVAL=2;BYDAY=SU,FR,SA;COUNT=100', dtstart=dt, forceset=True, tzinfos={})
```

Note that this was supposed to be fixed in
https://github.com/odoo/odoo/blob/9dcc32c3041e7ad3549a09c5ed68ee3ef22c7a26/addons/calendar/models/calendar.py#L1287
However, this was working with the old API. The new API and its computed
fields does something different:

1. create the calendar event with the provided `rrule`
2. trigger the inverse method `_inverse_rrule` => `count=100` is added
   to the computed parameters
3. however, doing so won't recompute `rrule` for obvious reasons (it was
   the initial value provided, so we don't recompute it)
4. the crash is met in `_get_recurrent_date_by_event` when using
   `self.rrule`

The fundamental issue is that `_inverse_rrule` is not strictly the
inverse of `_compute_rrule`.

Fixes #25189
opw-1861658
2018-08-07 09:02:44 +02:00
Adrian Torres a4454fc7b1 [FIX] ir_model: stop crashing _prepare_update
If the field being checked in _prepare_update hasn't been loaded yet we
should skip it to avoid a KeyError.

OPW-1871180
OPW-1872236
2018-08-07 07:53:02 +02:00
Richard Mathot c5d95f1b37 [FIX] resource: don't lose minutes anymore
In resource.calendar.attendance, we store the start and end hour of an
interval as floats.

eg: 17 hours 9 minutes is stored as 17.15

When converting this float to a datetime object, the method
float_to_time always rounds down the value, which may be wrong if, due
to float imprecisions, 0.15 hours is converted to 8.999... minutes (and
was then rounded to 8).

We do fix this behaviour by rounding to the closest integer.

Thanks to @jem-odoo for his help troubleshooting this issue.

opw-1872166
2018-08-07 07:36:49 +02:00
Deep Patel 1369272f1a [FIX] base: inline buttons was breaking into multiple lines (outlook hack)
Because we converted buttons into tables so inline buttons was
breaking into multiple lines so we need to add display inline and vertical align
properties in tables.

We allowed display property from mail sensitizer whitelist.

Because in this commit https://github.com/odoo/odoo/commit/cf15030ed09f7479f5b2701ba101a5bed71f7409
we use display property for align items
2018-08-06 16:17:48 +02:00
Deep Patel c76c21d607 [FIX] mass_mailing: fixed multiple buttons transcoding issues (outlook hack fix)
Because of outlook hack node was not find next sibling of current element.
Due to this only first button is transcoded into inline css.
2018-08-06 16:17:48 +02:00
Arnold Moyaux 64a219bd06 [FIX] stock: multiple orderpoints for a same location
commit 47654e98e0 modified a defaultdict by an OrderedDict.
When multiple orderpoints use the same location the key is the same and
location_data dict entry is removed for the new one.

This commit only call makedefault when there is not current entry for
the dict.
2018-08-06 15:51:25 +02:00
len-odoo c5ffca1511 [FIX] stock_account: copy the to_refund field when splitting a move
The to_refund attribute is set to copy=False.
However when splitting a move to create a backorder, a new move is created as
a copy with the remaining work to do.
This attribute is needed so that the backorder refund is consistently applied.

opw 1865324
2018-08-06 15:23:27 +02:00
Martin Trigaux 180a970e44 [I18N] remove outated translation with errors
Contained bad %s and are out of sync with the reference
2018-08-06 14:45:40 +02:00
Goffin Simon 7d50f2e902 [FIX] mrp_repair: Access Rights for stock user
Due to this commit: 6e93fe0de1
the stock user has the all rights on model 'product.pricelist'
As the repair order model has the field pricelist_id on it,
the stock user must have the right to read it.

opw:1865814
2018-08-06 13:50:22 +02:00
Nicolas Lempereur 84abc9d06c [FIX] purchase: Receive Products ok context F5
The `active_id` when clicking on "Receive Products" on a purchase order
is the one of the purchase order.

But the action used has a context with:

```
{
    'search_default_picking_type_id': [active_id],
    'default_picking_type_id': active_id,
    'contact_display': 'partner_address',
}
```

So the active_id should be a stock.picking.type and not a purchase
order, thus:

- we could get an error at some instance (eg. a refresh) when loading
  the facet of the stock.picking.type with the ID of a purchase order

- we could erroneously show a facet for a stock.picking.type with the ID
  being the same as the purchase order

So this commit uses the same action without the offending `active_id` in
context.

opw-1870687
closes #26160
2018-08-06 13:18:26 +02:00
Christophe Simonis 932b229941 [MERGE] forward port branch 11.0 up to b29e053436 2018-08-06 11:46:10 +02:00
Christophe Simonis b29e053436 [MERGE] forward port branch saas-15 up to 43eca3079e 2018-08-06 11:32:12 +02:00
Christophe Simonis 43eca3079e [MERGE] forward port branch saas-14 up to 1f92477cf4 2018-08-06 11:01:50 +02:00
Christophe Simonis 1f92477cf4 [MERGE] forward port branch 10.0 up to 2b7c525982 2018-08-06 10:29:57 +02:00
Christophe Simonis 4b19b84437 [FIX] web: better detection of non specify group_by in pivot views 2018-08-06 10:24:31 +02:00
Christophe Simonis efb896f915 [FIX] board: fallback to default view when not found in action
This can happen when action is modified after dashboard creation.
2018-08-06 10:24:31 +02:00
len-odoo 34d1ecd6f3 [FIX] stock, purchase: clean moves to merge
Purchase creates an activity when some stock move is deleted.
Howver when two moves are merged "behind the scenes", some moves may be deleted.
As a result it creates an activity "warning: some move has been deleted" for no
good reason.
We add a hook to clean moves before the merge.

opw 1826791
2018-08-06 10:17:25 +02:00
Andrea 85e8d13768 [FIX] sale: Amount Invoiced in Sales Analysis 2018-08-06 09:52:04 +02:00
Lucas Perais (lpe) 39f19d14f0 [FIX] crm: enable customizable pipeline action
On the pipeline action change the sequence of the view_ids to
change the order of the view_mode string
Put tree first instead of kanban for example

Before this commit, clicking on CRM menu app still displays the kanban
This was because the action window is wrapped around a server action that modifies it

After this commit, we recompute the view list to match what is on the original action

OPW 1863425
closes #26159
2018-08-06 09:41:49 +02:00
Lucas Perais (lpe) efa7f87cc8 [FIX] calendar: event from activity strip text from html
From a SO (for example), create an activity with type meeting
Create the calendar event

Access it as a guest with the route with the token

Before this commit, there was an error 500 because the description
of the event actually contained "\n" and was not parseable

After this commit, we strip the string at event creation, and no error occur

OPW 1867283
closes #25795
2018-08-06 09:31:06 +02:00
Odoo Translation Bot ea16b49e8c [I18N] Update translation terms from Transifex 2018-08-05 04:05:24 +02:00
Odoo Translation Bot 2b7c525982 [I18N] Update translation terms from Transifex 2018-08-05 00:28:35 +02:00
Martin Trigaux 1b76b6168f [FIX] base: remove leftover print 2018-08-04 08:34:01 +02:00
Luis González b623695ee7 [FIX] website_sale_digital: portal files as digital products
Currently, when a digital product is purchased, the list of attachments
is incorrectly computed. Product template's portal files are retrieved
correctly, but all product variant's attachments are taken into account,
not only its portal files.

This commit causes the portal attachments to be computed correctly,
taking into account only portal files from both the product template and
product variant.

Closes #25609
2018-08-03 10:41:02 +02:00
Andreas Perhab b3bcfbde1b [FIX] sale_stock: fix msg argument in assertion
third positional argument is places not msg (which expects a number not a str)
https://docs.python.org/2/library/unittest.html#unittest.TestCase.assertAlmostEqual

fixes errors like these:
 if round(abs(second-first), places) == 0:
 TypeError: 'str' object cannot be interpreted as an integer

and gives the intended message when assertion is errornous
2018-08-03 09:36:44 +02:00
Christophe Simonis 15d3ba496f [FIX] product: correct product view
The field `description` has been misplaced during foward-port of
46b8c07249
2018-08-02 18:19:52 +02:00
Richard Mathot 47654e98e0 [FIX] stock: make orderpoints run in a deterministic order
In Python 3.5, items() on a dictionary return keys in a randomized order.

location_data can thus be processed in different orders, leading to
different quantities in the MO's created by the procurement scheduler.

This fix makes the output of the scheduler deterministic.

(thanks to @odony for his help in troubleshooting this issue)

opw-1865711
2018-08-02 17:00:14 +02:00
Goffin Simon ec7109c919 [FIX] account: Wrong payment amount in multi-currency
Steps to reproduce:

- activate the EUR currency

- set a currency rate 1 USD = 1.2 EUR

- create a Bank journal in EUR with a EUR account

- create a Vendor Bill in EUR for 1200 EUR in total

- go in the Vendor Bill list view (Accounting > Purchase > Vendor Bills)

- select the created Vendor Bill

- click "Register Payment" in the action menu

- select the EUR Bank journal you created

Bug:

The payment amount is 1000 EUR instead of 1200 EUR.

opw:1870351
2018-08-02 16:27:34 +02:00
Martin Trigaux 8c07fd3c5a [FIX] barcodes: remove untranslated content
Since 6a3324a7 and 0c489cf1fa, a translation can not contain a \n
Previous text was not correct rst anyway.

Reexport base translations to include all missing modules
2018-08-02 11:49:32 +02:00
Lucas Perais (lpe) dda2f0f861 [FIX] mass_mailing_event: keep default domain
Before this commit, when cliking on "mass mail attendees" on a event form
the default domain on the attendees for determining the mass mailing recipient
was lost in an onchange

After this commit, we retrieve the right domain

OPW 1869308
closes #26081
2018-08-02 09:35:29 +02:00
pigna74 9a48f67863 [CLA] international business hub signs Odoo's CCLA
Closes #26098
2018-08-01 17:02:08 +02:00
Lucas Perais (lpe) e17bc4eb37 [FIX] base: set currency on a new db
Open the web/database/manager and create a db with a country set.

The country of the first company will be set to the country set on the form

Before this commit, the currency was not set, eventhough it is a field
on res.country

After this commit, we also set the currency of the first company

opw 1869435
closes #26097
2018-08-01 14:40:39 +02:00
Lucas Perais (lpe) e35a972639 [FIX] web: kanban progressbar css fixup
fixup of dc253ff1c6
2018-08-01 14:24:54 +02:00
Christophe Simonis 22b31152ca [MERGE] forward port branch 11.0 up to f9e0f6663f 2018-08-01 14:20:39 +02:00
Lucas Perais (lpe) 17e50b745d [FIX] account_assets: fallback sell or dispose button
Create an asset and confirm it.
Click on Sell or Dispose
The form view of the disposal move opens

With the breadcrums, back to the asset
Click again on sell or dispose

Before this commit, literally nothing happens
This is because there is no more business to do

After this commit, in the case there is no business to do
we fallback onto the smartbutton's action

OPW 1864318
closes #26086
2018-08-01 14:16:21 +02:00
Christophe Simonis f9e0f6663f [MERGE] forward port branch saas-15 up to c2f220f977 2018-08-01 12:49:01 +02:00
Christophe Simonis c2f220f977 [MERGE] forward port branch saas-14 up to 7836c41763 2018-08-01 12:06:06 +02:00
Christophe Simonis 7836c41763 [MERGE] forward port branch 10.0 up to e372ca5cd8 2018-08-01 11:52:45 +02:00
Lucas Perais (lpe) e372ca5cd8 [FIX] account: aged partner balance report consistent return
Before this commit, the function that computes the aged partner balance
could return a list instead of a dict if no partner were found

After this commit, we make the function's signature consistent
closes #26095
2018-08-01 11:23:31 +02:00