Commit Graph
127612 Commits
Author SHA1 Message Date
Nicolas Martinelli c0fa53e45c [FIX] crm: link in planner
The link to configure incoming emails is not correct anymore after the
Sales reorganization.

opw-813987
2018-02-21 15:49:14 +01:00
Yannick Tivisse 4d614f55c3 [FIX] l10n_be_hr_payroll: Use the warrant costs on gross computation
Purpose
=======

The warrant cost formulae has been modified at 5d22170.

Instead of using the (remaining) warrant costs formulae, use the corresponding field instead.
2018-02-21 15:14:26 +01:00
Christophe Matthieu 5fb21b4db4 [FIX] web: evaluation of xml templates must be retro compatible
Issue:
domain="[('date','=',time.strftime('%%Y-%%m-%%d'))]"
is converted into a domain equal [('date','=','%2017-%12-%12')]
instead of [('date','=','2017-12-12')]
2018-02-21 15:09:16 +01:00
Aaron Bohy 898cd0a5c1 [FIX] web: Calendar: display period in breadcrumbs
In Calendar views, the displayed period should be written in the
breadcrumbs (e.g. in month mode, '(February 2017)'). This has been
broken by rev. 7b6056a0b5.
2018-02-21 14:56:18 +01:00
Christophe Simonis 2bdc0cc7eb [MERGE] forward port branch 9.0 up to 2120e667b9 2018-02-21 14:36:35 +01:00
Olivier Dony af7860c94c [FIX] project: restore portal visibility
Odoo 11 comes with unified features for Project Tasks and Project
Issues. Specifically, issues were retro-fitted into tasks, and saw their
specific features added to the features of tasks.
During this refactoring, the portal controller for issues was superseded
by a unified portal controller for tasks, via
623ea43268

One case was lost in the process: portal visibility of
tasks/issues/things that are individually followed by customers, without
the customer following the project itself.
This is important for `transversal` projects, such as a "Helpdesk"
project common to all customers, where each customer only sees their own
issues.

This commit restores the feature, previously added to issues by
1cc8252a95

Note: this clearly requires a proper regression test, to be added soon.
2018-02-21 14:12:15 +01:00
jem-odoo 95f6743054 [FIX] sale_timesheet: improve new demo data
Some label or name for new demo data are not clean.
This commit imrpoves them by:
- rewritting clean descirption for timesheets
- set negative amount for expenses analytic lines
2018-02-21 14:04:00 +01:00
Nicolas Martinelli 1fa6b63c0f [FIX] stock_account: groupby
Set the groupby according to what is done in `_read_group_raw`.

opw-816358
2018-02-21 14:03:40 +01:00
Nicolas Lempereur e2280783a2 [FIX] mail: no view edit on forum link in notif
When sending notification from the frontend, if a template is rendered
for it and the user has the group "website.group_website_publisher" he
will get inherit_branding adding on elements things like:

  data-oe-id="42" data-oe-model="ir.ui.view" data-oe-field="arch"

but the chatter system has feature automatically redirecting an element
that have attribute "data-oe-id": this caused for example that a
link notification towards the forum would instead be redirecting to
editing the view of the notification.

This fix distinguish the inherit_branding in the chatter feature and
ignore them.

opw-813333
closes #23225
2018-02-21 13:39:25 +01:00
Thibault Delavallée 1feeff4deb [FIX] mail: fix display of unnecessary : in message about activity done
If the activity had no summary the messages has a : leading to nothing
which is not very nice. If there is no summary, only display the "done
by" message followed directly by the feedback.
2018-02-21 13:35:11 +01:00
Nicolas Martinelli 005614ef72 [FIX] stock_account: apply ir rules
- Enable multi-company: without sharing products and partners
- Create 2 companies (company1 and company2)
- Create 2 users one for each company
- Create inventory transaction (receipt) by user1 in company1
- Create inventory transaction (receipt) by user2 in company2
- Using user2 run inventory valuation report with 'At a specific date'
  option.

You got read access error for product.product.

This is due to commit 5c5098f740. We should apply the `ir.rules` to
the query.

opw-816663
2018-02-21 13:31:20 +01:00
Nicolas Martinelli 1460ed08c9 [FIX] mail: tracking of custom field
- Create a custom field
  Field Type: monetary
  Tracking: Always
- Install any module

A crash occurs in `_instanciate_attrs` since `attrs` is `None`.

In some special cases, the instanciation of the attrs of a field is
delayed at the very end of the setup. For example, in case of a Many2one
for which the comodel is not yet loaded.

Therefore the override of the method should take this case into account.

Closes #22922
opw-815185
2018-02-21 13:27:02 +01:00
Christophe Simonis eebc7b6e32 [MERGE] forward port branch 10.0 up to 1512618d3e 2018-02-21 12:42:46 +01:00
Christophe Matthieu 53bb0cee1f [FIX] hr_expense: add missing state field used in modifiers fields
The domain is add in the view from the python field description.

Issue:
In expense go in "to Approve" > "Expense Reports to Approve"
Create a new expense sheet by clicking create
Add an expense to the sheet
Click create in the bottom left

result: Uncaught Error: Unknown field state in domain
2018-02-21 12:29:28 +01:00
Romain Derie 2120e667b9 [FIX] website_sale: variants view, currency price and price diff
Before this commit:
1. When enabling 'List View of Variants' on a product page, it would not
   replace the variant normal view as it should since the code being replaced
   is included in the code replacing it.
2.The badge specifying the price difference between the variance and the
  product base price would be calculated by taking the price_extra of the
  variance attribute and converting it in the user currency which was not
  correct if a pricelist was set on the product variant because the price diff
  would then be (the variant price set on the pricelist) - (product base price)
  Note: this is about the 'List View of Variants' mode, not the normal mode
        which list variant attribute and not variant itself
3. The strikethrough amount was not in the user currency

Step to reproduce:
  - Enable variants & pricelists
  - Enable multi-currency and activate 'COP' as second currency (you may want
    to change the currency symbol on edit mode since it is also '$')
  - Go to iPad Retina Display product page in shop
  - Enable 'List View of Variants' in 'Customize'
  - Both Variants selection mode are visible (bug 1)
  - The third variant shows '+$ 50.40' which is the diff between the
    strikethrough prices (in fact the sum of the price_extra of the product
    variant attributes, +50,40 on the 32GO attribute in this case)
    It should show '+$ 40.32' since the price change from $600 to $640.32.
    This is bug n°2
  - Change Public Pricelist currency from USD to COP
  - Back on iPad page, change between the 3 product variants, you will see
    the $ price strikedthrough instead of the COP one:
    Strikedthrough: 750 (it should be 1 714 491,47)
    Price: 1 371 593,17
    This is bug 3
  - You can notice the bug n°2 being more visible since it shows
    '+$ 115 213,83' instead of '+ 92 171.07'
  - Remove the iPad Retina from Public Pricelist and add iPad Retina 32Go
    variant to it with a fix price of $1 000 000.
  - '32Gb, 2.4GHz, White' variant cost $1 000 000 but shows '+ 115 213.83'
    instead of '- 714 491.47' since the base price of Retina is
    '1 714 491.47'.
  - You can play with the pricelist price for this variant up and down, the
    diff price shown in the badge will always be 115 213.83 since it will
    always calculate it by summing all the variant's attribute price_extra
    and then converting it to the user currency.

This closes #14094, closes #22553
2018-02-21 12:18:56 +01:00
Jairo Llopis dd184b26ac [FIX] web_editor: Export classes and methods
Add various classes and methods to allow customization

Closes #23180
2018-02-21 11:50:57 +01:00
Christophe Simonis 1512618d3e [MERGE] forward port branch 9.0 up to e544ec8df7 2018-02-21 11:27:22 +01:00
Swapnesh Shah 17622fe25e [FIX] point_of_sale: Typo 2018-02-21 11:03:03 +01:00
Simon Lejeune 3c03376733 [FIX] stock: extra move, backorder and unit price
When creating an extra move, the price_unit field was not copied. It is
normal since the field is copy=False following rev[0].

But there was a side effect: let's say you order 1 product @ $10 and you
receive 5. The received quantity field on the purchase order line is
correctly set to 5 and the valuation inside the stock is correctly set
at $50, but on the picking there is one move line of 5 and a move a 4
and of 1, instead of one of 5. Note that in v10, the pack operation
would be split between the original move and the extra move, but in our
case the extra move is merged back in the original move, so we don't
need to split the move line. The split mechanism is there only when
working with moves without picking[1].

The issue here is that the moves are not merged because they do not have
the same price unit (5 and 0). We thus copy the unit price when creating
the extra move.

When creating a backorder, the price_unit field wasn't copied either.
It's not important when working with the classic flows (the link to
purchase_line_id is kept), but to be consistent we also copy it.

[0] https://github.com/odoo/odoo/commit/a4740861d3fdbecc8b1171b7d2072697e8a36258
[1] https://github.com/odoo/odoo/commit/561b3461a020021d911999cb41154f158b069a1d
2018-02-21 10:44:01 +01:00
Thibault Delavallée 446d4127d9 [FIX] mail: set view_id in mail/view only if we have one to specify
Currently if get_formview_id does not return a specific view id the
mail/view controller produces an url with view_id=False. Due to some
unknown reason it is not taken into account as False but as the
string False since some time. It generates a traceback and prevent
people from using the mail/view controller.

While finding why it seems to have changed we can avoid the issue by
setting the view_id only if set. It has no impact on the redirection
has the default for view is loaded as intended.
2018-02-21 10:24:43 +01:00
Florent de Labarre b55e844e1a [FIX] stock: check the state before put in pack
Makes consistent the Python logic and the view.

Closes #22534
opw-813477
2018-02-21 10:02:41 +01:00
Thibault Delavallée 5140e19092 [FIX] mail: correctly propagate parameters when re-calling message_post
A new notif_layout parameter has been introduced at 304e6cf90b. However it is
not correctly propagated to sub-calls when redirecting message_post
using context and sub-model.
2018-02-20 17:45:43 +01:00
Thibault Delavallée b4cf1a620c [FIX] mail: correctly give tracking values to notification template
Notification template has been converted into QWeb at commit 0f301bec25.
A variable renaming has not been correctly propagated, leading to
tracking values not being displayed in notification emails. This
commit fixes that.
2018-02-20 17:44:57 +01:00
Nicolas Martinelli e544ec8df7 [FIX] stock_account: method expect a record, not an id
Backport of 6cedc90f69
opw-817262
2018-02-20 17:07:24 +01:00
Martin Trigaux 6cfb775fff [FIX] payment_sips: use proper label
Why the abbreviation bro?
2018-02-20 16:56:13 +01:00
Martin Trigaux 59275673a4 [FIX] payment_stripe: correct typo 2018-02-20 16:42:02 +01:00
Martin Trigaux ed62588318 [FIX] web_editor: correct frenglish
Courtesy of e2f translators
2018-02-20 16:24:23 +01:00
Martin Trigaux a40044be4c [IMP] product: fix typo 2018-02-20 16:20:16 +01:00
Goffin Simon eb7602c4ea [FIX] sale: Confirmation date duplicated when duplicating SO
When duplicating a SO, the confirmation date is duplicated and the confirmation
date was older than the creation date.

opw:816866
2018-02-20 15:58:04 +01:00
Martin Trigaux 50ccc1e3dd [FIX] mail: know who added somebody to the channel
When X is adding Y in a discuss channel, the recieved notification was:
- if read in discuss: from Y, "joined the channel" (no information who added him)
- if read in email: from X, "joined the channel" (misleading, think X was the
  one joining the channel)

The problem comes from the author_id in the first case and the email_from in the
second, both containing a different value.

Also correct a bad api.multi parameter
2018-02-20 15:48:48 +01:00
Romain Derie b730de1978 [FIX] hr_expense: correctly set address_id for restricted user
New rights were applied on hr.employee with this commit https://github.com/odoo/odoo/commit/2d777d5ade94f4a80862608e2807660f289d9923

Since, users with limited rights would see a read error when submitting an
expense to manager.
Indeed, when clicking on "SUBMIT TO MANAGER", it opens the view form for
'hr.expense.sheet' that trigger an onchange on employee_id to set the
employee's private address to the expense.
Since restricted users can't read that field, the rpc call to that onchange
was throwing an error resulting in:
1. Showing an read error when entering form view that user could close to
   save anyway.
2. The hr.expense.sheet address would not be set as it should have

Now, we give sudo rights to read that field during the onchange

OPW-815786
2018-02-20 15:46:24 +01:00
Nicolas Martinelli 8876b8b3db [FIX] stock: validate picking in waiting state
When a picking is in 'Waiting Another Operation' state, there is no
possibility to force the validation. In v10, it was possible to force
the reservation, which is not possible anymore.

Therefore, we make the 'Validate' button accessible in the mentioned
state.

opw-817234
2018-02-20 15:44:18 +01:00
Martin Trigaux 05e18074cf [FIX] base_gengo: redirect to correct model
The configuration was moved to res.config

Fixes #23170
2018-02-20 15:44:01 +01:00
tbe-odoo 14081b848f [FIX] payment: Payment form not implemented on /website_payment/pay
The generic payment form introduced in 11.0 has changed the way we collect payment and so does the code.
The route /website_payment/pay hasn't been changed to support the new payment form.
This commit fixes this.

It also fixes a bug for when a customer tries to create two transactions with the same reference.
2018-02-20 15:36:56 +01:00
Nicolas Martinelli 8796211c36 [IMP] account: payment receipt translation
The payment receipt should be printed in the partner's lang.

opw-810450
2018-02-20 15:31:08 +01:00
Simon Lejeune 7ed86b53cd [FIX] stock: immediate transfer and unreserved move
Before the patch, validating a picking where one of its move do not
have any quantity done nor quantity reserved resulted in the complete
validation of the said move. This doesn't make sense and does not do
what the help in the wizard indicate (process only *reserved* quantities).

We also use this patch to clarify what the tests on this workflow is
doing (test_immediate_validate_*). We completely replace the 3 as it was
testing the `force_assign` mechanism, which methods are still present in
v11 but unused. Instead this test is now testing the failing flow this
commit is fixing.

We thus adapt the `process` method of the immediate transfer to only
process the move lines (move line = reservation). We also fix a case
where nothing is reserved and nothing is done. In this case, the
backorder wizard should not opens but instead an UserError telling the
user to either cancel or process something. The testcase for this flow
is test_immediate_validate_7.

With these changes, the test `test_04_create_picking_update_saleorderline`
was failing because one of the items in the so lines was a stockable
product without stock. So before this patch, everything was processed,
now there's a backorder wizard. We complete the patch and duplicate it
with enough products in stock, so that the backorder wizard is not
needed.

opw-815056
opw-808126
2018-02-20 14:42:44 +01:00
Thibault Delavallée e9734f4975 [MERGE][IMP] mail: add a new notification template and use it to notify people of assigned document
Purpose of this merge is
 * to introduce a new notification template much more up to date with
   modern convention about emails;
 * to introduce a new method allowing to push notifications to recipients
   that are not necessarily linked to a document. Those notifications
   can be either Inbox or email according to user existence and
   notification type choice;
 * to make assignation email use this notification mechanism instead of
   an hardcoded email;

Please see commits under this merge for more details about why, what and
how it was done. This merge is related to task 51517. #Closes #22670 .
2018-02-20 14:40:41 +01:00
Thibault Delavallée a6e1324873 [IMP] mail: make assignation email a notification
Current behavior when assigning someone as responsible of a document is
to send him an email if he works using emails. Technically it is done
when writing on user_id field and based on notification_type field value
of the user.

This commit changes that behavior to push a notification to the new
responsible. It uses the recently-introduced message_notify method
allowing to push notification to recipients without being linked to
a document. It means people working in Odoo receive a message in their
Inbox while people working by email receive an email.

Assignation message contains a link to the document meaning it is always
possible to go to the document. Notification email uses the new template
defined recently. It allow to have a notification email a bit classy.

This commit implies that more notifications are created. Indeed previously
to this commit no notification were created for partners without user
or for users working in Odoo. There is therefore a performance test whose
counter increases and a slight increase in query count when installing
all modules, about 1K queries on 581K.
2018-02-20 14:39:02 +01:00
Thibault Delavallée b6e621717e [IMP] mail: add method to notify recipients of content not related to a document
Mail API contains a message_post method allowing to post a message on a
document. In some cases we would like to push notifications to recipients
that are not necessarily linked to a document. For that purpose we
introduce message_notify. It is a shortcut that prepares the message and
speeds up the computation by pre-computing message values. This method
calls message_post and therefore the whole notification process. It
means no custom code for pushing inbox or email notifications is necessary.
2018-02-20 14:34:54 +01:00
Thibault Delavallée 8a026e26c6 [IMP] mail: update _notify API
Purpose of this commit is to allow to give additional values when rendering
notification emails and to make some parameters explicit.

This commit updates the _notify API. It allow to propagate a dictionary
containing values given to the rendering of the notification template.
This allow to have more complex templates and/or to control the rendering
depending on some parameters. Indeed currently only some fixed values and
values coming form the message to notify are given to the rendering
context.

First use will be soon when pushing notification emails not necessarily
linked to documents. In this process some values will be given by the caller
and not only by the message context anymore.

This commit also moves some context key used to control the notification
process directly in values given to the _notify method. It allows to make
those parameters explicit and rely less on context.

The _notify method now takes a values dictionary that may contain

 * add_sign: add user signature to notification email, default is True.
   It replaces the ``mail_notify_user_signature`` context key;
 * mail_auto_delete: auto delete send emails, default is True. It
   replaces the ``mail_auto_delete`` context key;
 * other values are given to the context used to render the notification
   template, allowing customization.

It allows to remove some context switch notably in the composer. A values
dictionary is computed and given to message_post and then propagated to
the notification mechanism.
2018-02-20 14:32:09 +01:00
Thibault Delavallée 2709ffe0e2 [IMP] mail: add new classy layout for email notifications
This commit adds a new QWeb layout mail_notification_light. It is a new
lighter template using more modern styling. Its purpose is to be used as
a basis for all future templates used in notification mechanism (chatter,
sale orders, ...). During some time all templates will exist separately.

Future commits will gradually improve or add various notification
mechanisms. This new template will gradually be used more often in order
to replace old ones.

Thanks to @est-odoo for its in-depth testing of the template.
2018-02-20 14:30:06 +01:00
Alexandre Kühn a0a6811ff9 [MERGE] mail,web: fix various bugs from recent JS mail refactoring
Revision on a recent JS refactoring: https://github.com/odoo/odoo/commit/02ec09cb1c3e2d7bc7968f40c18f2208d7f3f498

This merge contains several fixes from the above refactoring commit.

It also adds tests on discuss, as one of the purpose of the refactoring
was to test this widget.
2018-02-20 14:17:57 +01:00
Goffin Simon 980d786b09 [FIX] mrp_repair: cannot create a repair if not access to product.product
Steps to reproduce the bug:

- Connect as demo user
- Create a repair
- Add a product
- Save

Bug: An access error was raised because the demo user has no access rights
to write on product.product

opw:816645
2018-02-20 13:59:50 +01:00
dbh 2b17b7e83d [FIX] mail: fix several traceback from a recent refactoring
Revision on https://github.com/odoo/odoo/commit/02ec09cb1c3e2d7bc7968f40c18f2208d7f3f498

This commit fixes some leftovers from an intermediary state of the refactoring above.

The following tracebacks should be fixed:
    - unsubscribe from a private channel
    - replay
    - inviting a user
2018-02-20 13:33:02 +01:00
dbh 7e4a8c03f1 [FIX] mail: correct chat window dropdown unread counter + hidden state
Revision on recent JS refactoring: https://github.com/odoo/odoo/commit/02ec09cb1c3e2d7bc7968f40c18f2208d7f3f498

Intermediary changes have not been updated with final way of communicating
with JS services. In particular, widgets must now explicitly call the
service with this.call instead of relying on a mixin that hides the service call
(e.g. the chat_mixin that has been removed)
2018-02-20 13:33:01 +01:00
Alexandre Kühn f40abe400a [FIX] mail: check not broken @ mention in discuss
Rev. on this commit: https://github.com/odoo/odoo/commit/02ec09cb1c3e2d7bc7968f40c18f2208d7f3f498

A consequence of the above commit is that @ mention were broken:
the dropup menu with partner propositions was not displaying when
the user typed the first characters to mention a user (e.g. by typing
"[at]demo" in order to show the proposed mention "[at]Demo User" in a dropup
menu).

This commit fixes the issue by reverting the logic of how mentions are provided
by the chat_manager, while removing some dead code.

note: [at] = @
2018-02-20 13:32:57 +01:00
Alexandre Kühn 22f04b4023 [FIX] mail: tests: improved mock_server mocked initMessaging
Before this commit, if we wanted to add channels on rpc initMessaging,
we had to mock this rpc completely.

Now, with this commit, we can use data 'initMessaging', whose keys
can overwrite the default mocked initMessaging.
For instance, if this.data.initMessaging has the key 'channel_slots',
then the mocked initMessaging rpc will return a new state for the
existing channels to the chat_manager.

This is needed in order to reduce the size of tests than need some custom
initMessaging state, such as any test that needs at least one non-static
channel (i.e. neither channel_inbox nor channel_starred).
2018-02-20 13:31:23 +01:00
Vincent Schippefilt 275910e38c [FIX] tests : avoid phantomjs to crash because of window.getSelection
Before this commit, phantomjs was crashing when some code manipulates
window.getSelection (such as the composer input in discuss or in the chatter).

This commit lets us mock window.getSelection in tests that need this function
in order to work properly.

Another benefit of this commit is the possibility to simulate the state of
window.getSelection in our tests, which enables tests on the composer that
were not possible before (e.g. making sure that mentions and emojis are
correctly rendered in the input, after the user clicked on them in the dropup
menu or the bottom bar.
2018-02-20 13:31:22 +01:00
Alexandre Kühn 9f2ec57a7e [FIX] mail: tests: add basic rendering test for discuss
This commit adds a first test of discuss, which checks that the
essential DOM elements are present when we create a discuss widget.

In particular, there should be a sidebar that contains links to
channel_inbox and channel_starred.
2018-02-20 13:31:22 +01:00
Alexandre Kühn 2a09baf0ed [FIX] mail: tests: make createDiscuss function async
In order to test discuss, the service 'chat_manager' has to be ready.

We do not want to explicitly write discuss.call on any test with discuss,
so now the function createDiscuss returns a promise that is resolved with
the discuss widget when the chat_manager is ready.
2018-02-20 13:31:21 +01:00