Commit Graph
99970 Commits
Author SHA1 Message Date
Aaron Bohy 89ba0a811b [FIX] mail: traceback on new msg in unpinned closed livechat
The traceback ocurred when the operator closed a livechat channel chat window,
and then unpinned it from the sidebar in Discuss. Then, if the visitor sent
him a message, the channel was automatically re-pinned to the operator, who
received two notifications: the first one being the new channel info and the
second one the message itself.

The channel fold_state being 'closed', the window manager was trying to close
it again, which produces the traceback as the channel didn't exist in the JS
cache anymore (it was re-added to the cache when processing the message
notification, so just after).

Anyway, closing this channel was useless as, even if it was in the cache, it
would already been closed. So this rev. simply checks whether or not the
channel is in the cache before trying to close it.
2015-12-16 15:48:43 +01:00
Aaron Bohy c58c8f4bd2 [FIX] im_livechat: use correct url to find rules that apply
The problem was that, when calling 'match_rules()' from the loader template,
we compared the wrong url with the url regexp defined in rules. Indeed, we used
the url of the page we were leaving, not the one we were going to.

We thus need to know if we are coming from the controller, or from the loader
template directly as the way to get the correct url differs.

Courtesy of JEM
2015-12-16 15:48:43 +01:00
Aaron Bohy 0c92788d88 [FIX] im_livechat: various fixes
- use channel configuration for the auto_popup
- clear auto_popup timeout when chat open to prevent opening the chat twice
  if the user opens it himself before the end of the timeout
- don't send message when no feedback given
2015-12-16 15:48:43 +01:00
Aaron Bohy 2b99a36921 [FIX] mail: sent messages are plaintext
The problem was that users couldn't write characters like <, > in their
messages because the messages are html (e.g. '3 < 5' resulted in '3' because
this wasn't html valid so the second part was trimmed).

Because of mentions, we can't force messages to be plaintext (mentions are
processed and replaced by html links before the message is stored in DB).

The solution is to escape them just before processing the mentions. In the case
of chat windows, we must be careful because chat windows are also used for the
livechat, for which messages are plaintext. So the escaping should be done for
chat windows in the backend, but not in the livechat.
2015-12-16 15:48:42 +01:00
Aaron Bohy f5e4fbb20c [FIX] mail: correctly redirect to channels
Clicking on a channel link should open that channel in Discuss, not the channel
form view.
2015-12-16 15:48:42 +01:00
Raphael Collet 1fb0136f5a [FIX] fields: in onchange, do not serialize the inverse field of a one2many 2015-12-16 15:39:15 +01:00
vnsoft 4b635a1da7 [FIX] report: barcode controller: correct humanreadable handling
humanreadble arg comes as a string, so bool(0) was True. Cast it to int before.
2015-12-16 14:48:25 +01:00
Cedric Snauwaert 47359af3af [FIX] account: when doing a reconciliation from journal items, amount was rounded with incorrect precision 2015-12-16 14:44:03 +01:00
Nicolas Lempereur b9520e22e9 [IMP] web: m2m_tags support _rec_name != 'name'
Currently, the m2m tags widget would only display the name present in
the "name" field. This prevent them from being used with custom
fields/models and other niceties.

opw-658490
2015-12-16 12:03:43 +01:00
Denis Ledoux cb9d7982c1 [FIX] payment, website_sale: condition to recreate a payment transaction
Before this revision, in the ecommerce,
a new payment transaction was created only
when the transaction reference was different than
the order number, meaning that the transaction id
in the user session no longer refers to the current order,
that the user created a new order which has nothing
to do with the transaction he has in his session
variable `sale_transaction_id`

This made sense when the transaction reference
strictly matched the order number, but,
since f89e8f9df2,
this is possible that a payment transaction reference
number no longer strictly matches its order number,
as the transaction reference can contain `-1`, `-2`
at the end of its reference, meaning there was
already another transaction existing with the sale
order number as reference. But the transaction
is still about this order.

Therefore, from this revision, the condition on
which a new transaction has to be created
should no longer be based on the transaction
reference, but to which `sale_order_id` the transaction belongs.

In addition, we add two more conditions for which a new transaction
should be created:
 - The transaction has been cancelled or in error
 - The acquirer has changed.

For the second case, this is to handle a corner case:
 - The user selects one payment acquirer (Ogone), then click
   on "Pay now", and is therefore redirected to the payment provider website (Ogone)
 - Then, the user opens a new browser tab on the ecommerce, on his cart,
   choose another payment provider (Paypal), then click "Pay now" and is
   redirected to this second payment provider website  (Paypal),
 - Then, the user comes back on the first tab, on which he is on the first
   provider website (ogone), and pays/validate the payment
 - Then, we receive the payment feedback (either from the user/DPN, either from
   the server to server call/IPN)

Before this revision, this use case would have lead to the feedback from the first
provider (`/payment/ogone/accept`) while the transaction is set with the second
payment provider (`Paypal`), therefore breaking the payment validation.

Creating a new transaction when the user changes of payment provider solves this issue.
He will nevertheless be able to pay twice, on each provider, but it was
already the case before.

opw-659294
2015-12-15 18:31:12 +01:00
Olivier Dony b4949f757c Revert "[FIX] web: Can't save a x2m in list editable if contains a m2m_tags with a color field"
Reverted because it causes issue #10083 when serializing
nexted x2many values, and produces invalid x2many commands,
such as:

    `[[6, false, [[5, false, false], [6, false, [8]]]]]`

Pending a proper fix for the oririginal issue.

This reverts commit 7e2628aeb2.

Closes #10083
2015-12-15 17:55:35 +01:00
David Monjoie fda5021e6b [FIX] mass_mailing: added missing models in form view
In 9.0, we created a simplified form view for mail templates, in
which the model_id field is retricted to show only the models for
which mass mailing makes sense. However, two of those models were
forgotten. There should have been some sort of override in their
respective modules, but considering the nature of the domain
attributes, there is no easy way to write such overrides, which is
probably why there wasn't any override to begin with. We decided
with tde and al to just add these models in mass_mailing, thus
breaking module abstraction, but avoiding a very complex override
mechanism for a rather simple case like this.
2015-12-15 15:20:27 +01:00
Goffin Simon cd5638ef46 [FIX] purchase: _default_picking_type
The function "_default_picking_type" must return a browse record.
2015-12-15 13:38:28 +01:00
Christophe Matthieu 16a3bc7f22 [FIX] web_editor: unbind summernote mousedown on detach/stop editor 2015-12-15 10:47:50 +01:00
Christophe Matthieu f3f7bd9f24 [FIX] web_editor: help the user to edit the link
User can't edit the first and last chars of a link (same issue for a lot of editors), and users don't want to click on edit link button in the editor bar.
When the user click (not if the user use arrow) on a link the link is activate with a content editable true and can edit the first and last chars.

opw: 654280
2015-12-15 10:47:50 +01:00
Yenthe 8e81abfeb5 [FIX] Scaffold according to new module structure
fixes #10074
2015-12-15 10:17:59 +01:00
Aaron Bohy 17896a92da [FIX] mail: various ui improvements/fixes
* chat windows:
  - input was kicked out of the window on chrome 43
  - don't animate if folded by default (e.g. after a refresh)
  - width and height 100% like in the frontend
  - z-index to make sure that they are over bootstrap active btn,
    but below notifications, and modals

* chatter:
  - internal note: send button renammed to 'Log'
  - send button is the first button again
  - remove annoying form view widget's tooltip

* client action: focus on composer on channel change
2015-12-15 10:01:21 +01:00
Aaron Bohy 1029571c35 [FIX] im_livechat: various fixes
- Don't display livechat button if no operator available
- Livechat windows persistence through website pages
- Auto popup feature re-introduced (inadvertently removed at rev. f23f57cc)
- Operators that are 'away' are available, as 'away' means that the focus isn't
  on the Odoo tab for at least 10 minutes, but the user is still connected.
- Avoid duplicated messages when the visitor is a connected user
- Unfold livechat window on first 'close' click as the event is intercepted to
  ask the user feedback before actually closing the window
2015-12-15 10:01:20 +01:00
Denis Ledoux 11911fe057 [FIX] portal: portal access management for partners having users
When the partner already had a user,
checking `in_portal` of this partner and applying
the wizard raised the fact there was already a duplicated
user for this email, even if there wasn't.

This is because the system relied on the fact
the field `user_id` of the `portal.wizard.user`
was automatically filled with the partner user if
there was one, but it was not the case:
This `user_id` field is a simple many2one field,
not computed, and the assignation was done nowhere
when the partner already had a user.

The assignation should be done in the `onchange_portal_id` method
of the `portal.wizard` model, like the other fields
`partner_id`, `email` and `in_portal`,
but if we do it know, as the `user_id` field is not
in the view (not even in `invisible`), the
web client will ignore it even if returned by
this `onchange_portal_id` method. It was therefore pointless
to solve this issue by adding the correct `user_id`
in the `user_ids` returned by this onchange method.

We could add `user_id` in invisible in the view,
but existing databases with the current view
will not benefit of the bug fix without updating the according view.

This revision therefore replaces `wizard.user_id` by
`wizard.partner_ids.user_ids[0]` everywhere where it's needed to
know if the partner already has a user or not.

Besides, it takes care about the fact his user could
be disabled (`active` False).

opw-659339
2015-12-14 18:43:56 +01:00
Thibault Delavallée 7a3ad6ba4c [FIX] rating: reuse ratings from the same customer
Otherwise Micheline ratings will be overridden by Raoul ones.
2015-12-14 17:10:49 +01:00
Thibault Delavallée 14008d055b [FIX] crm: default sales team computation
Delegate the whole default sales team computation to the _get_default_team_id
of sales team to ease the overriding and understanding. Otherwise part of the
behavior is implemented in crm, part in sales team, leading to a difficult
overriding.

Order

 - team the user is member of
 - team in context
 - Direct Sales
2015-12-14 17:09:35 +01:00
David Monjoie f6dd8994d6 [FIX] mail: fixed redirect to messaging url
I checked with aab, and action definition comes after # and not ?.
2015-12-14 14:51:27 +01:00
David Monjoie 9c43f79627 [FIX] web_planner: modal body height in IE11
Credits go to qsm for the fix.
2015-12-14 14:20:38 +01:00
Raphael Collet a3697483bd [FIX] base_action_rule: fix method _check according to _process 2015-12-14 11:43:12 +01:00
Olivier Dony dde3432fb2 [FIX] res.lang: do not leak load_language global
During database creation via the database manager,
or when using the startup option `--load-language`,
the selected language(s) will be installed as soon
as either:
 - the base module is installed/updated (because
base_data.xml includes a call to res.lang.install_lang()
 - the registry is loaded (after loading `base`,
the system installs the requested languages, even
if the server is not in update/install mode)

This is implemented by passing a global config
option `load_lang

This behavior was modified as of saas-7 by PR
for the command-line and for the database manager.

In both cases, we don't want the installation
to be repeated the next time either of these
event occur. Essentially the `load_language`
2015-12-14 10:24:59 +01:00
Olivier Dony e62b9e7c93 [FIX] registry: explicitly log registry loading errors
In case the caller happens to silently catch
the exception, leading to hard-to-diagnose
registry/routing problems.
2015-12-14 10:24:59 +01:00
Odoo Translation Bot 5254e31a46 [I18N] Update translation terms from Transifex 2015-12-13 01:27:04 +01:00
qdp-odoo 2a89c926ec [FIX] analytic, addentum to commit f6d6762dc7: added some domains to filter out archived analytic accounts 2015-12-11 21:48:41 +01:00
Fabien Pinckaers 4c1224f5ec [IMP] Some features of product form should not be technical features (e.g. archive) 2015-12-11 20:40:20 +01:00
Nicolas Martinelli d23a1be96e [FIX] purchase: follow group_propagation_option
The propagation of procurement group is not applied when a procurement
generates a PO.

opw-659331
2015-12-11 18:35:30 +01:00
Aaron Bohy 9585e630df [FIX] board: open kanban card from dashboard
The Kanban view has been refactored recently, and the communication mechanism
between the view and its cards changed. The cards now communicate with the
view by triggering_up custom events.

The code in dashboard overrides the function open_record of the Kanban view to
allowing opening a record by clicking on a card directly from the dashboard.
Unfortunately, this code hasn't been adapted after the Kanban refactoring.
2015-12-11 17:48:11 +01:00
Aaron Bohy e47d4c61d2 [FIX] mail: client action layout: scrollbar in the sidebar
There was a weird bug on chrome when there was a scrollbar in the sidebar, as
the right part of the client action overlapped that scrollbar. The problem was
seemingly linked to the use of flex, which is removed by this rev.

Courtesy of QSM
2015-12-11 17:48:11 +01:00
Nicolas Lempereur 426172bb95 [FIX] project_issue: don't reset partner on project change
If an issue project is changed, depending if the destination project has
a set partner ("Customer") or not:

- if set, the project issue partner will be set accordingly
- otherway the potentially set partner will be conserved

Since 3fe06da if the project had not partner, the partner was unset
which is undesired.
2015-12-11 16:37:38 +01:00
Thibault Delavallée 9ebbceeb65 [FIX] project, issue: stop spamming partners
Commit bb1200adc7 introduced the automatic
addition of cc as followers of tasks and issues. However it seems to
automatically create partners if the address it not recognized. This
does not seem a good idea.
2015-12-11 15:02:14 +01:00
qdp-odoo f6d6762dc7 [FIX] analytic: workaround to re-enable the feature to close an analytic account that has been unfortunately removed by mistake in commit 2a8c077.
It is using an already existing field that wasn't used anymore ('account_type') but as a lot of domains on analytic accounts were
 - wrong (still using old fields state and type that have been removed as well in the same commit),
 - or defined directly in the views
so, an update of some modules may be needed in order to avoid further problems.
2015-12-11 14:57:46 +01:00
qdp-odoo 6e24256e1c [FIX] account_voucher: company_id field of account.voucher has to be a related of the journal's company 2015-12-11 14:57:46 +01:00
qdp-odoo 7feaa205de [FIX] analytic: propagate the context of the related action when opening the analytic chart of account 2015-12-11 14:57:46 +01:00
Géry Debongnie 4e6caf19a2 [FIX] im_livechat: style chat windows in im_livechat
They are hidden in mobile mode, but we don't want to deactivate chat
windows in website livechat.
2015-12-11 14:04:59 +01:00
Géry Debongnie a53bd87585 [FIX] mail: various UI improvements to chat interface
- don't display user name in chat windows
- scroll to the new messages separator if it exists (in client action)
- increase sidebar width
- add correct link href in threads
- hide chat window in mobile mode
- mail: ignore o_mail_redirect or o_channel_redirect, but redirect anyway
2015-12-11 14:04:59 +01:00
Denis Ledoux 5cf29dcff2 [FIX] web, website: overrideable images controller
The `binay_image` and `content_disposition` are moved
from the web controller to the `ir.http` model,
to be able to override these methods.

This makes possible to browse the records images as sudo
when the record is published on the website.
e.g. to see the partner images on the website `/partners` page
from the `website_crm_partner_assign` module.

opw-659244
2015-12-11 13:58:49 +01:00
Nicolas Lempereur d81409a23f [FIX] mail: comparing apple and orange adding default_res_id 2015-12-11 13:33:36 +01:00
hip-odoo a859bc3a50 [FIX] anonymization: retrieve ids from correct version
Do not hardcode the version in the search but use the current version of the
server.

Closes #9987, opw 658811
2015-12-11 13:29:38 +01:00
Géry Debongnie 79ab4c4c60 [FIX] web: make sure web client uses view_id if provided
when there is a view_id parameter in the url, the web client should
honor that request, instead of using default view
2015-12-11 12:34:38 +01:00
Arthur Maniet 5339665806 [FIX] account: reconciliation widget's 'create writeoff' tax domain
Allow for both sale and purchase taxes since using a sale tax on a writeoff
makes sense in cash basis accounting.
2015-12-11 12:02:34 +01:00
Nicolas Martinelli 0ba93ef621 [FIX] mail: trim message and no empty message
Trim message as in Discuss and do not send empty messages
2015-12-11 10:33:27 +01:00
Nicolas Martinelli 149aa2ffc1 [FIX] im_livechat: close window
If the user clicks twice on the 'x', the chat window is closed
2015-12-11 10:33:27 +01:00
Paulius Sladkevičius df0c0c85f1 [FIX] mrp: model used instead recordset
The condition was never verified as prod_obj.type is a field.
Closes #9931
2015-12-11 10:30:51 +01:00
Thibault Delavallée 27fdcdf982 [FIX] mail: correctly compute recipients number
Otherwise all emails are scheduled in the queue.
2015-12-11 10:29:44 +01:00
Thibault Delavallée 135ad9e954 [FIX] mail: odoo link in notification email
Put the whole adresse, to avoid having it prefixed by a domain.
2015-12-11 10:29:40 +01:00
Jeremy Kersten 0f25a8ce1d [FIX] wesbite_sale: recompute taxes when fiscal position is updated
We force to recompute the taxes on all lines when we change the fiscal position.
That was already done in backend, with the onchange.
But @api.contrains allow to do it on each write on fiscal_position_id field.

@api.Depends will not work because it is not a computed field.
2015-12-11 10:09:52 +01:00