Commit Graph
8258 Commits
Author SHA1 Message Date
Joren Van Onder 6262ad9a99 [IMP] res_users: don't allow unactivating the current or admin user
Try to protect users from locking themselves out.
2015-07-29 20:23:24 +02:00
Joren Van Onder a0857f13eb [IMP] res_lang: don't allow unactivating of a used language
Unactivating the preferred language of a user will prevent him from
logging in.
2015-07-29 20:19:35 +02:00
Joren Van Onder 60af9986ed [IMP] base_action_rule: don't show filters created from automated action
When creating an automated action the filters created for them showed up
in everyone's search box, which often times was confusing and not really
useful.
2015-07-29 19:59:57 +02:00
Joren Van Onder f23b9b31b5 [IMP] ir_model: don't allow manual creation of invalid one2many fields
Only allow it when there is an inverse many2one. This is meant to try
and prevent users from messing up their database.
2015-07-28 23:06:27 +02:00
Christophe Simonis 97073e2a73 [MERGE] forward port of branch saas-6 up to 51040b6 2015-07-28 13:56:16 +02:00
Christophe Simonis 9d6786bc43 [MERGE] forward port of branch 8.0 up to 5e6ec89 2015-07-27 14:56:49 +02:00
Christophe Simonis af9393d505 [FIX] orm: access error due to prefetch of indirectly referenced records.
The new-api record prefetching algorithm attempts
to load data for all known records from the requested
model (i.e. all IDs present in the environment cache),
regardless of how indirectly/remotely they were
referenced. An indirect parent record may therefore
be prefetched along with its directly browsed children,
possibly crossing company boundaries involuntarily.

This patch implements a fallback mechanism when
the prefetching failed due to what looks like an
ACL restriction.

The implementation of `_read_from_database` handle
ACL directly and set an `AccessError` as cache value
for restricted records.

If a model (like `mail.message`) overwrites `read` to
implements its own ACL checks and raises an `AccessError`
before calling `super()` (which will then call
`_read_from_database`), the cache will be not fill,
leading to an unexpected exception.

If this commit messae looks familiar to you, that's
simply because this is the new-api counterpart of
b7865502e4
2015-07-24 14:01:09 +02:00
Christophe Simonis 6a962b9594 [FIX] core: change behavior of x2m inegative domains using name_search.
Domains like `[('x2m_field_ids', 'not ilike', 'foo')]` now have a more
logical semantic. The negation is applied on the relation and not the
`name_search`.
2015-07-23 15:17:40 +02:00
Christophe Simonis 2cf91d16a5 [MERGE] forward port of branch saas-6 up to 63e92cb 2015-07-22 16:17:54 +02:00
Christophe Simonis 63e92cbc96 [MERGE] forward port of branch 8.0 up to 9abf868 2015-07-22 14:09:00 +02:00
Christophe Matthieu b6ddfe617f [FIX] base, web : move apps.js from base to web
'base.apps' JavaScript module 'require' the web widgets. This module is only useful if web is installed.
2015-07-22 12:15:25 +02:00
Christophe Matthieu 264bb780a1 [IMP] web: web modules return readable logs and phantomjs logs
boot.js log:

* ``Missing dependencies``:
  These modules do not appear in the page. It is possible that the JavaScript
  file is not in the page or that the module name is wrong
* ``Failed modules``:
  A javascript error is detected
* ``Rejected modules``:
  The module returns a rejected deferred. It (and its dependent modules) is not
  loaded.
* ``Rejected linked modules``:
  Modules who depend on a rejected module
* ``Non loaded modules``:
  Modules who depend on a missing or a failed module
2015-07-22 12:15:25 +02:00
bpa-odoo 90ba0d1cb4 [IMP] hr, hr_recruitment: usability improvement
- hr: improve form view with 2 columns and remove requirements.
- hr_recruitment: remove case_default and legend_priority fields, improve dashboard, move recruitment.stage data in demo and improve form and kanban view of hr.applicant.
2015-07-20 11:23:35 +02:00
Odoo Translation Bot 0871f423a3 [I18N] Update translation terms from Transifex 2015-07-19 02:01:00 +02:00
Fabien Pinckaers 96f084fba7 [FIX] Supplier -> Vendor 2015-07-16 16:41:49 -07:00
Fabien Pinckaers 97d7b2e268 [FIX] import test 2015-07-16 15:46:56 -07:00
Fabien Pinckaers 5a3d0947f2 [IMP] Supplier --> Vendor 2015-07-16 14:55:20 -07:00
Raf Ven 39d17c2580 [FIX] base: avoid deleting translations
When updating a translation, the previous one is deleted and a new one is
recreated (with no module and state). When the source module is updated, the
previous term is inserted again to the lsit of terms.
Instead of dropping and recreating terms during update, simply update the
existing term and create one only if there were no previous translation.
Fixes #4617
2015-07-16 15:14:30 +02:00
Frédéric van der Essen 343f462834 [IMP] base: remove multi_company.default
Multi_company.default was used to set the default company on newly created
records in a multi-company environment. We remove it because it is redundant
with User-Defined Default.

The function _company_default_get is left for backward compatibility and to
allow the creation of modules that implement more complex policies.
2015-07-16 14:57:27 +02:00
Antony Lesuisse 8f07f01783 [FIX] base: res.company _company_default_get
Fix rule processing the criteria user.company_id was not honored.

Closes: #4614, #7504
2015-07-16 14:38:13 +02:00
Nicolas Lempereur 6603223c41 [FIX] base: mode debug css traceback
We could get a traceback in debug mode since we had something like
[[4]] instead of [4] as an ids list since 4a2aee45 forward port.
2015-07-15 09:44:22 +02:00
Denis Ledoux c15c07c405 [FIX] expression: search inactive records for multi-path domains
When searching records with a many2one multi-path domain
e.g. [('employee_id.user_id', '=', uid)] on `hr.holidays`,
inactive records were ignored
e.g. if the employee of the leave request is disabled.

For instance, this was not possible to search
holidays of a disabled employee, while you would
want to see holidays of an employee who
is no longer working in the company.

This leads to a huge change of behavior,
and this is why we decided to not apply
this fix within a stable release, such
as 7.0 or 8.0, as companies in production
might rely on the current behavior for
their business, and changing this suddenly is
not accepted.

This must not be applied for one2many fields: Disabled
records of a one2many fields must be considered
as deleted. A search with a multi-path domain
on a one2many must exlude inactive records.

opw-644718
2015-07-14 17:12:28 +02:00
Christophe Simonis d215a08db1 [MERGE] forward port of branch 8.0 up to 86d7f52 2015-07-14 15:57:39 +02:00
Christophe Simonis 88e8107e01 [MERGE] forward port of branch saas-3 up to 505e308 2015-07-14 15:13:03 +02:00
Christophe Simonis 505e308cd6 [MERGE] forward port of branch 7.0 up to e12cece 2015-07-14 15:00:33 +02:00
Olivier LAURENT e12cecea9d [FIX] tools: separator in po comments
Comments in .po(t) files for translations of type "code" (e.g. field labels)
specify the path to the file containing the translation. This path should be
OS-independent to get the same result whatever the plateform the instance is
running on.
Closes #7561
2015-07-14 11:40:16 +02:00
Jonathan Nemry (ACSONE) 1bc2608490 [FIX] base: add missing context
Propagates context when calling method 'attributes' of ir_qweb
Closes #7582
2015-07-14 11:08:20 +02:00
Daniel Reis e20cf77ce0 [FIX] cli: Backport client command discovery optimization
Lazy load modules to avoid import of unmet dependencies such as ldap.
2015-07-12 16:40:55 +02:00
Odoo Translation Bot 99a7d530e0 [I18N] Update translation terms from Transifex 2015-07-12 01:51:44 +02:00
Raphael Collet 08e9fb84f6 [FIX] res_company: make _company_default_get return a recordset in new API
This fixes a number of new-API default values for `company_id` fields.
2015-07-11 02:59:30 +02:00
Christophe Simonis 4a2aee45be [MERGE] forward port of branch 8.0 up to 9654b54 2015-07-10 17:12:57 +02:00
Christophe Matthieu c811ba8345 [IMP] tests: group phantomjs the log to have one python log by javascript log 2015-07-10 17:00:16 +02:00
Christophe Matthieu c9492f8904 [IMP] report: adapt report to use web_editor and remove website_report 2015-07-10 17:00:11 +02:00
Raphael Collet 578dba5613 [IMP] ir_translation: move web_editor translation logic to module web_editor 2015-07-10 17:00:11 +02:00
Christophe Matthieu 8c559044a5 [IMP] web_editor: split website into web_editor (to use editor in backend for html field) and website 2015-07-10 17:00:11 +02:00
Christophe Simonis 9654b54d3c [MERGE] forward port of branch saas-3 up to b15461b 2015-07-10 16:46:40 +02:00
Christophe Matthieu 500c33b184 [IMP] web: split model.js into model.js and data_model.js. Web js modules must call web.DataModel. 2015-07-10 16:32:35 +02:00
Christophe Simonis b15461baba [MERGE] forward port of branch 7.0 up to 1d01872 2015-07-10 16:30:48 +02:00
Christophe Simonis 6e73a31146 [FIX] base: ir.qweb: fault tolerant save of assets.
Do not fail if an asset cannot be cached into the database.
2015-07-10 16:10:59 +02:00
Dariusz Żbikowski 0f4399bb7b [FIX] res.country: address format in polan
Address format in Poland looks like:

Legionów 93
91-072 Lodz
Poland

see: http://en.wikipedia.org/wiki/Address_%28geography%29#Poland

Closes #2416
2015-07-10 11:37:34 +02:00
Fabien Pinckaers 1fe10b5417 [IMP] Supplier --> Vendor. American English 2015-07-09 16:10:09 -07:00
David Beal d780f9476d [FIX] res.currency: allow duplication
Currencies must be unique per company.
Therefore, without this revision, adding `(Copy)`
to the currency name on duplication, this
is simply not possible to duplicate a currency.

Closes #2443
2015-07-09 17:15:30 +02:00
InitialT d56c35941b [FIX] base: typo 2015-07-09 15:10:40 +02:00
Martin Trigaux cf63d4d277 [FIX] share,base: avoid loading order issues
Move share column to base instead of module share.

The column is used to filter some groups and make them hidden from the res.users
form. However, if a module was loaded before the module share (e.g. depends only
from base), when upgraded, the eventual update of a res.group regenerated the
res.user view (to compute in_group_XX fields). This recomputation was done
before the module share was loaded in the registry (due to the dependency graph)
and the override of get_application_groups was not done, including shared groups
in the user form.

As we can not guarantee that a module is loaded, better to move to base module.
As share depends only of mail and is autoinstall, it was installed on most
instances anyway.

Fixes #6324
Fixes #5820
2015-07-09 13:50:28 +02:00
Nicolas Martinelli f3e4d0a2e8 [FIX] openerp: export None instead of False in raw_data mode
If we export False or an empty string, the Excel export will consider the field
similarly to a boolean, and en empty value will be converted into "=False()" in
Excel. To prevent this, we return "None" in the following cases:

- String
- Date
- Datetime
- Selection
- Reference
- Many2one
- RelationalMulti

Introduced by 6243d18

opw-643966
2015-07-09 11:49:04 +02:00
Thibault Delavallée 2c36354ca9 [RENAME] mail, website_mail, website_mail_group, various: mail.group
model has been renamed to mail.channel to prepare the slack modeling.

In future commits the mail.group model will be merged with the channel
model from im_chat. The first move is to rename mail.group into
mail.channel to have a model that will unite both features.
2015-07-09 11:12:50 +02:00
andreparames 067fd2f342 [FIX] models: don't assume ids are ints in sorted()
Some models (e.g. calendar.event), use "virtual" ids which are not represented
as integers. It was not possible to use sorted method on those models as calling
int() is failing.

This commit fixes the method, making it agnostic to the type of the
'id' member variable.

Fixes #7454
2015-07-08 15:00:32 +02:00
Temur Vibliani 0eeab361d9 [FIX] tools: Added Georgian Language to the installable languages 2015-07-08 11:51:35 +02:00
Denis Ledoux f86d5870fc [FIX] res.country: Preferred address format
According to the USPS, separating the city name
and the zip code with a comma is acceptable,
but the preferred format omits the comma.

http://pe.usps.gov/cpim/ftp/pubs/Pub28/pub28.pdf

opw-644000
2015-07-08 11:13:46 +02:00
Nicolas Lempereur e33baecfa3 [FIX] osv: binary size already in human format
In version 8.0, postgresql's pg_size_pretty function is used
(http://www.postgresql.org/docs/9.4/static/functions-admin.html) when
getting the size of a binary field when reading if `bin_size`
or `bin_size_[col_name]` is set in the context.

So in 8.0 the size of a binary field get units bytes, kB, MB, GB and TB
which was not taken into account. e.g: '5.3 GB'.

This fix uses the size of the string to choose to differenciate the two.

e.g: '10000 bytes' (the longest size) will be returned directly, but
for something longer the human size of the content length will be
returned.

There is a corner case if a file is shorter than 12 bytes but
it is an enough of a small scenario with small implications that it is
deemed acceptable.

closes #7485
opw-644085
2015-07-07 19:17:43 +02:00