The method get_salenote does not exist anymore. It is not necessary
anymore since the note is already translated in the appropriate language
on the SO.
opw-653600
The POS will asks the user to confirm certain things that could be a
user error. Examples of this are attempting to validate an order with a
very big payment compared to the amount to pay on the order. Another
example is paying an amount of 0 for an order with a total amount to pay
that is negative (manual refund).
The issue was that pos_mercury overwrote validate_order(), and didn't
call _super() correctly, losing the user confirmation for these type of
actions.
ir.actions.wizard were removed in 8.0 with a32bf72 (oct. 2013), but
they were still present in the interface to add a menu.
This fix removes them for good, and is only done in 9.0 since the
remains of existing ir.ui.menu with an ir.actions.wizard action should
be minimal.
opw-654215
- display star/mark as read icon next to the message title instead on
the far right
- display unstar all message in channel starred
- enable/disable the 'unstar all' and 'mark read' buttons depending on
the number of messages in the corresponding channels
- display star on the left sidebar in 'squashed messages'
- tweaks to padding in client action
- display hash in channel name in lighter tone
- light opacity in sidebar
- star icon in message sidebar is clickable + small less refactoring
- message sidebar is aligned with the message now
- messages are not squashed in inbox/starred
When we refresh, the bus will send the last notifications since the last
50s, so, the browser will receive notifications from a channel that we
already left. This commits tries to fix the issue by sending
explicitely the information that a channel was unsubscribed.
Also, and this is touchy, it ignores messages received in a channel that
it is not subscribed to (before, it joined the channel)
Also, it will synchronize channels opened and closed in various
tabs/browsers.
The issue was that the chat_manager was an async js module, so it could
be loaded quite late. Then the client action was loaded only after the
chat_manager was ready, and possibly before the action_manager read the
value in the action registry.
This commits prevent this problem from happening by turning the chat
manager into a sync module, so the chatter and the client action needs
to wait for him to be ready before doing their magic.
The bus is somewhat tricky. (at least, the crosstab version). It needs
to elect a leader, and to communicate with the server through it.
However, several tabs have a different event loop, so, we need to be
careful to avoid race conditions. The current version was not
race-condition-proof, and this commits improves on this.
The idea is to allow the bus to detect if some other tab is also
considering himself master. In that case, it is allowed to unelect
himself.
This should allow the bus to self correct those situations in a short
time.
The color field of a product.attribute.value enable users to choose a
color with its HTML color value (hexa, named, rgb, rgba).
In the many2many tags the color field on the model has a magic feature
which color the tag in several instances. But these color are numbered
from 0 to 10 and are incompatible with HTML color values.
So with with the model product.attribute.value, the many2many tags
widget would use the color system (since a field name color exists), and
when setting a color with it, it would be invalid and erase the wanted
named or HTML value color.
This fix ignore the setting of the tag color for this particular model,
a following fix (in master) should rename the column to properly fix
this.
opw-653124
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