When storing files send in POST in session_store, store them with a
name based on the name of the session file itself (ease matching sessions
and files for debugging purpose)
Authentication modules are supposed to override res_users.check_credentials()
in order to plug in their own mechanism, without actually modifying the
behavior of res_users.check(), res_users.authenticate() or
res_users._login().
auth_openid was incorrectly overriding check() instead of
check_credentials(), and unnecessarily accessing private
attributes of res_users. Fixing the implementation of auth_openid
to follow the API means we can completely make those attributes
private.
Authentication modules are supposed to override res_users.check_credentials()
in order to plug in their own mechanism, without actually modifying the
behavior of res_users.check(), res_users.authenticate() or
res_users._login().
auth_openid was incorrectly overriding check() instead of
check_credentials(), and unnecessarily accessing private
attributes of res_users. Fixing the implementation of auth_openid
to follow the API means we can completely make those attributes
private.
When pack operations generate extra moves, they should
take the same procurement group as those of the picking.
That way, when invoicing, they will be put on the same
invoice when there is a different invoice address on the
sale order.
When two first notebook pages are invisible, the shown page will be the
second invisible one.
With this fix, all oe_form_invisible classes are added in the init stage
of the NotebookInvisibilityChanger object.
opw-646740
note: good for saas-6 but not next versions, see opw-639595
In "Payment Follow-up" when clicking on "Send Overdue Email"
if contact with type = "invoice" and an email exists in the childs then
the email will be send to this contact else the normal behavior
is kept. When the overvue email is sent to a contact who is not the commercial
partner, a message is written in the chatter of the commercial partner to inform him
that the email has been sent to the "invoice" contact.
Closes#7870
opw:646149, 646575
The DOM structure and elements's classnames diverge in community and enterprise
editions. Tips must work perfectly with both editions, obviously.
This rev. updates some classnames in the community edition for the tips's selectors
to match in both editions.
The following classnames have been renamed/introduced:
- oe_form_buttons_view renamed to o_form_buttons_view
- oe_form_buttons_edit renamed to o_form_buttons_edit
- oe_form_invisible renamed to o_form_invisible
- oe_list now also has classname o_list_view
- header tag in form views now has classname o_form_statusbar_buttons
Other changes like these might be required later if other tips are introduced...
- fix multiple write causing a loop and unnecessary condition check.
just reset the kanban stage when changing the stage, like in tasks
or issues. Rely on the call to super() to perform the write itself.
- fix wrong field use and cleaning code about auto subscription
The group applied on the purchase invoices stat button
was "Accountant", while "Invoicing & payments" is enough.
That way, the customer and purchase invoices stat buttons
have the same group applied, which makes sense.
opw-646748
Partial revert of commit 39d17c2580
of PR #4617, that broke translations by introducing a different
set of criterions for filtering translations in `_set_ids()` and
`_get_ids()`, adding the `module` column in `_set_ids`.
This meant `_get_ids` would see translations that `_set_ids`
would never update: the translation interface did not appear to
be working anymore as soon as a translation entry existed with
no `module` value.
This is likely for manual entries and for entries bootstrapped
by `translate_fields()`, as they do not belong to any module.
The situation described in PR #4617 probably requires an extra
fix in the translation import system instead.
The awful code of a067129 didn't even work when
there really wasn't any cash move for a user for
which you didn't have the rights to read the moves.
Because there wasn't any move, there wasn't any
access error either.
We finally decided to hard-code the rule that
allows you to read the balance or not, which
renders it dependent of the actual access rules
of the system.
Move the widget_x2many tour to web and call it from test_new_api as it needs
to be overrided for the new design, and it requires models and data from
test_new_api.
Clean other unnecessary stuff from web_tests, and thus remove the addon.