Commit Graph
106440 Commits
Author SHA1 Message Date
Simon Lejeune 95a391f815 [FIX] report: more precise routes in the controller
ie, make `converter` argument not a path but a string. Converter
in our codebase are one-word string anyway (html, pdf).

This is done because a less asset in the report module is not reachable
in debug mode (it is a fake file that is reachable by a fallback in the
http dispatching and the fallback is not done because the `/report/converter
` matched the route of the fake file).
2016-07-05 17:48:32 +02:00
Simon Lejeune b7de723b8c [ADD] report: improve client action to allow sending do_action commands 2016-07-05 17:44:56 +02:00
Simon Lejeune 752cd0a482 [REF] report: replace the popup with an iframe in a client action
This change concerns reports of `qweb-html` type. Previously, they were
openned in a popup and it was not very practical. We chose to open these
reports in an iframe (as opposed to what's done in `account_report`) in
order to be the most close to the pdf version in terms of apperance.

The client action allows an integration with the control panel. Apart from
the breadcrumbs integration, we also add buttons to handle the web_editor
(save, discard, etc). We also add a button to print the pdf version.

As there is some security concern to communicate with an iframe, we use
the postMessage[1] technology and we fix the `targetOrigin` to the
`web.base.url` parameter, that means that if the window to which we send
the message does not match the `web.base.url` origin, the event is not
even dispatched.

In order to to that, the report module uses the ir_http `session_info`
override mechanism to add the `web.base.url` in the DOM of the webclient,
 and the report module adds to the DOM of report the `web.base.url`
content. This way, both scripts (in the webclient and in the iframe)
have the information of the trusted origin.

The client action does not have a complicated logic: it opens the
report's url in an iframe to show the report or open the web_editor
(the editor is activated by using the `enable_editor` query string.
If you click on the control panel button (save/discard) it'll send
message to the web_editor in the iframe to ask for save and discard.
It also waits for messages to know if the edition is done / cancelled
and toggle buttons of the control panel accordingly.

To allow that, we override the web_editor mechanism if it's opened in
an iframe and we chain to the `save` and `cancel` method deferred that
send message to the client action's window. We also make the web_editor
waits for message to start and stop the edition (controlled by the
control panel buttons).

The override of the action manager has been refactored / improved in
order to open the clien action and not the popup anymore. This way
we are able to, in the client action, return the current action with
the type `qweb-pdf` and the report is downloaded.

[1] https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage
2016-07-05 17:44:56 +02:00
Simon Lejeune 06770f53bf [FIX] web: allow on_(attach|detach)_callback callbacks to be called
The `on_attach_callback` and `on_detach_callback` callbacks are
called when an a widget is attached / detached according to the
`is_in_DOM` variable. As the community's action manager cannot
be detached from the DOM, we can hardcode this value to true.

This allow to run these callbacks when needed.
2016-07-05 17:44:56 +02:00
Simon Lejeune 2fdf631809 [FIX] web: control_panel: do not trim breadcrumb's title if undefined 2016-07-05 17:44:56 +02:00
Simon Lejeune eed7fdb6fe [REF] web_editor: cancel method of RTE should be async
and return its deferred. This commit makes the behavior consistent with
the `save` method.
2016-07-05 17:44:56 +02:00
Simon Lejeune 5c54571f4e [FIX] web_editor: remove the editable key if no write on the model
The `check_access_rule` call allow to remove the `editable` key from the
rendering context (which will lead to the display of the editor bar) if
an access rule prevents the edition of the ir.ui.view record. Also remove
it in case the user has no write access on the model (i.e. demo user).
2016-07-05 17:44:56 +02:00
Alex Comba e3954a3457 [FIX] stock: fix AccessError on stock.quant while trying to resolve an inventory line linked to a package closes #12511 2016-07-05 17:36:45 +02:00
rgo-odoo 27787265dd [MIG] crm_partner_assign: Converted yml test cases to python unittest 2016-07-05 17:27:44 +02:00
rgo-odoo 053982f48d [MIG] website_crm_partner_assign: Code migration to new api 2016-07-05 17:27:44 +02:00
rgo-odoo ac94ed70ec [MOV] website_crm_partner_assign: splitted the files according to new api guidelines 2016-07-05 17:27:44 +02:00
rgo-odoo 994ee31a61 [MOV] website_crm_partner_assign: directory restructuring according to new api 2016-07-05 17:27:44 +02:00
Josse Colpaert 3de53fa165 [FIX] stock: no rereservation needed in a lot of cases and make sure the moves passed to action_done are those from the recomputation
It is possible (in very rare cases) on rereservation that the new reservation will trigger other stock moves
than the first reservation.  In order to be sure to send the correct stock moves involved to done, it is better
to do the rereservation before the splitting of the moves on the total picking.

Also rereserve is optimized as it should only reserve for what is given by the pack operations,
as the backorder will be reserved later on anyways.
2016-07-05 17:26:06 +02:00
Martin Trigaux b5f7864988 [MERGE] website_mail_channel: (un)subscription for non-user subscribers
Closes #12691
2016-07-05 17:24:58 +02:00
Martin Trigaux 2407f793a6 [FIX] website_mail_channel: public user (un)registration
Allows public users to unsubscribe to a mailing list.
Before this patch, a user had to be connected with an account with subscribing.
For public users, a confirmation email is sent to subscribe and unsubscribe to
a list.

Use hmac signatures to prevent fake (un)subscriptions.
2016-07-05 17:24:36 +02:00
Martin Trigaux 26be95592c [IMP] website_mail_channel: better naming of variable
subscribe == True meant to unsubscribe the user...
2016-07-05 17:24:35 +02:00
Martin Trigaux 553954fa82 [ADD] mail: parameter on send_mail method
To avoid to use the context to pass additional arguments just to specify
recipients or other mail.message field values.
2016-07-05 17:24:34 +02:00
Damien Bouvy 17737ed2c1 [IMP] website_event_track: track submitter should follow its track
When submitting a track, you would expect to be follower of the track.

If you are logged in, you are automatically follower, if not and if a
partner with the e-mail given in the form exists, it will be added as
a follower.
2016-07-05 16:46:31 +02:00
Joren Van Onder 75dbd545c8 [FIX] point_of_sale: mount /boot when building the POSBox image
We don't mount /boot in fstab to prevent systemd-udev looking for
corresponding kernel modules in /lib/modules. We need to do this
because the modified kernel-qemu image we use for emulation is usually
not 100% the same version as in the Raspbian image. Therefore
systemd-udev won't be able to find the 'correct' kernel modules in
/lib/modules.

This causes issues when the raspberrypi-kernel package is updated
however. apt will update /lib/modules and will write the new
kernel{7,}.img files to /boot. Before this patch /boot was just a
directory on /dev/sda2, not the 'real' /boot which is on /dev/sda1. So
you'd end up with old, not updated kernel images but new, updated
kernel modules in /lib/modules.

This mounts /boot after the system booted. /boot gets mapped to
/dev/sda1 by /etc/udev/rules.d/90-qemu.rules.

Fixes #12650
opw-682320
2016-07-05 16:18:25 +02:00
Jigar Patel 5f02fe9a67 [MIG] pad_project: Migrate into new api 2016-07-05 16:02:22 +02:00
Jigar Patel 0312063baa [MOV] pad_project: Re-organized file structure 2016-07-05 16:02:22 +02:00
Damien Bouvy 60a7678b9d [FIX] sales_team: context-defined default should have priority
If you are in a view whose action defines a default team (for
example in a pipeline view), the default should take the context
into account instead of simply forcing the team of the current
user.

opw-682577
2016-07-05 15:22:34 +02:00
Goffin Simon 474d9dbf19 [FIX] l10n_es: Spanish Localization Module Error in Default COA
Tax Paid(Hacienda Pública. IVA soportado) and Tax Received(Hacienda Pública, deudora por IVA)
must be respectively under Current Asset and Current Liabilities in BS report.

opw:681998,681252
2016-07-05 15:21:21 +02:00
Nicolas Martinelli c4b82344d5 [FIX] account: traceback when getting counterparts
The compute method of the `counterpart` field only keeps a maximum of 2
account codes. However, it attempts to do [0:2] on a set, which is not
syntactically correct in Python.

opw-682373
2016-07-05 14:50:36 +02:00
Jigar Patel 66496b89a5 [MIG] pad: Migrate into new api 2016-07-05 14:47:36 +02:00
Jigar Patel d5752d814e [MOV] pad: Re-organized file structure 2016-07-05 14:37:05 +02:00
Denis Ledoux da8c5d054e [FIX] web_settings_dashboard: email TLDs can be longer than 6 chars
This revision is similar to
7f29a23118

opw-682116
2016-07-05 14:27:11 +02:00
dut-odoo 7e72de3f2e [MIG] board: migrated to new API 2016-07-05 13:34:12 +02:00
Nicolas Martinelli 11199d2cc2 [FIX] project_timesheet: task progress is no timesheet
If a project task with no linked timesheet is set to "Done", the working
time progress stays to zero.

opw-681622
2016-07-05 13:33:41 +02:00
dut-odoo bf0b752817 [REM] board: remove dead code
No longer called, call was removed in #11172.
2016-07-05 13:17:48 +02:00
dut-odoo 3174dcd047 [MOV] board: Moved/Renamed files as per new API guidelines 2016-07-05 13:17:48 +02:00
Aaron Bohy fd9d9ce171 [FIX] crm, project, sale: make tours work in community
The step consisting to go back to the app switcher doesn't work in community,
obviously, so this commit make it active in enterprise only.

Also make the Settings app selector more robust by accessing it through its
xmlid, as we do for other apps and menus.
2016-07-05 12:42:49 +02:00
Aaron Bohy fa8f818991 [IMP] web_tour: filter steps according to edition
Allows to define steps that only apply either in community or enterprise, by
setting the step's attribute 'edition' to 'community' or 'enterprise'.
If the attribute is not set, the step applies on both edition.
2016-07-05 12:42:49 +02:00
Aaron Bohy 5a619d25ef [IMP] *: web_tour: remove 'Skip tour' link in tips 2016-07-05 12:42:49 +02:00
Aaron Bohy dad3e9e928 [FIX] web_kanban: 'create' button
This commit fixes two bugs:
  - 'quick_create' is a special value for the on_create option, it is not an
    action xmlid. So when this option is set either in a ungrouped or in an
    empty grouped Kanban view, we should try to execute 'quick_create'.
  - the 'create' button is muted (btn-default instead of btn-primary) in
    grouped Kanban with no column. This status should be updated at each
    do_search, and each time a column is added/deleted.
2016-07-05 12:42:48 +02:00
Goffin Simon f7263dac30 [FIX] account: tax_line_move_line_get
The "else" has to be removed  because if a tax group named "X" is
the group of tax "A" and "B", the journal item corresponding to the invoice line
has the taxes "A", "B", and "X" set.

Introduced by 5a5ac1d7a5
2016-07-05 12:34:45 +02:00
Jeremy Kersten c6e7e2d2aa [FIX] mail: controller avatar return placeholder if no content
binary_content return '' if no picture, so, we keep the placeholder
if no image has been returned.

It avoid in the new portal with discuss widget to get the default
browser 404 picture (file broken)

This commit close #12683
2016-07-05 12:34:06 +02:00
Christophe Matthieu 4c76e9a9df [FIX] ir.qweb: use options instead of context to load asset content
The _get_asset_content is cached in function of the template option, don't use context to load content because we must load the asset in function of the compiled caller template.
2016-07-05 11:31:03 +02:00
Christophe Matthieu f1e3ac88f8 [FIX] ir_qweb/website: must adapt AssetsBundle call to nex new syntax
AssetsBundle receive the files list instead of to load the xml content itself (speed up because the file list is cached).
2016-07-05 11:31:03 +02:00
qdp-odoo 549ea7a886 [FIX] account: cancelling a statement line that was reconciled with several already registered payment was crashing. Fixes opw 680128 2016-07-05 11:27:56 +02:00
Erwin van der Ploeg 06f75bf93d [FIX] l10n_nl: set sequences to have taxes not included in price by default.
Courtesy of Erwin van der Ploeg. Was PR #12273
2016-07-05 11:07:24 +02:00
Martin Trigaux 64b0e67a38 [FIX] hr_recruitment: wrong id on composer
When an applicant is moved from a stage to another, an email is sent to the
applicant(s) if an email template is specified on the stage.
The active_ids is correctly set in the compose context to be used by the
send_mail method to send a message to all the applicants in the new stage.

However, a potential active_id may be propagated from a previous action.
This is the case when a user goes from a Job Position record to the list of
applications and change the stage using the kanban view (active_id & active_ids
is the id of the hr.job).
The default_get method of mail.compose.message will use the active_id as the
default value for the field res_id which is wrong as it is the id of another
record).

Forcing the value at False instead of ids[0] as it would not work in batch mode.
The list of records is correctly used in send_mail anyway.

Closes #12494
2016-07-05 10:28:34 +02:00
qdp-odoo fb6a05d358 [FIX] account: fixed grouping of account.invoice.tax creation.
in details:
[FIX] added analytic account in grouping key of because we need to create different journal items for each of the lines having a different analytic account.
[REF] added a function on account.tax that returns the grouping key and that could be inherited in another (community) module
2016-07-05 10:22:35 +02:00
Goffin Simon 5a5ac1d7a5 [FIX] account: creation of an aml for an include base amount tax
When an account move line(aml) is created for an include base amount tax,
all the other taxes are impacted with this tax then the field tax_ids of
the created aml must contain the other taxes.

Example:
Considering an invoice line with:
 -A price=90
 -A fixed include base amount tax=10(incl_tax)
 -A 21% tax(called tax)

The base amount for the 21% tax is equal to:
100 = 90 + 10(incl_tax)

When the invoice is validated, three amls are created:

One for the product with:
 -Debit=90
 -Credit=0
 -Tax_ids=(incl_tax, tax)
 -Tax_line_id=()

One for the incl_tax with:
 -Debit=10
 -Credit=0
 -Tax_ids=(tax)
 -Tax_line_id=(incl_tax)

One for the tax with:
 -Debit=21
 -Credit=0
 -Tax_ids=()
 -Tax_line_id=(tax)

In this way, the base amount of 21% in the "Declaration periodique TVA"
report is the sum of all the amls balance(credit-debit) linked to tax with
the field Tax_ids.

opw:681102
2016-07-05 09:48:42 +02:00
Nicolas Martinelli 51cdffcb9e [FIX] stock_account: default new price if compute from BoM
When the new standard price is computed from the BoM (thanks to module
`product_extended`), the price suggested is still the standard price of
the product.
2016-07-05 09:43:29 +02:00
Goffin Simon ffd30c5be2 [FIX] account: act_window to find Chart Templates
The act_window to search the chart templates must filter on category
"Localization" due to 692d41c686
2016-07-05 09:30:42 +02:00
Denis Ledoux 6c85d925c3 [FIX] web: dialog close with a reason
In the below revision:
c0db6aec56

The dialog close `reason` was introduced
to not reload the current form if the dialog
has been closed for a reason
(e.g. a window action was returned by the server).

This is to prevent the record reload, which:
 - Is useless, as another action has been launched
   and the user therefore redirected elsewhere
 - Can fail, in the case the initial action deleted
   the current record
   (e.g. when merging a lead in an opportunity, the
   lead is removed, and therefore this is not possible to reload
   it).

 opw-680180
2016-07-04 18:40:15 +02:00
Nicolas Martinelli faf3577896 [FIX] stock: receive product with lot
When a product is received in the lot reception view, a new lot is
created. If the user receives at least one lot, closes the lot selection
window, then reopens the window, he will not be able to create a lot
anymore, but only choose existing lot.

The fix is to make sure that the lot selection is available only in the
case of a returned product.

opw-681925
2016-07-04 17:53:05 +02:00
Martin Trigaux 5758aedd77 [FIX] sale_timesheet: xpath on restricted view
parent_id is added in the view hr_timesheet.view_task_form2_inherited which is
restricted to employee only.
When a portal tries to resolve the view sale_timesheet.view_sale_service_inherit_form2
the xpath fails as parent_id is not present in the view.
2016-07-04 17:43:48 +02:00
Jérome Maes bcff661bc6 [FIX] crm : avoid UnboundLocalError in crm log activity wizard 2016-07-04 17:28:07 +02:00