Commit Graph
110898 Commits
Author SHA1 Message Date
Christophe Simonis 79dfcde359 [MERGE] forward port branch 9.0 up to 2662739187 2017-06-21 18:06:45 +02:00
Martin Geubelle 3de0715f12 [FIX] web: basicController: stop translate event
Before this fix, a traceback occured when we clicked on the translate icon
in a form dialog.

The `translate` event wasn't stopped and was thus handled by the dialog's form
controller and by the main controller.
2017-06-21 16:42:56 +02:00
qsm-odoo 44d8255ee7 [FIX] web: make datepickers visible in modals
Following commit 3741603495:
Datepickers are indeed able to overflow their parent which scrolls.
However, they were not put above modals anymore.
2017-06-21 15:49:43 +02:00
Martin Trigaux 2662739187 [FIX] base: backport of 1703a2f80 on noupdate translations
When a record is in no update, it is not modified after module upgrade.
It should be the same with translations.
2017-06-21 15:46:25 +02:00
Adrien Dieudonne 5fa51c5201 [FIX] web: basic_controller: avoid multiple name_create
Before this fix, multiple records were created if you clicked
on the quick create of a many2one in a modal.

The 'mutexify' event wasn't stopped and was thus handled by
the dialog's form controller and by the main form controller.
2017-06-21 13:30:40 +02:00
Christophe Matthieu b21f6e36ce [FIX] payment_authorize: wrong error message because of missing import 2017-06-21 12:11:40 +02:00
Goffin Simon 036ccbeff1 [FIX] web_editor: Translating a product in the website
Steps to reproduce the bug:
-Change the default lang on the website to be different than en_US
-Edit the name of a product in the website

Bug:
The name of the product is changed in en_US and not in the language
set on the website. The lang is in fact removed from the context in
function saveElement(in addons/web_editor/static/rte.js).

opw:747084
2017-06-21 12:02:06 +02:00
Martin Geubelle e921f14d24 [FIX] web: disable phone test with voip
The module `crm.voip` alters the focusable behaviour of the phone
widget by overriding the `canCall` method.

We thus disable this test if the module is installed.
2017-06-21 11:44:53 +02:00
Sergio Teruel Albert 18152f35b6 [FIX] event: Make event report inheritable
Closes #16633
2017-06-21 11:24:39 +02:00
Nicolas Lempereur de403dc1ab [FIX] mass_mailing: no multi language edit
Creating and editing mass mailing in multiple language is managed with
the change 05daa15.

But currently the language the mass mailing is sent in, is the language
of the "Process Mass Mailing Queue" (root user if not changed) so all
the recipients will receive the mail in the root user language has at
the time the given batch of mails is sended.

So this is different from what someone could expect by it being
translatable. In any case the recipients list could be based on a lead,
a partner a mass mailing contact or other and a language could not be
determinable in stable (a mass mailing contact does not have a language
for example).

If the system worked, there is also a usability downside in the meaning
that someone could duplicate a mail and not check all translation and
not be aware that the mail he see is maybe not the mail that will be
received (if translations have not all been completed).

In stable to have the same behavior in any case and lessen the usability
burden of users thinking erroneously the mass mailing may be sent in
several languages depending on a not-existing heuristic, this changeset
remove the translatability of mass mailing content.

This has the following effect:

no translation editing appear,
the mass mailing is edited and sent in one and the same language,
If someone want to send a mass mailing in several language, currently in
Odoo it would then require to:

duplicate the mass mailing,
change the domains of recipients base on choosen heuristic,
edit the duplicated mass mailing in the choosen language

opw-746445
opw-746776
closes #17718
2017-06-21 11:15:03 +02:00
Cedric Snauwaert 1b0a8cc595 [FIX] payment_authorize: missing import 2017-06-21 10:44:46 +02:00
Nicolas Martinelli d938ba87ae [FIX] point_of_sale: fix included taxes
Apply commit a9ce4ffb22 to POS orders.

opw-746827
2017-06-21 09:56:49 +02:00
Christophe Matthieu c6e5d7b004 [FIX] stock_pack_operation: wrong conversion in multi api
Tested: compute_sudo on the field does not work
2017-06-21 09:42:21 +02:00
Christophe Matthieu 8df0a2a98e [FIX] stock: stock manager can have an access error to stock location
If the user change the access right to filter some stock location or multi
company, the user can have an access error to read stock pack operation.

opw-747526
2017-06-21 09:30:12 +02:00
Nicolas Martinelli 6aa94a5eea [FIX] web: remove "Edit Workflow"
Since all workflows have been removed, remove the menu to edit it, since
it generates a traceback and confuse users.
2017-06-21 08:20:01 +02:00
Goffin Simon 2bf5d1ab0c [FIX] mrp: Test recursive BOM
Test that detects a recursion in BOM when exploding.

opw:745453
2017-06-20 21:12:39 +02:00
Joren Van Onder e0c5e6abd4 [FIX] point_of_sale: display PIN as •'s across all browsers
Before this the -webkit-text-security CSS property was used. This, as
the name implies, only works in webkit based browsers. Instead we can
just render the PIN code as •'s since the value of the inputBuffer is
used (not the rendered text) when checking the PIN.

Fixes #16458
2017-06-20 10:37:30 -07:00
Raphael Collet 52e0540506 [FIX] base: attribute domain on fields cannot be None
When instanciating a custom field, make sure the domain is a list.
2017-06-20 14:18:32 +02:00
Martin Geubelle 28b67ee7dc [FIX] web: properly handle tab navigation with widgets in edit
Rev. https://github.com/odoo/odoo/commit/c5f8f35747b4ca9633c664d6be74614c5ce22fcd
introduced a regression: the input of widgets 'email' and 'url' was not correctly
focused anymore with tab navigation.

The method `getFocusableElement` on their common parent (`InputField`) has not been
correctly overriden because `_super``was not called in edit mode.
2017-06-20 11:17:35 +02:00
hip-odoo 530a1de801 [FIX] purchase: remove wrongly set oldname attribute
In version 8.0, there was a stored field `minimum_planned_date`.
In version 9.0, this field was renamed `date_planned` and loose it
store attribute.
In version 10.0. the field is stored again.

Keeping this `oldname` attribute will lead to reuse old data from
version 8.0 when migrating the database to version 10.0.

Closes #17631
opw-744097
2017-06-20 11:00:14 +02:00
Nicolas Martinelli 7f273f1fe1 [FIX] purchase_requisition: crash if missing default value
If the data `stock.picking_type_in` is deleted, creating a purchase
tender crashes.

opw-747078
2017-06-20 10:46:57 +02:00
Jeremy Kersten 09de52ae5e [FIX] website_sale_portal: show cancel invoice fixing typo in domain
This commit closes #15254
2017-06-20 10:20:45 +02:00
Rohan Patel 477666d3da [IMP] website_sale: improve policy of what is an abandoned cart
Now, an abandonned cart is:
    - a draft quotation
    - in a sales channel with type = website
    - with a customer set (not public user)
    - created more than one hour ago

- removed from_website filter in search view of website sale, added domain in view for display website side sale
- use proper filter for display 'Orders' and 'Orders to Invoice' in dashboard

this commit closes #17383 task-745391
2017-06-20 10:00:12 +02:00
fka-odoo 30783c7a43 [IMP] web: Time(hours,minutes,seconds) should be calculate using timedelta with datetime on web client, added test cases for pyeval datetime.timedelta 2017-06-20 10:00:12 +02:00
Adrien Dieudonne 98100b85dc [FIX] pad: not able to set pad widget
Before this fix, it was possible to set the widget 'pad'
on char fields but it only worked if the current model
inherited from 'pad.common'.
In the other cases, it crashed on closing Studio.

As there is two models only (project.task and
note.note), we decided to remove the possibility to set
this widget in Studio.

opw-745997
2017-06-20 09:56:23 +02:00
Goffin Simon 4623fe8a81 [FIX] mrp: Wrong test
Introduced by dc98d174c7

opw:745453
2017-06-20 09:02:04 +02:00
Jérome Maes 800d54e846 [FIX] phone_validation: bad code comparison
During the formating method, the country code
was compared to the country phone code. Indeed,
phonenumbers python lib return a `PhoneNumber`
object having a `country_code` attribute
refering to the country_phone_code, and not
the country_code (like odoo means).
Consequence: changing the country on a lead
did not make the phone validation work.

Thus, it was required to give both code (country
and country phone codes) to the phonenumbers API,
in order to make a correct verification.
2017-06-20 09:00:47 +02:00
Jérome Maes c124cb71c2 [FIX] phone_validation: type in field help message 2017-06-20 09:00:39 +02:00
Jérome Maes 5af4b36e2b [FIX] project_timesheet_holidays: refusing leaves delete timesheet
When refusing leave, we can not remove linked timesheet,
since they are attached to the leave.
We need to first detach it, then remove the timesheet
entries.

Also, add a test about the removal of linked timesheets.
2017-06-20 09:00:32 +02:00
Jérome Maes d36f8d478a [FIX] sale_timesheet: hide timesheet button on invoice if no timesheet related 2017-06-20 09:00:22 +02:00
Goffin Simon dc98d174c7 [IMP] mrp: Test recursive BOM
Test that detects a recursion in BOM when exploding.

opw:745453
2017-06-19 23:40:27 +02:00
Goffin Simon a133afe8a1 [FIX] mrp: same products in different sub-phantom-BoMs should be allowed
Let's consider 4 products P0, P1, P2 and P3 where:

- P0 depends on P1, P2 and P3
- P1 depends on P2 and P3
- P2 depends on P3

NB: "x depends on y" means that there is a phantom BOM for x where
y is in a line.

With this example, before the fix, when creating a MO for P0,
the function "explode" raised a user error saying that there
was a recursion error.

Even if in this case there was no recursion.

Now to check if there is a recursion, a graph of the dependencies of
the bom is created while exploding the boms and a function "isCyclic"
is applied on the graph to verify that there is no cycle which means
no recursion in the dependencies.

The algorithm was taken from this site: http://www.geeksforgeeks.org/detect-cycle-in-a-graph/

opw:745453
2017-06-19 23:40:27 +02:00
Christophe Simonis 29a7175292 [FIX] website_sale_event: correct test 2017-06-19 17:53:30 +02:00
Nicolas Lempereur 5ac8471eab [FIX] mrp: multi production inconsistencies
When several user run a production on a workorder, things go awry.

For example the end of the "productive" production is computed based on

ProductiveStartTime + DurationExpected - Duration

so if the duration was bigger than the time expected, we easily get a
productive end before the start, and start of the "reduced speed" before
the production actually happened.

eg:

productive time is 30 minutes

user A: start production at 10:00
user B: start production at 10:10

production is set to done at 10:50

=> result before the patch:

user A has been productive from 10:00 to 10:30
user A has not been productive from 10:30 to 10:50
user B has been productive from 10:10 to 10:00
user B has not been productive from 10:00 to 10:50

this is totally erroneous.

=> result after the patch:

user A has been productive from 10:00 to 10:30
user A has not been productive from 10:30 to 10:50
user B has not been productive from 10:10 to 10:50

this is a measure of right, we could argue about wether one or the other
should be productive or not but this is anyway an edge case.

In master we are considering only allowing one user to run a production
at a time but we prefer not to change such a behavior in stable version.

opw-709223
closes #17528
2017-06-19 17:17:37 +02:00
Christophe Simonis 04d5da90e1 [MERGE] forward port branch saas-11 up to 1f73105ddd 2017-06-19 17:08:57 +02:00
Martin Geubelle c5f8f35747 [FIX] web: properly handle tab navigation in readonly
The tab navigation was only working in edit mode. Entering a readonly form
view with input fields was causing a traceback.

As the default browser behaviour has been overriden with custom navigation,
we need to specify which widget can be focused (e.g.: url, many2one, etc.).
2017-06-19 16:47:34 +02:00
Martin Geubelle 21fca784dc [FIX] web: Kanban: avoid ghost records when moving record
In an empty kanban view, when moving a freshly created record from
the second column to the first one, then moving it back again in to
the first one, the record was mysteriously duplicated.

When moving the record, it should be removed from the old column.
In this case, the second column was not found (and thus the record
not removed) because the iteration was on `parent.count` (which is
the count of records in this datapoint (1 in our case)) and not
parent.data.length (the number of columns).
2017-06-19 16:47:33 +02:00
qsm-odoo f92b1a2e96 [FIX] web: failed forward-port of https://github.com/odoo/odoo/commit/c4c9347b9986f60f1b8a534b805e248b25e3eef8
The mentioned commit exposed a `Dialog` instance thanks to a return and
an event triggering. The forward-port failed in saas-14 as the code
landed in the wrong function.

As the event trigger seems to be useless code without any context and
that this code has been hugely refactored in recent versions, this
commit simply removes it.
Feel free to expose variables again in version 11.0.

opw-748027
2017-06-19 16:14:00 +02:00
Christophe Simonis 1f73105ddd [MERGE] forward port branch 9.0 up to 7606b60420 2017-06-19 15:44:49 +02:00
Christophe Simonis 7606b60420 [MERGE] forward port branch saas-6 up to 9ed3ee55a7 2017-06-19 15:41:35 +02:00
Christophe Simonis 9ed3ee55a7 [MERGE] forward port branch 8.0 up to 27a47eb3c3 2017-06-19 15:40:59 +02:00
Richard Mathot fe2db96434 [FIX] website_event_sale: test is now robust to multicurrency 2017-06-19 15:27:12 +02:00
Florent de Labarre 6662cdfcab [FIX] account: add form view on bank statement line
Was not able to open the details from the "Search Operations" action

Closes #17608
2017-06-19 14:42:48 +02:00
Leonardo Rochael Almeida 27a47eb3c3 [FIX] stock: add missing context
method check and run have a context argument that was lost

Closes #17683
2017-06-19 13:32:49 +02:00
Nicolas Martinelli f8a4b4a571 [FIX] website_quote: monetary format
When a discount is applied on a quote, the price is not displayed with
the appropriate format.

opw-746087
2017-06-19 12:27:58 +02:00
qsm-odoo caa4cd2063 [FIX] web: use 'o_input' class on search view elements
Since the new views, the 'o_input' class has to be set explicitely on
<input/> and <select/> elements to have the proper styling.
2017-06-19 11:32:42 +02:00
Adrien Dieudonne 0d2fb541e8 [FIX] *: reports: check required values for 'render_html'
Some reports require additional information to render. When
accessed in Odoo, the user has to fill a wizard to provide those
information. However, when these reports were opened in Studio,
it crashed as those information were missing (we don't pass
through the configuration wizard in this case).

This fix checks if all the required information are given before
trying to render those reports, and it displays a warning in
the logs in they are missing, which is better than a traceback.
2017-06-19 11:18:37 +02:00
Denis Roussel c1a82fffaa [FIX] stock: large picking performance
When the user processes a picking with a large amount of pack operations
but validates a few lines (the remaining goes to a backorder), the
operation can fail due to timeout.

Closes #17670
2017-06-19 10:45:46 +02:00
Nicolas Martinelli eb673297c3 [FIX] mail: add TZ to datetime tracking
Add the TZ to the datetime tracking. At the moment, the TZ is fixed: it
is UTC. However, this avoids any ambiguity when the tracking message is
sent by mail, since in this case, the datetime is not converted
automatically to the TZ of the user.

Adding a simple 'Z' makes the datetime compliant with ISO 8601, so it is
supported by the web client as well.

opw-747367
2017-06-19 10:11:56 +02:00
Nicolas Martinelli 34736b0a6c [FIX] resource: force start_dt
Set up:
- Use the usual working schedule from 8:00 to 12:00 and 13:00 to 17:00.
- Set the OS and user TZ to Australia/Sidney TZ (restart your browser)
- Create a BOM with 3 work orders, taking 1, 2 and 3 minutes (you can
  use the 'Assemble Furniture' routing)
- Create a MO using the previously created BOM, e.g. for '[FURN001]
  Computer Desk'

Case 1: Plan to start the next day at 08:00, e.g. 2017-06-08

The result is amazing. The system probably hit a flaw in the space-time
continuum, which can only be explained with M-theory:
- WO1 is planned from 2017-06-08 08:00:00 to 2017-06-07 08:01:00
- WO2 is planned from 2017-06-07 08:01:00 to 2017-06-06 08:02:00
- WO3 is planned from 2017-06-06 08:02:00 to 2017-06-05 08:03:00

Case 2: Plan to start the next day at 11:00, e.g. 2017-06-08

Once again, the result is literally a piece of art:
- WO1 is planned from 2017-06-08 11:00:00 to 2017-06-08 08:01:00
- WO2 is planned from 2017-06-08 08:01:00 to 2017-06-07 08:02:00
- WO3 is planned from 2017-06-07 08:02:00 to 2017-06-06 08:03:00

To solve the problem, a first commit is made in MRP to force the end
date to be larger than the start date. That hides the issue, but it
doesn't solve it.

To prevent the system to hit the 88 mph and go back in time, we force a
'hard limit' to prevent any selection of intervals starting before the
requested start time.

opw-745905
2017-06-19 08:40:19 +02:00