Commit Graph
109991 Commits
Author SHA1 Message Date
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
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
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
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 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
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
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 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
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 342d037373 [MERGE] forward port branch 9.0 up to f750393030 2018-08-21 10:50:32 +02:00
Lucas Perais (lpe) cc72b0c2fa [FIX] crm: fix API
Because of 2917b38f28 which appeared in v9.0 but has not been adapted to the new API
afterwards, the early return was out of sync with what a search returns in new API

in v9.0: search returns a list, so must our early return

in v10.0: search returns a recordset, hence the fix

OPW 1878192
closes #26474
2018-08-21 09:37:54 +02:00
Nicolas Martinelli 07b5f205ab [FIX] models: unlink ir.property
On a new DB with demo data, as Demo User:
- Create a partner
- Unlink the partner

An `AccessError` is raised.

The error is raised on `ir.property`, for the field
`property_product_pricelist`. An entry was indeed automatically created
at partner creation. However, a regular user is not allowed to delete an
`ir.property`.

The property can be safely deleted as SUPERUSER as long as the proper
unlink access rights have been tested beforehand.

opw-1870737
2018-08-21 09:32:01 +02:00
Olivier Dony f750393030 [FIX] website_forum: properly catch errors for email activation 2018-08-21 03:28:59 +02:00
Denis Roussel f5a8eef02b [FIX] l10n_be_inovice_bba: Missing field in supplier invoices
reference_type was already present in the customer invoice but not in the
supplier invoice

Closes #25732
2018-08-20 16:33:06 +02:00
mreficent 42c2274eac [FIX] test_exceptions: Import correctly safe_eval
Trying to generate an exception using a safe_eval was failing
Introduced at 12634e1
Can be ignored for v10 (fixed at bd00fcd)

Closes #26450
2018-08-20 15:58:10 +02:00
Rohan Patel 7b50bda171 [FIX] l10n_fr_hr_payroll: correct typo
correct attribute in xml, style instead of stype

opw-1878290

Closes #26471
2018-08-20 15:43:25 +02:00
oleksandrpaziuk aab2fc0e33 [FIX] l10n_ch: Improvements of VAT report and implementation TVA return charge
Was PR #25190
2018-08-20 14:57:30 +02:00
Benoit 03395ea103 [FIX] manual creation of serialized field from the interface 2018-08-20 13:56:29 +02:00
Grzegorz Krukar 48b492b086 [FIX] gamification: correctly set computed values
Field incorrected named
Introduced at 0c64964

Closes #25307
2018-08-20 09:10:20 +02:00
Odoo Translation Bot afffcc971f [I18N] Update translation terms from Transifex 2018-08-19 00:28:25 +02:00
Nicolas Martinelli b4cbf0bb61 [FIX] calendar: date start
When creating and editing a new calendar.event record from the calendar
view, the start_datetime field does not prefill from the day that was
selected on the calendar.

Introduced in e08f999468

opw-1875276
2018-08-17 13:38:32 +02:00
Martin Duvergey 35bc8fec94 [CLA] JANUS signs CCLA
Closes #25365
2018-08-16 16:48:49 +02:00
Christophe Simonis a487d7d397 [MERGE] forward port branch 9.0 up to 72cb16865c 2018-08-14 16:57:21 +02:00
Christophe Simonis 71bba5e43d [FIX] anonymization: ignore unreachable code pylint warning 2018-08-14 16:55:36 +02:00