Commit Graph
108419 Commits
Author SHA1 Message Date
Christophe Simonis f7eb74f7ea [MERGE] forward port branch saas-15 up to 2df0c13832 2017-03-19 00:50:15 +01:00
Christophe Simonis 2df0c13832 [MERGE] forward port branch saas-14 up to 6b41d59ca8 2017-03-19 00:49:43 +01:00
Christophe Simonis 6b41d59ca8 [MERGE] forward port branch 10.0 up to 7043fd529f 2017-03-18 23:38:24 +01:00
Christophe Simonis 7043fd529f [FIX] test_converter: use unicode string for comparison 2017-03-18 23:35:58 +01:00
Christophe Simonis 45045bb7a1 [MERGE] forward port branch saas-15 up to c8f01e3b62 2017-03-17 18:06:16 +01:00
Christophe Simonis c8f01e3b62 [MERGE] forward port branch saas-14 up to b2fa9f2ad1 2017-03-17 18:03:00 +01:00
Christophe Simonis b2fa9f2ad1 [MERGE] forward port branch 10.0 up to 31ebb07773 2017-03-17 17:57:52 +01:00
Christophe Simonis 31ebb07773 [MERGE] forward port branch saas-11 up to aefdf96c25 2017-03-17 17:55:30 +01:00
Christophe Simonis aefdf96c25 [MERGE] forward port branch 9.0 up to af64780a2d 2017-03-17 17:06:32 +01:00
Martin Trigaux 2c1257fe88 wow 2017-03-17 14:40:45 +01:00
Martin Trigaux 13bfc8ee50 [FIX] crm: remove unused field from fields to merge
The field email is no longer present on the crm.lead object

opw-725112
2017-03-17 14:33:44 +01:00
Pratima Gupta c2c03ce52c [FIX] mrp: typo in "work orders" 2017-03-17 13:50:02 +01:00
qsm-odoo 7401807510 [FIX] web_editor: copy/paste in the editor
Commit 906875fc78 (followed by commit
76be5eed44) tried to tweak to copy/paste
functionality of the editor.
Indeed, in PDF file, when copying a paragraph, a line feed is added at
each forced line break (page width end). This forced a line feed and
a new paragraph in the pasted text. The goal was to get rid of those
useless linebreaks when pasting.

The ideal solution would be to detect that the text was copied from
a PDF but it is not possible. However, this commit improves the
heuristic: if this is not plain text, then nothing is done, the content
is pasted normally. If it is plain text (like when copying from pdf),
then each line break which is surrounded by letters or numbers is
considered an useless line break and replaced by a space. This is
obviously not perfect but the previous implementation was really wrong
(it was removing line breaks which were not preceeded by punctuation in
all cases, which was removing lots of useful line breaks).

Note: this commit also fixes a bug -> text was not able to be pasted
with Internet Explorer.

opw-715920
2017-03-17 11:44:28 +01:00
Martin Geubelle 22e7b6befb [FIX] web_kanban: only give fields in view to record
This commit partially reverts 5b4f7c1 where `fields_view.fields`
had been replaced by `fields`, which could have been set to all
fields in the model.

This modification can sometimes lead to a problem, during the
fields value transformation. The ID, which wasn't given previously
is now parsed. When creating a new record, the field ID is not an
integer but a string (representing the virtual ID). If the field
is in the arch, it will be postprocessed
(see https://github.com/odoo/odoo/blob/saas-11/addons/web/static/src/js/framework/data_manager.js#L201)
and its type will become `id`. As this postprocessing is not done
if the field in the view, the parsing was on the original type
(integer) and not the special id type.
2017-03-17 11:13:49 +01:00
Hiral Bhavsar 668b730cef [IMP] point_of_sale: pricelist access rights
Pos user can read pricelists and Pos manager
can create/edit/unlink pricelists.
2017-03-17 11:00:33 +01:00
Hiral Bhavsar bb9ca4705e [IMP] point_of_sale: menu reorganization
This commit add some configuration menus to
avoid switching app to configure the POS.

It also add a new 'Catalog' menu to display
product, variants, and pricelists. Some labels
were renamed too.

The new menu structure looks like

Dashboard
Orders
Catalog
- Products
- Product Variants (if set)
- Pricelists (if set, only editable by pos managers)
- Loyalty Programs
Reporting
Configuration
- Settings
- Point of Sale
  - Point of Sale
  - Floor Plans
  - Order Printers
  - Barcode Nomenclatures
  - Payment Methods
  - Mercury Configuration
- Products
  - Attributes
  - Attribute Values
  - PoS Categories
  - Internal Categories
2017-03-17 11:00:07 +01:00
Nicolas Martinelli af64780a2d [FIX] base: no-break hyphen
- Create an invoice with two products
- Each line has a long description (spread on 2 lines)
- The second line has a negative value
- Print the invoice (PDF)

The amount spreads on two lines, split as:
$ -
1,000.00

This is due to the wkhtmltopdf version with patched QT. Unfortunately,
upgrading to the latest version 0.12.4 doesn't solve the problem.

The solution is to replace the '-' by a non-breakable hyphen.

opw-711002
2017-03-17 09:07:15 +01:00
Nicolas Lempereur 508a002e69 [FIX] web_editor: glitch english several times
When using the iframed editor with multilang selector (present if there
is another lang installed than en_US) an "English" language was present
before each translation language.

opw-696891
2017-03-17 08:10:52 +01:00
Nicolas Lempereur e3eefa0935 [FIX] l10n_ch: zoom isr and have margin for title
1. A zoom is needed because the virtual viewport of wkhtml is bigger than
a A4 paper size. Hence we go over the size of the A4 paper with the zoom
and the content is then resized down to what we want.

2. There was also an issue for example with the title (outside the isr)
which had no margin so could be over the report header.

3. Tidy-up some comments in the ISR report

4. Use OCR-B font for optical reference if available

task-30535
2017-03-17 07:46:18 +01:00
Nicolas Lempereur fb05d8845d [FIX] web_calendar: events not appearing in arabic
Fullcalendar expect as `start` and `end` property of an event object:

> When specifying Event Objects for events or eventSources, you may
> specify a string in IETF format (ex: "Wed, 18 Oct 2009 13:00:00 EST"),
> a string in ISO8601 format (ex: "2009-11-05T13:15:30Z") or a UNIX
> timestamp.

(as seen in https://fullcalendar.io/docs1/event_data/Event_Object/)

Before this commit we could for example in arabic provide an invalid
date string "٢٠١٧-٠٣-١٦ ١٦:٠٠:٠٦" instead of "2017-03-16 16:00:06".

This commit solves this by always providing fullcalendar an ISO8601 date
string.

opw-705752
2017-03-16 22:07:29 +01:00
Nicolas Lempereur f50ba68be7 [FIX] web_editor: handle margin:initial correctly
The transcoder (which transforms stylesheet rules to inline style) did
some compression of the padding and margin css properties to not always
have margin-top + margin-right + margin-bottom + margin-left.

This could cause an issue when the value of margin or padding contained
an initial or inherit value because browsers (at least firefox and
google chrome) doesn't allow it. Thus the preview could for example have
bigger veritcal spaces arround `<p />` tag than what was seen when
editing.

With this fix instead of invalid:

    margin:initial initial initial initial

we have:

    margin:initial

And instead of invalid:

    margin:initial 5px 6px 7px

we have:

    margin-top: initial; margin-right: 5px; margin-bottom: 6px; margin-left: 7px;

opw-706535
2017-03-16 18:26:32 +01:00
Pratima Gupta 2560feec04 [REM] stock: latest inventories and moves report
The functionaility is available through a filter on the inventory
adjustment view or through the stock moves of a product.
2017-03-16 17:53:28 +01:00
Pierre Masereel a5b9d05b66 [FIX] stock: multi-step routes
When we are changing the incoming and outgoing routes steps of a
warhouse through its settings, the push/pull rules are actually deleted
and recreated, which raise a traceback if we have some move validated
that are using those rules.

The problem came after rev: https://github.com/odoo/odoo/commit/b1b3de1339a13504ac5e223aec465bd70417d11e
Because we restrict the deletion of rules when they are used in stock
moves.

To fix this issue, we deactivate rules when we change the incoming and
outgouing rules instead of unlink them
2017-03-16 17:39:59 +01:00
Haresh Shyara 02a76becf7 [IMP] stock_account: remove security group inventory valuation
It will remove the stock setting, the group itself and remove it where
it is used in the views.  The perpetual valuation setting is only on the
internal category which is already "deeper" in the system.

It is also removed for the update price link on the product form
in case of perpetual valuation and we changed the label to Update Cost
instead of update standard/average cost.
2017-03-16 17:34:25 +01:00
Simon Lejeune be9dce625c [FIX] stock: inventory adjustment and negative quants
It is still possible to have negative and positive quants in the same
location because of returns: if you send something to the customer that
is not there and you return it, you will still be able to reserve the
returned goods to send to another client.

Before, if you would do an inventory adjustment, it would not take into
account these returned quants and their negative counterpart, which made
them difficult to get out of the system.

This fix takes them into account by creating two movements for one
inventory line: move the positive counterpart to the inventory location
before getting back from this location the same quantity.

This way, even if you have 0 as quantity on hand but you have those 2
quants, it will eliminate them. (if you are increasing the stock, part
of the process might have done it automatically already).

Test cases contributed by @jir-odoo
2017-03-16 17:30:02 +01:00
Christophe Simonis 5f9d382ed4 [MERGE] forward port branch 9.0 up to e542b450a3 2017-03-16 16:01:56 +01:00
Yannick Tivisse 14c56188d1 [IMP] all: Remove error message translation in _sql_constraints
This is automatically taken into account by the translation mechanism. Thus it is useless to make it a translatable label with _('')
2017-03-16 15:26:41 +01:00
Dhaval Panchal 455a420a08 [IMP] base: add constraints when you try to set rounding factor 0(zero) in currency 2017-03-16 15:15:37 +01:00
Siddharth Gajjar ebeaefea5d [IMP] account: rename/remove taxes action name
Purpose
=======

Confusing string given in tax action. same string for normal entries and posted entries.

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

Remove unwanted action (Unposted) and rename the remaining ones.
2017-03-16 14:58:41 +01:00
fka-odoo a5d96f01ac [IMP] base: Make currency rate update easier for user
Purpose
=======

Setting a currency rate is not user friendly. I struggle to find my way. Should be obvious in currency form

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

- Accounting > configuration > currencies > there should be a default fiter displaying only active currencies
- Remove "View Rates" action button
- Add one stat button "Rates" which open the currency rate list view,  also allow to create new currency rate(here do not open form view just editable=bottom in list)
2017-03-16 14:23:55 +01:00
Nicolas Martinelli 0590af8b3f [FIX] mrp_repair: tax included
- Create a product with price tax included
- Create Repair order
- Add the product in tabs "Operation" or "Invoicing"

The tax is added twice in the total.

opw-709608
2017-03-16 13:23:33 +01:00
Nicolas Martinelli e542b450a3 [FIX] sale_stock: duplicate qty
- Create a stockable product, create a SO selling 1 unit.
- Confirm the SO, validate the Picking 1 => delivered qty is 1
- Return Picking 1 and validate Picking 2 => delivered qty is 1
- Return Picking 2 and validate Picking 3 => delivered qty is 2

The delivered quantity should remain 1.

opw-715685
2017-03-16 13:15:46 +01:00
Nicolas Lempereur cc1c15327c [FIX] expression: improve o2m with m2o integer
We sometimes use in Odoo a One2many field with an inverse Integer
field instead of a usual Many2one.

This allow for example in several instances to have a "Many2one" which
can be reference from several models, eg:

Model Ranking:
	name = String field
	res_id = Integer field
	res_model = String field

Model Toy:
	rank = One2many [inverse: Ranking -> res_id]
                        [domain: res_model == Toy]

Model Tool:
	rank = One2many [inverse: Ranking -> res_id]
                        [domain: res_model == Tool]

This enable us to have a shared feature between otherwise unrelated models.

But there was several issue when searching on these One2many:

1) if the Integer Many2one was not stored (eg. it came from an inherits) on
   the searched model, this could lead to an error.

2) when we searched:

   - by IDs (rank in ['55']) with at least one id not respecting the domain
   - by IDs with a negative operator
   - with a negative operator on unfound string (rank != "no rank has this")
   - with a false value (rank = False)

   we would not apply the One2many domain (eg. res_model == Toy) and thus
   possibly getting Toy 3 errenously because a Tool 3 was found without
   the domain being applied.

This fix modify the search on One2many and for:

1. if the inverse is an Integer not stored field instead of Many2one
   manage it.

2. if the field is an Integer field instead of Many2one and there is a
   domain on the One2many: apply the domain on the inverse model found.

So only some search on One2many with a domain whose inverse field is an
Integer could be impacted.

This would also be nice to have for all One2many with a domain but the
probability of it being useful versus risk for performance is not judged
high enough.

opw-710508
2017-03-16 11:57:04 +01:00
Jigar Patel 91b07d5092 [IMP] web_kanban,*: Change the More Call To Action by a 3dots icon to improve readability 2017-03-16 11:40:30 +01:00
Haresh Shyara 183aa1591d [IMP] maintenance: added duration to maintenance request in calendar view
Use case when it happens:
* Create a maintenance request
* Schedule a date with a duration greater than 1 hour
* Switch to calendar view
* The maintenance request stop time is equal to start time plus 1 hour
and the duration is equal to 1hour.

The calendar view doesn't correctly display the duration and stop date because
the duration field was not passed to the xml view.

This commit pass the duration to the calendar view in the xml and corrects
the help text of the duration field.
2017-03-16 11:14:51 +01:00
Thibault Delavallée cee15f7d90 [FIX] mail: improve exception management when sending emails
Commit 00bd7274c4 introduced speed improvements when
sending emails through batching and reusing an SMTP connection for a
given batch.

However exception management was slightly changed during that patch.
Previously to this patch all errors in the sending process were considered
as MailDeliveryException, except for MemoryError and psycopg errors.
However now mail_mail.send() may raise another kind of exception in the
SMTP connect process. Moreover a raise_exception parameter allows to
choose to either raise an exception, or just set emails in exception
state without raising an error. However since the patch it is not taken
into account correctly.

This leads to several issues, notably

 * auth_signup waits for a MailDeliveryException when sending a password
   request email. A badly configured SMTP server leads to a connection
   error that is not caught. This prevents creating users, which could
   be annoying.
 * chatter does not handle exceptions as notification emails are sent
   using raise_exception being False. Having an issue in the connect
   process crashes the chatter.

This commit fixes the exception management so that it behaves like
before the patch.
2017-03-16 10:06:24 +01:00
Hareshkumar Shyara fc73645002 [IMP] crm: rename priority field of lead to priority instead of rating 2017-03-15 15:39:27 +01:00
Martin Trigaux 060768ad62 [I18N] l10n_be: translate tax names in Dutch
Courtesy of Laura Piraux, Odoo
2017-03-15 15:23:25 +01:00
Nicolas Martinelli 27f656a23e [FIX] mrp: duplicated raw materials
- Create Product A with a BOM which depends on a product with tracking
  "By Unique Serial Number" (Product B).
- Create a MO for Product A
- In the "Register lots" wizard, add two lines for "Product B", with the
  same serial number.

Nothing prevents the user to do it, even when the inventory is posted.

opw-709888
2017-03-15 14:01:04 +01:00
Richard Mathot cdd839d29c [FIX] lunch: display most recent line on top
Because when I want to edit my order of the day, I do want to see the
last order I made on top of the list.
2017-03-15 11:20:03 +01:00
Goffin Simon 73de39150a [FIX] crm: Translation in crm.opportunity.report
The opportunity analyses displayed the stages always in English.

opw:708380
2017-03-15 10:50:12 +01:00
Yannick Tivisse 6027e9370d [FIX] account, base_setup, sale, crm: do not create ir.values for unknown fields 2017-03-15 10:49:53 +01:00
Raphael Collet aa68e3e0d7 [FIX] base: in res.lang, invalidate ormcache after modifying languages
The method `write` calls `env['res.lang']._get_installed`, which is ormcached.
After activating a language with `write`, one must invalidate the ormcache.
2017-03-15 10:49:53 +01:00
Raphael Collet acd8c4de18 [FIX] base: validate default values in ir.values 2017-03-15 10:49:53 +01:00
Denis Vermylen 9995deda86 [FIX] website_sale: fix extra-step
truly fix 328a5a7ea3
sudo() was applied at the wrong step.

mea culpa
2017-03-15 10:44:52 +01:00
Goffin Simon 9f9657c04b [FIX] base: unlinking ir.model.constraint
When unlinking an ir.model, all the ir.model.constraint linked to this
ir.model must be removed to avoid to call unexisting model.

In stable version, the right fix would be to put an attribute ondelete=cascade
on the field model of ir.model.constraint.

In 10.0, the ir.model.constraint are created with module = the module where the related field
has been declared. But when unlinking the ir.model in function _module_data_uninstall, the related
ir.model.constraint to remove were chosen according to the removed modules. So with models
declaring constraints on inherited fields, some problems occured because the model could be removed
and not all the related constraints.

opw:716032
2017-03-15 09:17:53 +01:00
Denis Vermylen 1572f41acf [FIX] account: set conditional require attribute
When registering a payment on an invoice, the pop-up kept asking you to
enter a writeoff_account_id even when no reconciliation was asked.
The field should of course not be required in that case.
2017-03-14 18:04:45 +01:00
Denis Vermylen 328a5a7ea3 [FIX] website_sale: extra step access rights
Public users were stuck at the extra step during the checkout
process if enabled due to not having the access rights to write on
the sale.order.
2017-03-14 17:49:44 +01:00
Martin Trigaux 271a468254 [I18N] l10n_ch: export and sync local translations 2017-03-14 16:59:32 +01:00
Pierre Masereel 945679176a [FIX] stock: warehouse check_reception_resupply
When we are trying to change the reception route of a warehouse when
there are existing resupply routes, we are getting a traceback.

This bug comes from a migration error introduced in rev: https://github.com/odoo-dev/odoo/commit/70e1d5d5bc1a3cb325dbcb091fc2135e23084145
2017-03-14 16:46:42 +01:00