Commit Graph
111138 Commits
Author SHA1 Message Date
Thibault Delavallée b9a9922b62 [FIX] web: execute action with null active_id instead of undefined
Indeed pyeval that evaluates the context explicitly handles null value
differently from undefined values. Let us therefore avoid crashes when
it manipulates the context.

Example of crash

 * click on forecast in project kanban view without having already created
   forecasts;
 * click on 'Assign' to create a new forecast;
 * selecting a task crashes because of the domain on task field that is
   evaluated using pyeval with an undefined active_id in context that
   pyeval cannot handle;
2017-07-12 14:47:09 +02:00
Cedric Snauwaert 999dc80e7c [FIX] base_import: when parsing date field, strip extra spaces 2017-07-12 13:48:22 +02:00
Dharmraj Jhala 4330ea0267 [ADD] web, *: add rainbowification
This commit introduces the 'rainbowification' feature to the web client
(and to some affected addons).  This feature is essentially a way to
display a nice friendly message when some business event happens.  For
example, a encouraging message is displayed when the user clear her/his
inbox, or when a salesman closes a deal.

The mechanism currently only displays a 'rainbowman', but could be
extended later to add other kind of animation.

There are a few different ways to display a 'rainbowman':
- any JS code can simply trigger_up an event ('show_effect') with some
  options: for example
    this.trigger_up('show_effect', {
        type: 'rainbow_man',
        fadeout: 'no',
        message: $done,
        click_close: false,
    });
- an action returned by the server can have an 'effect' key, with some
  options
- the do_execute_action method accepts a 'effect' option.  This is
  useful when one wants to specify a rainbow on an action button in a
  form view

Joint work with: dbh <dbh@odoo.com>, ged <ged@odoo.com>
2017-07-12 13:43:08 +02:00
Géry Debongnie 9ee00dd265 [FIX] mail: prevent crash when chat system is not ready
When a chatter is created, appended, and destroyed before being ready,
bad things could happen.  This is because the code in start/other
deferred was executed regardless if the widget was still alive.  And,
some mechanisms, such as _getBus, depends on the event system.  If the
widget is destroyed, it will be remove from the component tree and such
functions will then return undefined.

To protect agains those issues, we simply make sure that the deferred
are only resolved when the widget is still alive.
2017-07-12 13:41:51 +02:00
Christophe Matthieu e6e17cc5d6 [FIX] product: Error message when adding an item to a quote
When a user tries to add a product on an opportunity, the date_order of the
order is added into the context. This value can be False.

When "_compute_price_rule" is called without "date" arguments
(some onchange, compute...) the method method use the context date (in this
case the value is False) or the today date.
The date value is used in an sql request and raise a value exception.

opw-751700
2017-07-12 13:39:29 +02:00
Goffin Simon 45e7389a1e [FIX] mrp, resource: Wrong default value for Time Efficiency
The time efficiency cannot be set to 0 otherwise it raised an error
when creating a workorder.

opw:751638, 752035
2017-07-12 13:32:51 +02:00
Nicolas Martinelli 058cc22d2c [FIX] website_form: send email with subject
- Use the form builder to send an email
- Customize the snippet to include the subject and the body
- Send a mail

=> The subject is not included in the email

This is because the subject is filtered out and considered as a
blacklisted field.

It happens because `mail.mail` inherits from `mail.message`. The field
property `website_form_blacklisted` is set to:
- `True` for `mail.mail`
- `False` for `mail.message`

Since we go through all inherited models, the property on `mail.mail` is
overriden by the property on `mail.message`.

It is actually not necessary to go through all inherited models, since
in the case of `inherits`, we copy the fields of the inherited model to
the target model. The check is simplified by only checking the fields of
the current model.

Based on work of @nla-odoo

opw-748926
2017-07-12 11:56:23 +02:00
Moisés López 566968bf99 [FIX] doc: use new URI wkhtmltopdf releases
The old release of wkhtmltopdf are no longer published on the download page.
The developer explicitely asks to use the github link

cf: wkhtmltopdf/wkhtmltopdf#3524
    wkhtmltopdf/wkhtmltopdf#3521
    wkhtmltopdf/wkhtmltopdf#3518
    wkhtmltopdf/wkhtmltopdf#3508

Closes #18146
2017-07-12 10:13:32 +02:00
Sylvain LE GAL 4001aaf2c4 [FIX] l10n_fr_certification : fix string_to_hash computation
- use datas of all lines, and not only the last lines.
- removed useless 'move_id' field from account.move.line

Was PR #18175. Courtesy of Sylvain Legal
2017-07-12 09:58:34 +02:00
Thibault Delavallée 578edf73b9 [FIX] point_of_sale, website_sale: correctly handle tuple return value of render_qweb_pdf
Fix related to e80238042c .
2017-07-12 09:54:00 +02:00
Thibault Delavallée 9fb86d6fac [FIX] mail: do not put context as feedback when marking an activity as done 2017-07-12 09:54:00 +02:00
Darshan Kalola cfbbc236ae [FIX] auth_signup: access right issues
When another user than administrator opens the mail sending wizard there
is an access right issue. Indeed as sale mail links now contain auth_signup
parameter an access to allow_uninvited config parameter is done. However
this has to be done using sudo because classic users have no access to
config parameters. Fix related to e79eb01a67 .
2017-07-12 09:54:00 +02:00
Thibault Delavallée 1b12e6bbd6 [FIX] website_quote: fix template variable name
JS waits for callUrl, not url. Fix related to 6e3392b341 .
2017-07-12 09:54:00 +02:00
Thibault Delavallée 69793fac0e [FIX] payment: remove duplicate website_published button on acquirer form view
Fix related to cbca7e1313 .
2017-07-12 09:54:00 +02:00
Christophe Matthieu a6f2dc07e5 [FIX] sale: traceback when choosing a product with warning as order.line
If a user chooses a product that has a blocking error message, the product
is set to False. This is good, but we do not want the following to happen:

The other onchange triggers are called and "product_uom_change"
generates an error because there is no product. (In fact it is
"_compute_price_rule" on "product.pricelist" who raise)
The onchange update the values of the other fields related to the
product (eg for the "name" field where the name of the product that
is canceled by the warning is assigned).
2017-07-12 09:50:45 +02:00
qdp-odoo a0868987e9 [REM] l10n_fr_certification: result of the recent volte-face made by the french government.
This module does not seem needed anymore currently for accounting. We will probably reuse part of it for the incomming POS-certification module, though.
2017-07-12 09:50:26 +02:00
Adrian Torres ed2a77e50e [FIX] web: Fix FieldRadio's o_horizontal/vertical (#18163) 2017-07-12 09:45:46 +02:00
Goffin Simon f5753886b2 [FIX] point_of_sale: Printing Sales Details without logo or layout
Fine tuning of this commit 848e95a34c

opw:751697
2017-07-12 09:45:21 +02:00
Goffin Simon 848e95a34c [FIX] point_of_sale: Printing Sales Details without logo or layout
When printing a report, if the company logo or report layout
is not set, it will return an action (ir.actions.act_window)
to set the layout or the logo.
But this change of actions does not forward the data parameters
to print the price list. So it raised an error.

PS: the problem comes from function "set_report_template" which doesn't
take the data parameters into account when it is called from "res.company.report.form".

opw:751697
2017-07-12 09:39:28 +02:00
Martin Trigaux ce11312dba [FIX] doc: remove nonexistant reference
business removed at 411f8208
2017-07-12 09:37:49 +02:00
Martin Geubelle 8881e61ec8 [FIX] mail: make many2many_tags_email widget work
This widget hasn't been rewritten with the new views.

The purpose of this widget is to open a popup for each invalid partners
(without email) in a many2many to fill the email. If the email is not set, the
partner will not appear in the tags and its id will not be sent (which should
not be the role of a widget but that's the way it is).
2017-07-11 17:22:43 +02:00
Jérome Maes 83e3254519 [FIX] sale_timesheet: reactive tests
Disabled by mistake. I'm a looser sometimes ...
2017-07-11 17:16:00 +02:00
Dhawal Limbuwala 8837735f3c [FIX] stock: Avoid compute method for newID records 2017-07-11 17:10:57 +02:00
Yannick Tivisse 83c01a461c [IMP] resource: Ensure time_efficiency to be strictly positive 2017-07-11 17:01:34 +02:00
Christophe Simonis e90cd4aa73 [MERGE] forward port branch saas-16 up to 1581d31b3e 2017-07-11 16:28:36 +02:00
Mehul Patel 50b3b3c8d1 [FIX] web,odoo: Remove remaining workflow related code 2017-07-11 16:27:15 +02:00
Christophe Simonis 1581d31b3e [MERGE] forward port branch saas-15 up to 0f2a06e29b 2017-07-11 16:06:17 +02:00
Thibault Delavallée ba76985196 [IMP][FIX] hr_contract: merge both state update cron into onee and fix the method
Purpose

 * lessen number of crons in Odoo
 * fix the method that seems buggy, probably to backport
2017-07-11 15:59:10 +02:00
Akash Bhavsar bf9cbcc8d8 [IMP] pos_sale: Add analysis report about total sales from pos, eCommerce and sale
Purpose
=======

Create one report where we can see all sales (sales from sales, eCommerce, POS) grouped by channels

Specification
=============

New Report Sales > Reports , the name should be "All Channels Sales Orders"
This report contains the following fields :

   name
   date
   product_id
   partner_id
   company_id
   user_id
   price_total
   pricelist_id
   categ_id = product_categ_id
   invoiced = amount to invoice
   analytic_account_id
   team_name
   country_id

We thought about doing a kind of sale_order_common report, but we cannot re-use sale.report because of some field (qty_delivered, ...) that we cannot compute on pos orders.
2017-07-11 15:31:04 +02:00
Christophe Simonis 0f2a06e29b [MERGE] forward port branch saas-14 up to 2fd28b2298 2017-07-11 15:08:36 +02:00
Géry Debongnie 3d16453865 [FIX] web: only send fields present in view in onchange
Before this commit, all x2many fields values were sent to the server in the
onchange call. If a x2many field was not present in the view, then it
was sent as an empty list [], which is totally wrong.
2017-07-11 14:40:34 +02:00
Géry Debongnie 50dd6bcd47 [FIX] web: increase timer for js tests
A few builds fail when run in 'primetime', because the js test suite
takes more than 120 seconds (on the slow runbots). With this commit, we
increase our timer to 180s to make sure that this does not happen again.
2017-07-11 14:40:31 +02:00
Yannick Tivisse c9b74a047c Revert "[IMP] account/stock_account: Add a clickable history on journal entries chatters"
This reverts commit 92929ec6a7.

This chatter significantly reduces the perfomances.
2017-07-11 14:27:37 +02:00
Thibault Delavallée 3afb78371f [IMP] portal: use a less "big underlined headers everywhere" display
Main page of the customer portal now contains simply a list of document
models the user can access, under a 'Your Documents' section. It is
a bit easier to read and a bit less ugly than a list of underlined
headers.
2017-07-11 11:28:18 +02:00
Thibault Delavallée efbb4dd903 [IMP] portal: lessen margins around breadcrumb to lessen unused space 2017-07-11 11:28:18 +02:00
Thibault Delavallée 383f3b8b70 [IMP] portal: rename o_website_portal class to o_portal to simplify a bit various class names
Indeed when adding suffixes for sub-classes this makes class names quite
long.
2017-07-11 11:28:18 +02:00
Thibault Delavallée 54ec442780 [FIX] website_project(_issue): correct class name for status table
Class status_table is actually o_my_status_table. Not really wonderful
but at least it matches what is already used in other portal modules.
2017-07-11 11:28:18 +02:00
Christophe Simonis 2fd28b2298 [MERGE] forward port branch 10.0 up to 0ac49ee1e4 2017-07-11 11:05:19 +02:00
Christophe Simonis 0ac49ee1e4 [MERGE] forward port branch saas-11 up to d52f0a29b4 2017-07-11 10:45:36 +02:00
Géry Debongnie bd4e026786 [FIX] purchase: fix another invalid option in xml
There was an extra ', which makes the options dictionary totally
invalid.  Because of this, it is impossible to open the 'Purchase'
application (it causes a traceback)
2017-07-11 10:44:58 +02:00
Christophe Simonis d52f0a29b4 [MERGE] forward port branch 9.0 up to 479facb783 2017-07-11 10:34:07 +02:00
Géry Debongnie f39dee3e59 [FIX] purchase: fix invalid options in xml
There was an extra ', which makes the options dictionary totally
invalid.  Because of this, it is impossible to open the 'Purchase'
application (it causes a traceback)
2017-07-11 09:24:11 +02:00
Raphael Collet e25bcf41e2 [REF] models: group recomputation triggers to minimize the number of requests
When several fields are modified and trigger the same recomputations, the same
SQL queries were made to determine the records to recompute, because each field
was processed independently.  In order to avoid duplicated SQL queries, process
the triggers of the modified fields altogether.

This reduces the number of queries by 15% to 25%, depending on the number of
computed fields.
2017-07-10 16:18:33 +02:00
Raphael Collet c47a41b8b4 [IMP] mail: avoid useless query
Replace `model.search([('id', 'in', ids)])` by `model.browse(ids)`, which is
safe because `ids` come from reading a many2one field.  The performance impact
is negligible.
2017-07-10 16:18:33 +02:00
Wolfgang Taferner 170db9e03d purchase: order field must be changed only in invoice draft state 2017-07-10 15:57:47 +02:00
Goffin Simon e43b54cf3c [FIX] sale: Wrong taxes amount printed in SO
Steps to reproduce the bug:

-Create a tax group TX with two taxes: 15% and 5%
-Create a SO with one line and set TX on it
-Print the SO

Bug:

Only the first tax of TX was taking into account

opw:748923
2017-07-10 15:14:35 +02:00
Christophe Simonis 479facb783 [MERGE] forward port branch saas-6 up to e26d85e836 2017-07-10 15:07:43 +02:00
Raphael Collet 8b5257b1e5 [IMP] base: optimize method _add_manual_fields by making less queries 2017-07-10 15:03:04 +02:00
Raphael Collet 439fa82676 [IMP] models: improve code of read()
Remove the `ORDER BY` clause from the query.  The values fetched from the
database are stored in the records' cache, and their ordering is irrelevant.
2017-07-10 15:02:44 +02:00
Raphael Collet ffd93a9937 [REF] models: do vacuum of transient models by cron only 2017-07-10 15:02:44 +02:00