Commit Graph
127612 Commits
Author SHA1 Message Date
Jérome Maes ffba5c688f [FIX] hr_expense_check: remove duplicate key in manifest
The 'category' key is already present in the manifest.
This duplicated key makes odoo create a new module
category, with a bad xml id
(module_category_accounting_andamp;_finance), since
the ampersand was escaped.
2017-06-29 11:23:48 +02:00
Goffin Simon 9153de1bcf [FIX] website_sale: website payment terms issue with portal users
Steps to reproduce the bug:
-create a child contact of a company C
-invite the child contact as a portal user
-sign into the website and place an order w/ wire transfer as payment acquirer

Bug:
The payment term set on the quotation was not taken from the company C and
the default sales person  was not taken from company C too.

opw:745091
2017-06-29 10:51:01 +02:00
Nicolas Martinelli d63a01f939 [FIX] base: sequence date range
Ensure to search a maximum of 1 record to avoid crash.

opw-748971
2017-06-29 09:33:15 +02:00
Richard Mathot 4d4ff7c5e7 [IMP] doc: mixing attrs and states is iffy 2017-06-28 17:38:32 +02:00
Goffin Simon c38902cd1a [FIX] website_event: Wrong display of online event
The address must be hidden and the status "Online" must be diplayed
on online event.

opw:744060
2017-06-28 17:06:17 +02:00
Martin Geubelle ec3bc2eeaf [FIX] web: deal with reference fields
The reference fields haven't been correctly implemented with the new views.
This commit restores their behaviour.

Note that an small improvement has been introduced in this commit.
Before saas-16, a `name_get` was done for each record (so 80 if the field
was displayed in a full list view), which is not optimal. The calls are now
batched by model (so one `name_get` by model appearing in the field values).
2017-06-28 16:53:45 +02:00
Martin Geubelle 157732cfb1 [FIX] web: FieldText: keep editing the textarea after enter
In the editable list, when pressing enter, the cursor goes to the next line and
the current row is saved.

This should not be the case for a textarea (i.e. in the FieldText widget). In
this particular case, we just want to continue editing the textarea.
2017-06-28 16:53:45 +02:00
Fabien Meghazi af6328c2a2 [FIX] point_of_sale: pos.order#create loose the company_id since the new api migration (opw: 746677)
https://github.com/odoo/odoo/commit/32b5515a8ff6047db489e569935b4416f946bc26#diff-5eeb7d6a1a488dff039e5cc3300730e1L513
2017-06-28 16:33:24 +02:00
Nicolas Martinelli 685bea92d1 [FIX] account: show the 'reference' field in report
Some module, such as `l10n_be_invoice_bba`, use the field to provide
information to customers. Basically, if this field is filled in, we
should print it.

This reverts commit 59efea7e31.

opw-748930
2017-06-28 16:19:42 +02:00
dbh 22c94287dd [IMP] website_sale: make form match website_form_editor structure
- Labels are now left-aligned in xs
- col-md-* sizes of newly added field were not the same

Note: forms should be reviewed to have a proper bootstrap structure and
website_form_editor should be smarter (see task-34451)

task-31510
2017-06-28 16:19:40 +02:00
Naglis Jonaitis 1b1e0a932a [FIX] rating: typo in submit_rating controller endpoint definition
If no method is specified, all are accepted

Closes #17890
2017-06-28 15:52:10 +02:00
Raphael Collet b8cf940247 [ADD] base: new wizard to uninstall a module (#17284)
The "Uninstall" button on the module form no longer changes the state of
modules, so that cancelling the wizard will not unexpectedly perform the
uninstallation.  The uninstallation is performed only by clicking on the
"Confirm" button on the wizard.

Moreover, the wizard provides clearer information about the impact of the
uninstallation: what apps/modules will be uninstalled and what documents
(models) will be lost.
2017-06-28 15:36:17 +02:00
xmo-odoo 98602e93cc [FIX] PO translations export
Within the scope of P3 compatibility, a StringIO was replaced by
BytesIO in b4429c2a91, however I missed
that BytesIO is much stricter about types than StringIO *even in
Python 2*. Some bits of text would sneak up in PoFile.write or
PoFile.write_info and blow up the export.

The BytesIO makes sense for output (tgz is definitely not a text
format and base64 is a bytes -> bytes encoding), but ensuring the
entirety of PoFile worked on bytes seemed distasteful (and lots of
changes), it seemed more sensible at all levels that PoFile would make
sure to properly work on *text*, and to add a text adapter wrapper
around the BytesIO buffer.

io.TextIOWrapper was almost perfect (it closes the underlying stream
on close but that can be worked around) *however* it turns out
TextIOWrapper does not work on Python 2's `file` objects... so use the
older codecs.StreamReaderWriter which should be able to do the job
properly.

fixes #17834
2017-06-28 15:35:53 +02:00
Alexis de Lattre bff4922f7c [FIX] l10n_fr_certification: avoid auto-install
As of June 15th 2017, according to
http://proxy-pubminefi.diffusion.finances.gouv.fr/pub/document/18/22503.pdf
Will not be required for all FR companies.
The certification will only be required for POS software, not for accounting
softwares.

Disable autoinstall, waiting to have more information on the changes to be voted.

Closes #17771
2017-06-28 15:15:03 +02:00
Martin Trigaux 81ff060fb4 [I18N] export base source terms 2017-06-28 14:53:55 +02:00
Goffin Simon ecdf96e8a7 [FIX] mrp, stock: Traceability of MO disappears when product returned after delivery
Steps to reproduce:

Let's consider product P tracked by serial number
P has a manufacture BOM B with Q as componenent

- Produce P with serial number SN(with MO)
- Send P with SN to a customer A(with SO and DO)
- Force availability on P to a customer B(with SO and DO)
- Return P to stock for customer A.

Bug:

The tracability for P removed the component Q(consumed_quant_ids)
when reconciling the negative quant(generated for B) with the returned
quant from A.

opw:744424
2017-06-28 14:51:27 +02:00
Jeremy Kersten 32423169af [FIX] web: namespace the event for Apps Widget.
With the new client web from v9, we start the new action before to destroy the old one.

When we switch from Apps (store) to Update and vice-versa, iframe was not loaded correctly.

In case of the Apps widget, we are binding event of the new iframe during the start,
and when it is ready, we destroy the old ifram and so unbind the listener of 'message.apps'.

Using a uniq id, we ensure to bind new event, and only unbind old event during the destroy.
2017-06-28 14:36:11 +02:00
Nicolas Martinelli a93195ee4e [FIX] payment: do not create token in backend
Complement of commit e8dec0fdf1

opw-746545
2017-06-28 13:37:26 +02:00
Darshan Kalola 7ada921e67 [FIX] web_editor: make html widget translatable
The translate feature of widgets html and html_frame had been
broken by the new views refactoring. This commit restores it for
the html widget, and removes it completely for html_frame as it
wasn't working correctly before the new views anyway (moreover,
it had already been disabled for mass_mailing: de403dc1ab).

This commit also ensures that the changes are correctly saved for
the html_frame widget. Note that this widget still needs to be
converted to our new coding guidelines.
2017-06-28 12:41:35 +02:00
Adrien Dieudonne 9f4922a852 [FIX] web: test wrongly adapted in ceff4d460
A test has been adapted in ceff4d460 whereas it shoudn't.
Indeed this commit doesn't change anything in the case of 'Discard'
button clicked.
2017-06-28 11:47:33 +02:00
Mitali Patel 026f9ce085 [FIX] mrp: Fix typo 'grousp' -> 'groups'
Prefetcion certailny does have it's prace
2017-06-28 11:46:27 +02:00
Laurent Smet 09296e74e9 [IMP] account: show payments on invoice report.
Each time the invoice is printed, it shows an updated remaining amount on the invoice. The first print, though, is kept as canonical reference as attachment.

Was PR#16343
2017-06-28 11:43:32 +02:00
Laurent Smet 8e230ae25d [FIX] base/report: fix attachment creation without attachment_use
If attachment_use is false and attachment_name specified, the attachment
is not created.
2017-06-28 11:43:32 +02:00
Adrien Dieudonne ceff4d4608 [FIX] web: basic_controller: wait for the mutex before discard changes
Before this commit, the discard confirm dialog was directly shown
without waiting for the write RPC. For instance, it the user clicked on 'Save'
after editing a record, and then directly clicked on another menu or on the
breadcrumb before the write RPC returned, the record was still considered
as dirty and thus the confirm dialog was displayed. We now wait for the RPC
to return before checking if the record is dirty, so that the confirm dialog
is only displayed when the record is actually dirty.
2017-06-28 10:40:35 +02:00
Nicolas Martinelli 1b3a2c488c [FIX] website_portal_sale: access to invoices
In the website portal,the Sales Orders are always rendered as superuser
after access rights check. This is not the case for invoices, which can
lead to access errors when the user tries to download the invoice PDF.

To solve the issue a new route is created. It handles the access rights
checks, then access the invoice document as a superuser.

opw-747854
2017-06-28 10:05:54 +02:00
Xavier Morel 6ad587dc8f [FIX] db restoration existence check
5ee9ec7d removed bool(Connection), turns out db restore still used it
but muted the logger so that was hard to notice in the logs.
2017-06-28 10:05:33 +02:00
Nicolas Lempereur 2bda46ce78 [FIX] website_sale_digital: check product tmpl sudo
For example the portal user has restricted access to product template,
this can lead to an issue that should not be in this instance that is
checking if the product template correspond to a product sold.

opw-748480
closes #17871
2017-06-28 09:36:09 +02:00
Goffin Simon cf66983f37 [FIX] base: Language translation import issue
When importing translations with a csv, the state of the translations was
always set to "To translate" even if the state was "Translated"
due to function _inverse_source.

PS: Making self.source when self is considered as record set could lead to an error.
The return in this function was not needed.
In old API this function was called just for one record.
So this function expect only one record at each call.

opw:747877
2017-06-28 09:27:20 +02:00
Nicolas Martinelli 9771056c46 [FIX] mrp: unlink lot
- Set a user with 'User' access rights in Manufacturing and Inventory
- Create 2 products tracked by lot (A and B)
- Receive some quantity of B, define the lots.
- Create a BOM for A, depending on B. The BOM must use routing with at
  least one workorder

With the unprivileged user:
- Create a MO for 1 unit of A
- Update quantity to 3
- Plan the MO
- Go in workorders, start working and set the lot numbers for A and B.
- Finish the WO => Access Error

opw-748825
2017-06-28 08:38:16 +02:00
Jeremy Kersten 653e30d8f8 [FIX] website_sale, website_crm : add missing import and remove useless
Fix: NameError: global name '_' is not defined

Related to odoo/odoo@4c66eae308
2017-06-27 22:29:13 +02:00
Olivier Dony 08934f967a [FIX] mass-mailing: avoid ETA date jumping in the past
The ETA displayed on a mailing should only switch from the scheduled
date to the next cron run when the cron run is after the scheduled date.

Previously it could jump in the past on the scheduled date, if the next
cron run was in the past (delayed or in progress).
2017-06-27 20:12:15 +02:00
Jeremy Kersten 4e8ebc7a72 [FIX] crm: valid the salesteam when programmatically change the user …
…of a lead

Implement it as a constraint.

Better implementation of odoo/odoo@222cca2
2017-06-27 17:34:07 +02:00
Ankit Joshi 16ebec2324 [FIX] http: avoid crash in web/database/selector when selecting invalid database (#17830) 2017-06-27 16:52:20 +02:00
Joren Van Onder 8108904247 [IMP] account: implement tax_base_amount on account.move.line
Stores the base amount of the tax specified by tax_line_id. Useful for auditing tax reports.
2017-06-27 16:10:54 +02:00
Christophe Simonis d2c30410a8 [FIX] stock: correct import 2017-06-27 15:52:37 +02:00
Yannick Tivisse 8639152501 [FIX] crm: Prevent to select non-customer on lead quick creation
Purpose
=======

If you create an opp from the kanban you can select any contact (even if not marked "customer")

If you try to add a "non-customer" for the same field from the form view you cannot.

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

Apply the same behavior than on the form view.
2017-06-27 15:26:03 +02:00
Aaron Bohy df45cf65a8 [FIX] mail: discuss: correctly bind handler 2017-06-27 15:25:34 +02:00
Christophe Simonis 674a347e13 [FIX] stock: correct PY3 incompatibility introduced by previous forward-port 2017-06-27 14:58:33 +02:00
Aaron Bohy 964b7c378f [FIX] web: apps: correctly use this._rpc
session.rpc should not be used anymore. The function '_rpc'
available on widgets should be used instead (with the correct
params).

Also, 'session' is no longer a widget attribute.
2017-06-27 14:25:00 +02:00
Christophe Simonis 786889511b [MERGE] forward port branch saas-16 up to 32396ec64e4 2017-06-27 14:23:37 +02:00
Christophe Simonis dd43071638 [MERGE] forward port branch saas-16 up to 278e478d55 2017-06-27 14:19:31 +02:00
Aaron Bohy 9fbed63406 [FIX] web: FieldSelection on m2o: unset value
When the value of a many2one field with widget selection was unset,
it's value wasn't actually set to false in the BasicModel. It was
set to a virtual id like 'virtual_294' instead. This caused a
traceback when this value was sent to the server, obviously.

This was for example the case of the Register Payment form view
(accessible from a customer invoice), when the user selected a
payment journal, and then unselected it (the virtual id was then
sent to the onchange RPC).
2017-06-27 14:12:31 +02:00
Aaron Bohy 7ea6f653df [FIX] web: MonetaryField: rerender with currency
The MonetaryField can be rendered with or without a currency. The
currency can change during the lifecyle of the widget (e.g.
currency field in the view, whose value is set by an onchange).
More precisely, the widget can be instantiated without currency,
then a change on another field can trigger an onchange which sets
the currency, and our monetary widget is re-rendered with a
currency.

Before this rev., this wasn't supported in edit mode because the
$el's root node was different if there were a currency or not
(it was an input if there were no currency, and a div containing
an input and a span otherwise). This root node being rendered only
once (at the creation of the widget), the widget wasn't re-rendered
correctly if the currency was suddenly set or unset.

This fix makes the widget behave uniformly whether or not there is
a currency, so now it is always a div containing an input (and
optionally a span if there is a currency).
2017-06-27 14:12:31 +02:00
Aaron Bohy 816a3cd2c1 [FIX] web: ViewManager: filter out some keys from context
A traceback occured when trying to create a BOM by going to
Inventory > Master Data > Products, on a product form view clicking
on the BOM stat button, and then on 'Create'.

This was a context problem: the context of the 'Products' action
was passed to the 'BOM' action without removing action specific
keys like 'default_*' or 'search_default_*'. For instance, it
contained a 'default_type' key, and as type is also a field of the
mrp.bom model, the python tried to interpret it, except that the
given value wasn't a correct value for mrp.bom.

When a button is clicked, we mix contexts coming from different
places to execute the new action. For some of them, we already
filtered out those action specific keys. This fix is simply to
make the piece of context adding the problematic keys pass though
the filter as well.
2017-06-27 14:12:31 +02:00
Aaron Bohy 4881f942cb [FIX] web: BasicModel: correctly eval x2manys in domains
When x2many fields have to be evaluated in domains (e.g. ['id',
'in', some_x2many_field]), they must be evaluated as the list of
ids in the relation (whereas in contexts, they are evaluated as a
list of commands). Before this rev., they were always evaluated as
a list of commands.

Note that this didn't work neither before the new views.
2017-06-27 14:12:31 +02:00
Aaron Bohy 17e198153e [FIX] web: BasicModel: store changes in x2many as operations
Datapoints of the BasicModel store the data fetched from the
server and changes done (not saved yet) by the user. For x2many
fields, datapoints are of type 'list' and have a 'res_ids' key
containing the ids of all records in the relation. They also have a
'data' key containing datapoints of type 'record', representing the
records in the relation that have been fetched (with a limit set to
40 or 80 depending on the subview used). So basically, the length
of res_ids may be different than the length of data.

Before this rev., the changes in x2manys were saved under the key
'_changes' as a duplication of the content of 'data', i.e. same
list of datapoints of type 'record', modulo the changes done (it
contained the new records added and didn't contained the removed
records, whereas the 'data' remained unchanged). This didn't worked
at all when there were more records than the limit in the relation.
Indeed, when this happened, the commands to send to the server
couldn't be generated correctly.

This rev. modifies the way changes are stored in those datapoints.
Now, each change is stored as an operation. An operation could be
of type 'ADD', 'REMOVE', 'REMOVE_ALL' or 'UPDATE'. As before,
'data' remains unchanged and always keeps the datapoints of records
that have been fetched (the ones that are currently displayed in
the list or kanban subview). This way, commands can now be properly
computed.

This had a nice side-effect of fixing two other bugs linked to
x2manys.
First, when used in a context (e.g. {some_key: some_x2many_field}),
the value of some_x2many_field (i.e. a list of commands) was always
[] if the field was invisible="1" in the view, because it's
subrecords weren't fetched, and the generated commands were based
on them. Now, they are generated from the list of res_ids in the
relation, so it works fine.
Second, the x2many records are supposed to be sorted client-side,
after being read, and after each edition. This was working in the
first case, but not in the second. Now it's working even after
a record edition.

This rev. also correctly sets the 'parentID' and 'static' keys in
datapoints.

Finally, we also fixed the pager in x2manys as it was badly
displayed (small less tweaks).
2017-06-27 14:12:31 +02:00
Goffin Simon a8c12e1fd0 [FIX] sale: Updating dashboard_graph_model when uninstalling Sales
Uninstalling Sales with CRM still installed lead to an error
when clicking on CRM app because the dashboard_graph_model was not
updated for each crm.team record.

opw:748099
2017-06-27 14:02:05 +02:00
Christophe Simonis d7c947b354 [MERGE] forward port branch saas-15 up to 6492adc3c4c 2017-06-27 13:45:01 +02:00
Christophe Simonis 1982c570d3 [MERGE] forward port branch saas-15 up to 6492adc3c4c 2017-06-27 13:45:01 +02:00
Christophe Simonis 4889fdb135 [MERGE] forward port branch saas-15 up to 6492adc3c4c 2017-06-27 13:45:01 +02:00