Commit Graph
103218 Commits
Author SHA1 Message Date
Géry Debongnie 7922370f12 [FIX] mail: fix performance issue with large channels
When a user is subscribed to a channel with many messages,
the discuss initial rpc /mail/client_action can become very
slow (in production, the rpc took > 20s when subscribed to
the Community mailing list).  This is due to the query in
_get_message_unread, counting the number of unread messages.

This commit adds an index on the relation mail_channel_partner,
this allows postgres to perform only index lookups, and speeds
up the query by 2 order of magnitudes.
2016-04-27 17:00:20 +02:00
Nicolas Martinelli 7d25dd5618 [IMP] payment_adyen: support autogenerated HMAC SHA-256 key
From v4.1.0 of the documentation (2015-06-29), the HMAC SHA-1 key is
deprecated. Indeed, it should be considered as a legacy option to
guarantee compatibility with older skins.

The HMAC SHA-256 key should be used instead, and moreover, it seems that
any new skin created does not support SHA-1 at all, even if the option
is available.

The merchant signature code is inspired from the documentation example.

Source: https://docs.adyen.com/developers/hpp-manual

Fixes #9786
opw-676081
2016-04-27 11:29:51 +02:00
Stefan Rijnhart 0c2f7bdbc2 [FIX] tools: export translated fields not included in _columns
Non-stored new API computed fields are only defined in _fields
but not in _columns, and they were never exported within translation
files.

Closes #9081
2016-04-26 19:12:51 +02:00
Denis Ledoux 4606250d91 [FIX] account: amount currency in journal items list view
In 8.0, the amount currency field was displayed
in the journal items list view
when choosing, thanks to the `quick add` widget,
a journal with a currency set.
Otherwise, if the journal had no currency set,
the column was not displayed.

It was done thanks to the key
"currency" passed in the context.

From 9.0, the `quick add` is no longer used,
and, due to that, the amount currency field
was no longer displayed in the journal items
list  view at all, despite if the journal
had a currency set or not.

In technical words, `currency` was
no longer passed in the context,
making the invisibility property
set with
`invisible="not context.get('currency',False)"`
useless.

As this widget is no longer used, there
is no other choice than either
always display the column, either never.

We choose to display it only if you have
the multi-currency group (as this is the case
in the journal item form view)

We also take the opportunity to move the column
next to the debit & credit column, this is more
meaningful.

opw-676059
2016-04-26 15:57:27 +02:00
Christophe Simonis 7f9a973f51 [MERGE] forward port of branch saas-6 up to f811fff 2016-04-26 15:43:08 +02:00
Christophe Simonis f811fffbbe [MERGE] forward port of branch 8.0 up to 7e51d98 2016-04-26 15:15:22 +02:00
Goffin Simon 64e822c825 [FIX] account_asset: asset_create
When creating assets from invoice lines, the system must check
that assets have not already been created for the related invoice.
If assets already exist then these assets have to be removed.

Used case:

- In the purchase journal, tick "allow canceling entries"
- On a supplier invoice line, set an asset category
- validate the invoice
- cancel the invoice
- set to draft
- validate the invoice

Before the fix: the asset is created twice.
After the fix: the asset is created once.

opw:674674

Note: This is a cherry-pick of commits 9d14230 and 58a5b5e
2016-04-26 15:12:55 +02:00
Martin Trigaux 842a8e6952 [IMP] doc: add guidelines warning
To prevent huge chunk of modifications for styling reasons (e.g. mass PEP8
commits)
2016-04-26 14:58:31 +02:00
Martin Trigaux eae045949d [IMP] doc: simpler coding: utf-8
According to PEP-263, the -*- is just a variant "using formats recognized by
popular editors".
2016-04-26 14:58:31 +02:00
Christophe Simonis 7e51d98553 [FIX] calendar: correct search on mail.message and ir.attachment
Handle the case of immutable (tuple) domain leafs.
2016-04-26 14:55:41 +02:00
Nicolas Martinelli 2dfedb5b67 [FIX] purchase: delete unnecessary PO line
In v8.0, when a procurement is cancelled and the quantity remaining on
the PO line is zero, the line is deleted. It was not the case anymore
after the Purchase refactoring.

opw-675493
2016-04-26 14:09:41 +02:00
Goffin Simon 571d97e62e [FIX] res: Creating a partner with an invoice contact
When creating a partner with company_type='person' and with an invoice
adress, the created partner must stay a person.
Now a partner which is not a comany can have an invoice address.
Fixes #11730

opw:675322
2016-04-26 14:06:51 +02:00
Goffin Simon 3108a49ab2 [FIX] crm_claim: access rights for portal user
The portal user is not allowed to read the crm.team model.

opw:673480
2016-04-26 12:50:51 +02:00
David Monjoie 02fd74a3fa [FIX] website_form: prevent users from crazy clicking
If the feedback of a form is too slow, people might be tempted to
click a second time, trigerring a second request. If, after that,
the result has not been received yet, the user might be tempted
to click a lot of time because he is angry at such slowness. This
behavior would trigger a record creation each time the user clicked
the submit button. This fix disables the button once it has been
clicked once, and re-enable it if the record could not be created,
which means that there was an error in the input and the user needs
to change the values and try again.

The button has been changed to a span to avoid the default browser
behavior to post the form when no function is bound on the send button.
2016-04-26 12:07:30 +02:00
Goffin Simon 58a5b5e453 [FIX] account_asset: Typo error 2016-04-26 11:30:55 +02:00
Goffin Simon 9d14230d74 [FIX] account_asset: asset_create
When creating assets from invoice lines, the system must check
that assets have not already been created for the related invoice.
If assets already exist then these assets have to be removed.

Used case:

- In the purchase journal, tick "allow canceling entries"
- On a supplier invoice line, set an asset category
- validate the invoice
- cancel the invoice
- set to draft
- validate the invoice

Before the fix: the asset is created twice.
After the fix: the asset is created once.

opw:674674
2016-04-26 10:43:26 +02:00
Goffin Simon d812175390 [FIX] account_asset: asset_create
When creating assets from invoice lines, the system must check
that assets have not already been created for the related invoice.
If assets already exist then these assets have to be removed.

Used case:

- In the purchase journal, tick "allow canceling entries"
- On a supplier invoice line, set an asset category
- validate the invoice
- cancel the invoice
- set to draft
- validate the invoice

Before the fix: the asset is created twice.
After the fix: the asset is created once.

opw:674674
2016-04-26 10:39:27 +02:00
Nicolas Martinelli f5eae92f12 [FIX] website_sale: log if no pricelist
The pricelist field is not a mandatory field on the partner. A default
value is usually defined for any new partner created. However, if the
pricelist is manually removed from the partner, errors (tracebacks) will
occur in the eCommerce when no pricelist is found.

We cannot make the field mandatory, as it could potentially break the
workflow of some users which are not using eCommerce. Therefore, we
simply log an error message to help debugging.

opw-673453
2016-04-26 10:14:56 +02:00
Damien Bouvy a84342441d [FIX] hr_recruitment: no create on ir_attachment action
The "Resumes and Letters" action simply displays ir_attachments
linked to hr_applicant objects; but there is no default_res_model
in the context so no ir_attachment you create is actually
displayed in the kanban view.

Since the goal of this action is simply to display attachments
linked to applicants, it makes more sense to disable the create button
and to force people to upload resumes and cover letters through
the applicant record.
2016-04-26 09:54:27 +02:00
Damien Bouvy ccd7a15709 [FIX] base: fixes previous fix
In fix e248882, the previous elif statement prevented the
execution of the fix code. This fix fixes the fix.
2016-04-26 08:12:33 +02:00
Olivier Dony e1ed2c6ddc [FIX] mail: visibility rules for channel notifications
Avoid raising an access denied error for messages that
the user has indeed be notified about.

The issue arose when a message posted on a document inaccessible
to the user was notified to one of the channels the user
is subscribed to.

The access control logic on messages relies on 2 heuristics
to grant read access to a message:
 a. either the user was notified about the messages, by being
    a follower of the document, or a subscriber of a channel
    following the document (in that case the user can see the
    message but not the document)
 b. or the user has read access to the document on which the
    message is posted (in that case the user can see both
    the message and the document)

Case `a.` sometimes fail to match when a message got notified
to several channels including one the user was not subscribed
to. Depending on the order of the returned rows in the SQL
query, the "foreign" channels could shadow the channels of
the user, making `a.` a non-match.

If case `b.` did not match either, the user would have the
`read` access denied, even though the message was visible by
the `search()` method.

The fix explicitly makes case `a.` match if the user was
notified in *at least* one channel.
This was not done through a change of the SQL query ORDER,
for readability reasons.
2016-04-25 18:22:44 +02:00
Denis Ledoux dde1404cb9 [FIX] sale: Teams dashboard, sales to invoice count
From 9.0, a sales order to invoice is no longer a
sales order in the state `manual`, but with the
Invoice Status "to invoice".

Before this revision, the sales order to invoice
were simply not counted at all, and this
count always displayed 0.

opw-675919
2016-04-25 18:01:59 +02:00
Damien Bouvy e248882053 [FIX] base: fetch mimetype on ir.attachment for binary fields 2016-04-25 17:20:57 +02:00
Ludwik Trammer 61c808b774 [FIX] web: Allow for translation of a login error message
Closes #11815
2016-04-25 16:03:27 +02:00
Nicolas Martinelli e680f29560 [FIX] account, sale: modify invoice
When a user validates an invoice linked to a SO, he might want to modify
it afterwards thanks to the 'Modify' option in the refund wizard. This
will create a refund, reconcile and create a draft invoice.

The issue is that the draft invoice is not linked with the SO.

The fix is to link, in this specific case only, the draft invoice to the
SO. At the same time, we have to make sure to:
- unlink the first invoice (to prevent counting the quantity as invoiced
  in the SO)
- keep track of the first invoice/refund in the invoice list of the SO

opw-673446
2016-04-25 14:11:47 +02:00
Christophe Simonis ac7beb3d7b [FIX] test_new_api: adapt test to new x2many commands return by onchange 2016-04-25 13:08:03 +02:00
Christophe Simonis ac16454965 [MERGE] forward port of branch saas-6 up to ba34df1 2016-04-25 12:40:13 +02:00
Denis Ledoux dc1b8a5a51 [FIX] res_company: some information missed on company creation
On the `res.company` model, the fields
`name`, `phone`, `email`, `website`, `vat` are
related field on the `partner_id` of the company.

When creating a new company, the partner
associated to the company is created automatically,
it's handled in the overrided `create` method
of the model, but it forgots the values
`phone`, `email`, `website`, `vat` at the moment
the partner is being created.

opw-675526
2016-04-25 12:37:06 +02:00
Christophe Simonis ba34df1ead [MERGE] forward port of branch 8.0 up to 0410d11 2016-04-25 11:56:52 +02:00
Fahad Alqahtani fedfe85a58 [CLA] corporate signature for cloudland
Closes #11803
2016-04-25 11:40:53 +02:00
Aaron Bohy 47f27b8023 [FIX] web_kanban: column title hidden and config button
Use 'display: none' instead of 'visible: hidden' for the config button in
columns' header so that the columns' title can take full width if that button
is hidden.

Bonus: if the config dropdown is open, the button remains visible.
2016-04-25 11:28:00 +02:00
Adrien Dieudonne 68ba897ce9 [FIX] web_editor: fix svg issue
className should return a string but svg node returns an object
2016-04-25 10:34:18 +02:00
Nicolas Martinelli 9c5683dbfd [FIX] purchase: use purchase UoM
When a PO is created from a reordering rule, we should make sure to use
the purchase UoM of the product. Any PO line automatically created or
modified will be a PO line in the purchase UoM.

opw-673309
2016-04-25 08:46:24 +02:00
Nicolas Martinelli e6180e3543 [FIX] purchase: UoM for cancellation
When cancelling a procurement (e.g. from a SO), we need to make sure
that the quantity is in the UoM of the PO line.
2016-04-25 08:46:24 +02:00
Odoo Translation Bot 0410d1187b [I18N] Update translation terms from Transifex 2016-04-24 02:59:16 +02:00
Odoo Translation Bot c8cd67c5d9 [I18N] Update translation terms from Transifex 2016-04-24 00:30:00 +02:00
Nicolas Lempereur b06c3cb1f5 [FIX] account_extra_reports: None unattended
For the partner ledger report, since LEFT JOIN are used in the request
we could get NULL values which broke the following code.

note: issue reported on 7c6c188
2016-04-23 20:55:41 +02:00
qsm-odoo 23e3be006d [FIX] web_kanban: column title overflow when folded
Commit 3b19fa426b fixed a bug where the column title of kanban group
was overflowing its area when too long. However, when the column is
folded, the title is now really small (width of the folded column)
and then stopped to add the "..." ellipsis.

The solution is to let the text overflow when the column is folded.
2016-04-22 17:13:12 +02:00
Nicolas Lempereur 6de2091d4d [IMP] base_import: only feed utf-8 to csv reader
As noted in the csv module documentation*, up to python 2.7 it is best
to used UTF-8 as input (and worst to use UTF-16 csv).

closes #11792
opw-674756

* https://docs.python.org/2/library/csv.html
2016-04-22 16:36:48 +02:00
Raphael Collet 86d276b4bb [FIX] models: fix *2many multi-onchange bug
This fixes the case where the lines of a one2many field are modified several
times by onchange methods: instead of retrieving the most recent updates, we
merge them with former updates.

This solution was written as an improvement of a proposal made by Alexis
Delattre and Sébastien Beau as #11620.
2016-04-22 16:25:11 +02:00
Martin Trigaux fd7a7207ac [FIX] orm: do not save empty translation as 'false'
When writting a value on a translatable field in a different language than
English, the submitted *raw* value was saved in the database.

This could cause the following issues:
- empty value (provided as `False` by the web client) saved as the string
  'false' in the translations table
- no encoding or sanitization convertion
- ignore size parameter on the translatable field

Process the submitted translation through symbol_set method to clean it before
storing it blindly in the database.

This allows to convert `False` into `''` for empty value and fixes #10862
2016-04-22 16:14:19 +02:00
Tanguy Charlier d9f050f852 [FIX] mail: Avoid traceback on notification for some browsers
Before showing a chat notification, a check is performed to ensure that the browser does support
notifications. On browsers that do not support Notification (IE, android native,...), the check was wrong and
would eventually cause a traceback. This will no longer happen.
2016-04-22 15:30:11 +02:00
Adrien Peiffer (ACSONE) 600f884524 [FIX] account: Allow to select sale taxes in bank statement reconciliation process. Courtesy of adrienpeiffer. PR #11673 2016-04-22 15:25:10 +02:00
qdp-odoo bf33c4ea0c [FIX] account: bank statement reconciliation with taxes use case. The journal item for the bank should have the same amount as in the statement line except in case of already recorded payments only. Ticket 673358 2016-04-22 15:03:58 +02:00
Levent Karakas 7c584d3ebb [FIX] sale: untranslated label
attribute string is translatable on a search filter, not name (which is used as fallback label
Closes #10419
2016-04-22 13:49:12 +02:00
Tanguy Charlier 67c7d45ea8 [FIX] project_timesheet: Missing 'fields' argument in search_read
* It is always better to restrict the read to the fields that are actually needed
* In this particular case, since _get_task is called during the create() of an an analytic line with task_id set,
it would result in reading the analytic line being created, which will overwrite the cache for stored computed fields with wrong empty values.
Restricting the fields to read means that computed fields are not read and keep their appropriate values
2016-04-22 13:44:57 +02:00
Aaron Bohy d29ca90c75 [FIX] im_livechat,mail: address livechat sessions with their unique ID 2016-04-22 13:20:50 +02:00
Nicolas Lempereur 7c6c188031 [FIX] account_extra_report: operator precedence typo
opw-675734
2016-04-22 10:48:23 +02:00
Levent Karakas 9d445442ef [FIX] mail: mail template translation
Do not match with source
Closes #11789
2016-04-22 09:09:34 +02:00
Nicolas Martinelli 6f8030a6f7 [FIX] sale: keep all client ref
During batch invoicing, the client reference kept is only the reference
of the first invoice.

opw-673188
2016-04-22 08:36:12 +02:00