Commit Graph
126133 Commits
Author SHA1 Message Date
Raphael Collet ff45f22750 [FIX] models: correct regex for onchange_v7
Ensure, we only match the expected az-A-Z characters for old-style onchanges.
The \w allowed starting with 0-9 which should be prevented.
2018-07-12 13:55:42 +02:00
Raphael Collet 698314e5d4 [FIX] base: override correct read method
The _read_from_database is used by all the different methods that may access
the value of the fields.
2018-07-14 09:17:42 +02:00
Olivier Dony 21bb14d177 [FIX] base: always preload dateutil
The dateutil package uses lazy import to selectively expose its
features: `parser`, `relativedelta`, `rrule`, `tz`.

Depending on installed modules and order of initialization, there was no
guarantee that a given feature was already loaded during the preparation
of the action context.

This patch ensures that we always preload the feature set we need, and
only that feature set. This way we have a consistent `dateutil` lib in
the action context at all times.
2018-07-23 16:15:10 +02:00
Thibault Delavallée 1e42cbc1f4 [FIX] mail: log correct user deleting the record
When using sudo, the administrator is logged as deleting the action.
For audit reason, log the correct user.
To avoid access rights errors, only group system can delete the action.
2018-07-07 17:35:42 +02:00
Simon Lejeune bfffe39f13 [FIX] base: strengthen ir.attachment access rights
An ir.attachment record can be served as a request's reponse if:
  - a request triggers a 404
  - the ir.attachment record has its url field matching the url of
    the failed and is of binary type

Following rev[1], portal users have the right to create these kind of
records, and it is a security concern.

This patch restrict the ability to create and write on the ir.attachment
records that may be served through the dispatch's exception mechanism to
settings users.

As the asset bundles files are served through the use of these special
ir.attachment, we make sure to retrieve only ir.attachment records
created by the superuser in the `get_attachment` method.

As website administrators often need to play with these special
ir.attachment, we also let to this group the permission to manage them.

[1] 61065b6d04
2018-07-29 14:10:42 +02:00
Simon Lejeune d255628ecf [FIX] report: avoid local file resources
Make sure building reports using local resources are disabled.
This avoids get different report result based on the system if the
given resources are or not present (e.g. custom style)
2018-07-03 10:53:42 +02:00
Christophe Simonis b020308413 [FIX] web: clean data_file after restore
The file used for the restoration was not properly removed
2018-06-18 19:35:42 +02:00
Martin Trigaux 4e4dd4dfa2 [FIX] http: avoid corruption with domain name
Domain names may have been interpreted as a regex by mistake
2018-07-18 10:32:42 +02:00
Nicolas Martinelli 7501691da9 [IMP] auth_signup: hide unusable field from users
The token field is a technical data that the other users are not able to use.
It may be confusing for users to see token on the user interface.
Still show it to administrator for debug reasons.
2018-07-16 14:35:20 +02:00
Raphael Collet e93fa78562 [FIX] base: access rights on transient models 2018-07-23 16:21:07 +02:00
Raphael Collet 2c9c7e770a [FIX] models: correct regex for onchange_v7
Ensure, we only match the expected az-A-Z characters for old-style onchanges.
The \w allowed starting with 0-9 which should be prevented.
2018-07-12 13:55:42 +02:00
Raphael Collet 0dbed816b9 [FIX] base: override correct read method
The _read_from_database is used by all the different methods that may access
the value of the fields.
2018-07-14 09:17:42 +02:00
Olivier Dony ef017ab1ab [FIX] base: always preload dateutil
The dateutil package uses lazy import to selectively expose its
features: `parser`, `relativedelta`, `rrule`, `tz`.

Depending on installed modules and order of initialization, there was no
guarantee that a given feature was already loaded during the preparation
of the action context.

This patch ensures that we always preload the feature set we need, and
only that feature set. This way we have a consistent `dateutil` lib in
the action context at all times.
2018-07-23 16:15:10 +02:00
Thibault Delavallée 2d32609440 [FIX] mail: log correct user deleting the record
When using sudo, the administrator is logged as deleting the action.
For audit reason, log the correct user.
To avoid access rights errors, only group system can delete the action.
2018-07-07 17:35:42 +02:00
Thibault Delavallée e00370e194 [IMP] website_mail: allow per-module override of token_field
Instead of forcing a token field through an override, set it at the class level
to be changed in other model inheriting from the MailThread
2018-07-08 09:04:42 +02:00
Simon Lejeune 19ac9fba0d [FIX] base: strengthen ir.attachment access rights
An ir.attachment record can be served as a request's reponse if:
  - a request triggers a 404
  - the ir.attachment record has its url field matching the url of
    the failed and is of binary type

Following rev[1], portal users have the right to create these kind of
records, and it is a security concern.

This patch restrict the ability to create and write on the ir.attachment
records that may be served through the dispatch's exception mechanism to
settings users.

As the asset bundles files are served through the use of these special
ir.attachment, we make sure to retrieve only ir.attachment records
created by the superuser in the `get_attachment` method.

As website administrators often need to play with these special
ir.attachment, we also let to this group the permission to manage them.

[1] 61065b6d04
2018-07-29 14:10:42 +01:00
Simon Lejeune dae2822799 [FIX] report: avoid local file resources
Make sure building reports using local resources are disabled.
This avoids get different report result based on the system if the
given resources are or not present (e.g. custom style)
2018-07-03 10:53:42 +02:00
Lucas Perais (lpe) db994ca57a [FIX] sale: do not always overwrite discount on soline
Before this commit, the discount on a so line was always brought to zero when changing the price

After this commit, we do this only when the pricelist is supposed to compute the discount

OPW 1867262
closes #25851
2018-08-07 11:04:29 +02:00
Joren Van Onder 9609f79cad [FIX] point_of_sale: invalidate cache after reloading partners
The POS uses a DomCache for various UI elements to avoid re-rendering
elements that are the same as the last render. One such cached UI
element is an entry in the client list.

When a partner is edited in the POS frontend the POS will write this
to the backend and then it will load all updated res.partner
records (new write_date > previously loaded most recent write_date).

To render the newly updated information *and* to ensure any other
partner edited (through backend or because it's a child contact) is
updated just clear the whole cache.

Fixes #13856
2018-08-06 15:44:34 -07:00
Martin Trigaux 8669361dd6 [I18N] remove outdated translations
Contained bad %s and out of sync with .pot
2018-08-06 16:18:46 +02:00
William Henrotin c5789be063 [IMP] crm: fix companies and bypass checks in partners merge
Facing the following cases, only the database admin can merge res_partners:
1. The email addresses are different.
2. The origin contact(s) is (are) linked to some account move lines.

This commit adds a kwarg in the merge function. This argument allows to skip the two tests.
So they can be bypassed when overloading the function (depending of the current user access
rights for instance) in order to merge partners even if they have different email addresses
or with account move lines on the origin one.

It can also be called programatically and bypass the checks.

This commit also makes the merge wizard correct any inconsistence in the
allowed companies/currency company of the merged contacts and the
related user(s).

Closes #24376
2018-06-18 16:51:13 +02:00
Hetashree Chauhan 06a804596e [REF] stock,uom: error message more clear
Change to more understable error messages

TASK-1841502
2018-06-18 16:49:16 +02:00
Kishan Gajjar 47b5c00181 [FIX] web_editor: properly compute scss files
In LESS, 'fadeOut' function is used to make a color more transparent.
In SCSS, that function is called 'fade-out'.

Closes https://github.com/odoo/odoo/pull/25233
2018-06-18 12:09:49 +02:00
Odoo Translation Bot 819cc0e642 [I18N] Update translation terms from Transifex 2018-06-17 07:03:55 +02:00
Odoo Translation Bot 94e49c251a [I18N] Update translation terms from Transifex 2018-06-17 04:40:39 +02:00
Odoo Translation Bot 74c567329a [I18N] Update translation terms from Transifex 2018-06-17 00:26:55 +02:00
Alexandre Kühn b74d1e90ef [FIX] mail: warn user on record reload before post message
Before this commit, the user could lost some unsaved changes in a record when
posting a message in the chatter.

This is due to reloading the data on the record, which is necessary because
a `message_post` may make some changes on the record [1].

With this commit, a dialog will warn the user that the record will be reloaded
in the following cases:

    a) posting a message in the basic composer that will reload the record
    b) opening the full-composer when the record is dirty

Indeed, any operation after opening the full-composer will always refresh the
record (even closing the dialog).

Known issues:

    - a record is not considered as dirty if we only make changes in its
      description from a pad.

      > the content of the pad will be erased without any warning...

[1] https://github.com/odoo-dev/odoo/commit/803d5cf04835fcf8e7ddb143e1ab140408beef93

opw-1825005
2018-06-15 17:46:32 +02:00
Alexandre Kühn c53b0ac188 [FIX] web: do no drop invalid record in list on discard
Revision on b09f0c99

The intent of the previous commit was to no drop records in a list
on discard in the following cases:

    - when they have been created from a `default_get`
    - when they have been created from an `onchange` that result
      from a `default_get`

Before the commit above, the kind of records that were abandoned
in those cases are stated as invalid, which happens when a record
has a required field that is empty.

The case of an `onchange` that is not involved in a `default_get`
was not considered in the fixes above. In fact, this is the intent
behaviour in most cases. However, if the items in the list are
created from such an `onchange`, we should not drop them.

This commit fixes the bug where records in a list that are created
from an `onchange` are wrongly abandoned. Here is the new logic to
abandon a record on discard in a list:

    - the record that is marked as "do not abandon" should not be
      abandoned;
    - a record that is registered as a "not new addition" in the
      list should not be dropped;
    - a record that is registered as a "new addition" in the list,
      and has been updated afterwards, should not be dropped;
    - a record that is not new should not be dropped;

opw-806650
2018-06-15 17:36:27 +02:00
Nicolas Martinelli b09b3d54d4 [FIX] base_address_extended: NL street format
The street format for Netherlands should be have the street name beforfe
the street number.

Closes #25204
opw-1859233
2018-06-15 16:54:46 +02:00
Christophe Simonis 9f84707653 [MERGE] forward port branch saas-11.4 up to a935d5bc83 2018-06-15 16:03:31 +02:00
Christophe Simonis a935d5bc83 [FIX] base: fail during previous foward-port 2018-06-15 15:11:06 +02:00
Fabien Pinckaers ca0a382f4f [IMP] mail: shorten help message 2018-06-15 14:47:02 +02:00
Christophe Simonis 73652a0b19 [MERGE] forward port branch saas-11.3 up to 50860317cc
Note: 1aacc96262 has been ignored and will
be forward-ported later
2018-06-15 13:27:27 +02:00
Jeremy Kersten d702e82b9c [FIX] web: fix ace editor when value is False
Avoid to crash the client web with setValue(false).
false.match, false.split, false.length... will not works.

Before this commit, _render call the setValue after comparing '' !== false
2018-06-15 12:12:26 +02:00
Jeremy Kersten c4f5b9f751 [FIX] website_sale_wishlist: avoid double click to avoid concurrent update
Before this commit, if you add 2 times the same item quickly, that raise concurrent update.

With side effect: quotation rollbacked and new one created, or if no concurrent
update 2 times the same product in the cart.

Now we avoid that the user click a second time on "Add to cart" before the end of the
first click which add or move the product to the cart.

Related to #24853
2018-06-15 12:12:26 +02:00
Christophe Monniez 27e7d24256 [FIX] packaging: stop removing Odoo lib dir
When removing Odoo Debian package, the directory /var/lib/odoo is also
removed. This directory could contain important data like filestore or
custom modules.

With this commit, this directory is preserved on removal and deleted
when the purge command is issued with a Debian package manager.

Fixes #22138
2018-06-15 11:58:06 +02:00
Christophe Simonis 50860317cc [MERGE] forward port branch saas-11.2 up to b170a753e1 2018-06-15 11:30:27 +02:00
Jeremy Kersten d98b262398 [FIX] website, ir_qweb, *: improve cdn usage
- post process the attributes in widget html value
  (except if: data-no-post-process)
- apply cdn for python qweb widget image
- apply cdn for background-image (blog e.g.)
- use cdn for asset files

Now cdn is used (even if not public user) except if:
    - debug mode
    - editor
    - translator

External library added in asset now appear only one time.
Before this commit, t-js='false' and t-css='false' was returning remains
2018-06-15 10:36:46 +02:00
Thibault Delavallée 8c472b7b78 [REM] fetchmail: remove action_id on fetchmail
Incoming email servers have an action_id field holding a server action to
run on newly created records. It comes from old implementation of mail
gateways in Odoo. Since then mail gateway has evolved. Incoming mail servers
are not linked to a unique model anymore. With aliases and automatic thread
creation mails can create records in various models.

As the server action is bound to a given model it causes issues. Either
we have to give back the result of the mail gateway processing to ensure
models match. Either we have to limit action_id to records created
using the "default model behavior" of incoming mail servers.

We choose to remove this field. Same result can be achieved with an
automated action running on create trigger. If exactly the same
behavior is intended the following rules should be applied

 * add automated action with model linked to the one you want to
   update depending on alias configuration and work flow;
 * set trigger to create;
 * set action as python;
 * if it is necessary to be linked to the mail gateway, check in
   record message_ids that there is a message with message_type
   being 'email' meaning it has received an incoming email;

Using that heuristic migrating existing fetchmail action to server actions
should be quite straightforward and will give more flexibility.

This commit is linked to task ID 58641. Closes #23621 .
2018-06-15 10:35:11 +02:00
Christophe Simonis b170a753e1 [MERGE] forward port branch 11.0 up to b05e4d5f95 2018-06-15 10:15:27 +02:00
jem-odoo 8a03563269 [FIX] sale_timesheet: remove useless field in sql view 2018-06-15 09:43:52 +02:00
Christophe Matthieu eee1b39806 [FIX] ir_qweb: post process the attributes in widget html value
issue: Blog doe not use the cdn because the widget html value is not
compiled by the qweb and does not use the attribute post processing.
2018-06-15 08:42:15 +02:00
Christophe Matthieu ff3c494448 [FIX] web_editor: apply cdn for python qweb widget image
issue: widget image doe not pos processing the attributes
2018-06-15 08:42:15 +02:00
Christophe Matthieu e829c1af55 [FIX] website: apply cdn for background-image 2018-06-15 08:42:15 +02:00
Christophe Matthieu 9cd982bcc8 [FIX] qweb: use cdn for asset files
Refactoring of qweb to call _post_processing_att for each nodes. This
change remove the crappy ovewrite in website module. The website overwrite
only the _post_processing_att to add the cdn parameters.

The static node (without t- attributes) can stay static (remove overwrite
of _is_static_node), the cdn is applied at the compile time for this
nodes instead of at the running time like the dynamic node.
2018-06-15 08:42:15 +02:00
Christophe Simonis b05e4d5f95 [MERGE] forward port branch saas-15 up to a53bea49fe 2018-06-14 21:28:39 +02:00
Christophe Simonis a53bea49fe [MERGE] forward port branch saas-14 up to 7c8f335988 2018-06-14 19:19:14 +02:00
Christophe Simonis 7c8f335988 [FIX] sale: do not load non-existing file
Revert fd2b130428
2018-06-14 18:29:59 +02:00
Nicolas Martinelli 5ac40752a4 [FIX] mrp: register time on WO
When manually registering a time on a Work Order, an error is raised
because of an incorrect value for `workcenter_id`.

The field is added in the view.

opw-1851766
2018-06-14 18:20:52 +02:00
Nicolas Martinelli 7aef847585 [FIX] event: event stat button
Display stat button to groups who have read access to events.
2018-06-14 18:17:00 +02:00