Commit Graph
110987 Commits
Author SHA1 Message Date
Christophe Simonis 218eec5482 [MERGE] forward port branch 10.0 up to 854eb97b2e 2018-09-26 11:28:33 +02:00
Christophe Simonis 854eb97b2e [MERGE] forward port branch 9.0 up to bc14f30ecc 2018-09-26 10:17:05 +02:00
Nicolas Martinelli a6bf3ef7d8 [FIX] point_of_sale: AccessError
Missing `sudo` which prevents a non-admin to close a POS session.

opw-1888252
opw-1888358
2018-09-26 08:05:29 +02:00
Olivier Colson bc14f30ecc [FIX] l10n_co, l10n_cr: make 'bank & cash' accounts not reconcilable
Accounts of this type should not be reconcilable. When making payments, only the counterpart line should be, in some receivable or payable account.
2018-09-25 17:31:55 +02:00
Olivier Colson 6b96e5024a [IMP] account: forbid making a 'bank & cash' account reconcilable
Making a bank account reconcilable is a very common mistake, and leads to confusing and useless data (the move lines made on this account) to be displayed in the reconciliation widget. With this commit, we make sure the user cannot make this mistake anymore.
2018-09-25 17:31:55 +02:00
David Tran cf30f35f3e [FIX] base: address_format for Vietnam
Vietnam address should come with Province name, not `state_code`

Closes #27164
2018-09-24 10:21:04 +02:00
Odoo Translation Bot facc3b9a63 [I18N] Update translation terms from Transifex 2018-09-23 00:28:15 +02:00
Olivier Dony fe2df80d73 [FIX] mass_mailing: make campaign default to non-A/B testing
In A/B testing mode, a given recipient will only ever receive a single
email from a given mass-mailing campaign, no matter how many mailings
were sent to them.

This is useful for A/B-testing various mailings in order to check their
results. But is very difficult to understand for users who simply want
to organize their mailings into campaigns.

Additionally, the A/B testing option is hidden as a technical feature, so
it is hard to discover in order to troubleshoot unexpected number of
emails sent by a given mailing.

It will be safer to keep it off by default.
(keeping the parameter explicit, to better show that it is on purpose)

This partially reverts dee5c31264
2018-09-21 14:28:10 +02:00
Christophe Simonis a119373b5b [MERGE] forward port branch 10.0 up to cda1bec3e0 2018-09-21 10:42:19 +02:00
zeroheure cda1bec3e0 [DOC] cmdline: proper default for limit-memory
The default values for --limit-memory-(soft|hard) had been changed in
Odoo v8.0, but this change wasn't reflected in the cmdline --help.

Closes #22315
2018-09-19 14:47:13 +02:00
SimoRubi 05f1a7886c [FIX] project: project does not have hierarchical structure anymore
The action is not used anywhere but was not working

Closes #27034
2018-09-19 11:32:44 +02:00
Romain Derie 29b3b21ad2 [FIX] website_sale: website_order_line becomes computed field
Fix on sale_coupon (enterprise) https://github.com/odoo/enterprise/pull/2224 needs this change to be able to merge
SO lines when a program generates multiple discount lines on different taxes.

Closes #24971
task-1866977
task-1832967
task-1857843
2018-09-18 12:12:56 +02:00
Martin Trigaux 6dec0bc308 [FIX] calendar: compare display_name for empty recordset
When sorting by a many2many fields (e.g. partner_ids) with one of the record
having an empty value on the sorted field, the comparison method used to compare
and empty record (e.g. res.partner()) and a name_get result (e.g. "Agrolait").

This is because the sort_field was initialized with the result of self[field]
but never assigned a new value below.

Fallback on an empty string when no record is found

Fixes #26908
2018-09-18 10:51:10 +02:00
Christophe Simonis b28f705b64 [MERGE] forward port branch 10.0 up to 69af1df70a 2018-09-17 14:15:46 +02:00
Christophe Simonis 69af1df70a [MERGE] forward port branch 9.0 up to 7dc13e237c 2018-09-17 14:06:21 +02:00
Nicolas Martinelli 034e1d37d9 [FIX] report_intrastat: delivery address
Complement of commit d5b46020c3, applied to the generic
Intrastat report.

opw-1878590
2018-09-17 13:38:28 +02:00
Nicolas Martinelli d5b46020c3 [FIX] l10n_be_intrastat: shipping country
- Create a partner in Germany
- Set an invoice address for this partner in Poland
- Create an invoice for the Poland address, but the delivery to Germany
- Validate invoice

The Intrastat reports the transaction in Poland, while it should be
Germany.

opw-1878590
2018-09-17 07:57:43 +02:00
Odoo Translation Bot 548f8dba82 [I18N] Update translation terms from Transifex 2018-09-16 00:29:05 +02:00
Martin Trigaux a307d4fc80 [FIX] account_asset: use the last day of fiscal year for depreciation date
The depreciation was hardcoded as starting the first of January.
If a user changed the configuration to set a different value than 31/12 it had
no impact.

In saas-11.3, this was improved to allow to configure the behaviour at 805f3a610

opw-1878927
2018-09-14 12:03:21 +02:00
Lucas Perais (lpe) 9511cb2bb0 [FIX] point_of_sale: param for reconcile orders and payment
It has been argued that a regression took place because of e2efec8e54
Before that commit, everything was reconciled together
After, only payments and orders with a partner set were

While that commit improved performances (there are much less move lines to reconcile),
it introduced an inconvenience business wise because of the noise created
by the unreconciled lines

This commit proposes to cut the pear in half by introducing an ir parameter
to choose between the two options

OPW 1883594
closes #26971
2018-09-14 10:10:38 +02:00
Olivier Colson 7dc13e237c [FIX] l10n_es: apply correct type to each account. 2018-09-13 15:49:58 +02:00
Christophe Simonis 7322b7ee56 [MERGE] forward port branch 10.0 up to dd20539ffe 2018-09-13 11:32:43 +02:00
Christophe Simonis dd20539ffe [MERGE] forward port branch 9.0 up to cbdb7383e9 2018-09-13 11:07:53 +02:00
Richard Mathot cbdb7383e9 [REV] account: revert 8781286f1c
Causes a traceback "Expected singleton" when opening the Reconciliation
from the accounting dashboard
2018-09-13 11:00:15 +02:00
Christophe Simonis 72b2bab8c8 [MERGE] forward port branch 10.0 up to e6ca846c65 2018-09-13 10:54:06 +02:00
Jeremy Kersten e6ca846c65 [FIX] base_geolocalize, website_crm_partner_assign: API keys are now required
Google Important Updated: API keys are now required
We began enforcing the use of API keys, effective June 11th 2018.
Keyless usage will result in a degraded experience, or an error.

https://developers.google.com/maps/billing/important-updates
2018-09-12 17:07:23 +02:00
Mathieu Duckerts-Antoine 4cbc9b8d61 [FIX] account: translate default overdue_msg
opw-1880132

Closes #26852
2018-09-12 16:52:29 +02:00
Frederik Kramer 60c9742dfb [CLA] backport signature for initos
This is a backport of 5a53e5b8e9 as requested at #26638
Added Florian Kantelberg to our team of contributors
2018-09-12 16:25:04 +02:00
Nicolas Lempereur 72d7dd8994 [FIX] *mail_thread: don't modify modified help
The 'help' of window action is often fiddled with, adding thing before,
after or arround it.

For example in CRM leads, we add at the beginning "Click to add a new
opportunity" with an arrow towards the button, and after if there is a
mail alias: "All email incoming to * will automatically create new...".

But for crm.lead, hr.expense, sale.order this would not take into
account that the fiddled "help" can be edited, so if we edit 2 times
help in studio or backend action editing, we would get:

  Click to add a new opportunity
  Click to add a new opportunity
  Click to add a new opportunity
  [Original help content]
  All email incoming to * will automatically create new...
  All email incoming to * will automatically create new...
  All email incoming to * will automatically create new...

And see several "arrows" towards the button (in enterprise the
additional ones are on same color background).

With this commit we do what is done in "mail.thread" by default which is
not fiddling with the `help` if has been fiddled before (if it contains
"oe_view_nocontent_create" class).

note: for 10.0 up to not including 11.0 which is fixed by #26911

opw-1877663
closes #26912
2018-09-12 13:11:21 +02:00
Christophe Simonis 55ab1ac691 [MERGE] forward port branch 10.0 up to cd66b0984e 2018-09-11 17:44:14 +02:00
Christophe Simonis cd66b0984e [FIX] base: only sync partners when type change 2018-09-11 17:08:14 +02:00
Christophe Simonis 63afaf438b [MERGE] forward port branch 9.0 up to 415aa05806 2018-09-11 17:07:35 +02:00
Nicolas Lempereur dc9b3df431 [FIX] calendar: keep recurring after edited one
Since 76b7242 if we have a recurring event with 3 occurences:

 [4th 4:00-4th 5:00] [14th 4:00-14th 5:00] [24th 4:00-24th 4:00]

And we detach the first one to modify it, then when getting the
info of reccurring events not detached the system get:

- starts: [14th 4:00] [24th 4:00]
- stops: [4th 5:00] [14th 5:00] [24th 5:00]

And wrongly apply the current filtering over:

 [14th 4:00-4th 5:00] [24th 4:00-14th 5:00]

So the issue hides recurrences of event wrongly if:

- they have not been detached
- they don't have a duration of 0
- one or several previous events have been detached
- the stop date of the nth previous event occurrence (nth equaling
  number of detached previous events) is not in the current filtering.

With this change, the stops are also filtered based on start of
occurrence + duration.

Without the change, the added test fails with:

 False != '155-20120301120100' : Last event should be found searching it by date range

note: for 10.0 up to not including 11.0 which is solved with #26901

opw-1866151
closes #26887
2018-09-11 16:29:05 +02:00
Laurent Smet 415aa05806 [IMP] account: add error when setting a foreign currency on account
If currency set on account, all journal items part of this account must have either the same
currency or no currency.
2018-09-11 16:04:52 +02:00
Christophe Simonis 1b5933cc3d [MERGE] forward port branch 10.0 up to 0776306813 2018-09-10 17:23:50 +02:00
Nicolas Martinelli 0776306813 [FIX] membership: recompute state
Commit https://github.com/odoo/odoo/commit/2b587d34ff30147c03baf16e998effe46ce5d9cf#diff-2d656902930900b836412f086c924643R164
incorrectly removed the content of the cron.

Indeed, `membership_state` is a computed field which depends on time
(which is usually a bad idea). Therefore, we must force its
recomputation.

opw-1878878
2018-09-10 15:03:35 +02:00
Odoo Translation Bot 988cadaf5d [I18N] Update translation terms from Transifex 2018-09-09 00:29:00 +02:00
Iván Todorovich 8781286f1c [FIX] account: multi-company bank statement reconciliation
In a multicompany environment, if the user is not logged-in in the same company as the statement's company (even though he might have access to it), the reconcile interface was filtering on the user's company instead of the bank statement lines's company.

Was PR #26782
2018-09-07 15:24:33 +02:00
Iván Todorovich 6d36343d5d [CLA] Signature for ivantodorovich 2018-09-07 15:24:10 +02:00
Christophe Simonis c7de55dc3c [MERGE] forward port branch 10.0 up to 72f76caa39 2018-09-06 15:29:08 +02:00
Nicolas Lempereur 72f76caa39 [FIX] web: relativedelta>11months work as expected
Since march 2015, using in a domain "relativedelta(months=X)" with
X being bigger than 11 or lower than -11 would result in an error.

This is because in the refactoring adding modules (e8a00bc50d) the two
functions divmod and utils.divmod with different implementation in
pyeval.js were replaced by one function divmod in web.utils module.

But there was still an usage of the removed implementation.

opw-1880766
closes #26816
2018-09-06 13:14:42 +02:00
Christophe Simonis 6773d3644e [MERGE] forward port branch 10.0 up to 1d0940d96f 2018-09-05 17:27:13 +02:00
Nicolas Lempereur 1d0940d96f [FIX] base: allow get_template serialization retry
When two transactions conflicts (eg. deleting same data, see [1]) Odoo
will retry the whole transaction several times hoping for the best.

But when rendering template, the error handling would prevent this
feature. For example a recurring issue was:

- loading quickly two times the /web route
- for each recompute the assets

=> this could lead to 2 concurrents transactions that would delete
previous same attachment (ie. DELETE FROM ir_attachment where id=3).

With this changeset, when getting a template fails because of a
transaction rollback, we let the issue bubble up so our retry system is
used.

So instead of a "500 Internal Server Error" page and in log:

  bad query: b'DELETE FROM ir_attachment WHERE id IN (3)'
  ERROR: could not serialize access due to concurrent update
  "GET /web HTTP/1.1" 200 -
  "GET /web HTTP/1.1" 500 -
  ... big traceback ...
  load could not load template

we would get the requested page without error and:

  bad query: b'DELETE FROM ir_attachment WHERE id IN (3)'
  ERROR: could not serialize access due to concurrent update
  "GET /web HTTP/1.1" 200 -
  SERIALIZATION_FAILURE, retry 1/5 in 0.8920 sec..
  "GET /web HTTP/1.1" 200 -

As a side node, the issue was exacerbated in some instances:

- when running a database on another server: assets are recomputed
- when a module was installed/uninstalled: assets may are recomputed
- when updating the source code: assets may be recomputed
- when starting server: requests could be stacked waiting for readiness
- when using google chrome: the "Use a prediction service to load pages
  more quickly" option may load a page two times. for example:
    -> an URL is entered in address bar
    -> a prediction request to it is started URL
    -> go to this page (Enter) when that request is not already resolved
    -> the prediction request is cancelled and a new request is started

[1] https://www.postgresql.org/docs/9.6/static/transaction-iso.html#XACT-REPEATABLE-READ

note: 10.0 backport of 11.0 #26778

opw-1849167
closes #26785
2018-09-05 10:20:50 +02:00
Nicolas Martinelli e673484b35 [FIX] web_editor: image name
Add the image name in the website for SEO purpose. This is a backport
of:
88a5d9a000
886c07dabb
152e3f8686

opw-1880472
2018-09-05 09:42:10 +02:00
Christophe Monniez 229c119999 [FIX] hr_recruitment: limit new hired filter to group
In Employees views, selecting New Hired filters leads to an access error
with a simple user.

With this commit, this filter is limited to the corresponding users
group.

Backport of 804b9b7c5e
2018-09-04 16:40:21 +02:00
Christophe Simonis 14f8ef59b8 [MERGE] forward port branch 10.0 up to 0f0e43ae55 2018-09-04 16:11:09 +02:00
Christophe Simonis 0f0e43ae55 [MERGE] forward port branch 9.0 up to 61b771256c 2018-09-04 15:23:54 +02:00
Lucas Perais (lpe) 06cd145a79 [FIX] sale_timesheet: fixup timesheet cost
fixup e65c8826ef
fixup da2140b

closes #26746
2018-09-04 09:09:30 +02:00
Nicolas Lempereur 61b771256c [FIX] web_editor: back to first -> history stay ok
If we do:

- one change that will be saved in history
- go back to the document before any change
- do other change

we can easily get in a state were the history is no longer recorded.

The history is kept like this:

- pos: our position in the history
- aUndo: the snapshots of history
- toSnap: the last history snapshop that is to be saved

so for example if we start without change (at originalState):

  {pos: 0, aUndo=[], toSnap=null}

Then we do two changes (change1, change2):

  {pos: 2, aUndo=[originalState, change1], toSnap=change2}

If we make an undo, we will get to:

  {pos: 1, aUndo=[originalState,change1,change2], toSnap=null)

If we make another change (change3):

  {pos: 2, aUndo=[originalState, change1], toSnap=change3}

So the history after the position is removed.

But when we get back to the original, the state would forever be:

  {pos: 0, aUndo=[originalState], toSnap=change85}

because when doing a change, the code only removed history from the
max(pos, 1) index.

opw-1870119
closes #26701
2018-09-03 16:30:03 +02:00
Nicolas Lempereur 793988c7ed [FIX] web_editor: normal up/down in content in cell
In the editor in a table cell, when we press UP/DOWN keys:

- we have default editor/browser behavior if there is content before
  (UP) or after (DOWN) the element we are currently on
- else we go to the previous (UP) or next (DOWN) row if available
- else we go to the next content if available
- else we have the default editor/browser behavior

But when checking if there is an element before/after the content, we
did not take into account if there was an ancestor node inside the cell
that had content after, so for example with this structure:

```
<table>
<tr><td>
  <p>hello <b>world</b></p>
  <p>cruel</p>
</td></tr>
<tr><td>
  <p>bingo</p>
</td></tr>
</table>
```

if the current range was on 'world' text node, we would just check if
there is content after this text node, not if there is content after its
`<p/>` ancestor.

Before the fix we would get on the next row, after we would have default
editor/browser behavior: ie. if cruel is on another line, going to this
line.

opw-1870119
closes #26701
2018-09-03 16:30:03 +02:00