Commit Graph
110261 Commits
Author SHA1 Message Date
Nicolas Martinelli 266ae2a26b [FIX] mail: trim '()' characters
In commit 07425d407f a trim of some special characters was introduced
to prevent a crash. This was necessary in v9, but it is not in v10.

opw-703465
2017-01-13 13:28:22 +01:00
Nicolas Martinelli 8fd6f85169 [FIX] product_extended: Compute from BoM
The price suggested thanks to the "Compute from BoM" button only takes
into account the price of the products listed in the BoM lines.

In v9, there was a "Recursive" option that provided the possibility to
compute the prices of all products implied in the BoM, recursively. This
option has been removed since it was leading to a "black box" behavior
that was unclear to the users.

However, limiting the price computation to the BoM lines only is too
restrictive since it doesn't even take into account the phantom BoMs.
By using the `explode` method, we have access to:
- all products not manufactured
- all products manufactured which are not kits (phantom BoM)

It means that the cost of manufactured products (not kits) should still
be computed before the product itself.

opw-697866
2017-01-13 13:25:00 +01:00
Nicolas Martinelli 11e99a0b53 [FIX] product_extended: compute from BoM
When a product template UoM is different from its BoM UoM, the price
suggested thanks to the "Compute from BoM" is incorrect, since it doesn't
apply the conversion rate between the product template UoM and the BoM UoM.

This is because we try to fetch the product UoM through the BoM. However,
if the BoM is not specific to a product.product, the field bom.product_id
is empty.
2017-01-13 13:25:00 +01:00
David Arnold 3609782481 [REF] account: improve inheritability of account.reconcile.model in chart template generation.
This commit adds a _prepare_reconcile_model_vals() method that localization can overwrite should they need it. Courtesy of David Arnold. Was PR #14981
2017-01-13 12:12:14 +01:00
Denis Ledoux 2ddd5590b2 [FIX] base: correct typo in _fields_find, res_ids -> res_id
The issue is introduced by revision
d465346f1e

Raphaël actually meant
`res_ids = data.mapped('res_id')`

Indeed, there is no `res_ids` field on `ir.model.data`,
but there is a `res_id`.

In addition, the same code is written correctly in the method
just above this one, `_object_find`

opw-704592
2017-01-13 11:54:22 +01:00
Nicolas Lempereur 9aaed65352 [FIX] setup: server UTC timezone on windows
In 07bf7bf4f3 a fix was introduced for windows server UTC timezone.

It is possible it would be helpful in some situation to also have it in
setup/odoo (for example if odoo was installed on windows in some other
way than the Installation bundle).

opw-693764
2017-01-13 10:37:24 +01:00
Denis Ledoux 94da369231 [FIX] mail: template, format date to customer language
Up to now, there was no possibility to format a date
within a specific language, such as the customer
language. The date was always displayed with the format
YYYY-mm-dd.
(There was for the datetime, thanks to format_tz, but
not for a simple date without time)

This revision adds this possibility, but doesn't change
the according email templates
(such as the invoice date on the invoice email template)
as it would require to update all translations, in
the .po files and on transifex.

If a user absolutely want this, he has to add
the call to `format_date` himself, manually.

opw-704260
2017-01-12 18:48:02 +01:00
Denis Ledoux 0a5c5c6c9d [FIX] calendar: final date recomputation trigger
With the previous condition, the `final_date`
was not recomputed when the number of repetitions
(count) was changed alone, without  changing `recurrency`
(nor with other fields, such as start/stop date)

This revision makes sure to recompute the `final_date` when
there is a change in the number of repetitions without
changing the `recurrency` fields, when the event is recurrency
and the end type is `count`

opw-703812
2017-01-12 18:30:56 +01:00
Nicolas Martinelli a93632df91 [FIX] hr_holidays: allocation name
When creating an allocation request by employee tag, the name contains
'False on...'.

opw-703893
2017-01-12 15:16:30 +01:00
Nicolas Lempereur bf38fe4c5f [FIX] base: edge case of search on >/< and 0
The double inversion introduced by 6e063188 is done to catch default 0
values.

For example '>= -3' is transformed in "NOT what is found by < -3".

There was an issue with '> 0' and '< 0' since in these instance 0 don't
match and the inversion must not be done.

opw-703929
2017-01-12 15:15:51 +01:00
Nicolas Martinelli c7767b8853 [FIX] base: check grouping format
If the user enters an incorrect grouping format, login won't be possible
anymore since the web client will crash when parsing the field value.

For example, "[3, 0,]" will trigger the issue.

Complement of commit 5959c41631

opw-704388
2017-01-12 14:48:54 +01:00
Damien Bouvy 1382c0884d [FIX] website_mail, crm, project: replace support email by form url
and correct documentation url with correct version.
2017-01-12 14:21:40 +01:00
Raphael Collet a1be7ca551 [FIX] mail, purchase: avoid full cache invalidation when possible (#14934)
* [FIX] mail: avoid full cache invalidation when possible

* [FIX] purchase: avoid full cache invalidation when possible
2017-01-12 11:31:58 +01:00
Yenthe V.G 2e18f35c4e [FIX] product: Rename invalid context variable
The context uses an invalid name, which means it'll never work correctly.

fixes #15028

Bug coming from the module migration
2017-01-12 10:38:33 +01:00
Pedro M. Baeza 3aa7b8ca27 [FIX] project: Don't reset partner_id in onchange_project when empty
In 3041efb, it was introduced a partner_id reset when project_id is
False, but this causes you can't apply default values to partner_id
directly.

One use case where happens:

* Go to Sales > Customers.
* Select one customer.
* Click on the smart-button "Tasks".
* Create new task.

Before this commit, the customer where you come from is assigned.
After this, no partner is selected.
2017-01-11 17:20:27 +01:00
Nicolas Martinelli f60936fafe [FIX] account_asset: cancel invoice
Extension of commit 9d14230d74. Deactivate the assets when the invoice
is cancelled, which is more logical.

opw-703108
2017-01-11 16:56:23 +01:00
Nicolas Martinelli ea4c231130 [FIX] web: limit password size
If the user writes a password larger than 4096 characters at the login
screen, it causes a crash instead of displaying the "Wrong
login/password" message.

The Python library used to hash password (passlib) is by default limited
to 4096 characters. Above this limit, it raises an error (source:
https://pythonhosted.org/passlib/lib/passlib.exc.html).

Allowing a password larger than 4096 is not necessary, we just limit the
field maximum length since such a situation should happen because of an
incorrect copy/paste.

opw-704110
2017-01-11 15:18:40 +01:00
Jairo Llopis 2c60356332 [FIX] website_slides: Preserve context when sending emails.
When you pass a dict to `.with_context()`, it completely replaces the context,
removing the language from it.

This causes that when the publisher publishes a slide in another language, the
template gets mixed languages rendering.

Closes #15017
2017-01-11 15:03:25 +01:00
Martin Trigaux cdf62af265 [I18N] account,website_portal: reflect changes in source terms
Thanks Obam.. hmm @JKE-be sorry
2017-01-11 14:50:11 +01:00
Goffin Simon 2db449a2ae [FIX] hr_attendance: check in with blank pin
When writing a blank pin, the user logged can check in his own related
employee.

opw:703744
2017-01-11 14:02:05 +01:00
Goffin Simon 562e2657f6 [FIX] account: invoices on unmatched payment
Fine tuning of this commit: 69c41c7
When cancelling a payment, the remove_move_reconcile function was called and
it removed the payment from the invoice and in the payment history, only the
validated payments were kept.

This commit keeps the behavior before this commit: 69c41c7

opw:691692
2017-01-11 13:56:12 +01:00
Damien Bouvy 5bd8f97fa2 [FIX] website_portal_sale: use correct company for invoice creation
Invoices created automatically by the payment acquirer must use the
correct accounts/journals, which may not always be the case if not
explicitly set in the context.
2017-01-11 13:32:11 +01:00
Nicolas Martinelli 291a94192c [FIX] sale, purchase: tax computation
Set the company rounding policy to "Round Globally". Create the
following SO (or PO), with a 7 % excluded tax:
- Qty      Price
- 880.000  5.79
- 120.000  4.36
- 28.000   2.88
- 68.000   11.09
- 35.000   5.20
- 35.000   5.32

The total tax on the SO is 477.48, while it is 477.50 on the invoice
generated from the SO.

FORWARDPORT UP TO 10.0

Fixes #13687
opw-703519
2017-01-11 11:45:05 +01:00
Jeremy Kersten 4b24c2b2a2 [FIX] webite_crm_partner_assign: fix layout for opportunities list 2017-01-11 11:12:47 +01:00
Jeremy Kersten b1f837e0e2 [FIX] website_portal: usability terms
Courtesy of apr
Task-27929
2017-01-11 11:12:47 +01:00
Jeremy Kersten c61fbe36b8 [FIX] website,website_sale: add o_text_overflow in front end
And use it in right column from ecommerce (task-28865)
2017-01-11 11:12:47 +01:00
Jeremy Kersten 9ac974548e [FIX] mail: don't check read access if user not connected.
In the worst case, user is not logged in and he will really have no access and
will have a perm read error after login. We cannot check if an unknow user has
access or not.

In most cases, user will be logged in and will see the document directly if
he has access or will be redirected to messaging if no access.

In the best case, he will be redirected to login page before to see the message.

task-22505
2017-01-11 11:12:47 +01:00
Jeremy Kersten 498852c27f [FIX] website_sale: multi image uses hover option by default 2017-01-11 11:12:47 +01:00
Jeremy Kersten 1f5041f3dc [FIX] account: typo in warning 2017-01-11 11:12:47 +01:00
Jeremy Kersten 4b102523b5 [FIX] crm: search_count don't support limit
Bug migration new api
2017-01-11 11:12:47 +01:00
Denis Ledoux b228f548ca [FIX] website: port of rev a98d60cb11
The forward-port of the above revision missed
the conversion to the new api and that
`context` had to be replaced by `self.env.context`

Fixes #14922
Closes #14923
2017-01-11 11:03:49 +01:00
Nicolas Lempereur 2c66f7bc7f [FIX] web_editor: italic odd behavior because typo
An italic node would be taken as a basic node containing text and thus
would be merged unexpectedly.

For example with the following content : "<i>hello</i> world" removing a
letter of 'world' would merge the text node with hello making it italic.

opw-703722
2017-01-11 10:38:29 +01:00
Jeremy Kersten 6b87284f3f [FIX] website_sale: fix amount format
This commit fix wrong grouping when we format price via price_to_str.
where '[3,0]' was interpreted as string and not array in intersperse.

Thousand separator was duplicated ",,,320.00" e.g.

This commit fix also product page where amount for variant was formatted
js side before that RPC translation (website.ready() defered) was resolved.

'/website/translations' is only called when user have rights to edit page.
So a standard user didn't call it and l10n is not initialized.

After an update, now we format the amount with the l10n value.
To stay retro compatible, if l10n is not initialized (value = [])
we use [] for grouping as 'fallback value'.

To fix decimal precision you need to update the template product_price.
To fix the grouping, you need to update the website.layout
To fix the decimal separator, (and previous fix), you just need to pull the JS

This commit is related to #1103, #11553, #14772, #14874, ...
And fix the previous fix odoo/odoo@1f10ef8055

It should also fix (by side-effect) the translation JS for user without editor
right.

Already fixed in V9 - don't forward this commit...
2017-01-10 22:50:19 +01:00
boogerlad a5dc060afb [FIX] calendar: attendee of a private event should be able to see the content
Someone invited to an event should be able to see all details, instead of "busy"

This commit closes #12935
2017-01-10 22:39:14 +01:00
boogerlad 6c0bf660b1 [CLA] Signature for boogerlad.md 2017-01-10 22:39:06 +01:00
Nicolas Martinelli 5a1ec14519 [FIX] marketing_campaign: method not implemented
In the Lead Automation module, the module is working as expected when
the activity type is 'Email'. In other cases, the corresponding methods
are not implemented and raise an error.

opw-697829
2017-01-10 19:19:58 +01:00
Josse Colpaert ff098a7ad4 [FIX] mrp: procurement creation for raw materials
According to the routes set on the products of the raw materials, a
procurement may have to be created for the consumed lines of the MO.

A route may also be set on a product category. Before this patch, we
only look for procurement rules for the routes defined on the products
and on its category, ignoring the inherited route of the parent category.

Fortunetaly, we have a computed field on the product model returning
all the routes from the current category, so we use this one in the
search for procurement rules.

A test has been added to show the failure.
2017-01-10 18:42:37 +01:00
Josse Colpaert 2f66e7abde [FIX] mrp: handle the case of empty routings
Before, when the routing of a production order was empty (no operations),
it got into an inconsistent state (you click on "plan" and nothing happens).

Empty routings were used before to do subcontracting or 2-steps inventeory
(we did not set any operations on the routing but we set a location).

Here, we change the related routing field on the production order into a
calculated field which becomes empty when the routing has no operations.
This way, the "produce" button is displayed (as for production orders
without routing) and working/

This is a temporary patch to workaround the issuein a stable release.
In master, we might remove the location on routing and place it on the
workcenters and put a constraint that does not allow an empty routing.
2017-01-10 18:37:53 +01:00
Nicolas Martinelli 72e150d043 [FIX] account: exchange rate of price_subtotal_signed
The field `price_subtotal_signed` contains the price converted in the
company currency. However, we should make sure to use the exchange rate
of the invoice date for its computation.

An use problematic use case is the creation of a deferred revenue from
an invoice (commit 7fe89d08b3).

opw-702352
2017-01-10 18:25:46 +01:00
Olivier Dony cd4ff9341e [FIX] http: make error 400 slightly more user-friendly
Users who get an error 400 due to an invalid CSRF
token might be doing something legit. For example
they may have opened the page with the HTTP form
2 hours before posting it, and let the CSRF token
expire naturally (default lifetime is 1h).

In this situation the "invalid CSRF token" message
might be too cryptic for them to understand that
they need to refresh the form and try again.

Mentioning that their "Session expired" as well
should sound more familiar and lead to the right
reaction.
2017-01-10 17:09:03 +01:00
Christophe Simonis 909ce5175f [MERGE] forward port branch saas-11 up to 9fa79a2d66 2017-01-10 16:57:21 +01:00
Christophe Simonis 9fa79a2d66 [MERGE] forward port branch 9.0 up to fc813847d8 2017-01-10 16:53:27 +01:00
Denis Ledoux fc813847d8 [FIX] account: wrong counterpart in invoice / out refund register payment
Revision 20935462a0
introduces the below regression:

When registering a payment on a customer invoice refund
or a vendor bill, with a payment difference

e.g. payment of 101 for an invoice of 100

and marking the invoice as fully paid,
the counter part in the payment account move
were wrongly computed:

In those cases,
its the payment total minus the invoice residual total
that must be performed, and not the other way around.

This revision solves this, inspired on how
the payment difference is computed for display
in the wizard on how it was before the above revision,
in the method `_compute_payment_difference`

Fixes #15000
2017-01-10 16:49:21 +01:00
Josse Colpaert c2040da0ba [REF] mrp: inventory post when last work order is finished
Before this patch, the inventory was automatically posted when you click
on "done" on the last planned work order. This behavior was preventing
the user from correcting, for example, the consumed quantity on the raw
materials move on the manufacturing order if it was different from the
theoretical quantity. Note that finishing anyone but the last work order
still let you edit the consumed quantity. Same with changing the lot.

Now you have to click on "mark as done" on the manufacturing order to
post the inventory. Note that this is the same behavior when working
without work order (produce > mark as done will post).

We adapt the tests to reflect this change.
2017-01-10 15:32:14 +01:00
Goffin Simon 78646696b8 [FIX] hr_attendance: attendance_manual
In Kiosk mode, the user logged cannot check in and check out his related
employee with any wrong pin.

opw:703744
2017-01-10 15:26:11 +01:00
Denis Ledoux 23deeb187d [FIX] account_check_printing: remove useless sudo
This sudo is useless, and prevent the use of the record
rules on the creation of payments.

opw-703143
2017-01-10 15:09:24 +01:00
Christophe Simonis 482fd04167 [MERGE] forward port branch saas-11 up to f1583504ce 2017-01-10 13:46:17 +01:00
Christophe Simonis f1583504ce [MERGE] forward port branch 9.0 up to 3f7b1f6083 2017-01-10 12:07:44 +01:00
Ravi Gohil 23d07478e3 [FIX] mrp: fix migration issue using recordset instead of record in loop 2017-01-10 09:44:35 +01:00
Nicolas Lempereur 3f7b1f6083 [FIX] web_editor: ignore read only + debug + write
In some case (for example the one solved with b51d21c5) we can have
write done on a field text in read only mode.

With 98ed53ce if :

- such a case happened (in b51d21c5 the fix only worked after the given
  field was written one time) or a similar instance,
- and the user was in debug mode,
- and the widget used was TextFieldHtmlSimple

this could lead to an issue with the code trying to toggle the code view
mode whilst the editor is closed.
2017-01-10 08:31:38 +01:00