Commit Graph
107258 Commits
Author SHA1 Message Date
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
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
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
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 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
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
Christophe Simonis 9beca598d4 [MERGE] forward port branch saas-11 up to b5971e417f 2017-02-10 17:32:36 +01:00
qdp-odoo 765dd38ec1 [FIX] account: manual reconciliation wizard in batch.
Several fixes are addressed in this commit:
- displayed value of writeoff amount now give proper result accordingly to the selection (but that selection may still be wrong!). This is still not ideal but at least it reflects what users can see in the list selection.
- exclude from the reconciliation, entries that have already the boolean 'reconciled' set to True. They shouldn't be passed to reconcile() but are still needed to balance totally the reconciliation so users have to select them.
- avoid crash if no writeoff needed on batch reconcile: Even though the wizard might declare that a writeoff is needed, in batch mode it might not be the case since the reconciliation is done in multiple passes for each currency. If no write-off is needed, no write-off move is created and the code tried to add a boolean variable to a recordset and raised a fruit-salad error (mixing apples-oranges).
2017-02-10 15:03:28 +01:00
qdp-odoo 4bdf91a02d [FIX] account: fix 'Unreconciled' filter on account.move.line search view.
This revert commit 1e67069f60 and correctly fix the use case it was addressing (exclude lines with debit=credit=0 in the filter).
2017-02-10 15:03:28 +01:00
Christophe Simonis ffd4442b06 [MERGE] forward port branch saas-11 up to 06e9e45d03 2017-02-10 11:49:35 +01:00
qsm-odoo b5971e417f [FIX] web: hide list readonly checkbox when entering edition
Forward-port of https://github.com/odoo/enterprise/commit/8a55b3f9f7a7524583effb8198c03ebf695131bd

There are multiple problems with the editable view list. It should be
solved once and for all in the work-in-progress master.

This commit fixes a bug with readonly checkboxes. When a field is
readonly, the table cell gets the "o_readonly" class which changes
its style and behavior. When entering edition, the cells are hidden
except the ones with this "o_readonly" class so that their style are
not affected. The "o_readonly" cell content however was hidden thanks
to a "color: transparent;" rule to let the form readonly field show
the value. The problem is that checkboxes... are not hidden with this
"color: transparent;" rule. Also, the "o_readonly" class is not toggled
during edition while the readonly status could be... so the right fix
would be to get rid of this "o_readonly" class and let the inline form
handle the behavior, but this would affect style and possibly break
unknown behavior.

This fix adds rules to handle the checkbox case correctly.
2017-02-10 11:49:05 +01:00
Christophe Simonis 06e9e45d03 [MERGE] forward port branch 9.0 up to 6f29e7307e 2017-02-10 11:21:14 +01:00
Christophe Simonis 6f29e7307e [MERGE] forward port branch saas-6 up to e60ba73e52 2017-02-10 11:12:03 +01:00
Christophe Simonis e60ba73e52 [MERGE] forward port branch 8.0 up to 8cb13c4e4c 2017-02-10 11:09:14 +01:00
Goffin Simon 2f328d3447 [FIX] web: Dashboards error
Steps to reproduce:
Go to any pivot view (for example Sales > Report > Sales) and add
the current view to your personnal dashboard (in the search view: Favourites > Add to my Dashboard)
Go to the dashboard, traceback because $buttons was not defined.

opw:707296
2017-02-10 11:01:03 +01:00
Nicolas Martinelli 3f16ed9ef7 [FIX] mrp: crash onchange
In a MO, change a product in "Consumed Materials" by clicking on "Search
more...". It crashes.

Clicking on "Search more..." triggers the onchange since it empties the
line. Since there is no product on the line anymore, it crashes.

opw-705644
2017-02-09 15:51:08 +01:00
Freeman Helmuth 800a4b6728 [FIX] doc: CentOS spelling
Closes #15408
2017-02-09 15:07:47 +01:00
Joren Van Onder 0556bc6d9e [FIX] point_of_sale: properly round taxes with round_globally
When tax_calculation_rounding_method is configured to round_globally the
compute_all method of account.tax will not round the taxes based on the
currency. The result of the compute_all function is used when creating
the tax parts of a pos.order account.move.

Taxes are aggregated per session, so 2 orders with orderlines in them
with the same tax will turn into 1 single tax account.move.line. To
correctly handle round_globally, we round all tax values we have after
processing each order.

Fixes #14672
Fixes #14673
2017-02-08 10:28:33 -08:00
Denis Ledoux 00cf180862 [FIX] account: register payment with payment, invoice and company having different currencies
In revision fc813847d8,
`_compute_total_invoices_amount()` was assumed to
give the invoice residual within the company currency but,
in the case the payment_currency is different than the company_currency,
it returns the amount in the payment currency.

In this case, we actually need the total invoices residual
within the company currency.
2017-02-08 18:20:10 +01:00
Denis Ledoux 85b7144193 [FIX] account: invoice/payment reconciliation with a change of rate
The amount of the invoice in the payment currency was wrongly
computed when a change of rate in the invoice currency occured between
the invoice date and the payment date,
when the invoice currency was neither the company currency
nor the payment currency.

e.g.
Company in USD. Exchange rates:

    07/02   08/02
HKD 7.0     8.0
EUR 0.90    0.94

Invoice: 100,000 HKD, date 07/02, worthing 100,000 / 7 = 14285,71 USD
Payment: 13000 EUR, date 08/02, worthing 13000 / 0,94 = 13829,79 USD

The invoice amount within the invoice currency was computed:
100,000 / 8 * 0.94 = 11750€
While the invoice, at the time of the invoice date, worth actually
14285.71 * 0.94 = 13428,57€

When the invoice, payment and companies are all different,
the invoice amount in the payment currency must not be computed from
the amount in the invoice currency computed at the invoice date
to the payment currency, since the rate of the invoice currency
changed, and the amount in the invoice currency at the time
is no longer the same today.

In simple words, `amount_currency` of the invoice
was computed using the 7.0 rate
e.g. 100,000 / 7 = 14285,71
while, when the rate changes, computing from the invoice currency to
the payment currency, which are both different than the company currency
it will first convert the amount to the company currency, using the new rate:
e.g. 100,000 / 8 = 12500€
and then convert to the payment currency:
e.g. 12500 * 0.94 = 11750€

opw-640248
2017-02-08 18:20:10 +01:00
Goffin Simon bd01714388 [FIX] stock: Inventory adjustments in multi company
When making an inventory adjustment in multi company,
the default location_id was all the time taken from
'stock.warehouse0' even if the user was not allowed to read
the warehouse. Inspired from _get_default_location in pos_config.py

Backport of 8955d15e9d

opw:706704
2017-02-08 16:49:33 +01:00
mge-odoo 8cb13c4e4c [FIX] openerp: quote read_group SQL query for case sensitive tables
In SQL, if there is no quote around the table/field, the result will
be returned as case insensitive.

This was causing a bug in the kanban view which was not displaying
the records because x_AA_count was named x_aa_count.
2017-02-08 15:55:47 +01:00
Simon Lejeune 7b2bc90d27 [FIX] stock_calendar: do not edit context in place
This method receives a new api context and thus should not change it
directly. The stock scheduler didn't run because of this.

opw 704764
2017-02-08 14:51:06 +01:00
Goffin Simon b8b1d1d0ab [FIX] crm_partner_assign: The field "Level Name" was not translatable
The field "Level Name" must be translateble.

opw:706486
2017-02-08 14:40:09 +01:00
Goffin Simon 685c874236 [FIX] point_of_sale: POS Orders Analysis not clickable
The numbers in the POS Orders Analysis must be not clickable.

opw:707304
2017-02-08 12:51:46 +01:00
Goffin Simon 4f8ae9f993 [FIX] base: Traceback when creating a submenu
When self.name is False, the following expression:
"self.parent_id._get_full_name(level - 1) + MENU_ITEM_SEPARATOR + self.name"
raised:
"TypeError: coercing to Unicode: need string or buffer, bool found"

opw:706202
2017-02-08 12:22:20 +01:00
Goffin Simon 8bed9363f0 [FIX] web: Dashboards error
Steps to reproduce:
Go to any pivot view (for example Sales > Report > Sales) and add
the current view to your personnal dashboard (in the search view: Favourites > Add to my Dashboard)
Go to the dashboard, traceback because $buttons was not defined.

opw:707296
2017-02-08 08:05:46 +01:00
Goffin Simon 0d68acff8e [FIX] base: _compute_commercial_partner
Before the fix:

*Scenario 1:

create company A as a res.partner

on company A, add an individual contact B

on individual B, add an individual contact C

on individual C, go in accounting tab, click on 'parent company' link, you arrive on company A

*Scenario 2:

create individual B

add a contact individual C on individual B

create company A

on individual B, select a parent company A

on individual C, go in accounting tab, click on 'parent company' link, you arrive on B

After the fix, on each scenario, you arrive on company A.

opw:706757
2017-02-07 22:53:40 +01:00
Christophe Simonis 732da30e20 [MERGE] forward port branch saas-6 up to 6aec563b98 2017-02-07 18:05:08 +01:00
Christophe Simonis 58db291ab7 [FIX] crm: update should not reset default config value 2017-02-07 18:03:46 +01:00
Nicolas Martinelli bc2f8f9a40 [FIX] stock_account: missing forward-port
Missing forward-port of commit 5e466d3507

opw-707168
2017-02-07 17:29:44 +01:00
Nicolas Martinelli 88af7c9392 [FIX] mrp: expected date
When a MO is created with a deadline start date in the future, the
scheduled date of the stock move is still the creation date.

opw-707396
2017-02-07 17:18:28 +01:00
Odoo Translation Bot 17f3185994 [I18N] Update translation terms from Transifex
after API rate limit reached
2017-02-07 17:01:49 +01:00
Martin Trigaux c2c91a1fdf [FIX] stock: remove duplicated field in view 2017-02-07 16:48:57 +01:00
Martin Trigaux 496c77cb5a [FIX] account: remove duplicated field
Twice in the view
2017-02-07 16:41:19 +01:00
Nicolas Martinelli c1047e9adf [FIX] mrp: quantity_available depends 2017-02-07 16:33:46 +01:00
Nicolas Martinelli 364036017b [FIX] mrp: UoM of quantity available
The field `quantity_available` can be computed in two different ways:
- equal to `product_uom_qty`
- equal to `reserved_availability`

However, `product_uom_qty` is in the UoM of the move, while
`reserved_availability` is in the UoM of the product.

We convert into the UoM of the move, because `quantity_available` is
supposed to be in the same UoM than `product_uom_qty` ("To Consume").

opw-704775
2017-02-07 16:33:46 +01:00
Goffin Simon b2cf9559d6 [FIX] mrp: The field "lot_id" is required in MRP Product Produce
When producing in the view "MRP Product Produce", if the field "lot_id"
is empty, it raised a UserError. So the field is required.

opw:705143
2017-02-07 16:19:10 +01:00
Christophe Simonis 6aec563b98 [MERGE] forward port branch 8.0 up to 51cf2852d8 2017-02-07 16:10:04 +01:00
Nicolas Lempereur 7c8a98e53a [FIX] im_livechat: livechat button over ecommerce
Some things in the ecommerce have z-index 1, 4 (product images) or 5. So
this went over the live chat button "Have a question? Chat with us."

opw-707086
2017-02-07 15:29:53 +01:00
Goffin Simon 8e5684250b [FIX] product, report_intrastat, stock: visibility of categ_id on product.template
When the "Inventory" module was not installed, it was not possible to set
the field "categ_id" on "product.template".

opw:707285
2017-02-07 14:52:52 +01:00
hurrinico 51cf2852d8 [CLA] signature for hurrinico
Done at #15340
2017-02-07 13:58:21 +01:00
yueqin 6076900b3e [CLA] signature for yueqin
Done at #15359
2017-02-07 11:00:19 +01:00