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
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   since it is an HTML entity but
not a defined XML entity,
* & should be stored as & 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
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
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
This revision is related to 0ea31c272c.
It's no longer really needed since the rescue sessions have been removed,
with the revision 87a3fe92de,
except for databases already having opened rescue sessions.
opw-653180
Using `fields.Date.context_today` for a `Date` field is the
right thing to do, but not for a `Datetime` field,
as it won't return the current hour, and this will lead
to issues with the different possible timezones.
opw-652391
When we had things like or & in a text we want to translate,
the translation system would save it unescape (so \xa0 and &).
So in this instance, the traduction would not match the real source
which was not subjected to this unescaping.
opw-653173
note: fix is courtesy of dle (no need to forward port after saas-6)
As this method is overided in several modules, the mix of new and
old API makes it difficult to handle. Indeed in some cases we
receive the expected dictionary, sometimes in a list, sometimes
in a list of list, due to api.one decorator.
This is a change in the method API, however it is currently completely
buggy. Moreover this method is used internally and should not be
used as an external API. Lastly, this method is new from v9.
/my/orders is available only for quotations not in draft or cancel mode. No
need to redirect to website for those quotations.
online quotation was buggy, id was not defined, use quote.id instead. Woaw.
The bus used to do a long poll as soon as it is started. This is fine
when the user has a single tab, but not so fine when 5 or 6 tabs are
open. This commit introduce the concept of tab manager, a way to decide
among all tabs who is the leader. The leader will then initiate the
long poll, and share the notifications via the local storage.
Issue: steps to reproduce:
create a purchase order
choose a supplier
choose a product
change the quantity
don't click anywhere on the form, just click on "confirm order"
you get an error "invalid field: scheduled date"
Use dataset instead of record because record can have an other value (a short for a moment due to deferred).
Use silent option to avoid onchange.
Since c04065abd8 (introduction of
accounting v9) bank statement lines can not have an amount of zero
anymore. So when we validate an order in the POS client we need to get
rid of paymentlines with an amount of zero.
The fix in 665bc1c solved the issue for pager of some X2Many widget x2m
which would shadow the accesskey to go to previous/next page of the top
view's current model.
But in the case a web.Pager (used in community for a X2Many kanban
widget) the fix had no effect.
opw-652888
This commit was necessary to fix weird problems in 9.0-nightly.
Phantomjs and the old nvd3 implementations did not play well together.
* transitionDuration() replaced by duration()
* tooltips() & tooltipContent replaced by tooltip.enable and tooltip.contentGenerator
* remove useless less for tooltip
Thanks to mge for his help