Commit Graph
111567 Commits
Author SHA1 Message Date
Géry Debongnie 6158c5ce04 [FIX] web: fix issue with combination of o2m, m2m, and m2o
Consider this: a form view with a one2many list view. In the one2many
list view, there is a many2one field.  When opening the manyone in a
modal form view, there is a many2many field.  In that situation,
clicking on 'Add a new record' on the many2many field had the
unfortunate effect of interfering with the one2many field in the main
form view, which caused a crash or the modal form view to close
unexpectedly.

The issue is that an event was simply not properly stopped at the proper
location.  This is usually not a big deal, but, as described above, it can be
a problem in some cases.
2017-11-15 13:48:49 +01:00
Aaron Bohy 6d616c566f [FIX] web: search view: autocomplete on datetime fields
... gives wrong values due to the timezone.

For instance, let's assume that the browser timezone of the user
is UTC+2, and the user types 10/09/2017 10:00:00 in a searchview
with a datetime field in its arch (i.e. which autocompletes on a
datatime field). Before this rev., the suggested value was
10/09/2017 12:00:00, i.e. the timezone offset was added to the
value.

opw 779832
2017-11-13 15:12:18 +01:00
Aaron Bohy c7c3974d61 [FIX] account_asset: never hide depreciation widget
Before this rev., the widget was hidden when the value of its
corresponding field (move_check) was falsy. However, it should
always be visible, regardless its value.

opw 781628
2017-11-13 10:56:41 +01:00
Aaron Bohy 68d4b4f1e1 [FIX] web: grouped list views: allow sorting groups
Before this rev., sorting groups in list views wasn't supported. It
hadn't been implemented in the new views.

This rev. activates the feature, so groups can now be sorted on
their aggregates again. It also implements a basic (first level
only) sorting in mockReadGroup, in the mock server.

opw 781288
2017-11-13 10:56:32 +01:00
Géry Debongnie 3120f95fa4 [FIX] web: prevent test interference
In the view dialog test suite, a few tests created a parent widget, then
created a view dialog, and destroyed the view dialog at the end, but not
the parent widget.  As a result, the environment was not properly
restored at the end.

In this case, the test 'SelectCreateDialog correctly evaluates domains'
changed the session (with user_context: {uid: 2}), and this made other
tests crash (web_editor test in particular)
2017-11-10 15:17:28 +01:00
Lucas Perais (lpe) 1a253d3ae2 [FIX] web_editor: mediaDialog should trigger change
before this event, when editing an email template from the chatter
by adding an image through the mediaDialog, the message was always empty
if nothing more than the image was present.
this was because the html field was not marked as dirty,
the event responsible for the marking was not triggered.

After this commit, when sending solely an image from the media dialog,
the email sent does contain the image

opw 779167

closes #20817
2017-11-10 10:30:34 +01:00
Christophe Simonis 82add438f2 [MERGE] forward port branch saas-15 up to 90ca872071 2017-11-09 18:05:49 +01:00
Christophe Simonis 90ca872071 [MERGE] forward port branch saas-14 up to d171f282c3 2017-11-09 16:49:41 +01:00
Christophe Simonis d171f282c3 [MERGE] forward port branch 10.0 up to f8540501ac 2017-11-09 16:19:21 +01:00
Martin Trigaux f8540501ac [FIX] hr_expense: verify the constrain server side too
The groups were set only on the view which does not prevent abuses.
The fact that users can bypass the groups on the view is not critical as the
changes are logged but this should be improved nevertheless.

In master, proper record rules should be set.

Closes #20427
2017-11-09 15:51:14 +01:00
Christophe Simonis 9c634b5b30 [MERGE] forward port branch 10.0 up to a63ecee47a 2017-11-09 15:16:57 +01:00
Géry Debongnie ae4501da9c [FIX] web: do not lose onchange info in some rare cases
Here is a situation where we had a problem:
- a form view with a one2many field, which has no inline views
- the (non inline) list view has a field A, and is not editable
- the (non inline) sub form view has fields A and B, with an onchange on
  B which modifies A

In that case, the user could do this:
- go to edit mode
- click on 'add' a new one2many line
- change the value of B in the form view, this changes the value of A
- click on save to close the modal form view
- click on the new o2m record to reopen the modal form view
- rechange B
=> the onchange does not work

The explanation is that when we reopen the modal, we update the known fields
information, but we had to perform a fieldviewget to fetch the list
view, so we have a full knowledge of the fields.  However, the code did
not update the fields info (because it uses _.default), which means that
the onchange information contained in the form view is lost.

Note: the test system had to be adapted to more closely simulate what
actually happens.  In particular, the onchange flag is no longer added
by the mock server, since it should be done by the data manager, like
'real' code.  This change broke the basic model tests, which had to be
modified accordingly, by setting manually the onchange flag.
2017-11-09 14:03:35 +01:00
Adrien Dieudonne fe4f63d325 [FIX] web: create in editable grouped list views
Before this commit, an issue occured when you tried to
create a new record in a editable grouped list view.
A new line was created with an undefined group.

Editable grouped list views are not supported.
So now, we have to switch on the form view when
you click on create. This behavior is already implemented
when you open an existing record.
2017-11-09 11:45:04 +01:00
Goffin Simon a63ecee47a [FIX] website_sale: Wrong apply of the fiscal positions when choosing shipping address
In 11.0, this part of the code has been removed.

When choosing the shipping address in the cart, if a tax has been mapped
by a fiscal position, the subtotal was not correctly computed.

opw:778405
2017-11-09 11:44:38 +01:00
Martin Trigaux b1bf99b7e3 [FIX] base: correct Model Overview report
Since 3d04e448, the reports must start with a `article` class, not `page`.
The report was not adapted.

Fixes #20066
2017-11-09 10:56:52 +01:00
Lucas Perais (lpe) 7c486b4d0c [FIX] mail: visitor to portal_user should keep livechat channel
adapting #20279 to v10

Before this commit, when starting a livechat session as a public user and continuing as a portal user, the livechat crashed
(the poral user couldn't see the channel created before as Admin)

After this commit, the conversation is kept and security insured by the uuid in the cookie

OPW 775568

closes #20281
2017-11-09 10:44:37 +01:00
Christophe Simonis 9342517fcf [MERGE] forward port branch 9.0 up to 35aa2a977f 2017-11-08 17:30:45 +01:00
Raphael Collet b206d83c03 [FIX] ir_cron: refactor _acquire_job to retrieve useful information
The method `_process_jobs` provides an alternative API to process the cron
jobs, that does not catch exceptions and log them.  This makes the processing
of cron jobs easier for scripting.
2017-11-08 16:03:16 +01:00
Raphael Collet 763d714f0e [FIX] ir_cron: do not run cron jobs during module installation/upgrade 2017-11-08 15:57:33 +01:00
Jeremy Kersten 35aa2a977f [FIX] website_slide: fix traceback when slide is a google doc or youtube link
In case we are not uploading a file but add a slide based on google doc url
or youtube link, post['datas'] is not set and the code will crash.

Javascript don't check the onError, so the user never see the error and wait
 that nothing happend.
2017-11-08 13:00:07 +01:00
Thibault Delavallée a25358eae3 [REM] hr: remove unimported file
Leftover of 78ac6de52d code about mail gateway was moved to
mail_alias.py but mail_thread.py file was not removed.
2017-11-08 12:55:33 +01:00
Thibault Delavallée 20d8025036 [FIX] mail: followers alias check on models not inheriting from alias mixin
You could try to check followers on a model not inheriting from mail alias
mixin. In that case current code would check followers on a void mail
alias mixin record, meaning no followers found. Instead we now
differentiate the class method from the method checking record properties.
2017-11-08 12:51:13 +01:00
Thibault Delavallée d6a5c126e7 [FIX] mail: correctly return and log error message when checking aliases
Mesage should be message otherwise it is not displayed in the logs.
2017-11-08 12:47:12 +01:00
Odoo Translation Bot 43e5f5a67f [I18N] Update translation terms from Transifex 2017-11-08 11:08:53 +01:00
Géry Debongnie 9e97ad8dce [FIX] web: prevent useless discard dialog from showing up
Here is a scenario that could cause an issue:
- open a form view with a many2one
- click on edit button
- click on small external button for many2one. this opens a modal form
  view
- click on save in the modal (without changing anything)
- click on save in the main record
- exit form view. this opens a discard dialog

There were two issues here:
- saving the modal dialog automatically marks the many2one field as changed.
  This was necessary to force reloading the data, because editing a sub value
  in the modal form view could have changed the display_name of the manyone
  field.  However, this is not necessary when no change was done.
- when saving a record, the _isDirty flag was reset to false only if an
  actual rpc was done.  However, it may happen that the flag is set to
  dirty (for example, when modifying a value inside a many2one), but the
  main record has no changed fields.

In this commit, we also remove the on_save handler in the
formviewdialog.  This is a small refactoring in a stable version, but no code
currently use it, and I believe that it will make the code much easier
to maintain (the previous code was really awkward), so I think that the
tradeoff is acceptable.
2017-11-08 10:50:12 +01:00
Thibault Delavallée 53ad585bfc [FIX] mail: ease activities management through documents
This commit improve the daily use of activities by delegating activities
management to the document. Activities are already managed on document
through the UI either in form view or in kanban view.
2017-11-08 10:42:31 +01:00
Lucas Perais (lpe) 324d4bfb56 [FIX] web: fields set in fieldDependencies should have their "options" set
Bug brought by f45edfb

Before this commit, the debug manager crashed when clicking on "set defaults" on a view fetching a fieldDependency.
This was because the "options" key on the field was not set when the field originated from the fieldDependency of a widget.

After this commit, the data_manager ensures that key is present

OPW 780071

closes #20730
2017-11-08 10:21:32 +01:00
Thibault Delavallée f8c974cf6e [FIX] mail: speedup tracking values computation when reading messages 2017-11-08 10:00:47 +01:00
Jeremy Kersten 15715e822c [FIX] hr_timesheet_sheet: avoid ambigous field action in sql.
ERROR: column reference "action" is ambiguous

This commit closes #13839
2017-11-07 16:32:09 +01:00
Aaron Bohy 0f638b3c63 [FIX] web: correctly evaluate domains and contexts in dialogs
An error occurred if the domain or context applied on a view
opened in a dialog needed to be evaluated (e.g. if they contained
something like [['some_field', '=', uid]]). For instance, create
a custom filter with such a domain for the Contact model, then go
to Contact, create a new one, and on the parent_id many2one, click
on search more. Before this rev, no eval context was given so the
domains and contexts couldn't be evaluated, and it crashed.
2017-11-07 15:33:23 +01:00
Nicolas Martinelli 3b43ddd21b [FIX] crm: default user when copy
- Create a user A
- Create a lead, assign to A
- Deactivate user A
- Duplicate the lead

A notification email is sent to A (user assigned to the lead).

Since the user is archived, he should not receive any email since it
might contain sensitive information.

opw-778825
2017-11-07 14:47:31 +01:00
Martin Geubelle 255478acbd [FIX] web: clear m2o input at creation cancel
After entering a value in a many2one, if one clicks somewhere else, a popup
is opened to suggest the user to create (or not) a new record with the entered
value.

Before this rev, closing this popup resulted in an unclear situation where the
input was still set with the entered value but the new record hadn't been created.

This commit fixes this by clearing the input value if the record is not created.

See task#36055
2017-11-07 14:12:18 +01:00
Jeremy Kersten f8bf66b6de [FIX] website_crm_partner_assign: assign opportunity to the commercial_partner_id
Before this commit, an opp created from a contact via the portal was assign to
himself instead of the commercial_partner_id.

So the saleperson was not assigned to the opportunity, and the opp created was
not for the company but for the contact only.

That make sense to share the opp to the company and assign the saleman directly.

Thanks to GBR for the reporting.
2017-11-07 11:38:12 +01:00
Christophe Simonis 5f9c3f51a8 [MERGE] forward port branch saas-15 up to db4886d511 2017-11-07 11:01:14 +01:00
Christophe Simonis db4886d511 [MERGE] forward port branch saas-14 up to 928a284b11 2017-11-07 10:59:45 +01:00
Nicolas Seinlet 6488682cd6 Backport 2d66d9a63e
[FIX] *: do not use groups when extending an asset bundle
Using groups when declaring an extension of an asset bundle leads to a
different generated asset bundle according to the user's group. This
is not something we want because a dynamic asset bundle's content
means that it could (and it does) trigger unwanted cache invalidation.

website_event, website_blog, website_forum and website_sale add
functions to . These functions are bound to
server side qweb nodes protected by groups. We can always add the
functions; if a user tries to use the routes he should receive a
traceback because of lack of access rules

website_blog adds a  module, but is guarded by
the presence of a node in the DOM. We use the same logic to guard the
module added by website_sale with the  node.

website_gengo is working as expected.
2017-11-07 10:57:06 +01:00
remi-filament 2904192ad6 [CLA] signature for remi-filament
Closes #20724
2017-11-06 16:43:19 +01:00
Christophe Simonis 928a284b11 [MERGE] forward port branch 10.0 up to 08ab28a66c 2017-11-06 16:00:15 +01:00
Nicolas Martinelli 08ab28a66c [FIX] sale_expense: fields consistency
Use case to reproduce:
- Set a product to be expensed
- Set the expense_policy to something else than no
- Do a delivery order with a picking
- Validate the picking
-> Delivered quantity to 0 and impossible to create an invoice
if the invoice_policy is delivered_quantity

It happens due to this commit 48ea59d
What does it do:
- The move could be generated by an expense.
- If the move has 'no' as expense policy thus we won't add it in the invoice
Problem we can't guess if the move come from an expense or not (limitation).

This commit add an onchange on can_be_expense is order to set the expense
policy back to 'no' when the user uncheck it.

Courtesy of amoyaux

opw-777139
2017-11-06 13:05:37 +01:00
Christophe Simonis 88c641e6dc [MERGE] forward port branch 10.0 up to 6c1c1f6e9e 2017-11-06 12:42:56 +01:00
Odoo Translation Bot 6c1c1f6e9e [I18N] Update translation terms from Transifex 2017-11-05 01:11:44 +01:00
Christophe Simonis bf102b4cbc [MERGE] forward port branch 9.0 up to 6c996723b2 2017-11-03 14:36:22 +01:00
Lucas Perais (lpe) 4b72944bba [FIX] point_of_sale: fix invoice download and receipt printing
When opening the POS in this specific case:
- Under Mozilla Firefox
- auto printing the receipt is True
- invoicing is True

Before this commit, when issuing an invoice for a customer, a Traceback was thrown to the user and the invoice was not downloaded.
This was because the invoiced parameter resolved before the printing action was.

After this commit, we constain the invoiced parameter to be resolved when the action returns.
There is no traceback, and the invoice is downloaded

OPW 777647

closes #20570
2017-11-03 14:27:24 +01:00
Christophe Simonis 5fa577a14d [MERGE] forward port branch saas-15 up to 8ec60550a7 2017-11-03 13:36:41 +01:00
Nicolas Martinelli 6c996723b2 [FIX] point_of_sale: wrong variable name
`tax_amount` is not defined here, making it impossible to remove an
order line...
2017-11-03 13:16:15 +01:00
Nicolas Martinelli f85c8843c9 [FIX] account, point_of_sale: tax with fixed amount
- Create a tax:
  Fixed amount: 10
  Price included
- Add it by default to a product costing 100
- In a SO/PO/Invoice, add 2 units of the product

The total price is 210 instead of 200.

opw-779696
2017-11-03 12:57:34 +01:00
Denis Ledoux 8360daa057 [FIX] sale_stock: failing sale_stock.tour according to the modules installed
The `sale_stock.tour` failed in the case the admin was not
part of the group
`product.group_stock_packaging`
or the group
`sale.group_mrp_properties`

because then the sale order was working with the editable list,
which does not open a dialog,
while the test was relying on the dialog to be opened,
in order to close it.

The fix is simply to pass the fact to close the dialog if
there is none.

opw-779308
2017-11-03 12:51:09 +01:00
Christophe Simonis 8ec60550a7 [MERGE] forward port branch saas-14 up to d8888bdbae 2017-11-03 12:50:21 +01:00
Christophe Simonis d8888bdbae [MERGE] forward port branch 10.0 up to aaa7566141 2017-11-03 12:10:41 +01:00
Christophe Simonis aaa7566141 [MERGE] forward port branch 9.0 up to 455b5aaff8 2017-11-03 11:42:39 +01:00