Commit Graph
111553 Commits
Author SHA1 Message Date
Christophe Simonis 7563abbde8 [MERGE] forward port branch saas-14 up to 1b5933cc3d 2018-09-10 17:24:13 +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
Christophe Simonis 5a5d6d1e8e [MERGE] forward port branch saas-14 up to c7de55dc3c 2018-09-06 15:30:59 +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 e1e27aa009 [MERGE] forward port branch saas-14 up to 6773d3644e 2018-09-05 17:27:46 +02:00
Christophe Simonis 6773d3644e [MERGE] forward port branch 10.0 up to 1d0940d96f 2018-09-05 17:27:13 +02:00
Goffin Simon 568445a327 [FIX] pos_sale: group_by for POS in dashboard
Steps to reproduce the bug:

-Go to Sales > Dashboard > Point of Sale > Settings
-Set nothing as group_by value
-Go back to Dashboard

Bug:

A traceback was raised.

opw:1881444
2018-09-05 13:40:06 +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 Simonis 653bbbc733 [MERGE] forward port branch saas-14 up to 14f8ef59b8 2018-09-04 16:48:31 +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
Odoo Translation Bot 8846a0c21b [I18N] Update translation terms from Transifex 2018-09-02 00:29:56 +02:00
Odoo Translation Bot b5471da2e0 [I18N] Update translation terms from Transifex 2018-09-01 02:38:40 +02:00
Nicolas LempereurandWolfgang Pichler 79e18ac6af [FIX] base: user fields_get no add group if asked
The override of fields_get adds "virtual" fields corresponding to
groups.

If for example we make "res.users" have inherit "mail.thread", we get
these "virtual" field as if they had "track_visibility", since we do a
"fields_get" with fields having track_visibility expecting to only get
back "track_visibility" ones.

So the system would then fail trying to track visibility on fields like
"in_group_5" and for example a res.users could not be created anymore.

With this fix, we fix the fields_get so it respect the fields we ask of
it.

fixes #22332
opw-1878654
closes #22338
closes #26705

Co-authored-by: Wolfgang Pichler <wpichler@callino.at>
2018-08-31 12:02:21 +02:00
len-odoo 43877095ed [FIX] sale: more explicit error message
Some users are confused by the generic error message asking to confirm a sale
order that is in locked or cancelled state.
We add specific error messages in these two cases.

opw 1871019
2018-08-31 09:35:59 +02:00
Christophe Simonis 6b1b507deb [MERGE] forward port branch saas-14 up to ab8e27382f 2018-08-30 12:43:43 +02:00
Christophe Simonis ab8e27382f [MERGE] forward port branch 10.0 up to 09ad560660 2018-08-30 12:43:12 +02:00
Davor Bojkić - Bole 09ad560660 [ADD] base: add Kosovo to list of countries
According to discussion on jvOrsouw/Odoo11#1

Closes #20605
2018-08-30 11:58:05 +02:00
Christophe Simonis 50bd9376d7 [MERGE] forward port branch 10.0 up to 90ce4733ae 2018-08-30 11:10:22 +02:00
Nicolas Martinelli 90ce4733ae [FIX] website_sale: add back compute_currency function from qweb template
Unless there is a a bug, do not remove a currency conversion.

This reverts commit 5028da3873.
2018-08-30 09:56:53 +02:00
Mitali Patel 5028da3873 [FIX] website_sale: removing compute_currency function from qweb template (#26606)
compute method called 2 times in t-esc case when monetary field has "from_currency ::
 1) value_to_html: compute method call when qweb monetary widget is return value as a html.
     see https://github.com/odoo/odoo/blob/10.0/odoo/addons/base/ir/ir_qweb/fields.py#L325
 2) compute_currency : compute_currency method is pass from controller into render engine and it is call the compute method.
So, we removed compute_currency method from qweb template in the t-esc with monetary widget.
2018-08-30 09:26:49 +02:00
Lucas Perais (lpe) e65c8826ef [FIX] sale_timesheet: timesheet cost with company on analytic account
FIXUP da2140b

The above commmit was half-right in the business logic, but overlooked that if a user is not
in the company of the project, it will crash.
This use case worked before that commit

While agreeing that a little more clear access right is needed
like for example be able to get the project_time_mode_id on the companies
that are in user.company_ids,
the aim of this present commit is to avoid regression

OPW 1878204
closes #26539
2018-08-30 09:21:02 +02:00
Goffin Simon 7b87212ea8 [FIX] account: Wrong quantity in Invoices analysis
Steps to reproduce:

Create a customer invoice with 2 product A and refund 1 product A.
Display account.invoice.report for this custumer.

Bug:

The quantity should be 1 not 3.

Fine tuning of this commit: e890682656

opw:1868116
2018-08-29 16:29:34 +02:00
Christophe Simonis 0dc8588c5b [MERGE] forward port branch saas-14 up to 2a515bc7cb 2018-08-29 14:43:54 +02:00
Christophe Simonis 2a515bc7cb [MERGE] forward port branch 10.0 up to 068f1cd302 2018-08-29 12:13:48 +02:00
Christophe Simonis 068f1cd302 [MERGE] forward port branch 9.0 up to 5f25b902e5 2018-08-29 12:12:01 +02:00
Martin Trigaux 0312c604f4 [FIX] hr_gamification: allow employees to grant each other badges
When creating a new wizard, the related field user_id = employee_id.user_id
forces a write on employee model

Make sure we actually have the same value (to avoid using the wizard to modify
employees) and use sudo to grant the badge.

In master, the field should not be stored
2018-08-28 17:32:56 +02:00
Abdur-Rahmaan Janhangeer 5f25b902e5 [FIX] doc: update obsolete openobject link
The library https://github.com/syleam/openobject-library is obsolete
and advises to use OdooRPC instead.

Closes #26596
2018-08-28 08:49:57 +02:00
Abdur-Rahmaan Janhangeer 08d5390995 [CLA] signature for Abdur-RahmaanJ
Closes #26617
2018-08-28 08:49:03 +02:00
Lucas Perais (lpe) c2b684654b [FIX] account: unreconcile payment from invoice with exchange difference
backport 1dbc655676

Company in USD
Invoice in EUR with rate A
Register a payment in EUR with rate B

Unreconcile them.

Before this commit, there was an error because we tried to reconcile the exchange items
with its reversal while the formers were already reconciled with the invoice

After this commit, there is no error

OPW 1864091
closes #26583
2018-08-27 10:26:39 +02:00
Odoo Translation Bot 42e41b191c [I18N] Update translation terms from Transifex 2018-08-26 00:27:45 +02:00
Christophe Simonis 4703d649dc [MERGE] forward port branch saas-14 up to aeb3391a2d 2018-08-24 14:07:40 +02:00
Christophe Simonis aeb3391a2d [MERGE] forward port branch 10.0 up to b50958c40f 2018-08-24 11:42:33 +02:00
Lucas Perais (lpe) b50958c40f [FIX] account: allow range amount search for reconciliation widget
In the reconciliation widget, search for an amount like 5361.61

Before this commit, if the targetted line that you want to see was represented as 5361.61000001
you did not see it in the results of the search

After this commit, you do!

OPW 1872543
closes #26523
2018-08-24 09:43:51 +02:00
Christophe Simonis b844e9af8b [MERGE] forward port branch 9.0 up to 81f975d3f4 2018-08-23 10:54:52 +02:00
Toufik Benjaa 81f975d3f4 [FIX] mail: channel_get return wrong channel when duplicate partners
- In some cases (merge of partners, etc ...) there might be mail.channel
  that have two mail.channel.partner with the same res.partner.
  When you try to open a discuss window with a partner for which you
  have no existing mail.channel.
  The channel opened is the one where your partner is duplicated.
  This is due to the fact that the SQL request to find the mail.channel
  doesn't take in account that a mail.channel may have twice the same
  partner.

  To fix this issue, we try to exactly match the partners we search.
2018-08-22 17:59:22 +02:00
Lucas Perais (lpe) 350a4ff861 [FIX] crm: fix API merge, other spot
fix cc72b0c2fa did not go far enough

Sorry for it
2018-08-22 11:00:43 +02:00
Christophe Simonis 9cf0dbe226 [FIX] base_sparse_field: improve fields' view
Set default values when creating serialized field from contained field.
2018-08-21 15:12:16 +02:00
Christophe Simonis c619b19f66 Revert "[FIX] manual creation of serialized field from the interface"
Non applicable since b0646f9d2c.

This reverts commit 03395ea103.
2018-08-21 14:13:15 +02:00
Christophe Simonis e80f853ab3 [MERGE] forward port branch saas-14 up to aafa6e38c4 2018-08-21 12:06:23 +02:00
Christophe Simonis aafa6e38c4 [MERGE] forward port branch 10.0 up to 342d037373 2018-08-21 11:33:53 +02:00
Christophe Simonis 342d037373 [MERGE] forward port branch 9.0 up to f750393030 2018-08-21 10:50:32 +02:00