Commit Graph
561 Commits
Author SHA1 Message Date
Martin Trigaux 8b119e2ae9 [FIX] base: skip failed autovaccum
This patch prevents bugs fixed at 5d463d2 to block the database.
It was preventing the autovacuum to properly clean old records.
Failing to unlink (may have various different reasons) should not block the
autovacuum to try on other models

Closes #23455
2018-03-05 16:03:01 +01:00
Odoo Translation Bot 3527bc004c [I18N] Update translation terms from Transifex 2018-03-04 00:58:51 +01:00
Christophe Simonis a6855b31c9 [MERGE] forward port branch 9.0 up to d4ec6b75ac 2018-03-01 13:25:10 +01:00
Christophe Simonis 0261d6d595 [MERGE] forward port branch 9.0 up to 239f4fec29 2018-02-28 13:41:04 +01:00
Christophe Monniez 82e9cc7f97 [IMP] test_pylint: test the presence of python debuggers
From time to time, it happens that a developper forget to remove debuggers.
This commit adds a test to find such imports (pdb and pudb). The test
will fail if that kind of import is found. The Odoo runbot should run
this test and prevent developper from those small mistakes.
2018-02-26 16:12:54 +01:00
Odoo Translation Bot 3535904bce [I18N] Update translation terms from Transifex 2018-02-25 01:38:10 +01:00
Christophe Simonis da881b0bd2 [MERGE] forward port branch 9.0 up to 5d086cea9b 2018-02-19 13:25:05 +01:00
Xavier Morel fc55d649d6 [FIX] base: don't recompute while performing the bulk of the unlink
If a record is deleted *and* has property fields, the deletion of the
property fields will trigger the various recomputes before the record
itself has actually been deleted, and thus stuff which depend(ed) on
that record will be recomputed under the assumption that the record
still exists, which probably will not work.

Under the assumption that the same issue would occur when deleting
more than one batch of records (unlinking the data, values or
attachment would also trigger a recompute before the proper end of the
function and could lead to incoherence, e.g. some of the records being
deleted being visible to recomputes), lift the entire effective body
of the unlink into a norecompute context, to ensure that only the very
final recompute (from the top-level unlink) is actually triggered.

opw-807036
2018-02-19 10:48:30 +01:00
Xavier Morel a583a56324 [FIX] base, web: don't fold M2M when not in import compatible mode
Before this commit, if the first exported field of an M2M is `id` (the
xid) the entire M2M is folded into a single cell with comma-separated
xids and any following field is ignored. If `id` is any but the first
field, the export behaves normally (with the m2m exported as a "table"
inside the parent record).

This behaviour makes sense for import-compatible exports where the id
is the only thing which can be exported anyway, but it is troublesome
outside of that mode as the behaviour of m2m under export becomes
incoherent/unpredictable (ish) as it depends on the position of the
m2m's `id` in the exports list.

Change it so we only perform folding in import-compatible mode (which
is the default for backwards compatibility with e.g. API calling
export_data directly & the like).

opw-813361

Fixes #22600
2018-02-19 10:43:15 +01:00
Odoo Translation Bot 40aedd74a3 [I18N] Update translation terms from Transifex 2018-02-18 01:04:11 +01:00
Christophe Simonis 73c2ac451a [MERGE] forward port branch 9.0 up to b7b82f1267 2018-02-14 15:32:37 +01:00
Denis Ledoux 0db75089ef [FIX] base: prevent PhantomJS tests to send emails
The emails sending is skipped during the tests.
The mecanism to determine if the server was running tests
was to check if the attribute `testing` was set for the thread.

Unfortunately, this `testing` attribute is removed/set to false after the loading/installation
of the modules is done, and phantomJS tests are ran post-installation,
and therefore the emails that were potentialy sent following an action
performed in a PhantomJS tour were not skipped.

This occurred for instance in the tour `project.tour`,
when the responsible of a task was changed,
the sending of the assignation notification email was not skipped.

In the case the machine on which the tests are ran does
not have an smtp server (or mailcatcher) running on the port 25,
this resulted in a test fail.
2018-02-14 14:26:39 +01:00
Odoo Translation Bot 91f2209216 [I18N] Update translation terms from Transifex 2018-02-14 11:53:12 +01:00
Christophe Simonis 19a37782fb [MERGE] forward port branch 9.0 up to 2d73ea9bed 2018-02-13 19:02:37 +01:00
Odoo Translation Bot 0351677a00 [I18N] Update translation terms from Transifex 2018-02-11 00:48:18 +01:00
mreficent aac8f9730e [FIX] base: on_change_country() on res.company should return an ID
Previously, the return value was sometimes an int and sometimes a browse record.
Was PR #22810. Courtesy of Miquel Raïch (Eficent)
2018-02-09 09:53:57 +01:00
Christophe Simonis e5f2e6d390 [MERGE] forward port branch 9.0 up to b08185fc66 2018-02-05 11:30:42 +01:00
Odoo Translation Bot df1accbf53 [I18N] Update translation terms from Transifex 2018-02-04 00:48:03 +01:00
Jeremy Kersten e15a7b4c65 [FIX] http: JsonRequest return code error as status code
+ Manage 404 error, avoiding tb in log and respecting status code
in response request.
2018-02-01 09:47:25 +01:00
tbe-odoo 6d682cea25 [REV] http: Implicit session deactivation -> Explicit destruction
- This commit degrade the performance and introduce a bug for multiple database servers.

This reverts commit bc69b47073.
2018-01-29 13:25:21 +01:00
Odoo Translation Bot e8d719e977 [I18N] Update translation terms from Transifex 2018-01-28 00:43:32 +01:00
Christophe Simonis 9620989501 [MERGE] forward port branch 9.0 up to 222cadda41 2018-01-25 20:24:39 +01:00
Martin Trigaux 0ac6043ec7 [FIX] base: bad back-port
53e221fc was intended for 11.0 and backported too quickly in 10.0

Remove fields that do not exist yet
2018-01-24 11:39:56 +01:00
Sergei Ruzki 53e221fc16 [FIX] base: adding BYN to currenciest list
From 2016-07-01 BYN is new currency sign for Belarus
See https://en.wikipedia.org/wiki/Belarusian_ruble

BYR is no longer used.
Kept for backward compatibility and stability reason

Closes #22307
2018-01-24 11:19:27 +01:00
tbe-odoo bc69b47073 [FIX] http: Implicit session deactivation -> Explicit destruction
- Replace the implicit session deactivation with explicit destruction.
2018-01-23 16:21:10 +01:00
Odoo Translation Bot ae6037e17a [I18N] Update translation terms from Transifex 2018-01-21 00:42:13 +01:00
Odoo Translation Bot aa875b08af [I18N] Update translation terms from Transifex 2018-01-14 00:41:46 +01:00
Martin Trigaux afc2bb92e9 [I18N] Update translation terms from Transifex 2018-01-12 17:27:04 +01:00
Jerther 270b2ebf81 [FIX] service, web: memory error on large DB
Fixes MemoryError when restoring large database archive.

Closes #17663
opw-788273
2018-01-12 10:17:42 +01:00
Fabien Meghazi d080f8c047 [IMP] ir_cron: use 'info' loglevel instead of 'debug' when starting job
This information is important for `ir.cron` troubleshooting hence
deserves a little more love.
2018-01-12 09:34:37 +01:00
Jeremy Kersten 8fb203f7c6 [FIX] base: ir_ui_view unescape %% in dev mode
In dev mode with xml feature, we read the xml from file directly.
%% should be unescape to get % instead.
2018-01-10 21:01:33 +01:00
Lucas Perais (lpe) 1ad8867dee [FIX] base: corrected automated action onchange and write
When having an automated action which
triggered upon changing a field to write on another
(no python code, but operatiing with ir.server.object.lines)

Before this commit, the onchange was not performed.
This was because there was no active id
(in fact the code did not take object(<NewId>) into consideration)

After this commit, the onchange is performed.

OPW 801424
2018-01-09 15:17:21 +01:00
Odoo Translation Bot 43487b73d6 [I18N] Update translation terms from Transifex 2017-12-31 00:42:46 +01:00
Odoo Translation Bot a19c462902 [I18N] Update translation terms from Transifex 2017-12-24 00:42:06 +01:00
Nicolas Martinelli 2aa3132d09 [FIX] base: prevent App Switcher as home action
This reverts commit 1ffe85f1cb and replaces the domain with a
constrain.
2017-12-21 13:47:24 +01:00
Lucas Perais (lpe) 1ffe85f1cb [FIX] base: prevent App Switcher action to be selected as home action on user
Before this commit, one could choose the App Switcher as his Home action.
and arriving on /web would trigger an infinite loop at startup

After this commit it is not possible to choose the App Switcher as Home action anymore

OPW 800323
2017-12-20 15:08:53 +01:00
Odoo Translation Bot cfe0ebcc59 [I18N] Update translation terms from Transifex 2017-12-17 00:42:09 +01:00
Richard Mathot 2b32f52b48 [REV] "[FIX] base: language code for Khmer (Cambodia)"
This reverts commit 3830621075.

This patch was unstablie as updating language code is actually forbidden.
2017-12-15 09:11:52 +01:00
Sanjay Jamod 3830621075 [FIX] base: language code for Khmer (Cambodia)
Closes #17633
2017-12-14 13:44:14 +01:00
Christophe Simonis 1022e4fb25 [MERGE] forward port branch 9.0 up to 22f8660e22
Works better when you add files...
2017-12-13 15:17:22 +01:00
Adrien Peiffer (ACSONE) 2a9e6e6a3b [FIX] res_partner: bad sudo.
Using sudo on super call can turn into infinite call in odoo.

opw:785415
2017-12-12 15:58:59 +01:00
Christophe Simonis 219c93252f [MERGE] forward port branch 9.0 up to 7a24a2f45f 2017-12-12 14:15:15 +01:00
Christophe Monniez 17c9208889 [FIX] base: backport of set mimetype on js and css assets
On MS Windows, the mimetypes module relies on the Windows Registry to
guess mimetypes. As a consequence, when generating assets bundle for
javascript files, the mime type of js files may be wrong. In that
particular case, the Odoo user is facing an empty web page.
This commit enforce 'application/javascript' for js assets when they are
saved as ir_attachment in the database.

This commit is a backport of 77ca51f
2017-12-12 09:42:55 +01:00
Odoo Translation Bot f3623f1513 [I18N] Update translation terms from Transifex 2017-12-10 00:42:03 +01:00
Nicolas Martinelli 9d0b4d0c2d [FIX] base: deactivate lang
- Install a new language
- Set it as default for several users
- Open the language and click on "Deactivate"

Traceback.

Fixes #21418
opw-786342
2017-12-06 10:20:35 +01:00
Adrian Torres 78aef7605c [FIX] *: ordered group_by for field with capital letters
When doing a group_by in a tree view, and then ordering by an
aggregated field which contains at least one capital letter in its name,
you will get an error and won't be able to ordery by this field.

Why? read_group is called when sorting a group by, which calls
_read_group_raw which then goes to call _read_group_prepare, which will
return order by terms in this manner ['id asc', 'x_Test desc']
the problem with this is that postgres automatically converts
non-quoted/non-qualified column name to lowercase, of course this means
that if we have a field "x_Test" but no field "x_test", it will try to
look up "x_test" instead of "x_Test" and since the column doesn't exist,
it will throw a ProgrammingError.

This commit changes this behavior by wrapping the order_by terms generated in
_read_group_prepare with double quotes, which postgres interprets
correctly.

Fixes #21348

Cherry-Pick of c338e24ee7 as previous
forward-port has been badly done...
2017-12-04 18:49:31 +01:00
Odoo Translation Bot 60801e5375 [I18N] Update translation terms from Transifex 2017-12-03 00:41:36 +01:00
Adrian Torres 3d1e23aaba [FIX] *: Reset module states on registry init error
Commit 763d714 introduced cron job locking for databases which had
modules with states set to 'to x', however if an
installation/uninstallation/upgrade fails, the state will stay at 'to
x', and it may stay in that state for an indefinite amount of time,
meaning that cron jobs could stay locked forever.

This commit fixes this in part by adding a cleanup function to loading.py that
will be executed whenever load_modules fails, the function will change
every 'to x' module to their original state, effectively unlocking the
execution of cron jobs.

This however only works to prevent "zombie" transient states for
brand new databases, however for existing databases which already
contain some modules in a zombie state it won't do anything unless
a module is installed/uninstalled/upgraded, which may never happen.

This is where the second part comes in (ir_cron.py), when failing to
execute crons, we check if the failure was due to bad module state
and if an arbitrary amount of time (5 hours as of this commit) has passed
since the last time it was supposed to be executed, if it is the case, it means
that the cron execution failed around 5 * 60 times (1 failure per minute for 5h)
in which case we assume that the crons are stuck because the db
has zombie states and we force a call to reset_module_states.
2017-12-01 14:15:42 +00:00
Christophe Simonis 99f343c7b6 [MERGE] forward port branch 9.0 up to 82bde85030 2017-11-30 10:55:32 +01:00
Martin Trigaux 159bcf3cc2 [I18N] update Danish terms
Courtesy of Visti Kristensen, IT-konsulent
2017-11-29 14:33:19 +01:00