Commit Graph
117156 Commits
Author SHA1 Message Date
Nicolas Lempereur 131cd6c7e0 [FIX] website_sale: update zoomed image on variant
When we select a variant on a product page on the eCommerce, this can
change the product image.

With this commit the change is also reverberated to the picture
displayed by the zooming feature.

opw-708089
2017-02-15 10:06:15 +01:00
Nicolas Martinelli 76e0cb3e95 [FIX] mail: do not update count if message in no channel
When a message is not part of any channel, the message counter is
incremented while the message won't appear in any channel. This leads to
an inconsistency between the number of messages displayed in the status
bar and the actual messages in Discuss.

opw-706884
2017-02-15 09:29:14 +01:00
Pratima Gupta c1c519a056 [FIX] mrp: attrs lot_id required in produce wizard
Commit b2cf955e made the lot_id always required in the
produce wizard of the manufacturing order (without work orders).

It should only be required when the finished product is tracked by lot.
2017-02-14 17:12:16 +01:00
Miku Laitinen 6d9bf4e5f2 [FIX] sale: display discount field
On the customer invoice lines if sale module is installed.
4977bced replaced 4 groups in account and only 3 xpath in sale.

Closes #15493
2017-02-14 16:42:13 +01:00
qsm-odoo 073bfc5b5b [IMP] web_editor: use select2 in HTML/CSS editor
The select DOM element which allows to select the template or
the LESS file to edit has been replaced by a select2 element
to improve usability.

- Add search bar
- Allow to add "customized", "unsaved changes" and level indentation
  a better way (styled and icons)
- Add debug info (full less url / xml_id) only in debug, in small
2017-02-14 16:37:48 +01:00
qsm-odoo 198673bf35 [ADD] web_editor, website, web: new LESS editor
The old "HTML" editor now handles LESS edition. The editor has now a
button to switch between XML and LESS edition. By default, it only
displays the odoo files which only appear in the assets_frontend bundle
and in debug mode, it allows to see all the files that influenced the
page design.

The new editor has a new set of options which allows to use it as a
xml editor only or a less editor only if needed.

Also: make the "include bundles" option appear only in debug mode.

Technical details:

- When saving a modified LESS file, an attachment is created with the
full modified content and an extension view xpaths the bundle where
the original file was added to link this attachment instead. This
relies on the fact that qweb, when generating assets bundle,
replaces missing files by the "datas" contents of the ir.attachment's
which have an "url" field equal to the urls it is searching.

- If a LESS error is introduced, the recent changes in assets bundle
generation (see c248674a5c) will not break
the design but only open a dialog on page loading, with the LESS error.
The user can then go to the LESS editor and reset its changes.

This feature code has been started with original work of @pga-odoo
2017-02-14 16:37:23 +01:00
qsm-odoo 7751c1bfb9 [REF] web_editor, website: split customize_template_get
Commit a2ae219d4e fixed the customize_template_get
function(s) which had been modified for the 10.0 web_studio release.
While the fix also reorganized the structure to make it more efficient
and understandable, it promised that the function would be refactored
in master. This is what this commit does.

The customize_template_get route of the website module was also removed
with commit 5a030db3eb as it was an useless
duplicate of the web_editor customize_template_get route.

The old route handled two totally different features of odoo: getting
all the page-related views to allow their edition with the HTML editor
and getting the "toggable views" which appear in the "Customize"
website menu. The parameter "full" allowed to determine which one the
route was supposed to do and was useless until website was installed to
add its feature (by extending the route behavior). In both cases, views
informations are returned, only the number of views differs. The
above-mentionned fix already did part of the refactoring by returning
the same info structure for each view in both cases.

Now, the function has been split. The web_editor customize_template_get
route is renamed as get_assets_editor_resources and returns the info the
HTML editor needs to work (the "assets" term is in prevision of the
new LESS editor).
A new website route "get_switchable_related_views" has been created to
return the info the "Customize" website menu needs.
Both use the renamed ir.ui.view function "get_related_views" (old
ir.ui.view customize_template_get function) which now returns a
recordset and not a list of dictionnaries.
2017-02-14 16:32:15 +01:00
qsm-odoo ab78680d58 [IMP] web, web_editor, website: small refactoring of LESS files
This commit comments some LESS files to help the user to understand
for what their content is used (preparing the LESS editor feature).
2017-02-14 16:32:06 +01:00
qsm-odoo 8924abc0f1 [IMP] web, web_editor, website: add meaningful bundle names
As the user will be able to customize the bundles thanks to the LESS
editor, this commit give them meaningful names.
2017-02-14 16:31:51 +01:00
qsm-odoo ba72397fee [FIX] base: decode utf-8 for bundle ir.attachment files
If a bundle contains a file whose URL does not match any file in the
filesystem, its content is searched in the ir.attachment records.
The problem was that the content was base64-decoded but also had to
be utf-8 decoded to make its use work (like it would have been done
if the file was found in the filesystem).
2017-02-14 16:31:36 +01:00
qsm-odoo c248674a5c [IMP] base: handle LESS compilation error a better way
Before this commit, when a LESS bundle compilation failed, web pages
were displayed without any style and the error appeared in the DOM
thanks to a custom ::before style which was ugly and not selectable.

Now the error is displayed like any other error in Odoo: in a dialog
with selectable content. The pages are also displayed with the last
style which was successfuly compiled.
If odoo dialog are not defined (a page without any javascript), a
fallback has been implemented to show the LESS error with a JS alert.
2017-02-14 16:29:27 +01:00
Luis Torres cdfc8cf6f3 [FIX] l10n_mx: Add fiscal position template_id and encoding for xml
data file
2017-02-14 16:25:56 +01:00
qsm-odoo 9a1ea6dc08 [FIX] web_editor: link dialog (init & classes)
Commit 3c9e6c89e7 made big changes
to the link dialog.

This commit fixes two bugs it introduced:
* The color class preview was not properly set when opening a dialog
  (so changing nothing and saving would change the result)
* New btn color classes were wrongly initialized. It did not use less
  generation and made the button text always white. This could
  introduce bugs when using different colors in themes.

Note: this code is already being refactored anyway.
2017-02-14 16:25:56 +01:00
Adrien Dieudonne d506199988 [FIX] web: set max width for image field in form view
Before this commit, wide images were larger than the form view.
2017-02-14 16:02:57 +01:00
fwi-odoo c93be09f2e [FIX] web: caret misplaced
Due to the library algorithm to place the datetimepicker,
the div containing the input was no longer relative so the caret was misplaced.
Put back the position relative and place the datetimepicker relative to the input.
2017-02-14 15:10:01 +01:00
Aaron Bohy 0e6eb9687f [FIX] web_kanban: load grouped field if not in view
In the kanban view, if we try to group by a field that is not
defined in the arch, some features (like 'Add a new Column')
are not available because the case is not correctly handled.

To fix it, a RPC is done to load all fields in this case.
2017-02-14 15:07:10 +01:00
fwi-odoo 7015ec5062 [IMP] web: update fontawesome 4.5.0 to 4.7.0 2017-02-14 14:14:42 +01:00
qsm-odoo 9049d953ca [FIX] website: restore company edition option
Commit d1a8d54aca broke the feature without mercy.

The mentioned commit introduces a nice improvement to allow the edition
of the company logo directly from frontend. However it also breaks the
option for non-logo parts (example: clicking on the address on the
contact us page). It also leaves most of the option code behind, which
makes useless code being executed for nothing.

This commit restores the company option the way it was and simply
deactivates it for the logo edition, which was the desired behavior.
2017-02-14 12:33:53 +01:00
Nicolas Martinelli 7a03f9ce93 [FIX] web, sale, account: company logo
The notification mail template of a SO and an Invoice displays the logo
of the company. However, the logo is always the logo of the superuser's
company.

When accessing the logo from an email client, the UID is not defined.
Therefore, we fall back on the superuser, and display the logo of his
company.

We add the support of a `company` key in the kwargs, so we can force the
company from which we retrieve the logo. Note that this key was used
elsewhere, such as:

addons/web/static/src/js/web_client.js

opw-705420
2017-02-14 12:14:23 +01:00
Martin Trigaux e8f1c5dbc6 [FIX] account: untranslated popup
The content of the popup message was not translated.
opw-708345
2017-02-14 11:46:52 +01:00
Ravi Gohil 22ac4deb94 [FIX] account: crash if no default journal be set on invoice creation from PO
When creating an invoice from Purchase Order(stat button) if you do not have a journal of type 'Purchase' defined for current user's company, it will crash.
2017-02-14 10:59:54 +01:00
Cédric Snauwaert fe40560c31 [FIX] account: fix bank statement reconciliation writeoff creation
Use case:
Company is in USD, create a bank journal in euro and set euro currency to 0.9
Create invoice for 80 EUR and pay it. Then create a bank statement of 85 EUR in newly created journal and use reconciliation widget to reconcile statement and payment. Put the remaining 5 EUR as writeoff in bank fees. The move created for those 5 EUR wrongly computed the amount_currency of the counterpart, this commit fix this problem.

OPW: 706708

PR #15306
2017-02-14 10:12:15 +01:00
Denis Vermylen f212afc115 [FIX] pos_sale: make dashboard work in all languages
The POS Sales Channel performs a read_group, then transforms the date
strings to datetimes, which failed when the language wasn't English.

Also fixes the formatting issue where week numbers weren't the same
between read_group and datetime by using en_GB as default lang.
(which is closer to ISO-8601 dates standards than en_US)
2017-02-13 17:09:54 +01:00
Thibault Delavallée cf1df16aea [IMP] payment_*, website_quote: change callback_eval string to parameters
callback_eval is currently a code string that is evaluated directly
at payment confirmation. This commit changes it to have parameters
on the record and method to call on it. Moreover a hash done once at
transaction creation ensure that a modified transaction does not allow
to execute code on other records.
2017-02-13 16:58:47 +01:00
Mehul Patel 5d2079b19e [FIX] sale: Set a default pricelist setting if multi_sales_price enabled
Purpose:
--------

In settings, When we enable pricelist then it should enable first option by default.
2017-02-13 16:17:12 +01:00
amoyaux 2ac3d7b570 [FIX] sale, website_sale: enterprise symbol in settings
In the sale settings view, the field company research hasn't
the enterprise symbol though the related module is in enterprise.
It's the same problem for the Company Research option in the website
admin settings.

Both field declaration use a string attribute in the label tag.
but it is needed to use a "for" attribute. The Upgrade widgets only
put the "enterprise" span after the enterprise label, wich is found
by looking on node having a for attribute with "module_ " and its value.

This commit use an attribute "for" instead of the attribute "string"
in the label declaration.
2017-02-13 15:45:01 +01:00
Denis Vermylen fc80be928a [FIX] sale: add open invoices for dashboard graphs 2017-02-13 15:35:38 +01:00
Denis Ledoux 41ffb5032b [FIX] mail, sale, account: company used in notification emails
The `user` variable in the mail templates is the `self.env.user`,
https://github.com/odoo/odoo/blob/10.0/addons/mail/models/mail_template.py#L370

which will always be the administrator in the use case
of a notification email
https://github.com/odoo/odoo/blob/10.0/addons/mail/models/res_partner.py#L151-L156

Using `user.company_id` to determine the company of the sales order
or the invoice is therefore wrong, as it will always be the administrator
company, which can be different than the order/invoice company.

opw-706267
2017-02-13 15:18:23 +01:00
qsm-odoo 134db4ce99 [FIX] web: change selected field value on chain shortening
Before this commit, when opening a field chain with a field selector
and only removing parts of it, the field selector internal "chain"
value was properly updated but not its "selectedField" value.
2017-02-13 14:55:18 +01:00
amoyaux 42e6e8c312 [FIX] website_sale: website admin spelling mistake
The mistake was Abandonned Orders instead of Abandoned Orders.

This mistake has been corrected in master with commit 2e40f53279

This commit create an english translation file for stable version 10.0
2017-02-13 14:40:40 +01:00
amoyaux d37b7b5780 [FIX] product_margin: "group by" in product margins report
Trying to use "group by" in the product margins menu creates a traceback with a keyError.

The problem is that the function stores a recordset in the dictionary and then tries to
get it back with an integer.

This commit solves the problem by storing the product id in the dictionary instead of
the product itself.
2017-02-13 14:37:04 +01:00
Nicolas Martinelli 4a33db44b2 [FIX] account: crash if no currency in payment
- Register a payment on an invoice
- Do not set a journal, and do not set a currency
- Change the amount

It crashes.

opw-706807
2017-02-13 14:32:08 +01:00
Kinjal Mehta 9363b63a5c [IMP] sale, report: small fixes in sale onboarding 2017-02-13 14:25:42 +01:00
Nicolas Martinelli 3b42773e83 [FIX] product: crash on product search
- Go to Sales > Product Variants
- In the search field, type a letter (e.g. 'p'), then select a
  corresponding pricelist ('Public Pricelist' in demo data)

=> Crash

This is because `name_search` returns a list of tuple, not a browse
record.

Fixes #15443
2017-02-13 13:22:02 +01:00
Nicolas Lempereur 83b6b71e29 [FIX] gamification: user_domain issue with not all
The field user_domain allow to get the list of users for which a
challenge is applied. The javascript framework for a char_domain widget
sends a JSON list to the server, but the server saved it as a string in
a Char field.

Hence we can have a list (in values received by write or create) or a
string (when getting the field value of a record).

Since 0c649644db this caused an error when user_domain was not empty.

This commit solves it by having _get_challenger_users always receiving a
string.

opw-708177
2017-02-13 12:34:58 +01:00
Martin Trigaux 7c8a721a96 [FIX] point_of_sale: change the model description
a pos.order is not a point of sale, it is an order
2017-02-13 10:58:00 +01:00
Pedro M. Baeza defbe247e8 [FIX] product: method open_product_template duplicated
Introduced in 3befe66f43
Closes #15463
2017-02-13 10:39:22 +01:00
Nicolas Martinelli b5b4979dd1 [FIX] mrp: cancel raw materials procurements
To reproduce:
- Create a product A with the routes Manufacturing & Make to Order
- Create a product B with the routes Make to Order & a custom one "Move
  from Shelf 1" (see screenshot for the configuration detail)
- Create a BoM for product A which contains the component product B
- Sell product A in a SO and confirm it
- It creates a delivery order for product A, a manufacturing order for
  Product A & B and an internal transfer for product B
- The move for product B from WH/Stock/Shelf 1 to WH/Stock is indeed
  linked to the move for product B from WH/Stock to Virtual Location/Production
- Cancel the sales order
- All stock moves are cancelled, except the one related to the internal
  transfer (WH/Stock/Shelf 1 to WH/Stock)

When the manufacturing order is canceled, raw material as well as
finished moves are canceled. All procurements with finished moves as
"Destination Move" are canceled as well. However, in this use case, a
procurement has been created for a raw material.

The solution is to cancel procurements for raw materials as well, so it
cancels the internal transfer.

opw-706100
2017-02-13 09:01:10 +01:00
Nicolas Martinelli 2a08cbb8c6 [FIX] mass_mailing: Kanban crash on mobile view
In mobile view, the mass mailing kanban view crashes.

Commit eee1d8c159 aims to prevent drag and drop for mass mailing.
However, in mobile view, the the drag and dropd is by default
deactivated, and "sortable" is not initialized.

opw-708140
2017-02-13 08:53:36 +01:00
Nicolas Martinelli 7b74046200 [FIX] mail: action button translation
- Install a language other than English, set it to your user.
- On any model, send a message  (the recipient should be a user, not a
  simple portal user).
- The recipient receives a notification with a primary button half
  translated, for example "Vue Task".

When the call is performed to method `message_post`, the sessioon
context is not added to the RPC request. Therefore, when the model name
is read (method `_message_notification_recipients`), it is done in the
default language.

Note that this is the case for any RPC request using the `call` JS
function.

opw-707678
2017-02-13 08:45:27 +01:00
Odoo Translation Bot 4669c103cc [I18N] Update translation terms from Transifex 2017-02-12 04:30:17 +01:00
Odoo Translation Bot 78be4cd1de [I18N] Update translation terms from Transifex 2017-02-12 02:53:52 +01:00
Odoo Translation Bot 844916b653 [I18N] Update translation terms from Transifex 2017-02-12 00:31:19 +01:00
Fabien Pinckaers 6bfb8a1765 Merge branch 'master-automation-rem-fp' 2017-02-10 15:25:27 -08:00
Fabien Pinckaers c56b746221 [IMP] base_automation: default to write instead of python code 2017-02-10 15:22:45 -08:00
Fabien Pinckaers cbb7c2442a [IMP] base_automation: removing domains based on filters in automation
bad ux: it's difficult to understand why there is two way to do the
    same thing. (4 fields for domains, instead of 2)
    Example of confusion:
      What happens if you set both a filter and a domain?
      What happens if you change the filter? does it change the
      automation?
    The new domain widget is good enough. We don't need such extra fields.
2017-02-10 14:10:27 -08:00
Simon Lejeune f915a679fa [FIX] web: database selector and manager
The database manager and selector triggered an internal server error
according to the modules installed.

The issue is that some modules (like utm) overrode ir_http's dispatch
and openned a cursor before calling super. Following rev[1], the
database manager can tell you the incompatible databases. For that, it
opens a new cursor to each database and get back the Odoo's version.
After the information is fetched, the cursor is closed. Closing a cursor
does not release it from the connection pool, so the database cannot be
dropped and here comes the fix [2]: this commit removes all cursors to
`database` from the connection pool.

Now, if a module overrides the ir_http's dispatch and open a cursor
before calling `super`, the automatic commit/close done at the end of
a successful request cannot succeed in the database manager or
selector as the cursor is closed during the call to super, leading to
an internal server error.

To workaround this issue, we explicitely set the cursor to None, as it
will prevent the automatic commit/close at the end of the request.

This is similar to rev 5c6087e38e

[1] 96f703ff84
[2] 610036756a
2017-02-10 21:12:15 +01:00
Joren Van Onder 327b02547a [FIX] account_voucher: use currency rate at date for all amls
Without this the first account.move.line will be generated with the
currency rate valid at the time of validation. The following lines
however will be generated with the currency rate valid at 'date' of the
voucher. If these currency rates are different this results in an
unbalanced journal entry.

This ensures the first account.move.line will also use the currency rate
at 'date' of the voucher.
2017-02-10 11:43:48 -08:00
Joren Van Onder 57b4932c1c [FIX] account_voucher: set currency_id for amls in foreign currency
If not account.voucher will attempt to generate an account.move.line
record with a set amount_currency and an unset currency_id. This is
explicitly forbidden by account.move.line's _check_currency_and_amount
constraint.
2017-02-10 11:43:35 -08:00
Denis Vermylen d3703ecb4c [IMP] models: avoid searching by id in read_group
When using read_group() and grouping by many2one fields, the many2one groupby
fields get updated from an integer id to a tuple from name_get() at the end
of the method.

e.g.: {'user_id': 1, ...} -> {'user_id': (1, u'Administrator'), ...}

To do this, it reads the many2one field by browsing on self.

When self is a model with _auto = False (typically an SQL view), searching by
id can be costly as the id column may not have usual properties for performance
(in some cases a full computation of the table is required to look up 1 id).
2017-02-10 19:20:25 +01:00