Commit Graph
119226 Commits
Author SHA1 Message Date
Nicolas Martinelli 1f42cf9f9c [FIX] sale, sale_timesheet: re-introduce default invoice policy
Related to f89d4201c7

Since the invoice policy is becoming more and more simple, it is
always nice to add as much logic as possible to make things even more
simple.

For the record, 5 fields are taken into account when it comes to
invoicing policy:
service_policy
service_type
service_tracking
invoice_policy
expense_policy

They are partially linked one with the other, and not all make sense for
a given product type...
2018-08-09 13:04:45 +02:00
Marco Calcagni ed19ad1568 [CLA] signature for As400it
Closes #26253
2018-08-09 11:38:24 +02:00
len-odoo f4ec8b95b7 [FIX] mail: only get one mail channel partner per user
When more than one mail.channel.partner have been linked to a given user, he may
be unable to open some discussion channel because of a traceback.
The issue is that we access a channel_partner field while the recordset is not a
singleton.
We limit the search to 1 to ensure that this recordset is a singleton.
2018-08-09 11:24:27 +02:00
Christophe Simonis cdef8740ec [MERGE] forward port branch 11.0 up to 252bc396b4 2018-08-09 11:10:38 +02:00
Simon Lejeune 252bc396b4 [FIX] stock: button_validate: forced move lines
When a move line is not linked to a move, it'll be linked to the first
move of the same product at validation time. We slightly improve this
logic by linking it to the first non-completed move. To be completely
correct, we should split the move line if necessary and link it to all
needed moves, but at this time we don't  want to make the logic too
complex.

Use case: create a sale order with three sale order lines of the same
products, use the detailed operations view and add three move lines of
the same products, validate the picking. Before the patch, all move
lines were linked to the first move and thus only the first sale order
line had delivered quantities.

Fixes #25488
opw-1861765
2018-08-09 08:38:17 +02:00
Jigar A d92f17cebe [FIX] signup: allow non-admin to invite portal users 2018-08-08 23:44:40 +02:00
Christophe Simonis 325399ab44 [FIX] {sale_,}stock: revert 0ab71f1247
Esentially forward-porting a backport is not a good idea...
2018-08-08 19:38:19 +02:00
Christophe Simonis 4c2bdafe69 [MERGE] forward port branch saas-15 up to e7ccf38c48 2018-08-08 18:42:27 +02:00
Christophe Simonis e7ccf38c48 [MERGE] forward port branch saas-14 up to 42f87c73fd 2018-08-08 17:58:05 +02:00
Christophe Simonis 42f87c73fd [MERGE] forward port branch 10.0 up to 6ded4d9ce8 2018-08-08 17:26:04 +02:00
Pedro M. Baeza b122526666 [FIX] pad_project: avoid rewriting project on task saving
Due to the side effect on related fields that are not readonly, the value is saved
in project although not changed. Putting it readonly avoids the problem.

Fixes #26156
Closes #26171
2018-08-08 15:42:13 +02:00
Nicolas Martinelli d32a5eddc8 [FIX] point_of_sale: wrong behavior Price Control
This is not expected since it leads to an inconsistent result: the user
and the access rights do not match. Better add a PIN to the manager.

This reverts commit bb8bb3cbfe.
2018-08-08 14:30:07 +02:00
Nicolas Martinelli 6ded4d9ce8 [FIX] payment_stripe: disable button
- Create an order from the eCommerce
- Choose to pay with Stripe
- Enter the credit card info, validate

There is a short window of time (before the reload of the page) where
the user can click on 'Pay Now' again.

This is because the HTML is completely replaced, including the button.
We restore it when necessary.

opw-1866332
2018-08-08 14:18:17 +02:00
Martin Trigaux c119ea40bb [FIX] point_of_sale: show the invoice button for paid orders
Introduced at e434690fe3
The button should be displayed when the order is paid to generate the invoice
Once the invoice is generated, the state is invoiced and a statbutton lead to
the generated invoice.

Remove the readonly attrs as it has no effect on a button
2018-08-08 14:13:46 +02:00
Lucas Perais (lpe) f2b2d87236 [FIX] account: default name for analytic line from aml
Create an account_move, with at least one move line having an analytic account on it
AND no label

Save and Post

Before this commit, the post failed because an analytic.line should have a label (required)

After this commit, we fill in a default name for the analytic line, composed of the data of the line,
if available, or '/'

OPW 1863418
closes #26013
2018-08-08 10:54:18 +02:00
Gert Pellin bb8bb3cbfe [FIX] point_of_sale: wrong behavior Price Control (#26232)
Before the fix price control only worked like should on initialisation of a pos section. On switching cashier during a setting manager would lose price change rights and normal users would gain them.
2018-08-08 09:59:20 +02:00
Wolfgang Taferner a4a9196c8d [FIX] account: regression - display partner_name as placeholder 2018-08-08 09:50:31 +02:00
Damien Bouvy c61cddf814 [FIX] hr_gamification: csv space EoL
Can cause some issues with importing the files
2018-08-08 09:40:16 +02:00
Nicolas Lempereur 8ff138a0da [FIX] barcodes: ok PageUp/Down/Home/End in firefox
Same reason as 8d948d92.

In firefox if barcode is installed, for example on a form view the keys
to navigate the possible scrolling PageUp/PageDown/Home/End don't work
at all.

This is caused by the interface barcode catching and differences of the
key event handling between firefox and other browser.

So in this change, we add these keys so they are not catched by barcode.

note: aso backport 5bc29744c so the code is the same between 10 and 11.

related to opw-706352
closes #26219
2018-08-08 09:11:06 +02:00
len-odoo 0ab71f1247 [FIX] stock, sale_stock: 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.

Essentially a backport of commit:
https://github.com/odoo/odoo/commit/c5ffca151160f9d99bec036330def108e4e91e0b

opw 1865324
2018-08-08 08:49:11 +02:00
Goffin Simon ceb5c03c93 [FIX] hr_holidays: Allocation Request not always in the Summary View
Steps to reproduce the bug:

- connect as the demo user

- go to the Leaves app

- check the Leaves Summary menu: by default, it is empty

- go to Allocation Request

- create one Allocation Request for 1.00 day using the Compensatory Days type

- repeat the operation several time

Bug:

Only the first Allocation Request appears in the Leaves Summary

opw:1872365
2018-08-08 08:42:08 +02:00
Damien Bouvy 663a6f19b2 [FIX] website_sale: badly formatted CSV
The gorup was evaluated to True and no group was set on the ACL
2018-08-08 08:16:57 +02:00
Damien Bouvy 19f477299b [FIX] hr_gamification: csv space EoL
Can cause some issues with importing the files
2018-08-08 07:59:45 +02:00
Christophe Simonis 476e1b5646 [MERGE] forward port branch saas-14 up to 2c942e5ff8 2018-08-07 19:14:24 +02:00
Christophe Simonis 2c942e5ff8 [MERGE] forward port branch 10.0 up to bec639c094 2018-08-07 19:12:16 +02:00
Christophe Simonis bec639c094 [MERGE] forward port branch 9.0 up to 5a64fffe9a 2018-08-07 19:10:25 +02:00
Christophe Simonis efe2dcd7ae [MERGE] forward port branch 11.0 up to ced9156a97 2018-08-07 19:08:07 +02:00
Christophe Simonis 5a64fffe9a [FIX] base: explicitly allow superuser to write on attachment's assets 2018-08-07 19:06:02 +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 33e7479865 [MERGE] forward port branch saas-11.2 up to d7e2c767ce 2018-08-07 13:59: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
Christophe Simonis 32dce83618 [MERGE] forward port branch saas-11.3 up to ff80efd71e 2018-08-06 19:59:53 +02:00
Christophe Simonis ff80efd71e [FIX] account: define method in correct model
Oversight of previous forward-port.
2018-08-06 17:25:15 +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