Add ACL on resource.calendar.attendance for HR Officer
according access right on resource.calendar
Otherwise, this isn't possible for HR officers to
manage Work Details (`resource.calendar.attendance`),
while they can manage Resource Calendar (`resource.calendar`)
Closes#9330
When clicking on button "add_to_cart" for a product with several options,
the user must be redirected to the product page. In this way, the user can
choose the options, he wants to buy with the product before adding the product
in the cart.
opw:653356
Generalizes the mention mechanism to allow mentionning partners (@) and
channels (#).
When a user clicks on a mentionned channel, it subscribes to it and joins it.
If the mention is in a chatter, the user is redirected to the Discuss client
action.
Moves the RPCs to get the menu and action id of the Discuss client action from
systray.js to chat_managaer.js as they are now needed in the chatter as well.
Also fixes the on_channel_clicked redirection for notification message
(created/joined/left #channel). Those three messages are now of type
notification, and correctly redirect on click.
The options dictionnary given when performing a do_action is now transmitted
to the client action initialization.
This was required for the mail client action, to correctly redirect to a given
channel.
- display hash before text in create channel input
- increase limit for message fetching from 20 to 100
- 'Show more messages' renamed ino 'Show older messages'
- remove border top and bottom on selected messages
The messages dates in the groups pages
- /groups/<model('mail.group'):group>/
- /groups/<model('mail.group'):group>/<model('mail.message):message/
Did not take into account the user timezone, and always displayed
the date in UTC time.
opw-653508
Currently server side there is two differents source for html content
displayed on a qweb rendered page:
1) ir.ui.view arch value
are stored as xml and are unescaped before being displayed, so we have
to escape the text nodes before saving.
e.g:
* should be stored as &nbsp; since it is an HTML entity but
not a defined XML entity,
* & should be stored as &amp; since when unescaping it, it
would become & which is invalid in HTML,
* < should be stored as &lt; since when unescaping it, it would
become `<` so HTML text node could become HTML element node.
The tag themselves can also be escaped but it often has the same result:
<em&;gt;blah</em> is the same as <em>blah</em> when unescaping
is applied to both.
But it is required is some instance, e.g <!DOCTYPE html> unescaped would
be invalid xml.
2) openerp.fields.Html value
are stored directly in HTML formatting and should, conversely, not be
escaped before being stored.
Thus when saving an ir.ui.view part modified thanks to the website
editor, an escaping of text node content is carried out to take this
into account, but the same was currently not done for the v9.0 new
translation system.
This commit apply the same logic when saving ir.ui.view as when saving
ir.translation values.
When a payment is created for a bill, this is always the 'commercial_partner_id'
which is used as 'partner_id'.
Then:
-When registering a payment with several bills, the 'commercial_partner_id'
field of these bills must be the same.
-When grouping bills by partner, the groups must contain all the bills from
the same 'commercial_partner_id'.
opw:653005
Unlinking a partner will also delete the related attachments (including
binary fields ones). When we rollback the transation at the end of the
test, the deleted attachments are not recreated in the filestore. This
unfortunate side-effect cause traceback when accessing these records in
backend.
In order to avoid this, we create disposable partners to test the api
cache behavior.
When using the menu Sales > Your pipeline,
The domain `[('type','=','opportunity')]`
wasn't enforced, and leads could
therefore be displayed with the form
of an opporunity.
This is already the case when using
the "Pipeline" button in the teams
of the CRM Dashboard.
opw-653417
Templates have been updated to match the general layout of the
notifications and emails in Odoo. This module has its own
commit because those templates were already complex and well
designed.
Some chatter messages have also been removed. Too much messages
are produced when creating and updating events.
Templates used to send invoice / quotation / PO by email are cleaned. Custom
style is removed. Content is simplified.
For sale, only one template is kept through the various addons. Previously to
this commit there are 3 templates: standard, portal and online quote. Those
template are similar except the link to get the sale order. Now the base template
contains some logic that should be sufficient to cover all cases. This breaks
the modular approach but is easier to use for users. As templates are still mako
it is not possible to use inheritance. So having a base template knowing some bits
of overriding modules is necessary if we want to avoid having the same template
duplicated.
The template used for notifications is updated. The general layout
is now
header: logo -- action buttons, contextual actions
separator
body
signature
Sent by company using Odoo
Action and access button in notification emails are added. Override
mail_thread methods to add a specific link + an access buttons to
everybody if the slide is published.
This makes every template holding images crash. As this feature will shortly be
fixed in 9, let us temporarily comment its use and wait for the forward port of
the fix.
Leads and opportunities have each their own search view.
- The menu Sales > Your pipeline must have
as search view the one of the opportunities,
like the "Pipeline" button in the crm dashboard
- In the leads search view, filters/groupbys
using fields that are not used in leads must be
removed
- `Channel` was renamed to `Medium` a while ago,
the filter must use the terminology used in the
lead/opportunity form view.
opw-652588
opw-653417
The notification box remains on the form until either:
- the user closes it explicitly, or
- the user edits the record, or
- the form view is refreshed (switch to another record, or refresh form).
Add a method `once` to `EventDispatcherMixin`, as it is convenient.
Make `FormView` trigger events `to_view_mode` and `to_edit_mode`.
When an account.move.line(aml) is created for a reconciliation, the date
used in the aml must be the date of the bank.statement.line used to
create the aml.
opw:653335