Commit Graph
108463 Commits
Author SHA1 Message Date
Dhaval Panchal 6e6350cfbc [IMP] sale: add 'confirmation_date' in reporting
What matters in sales reporting is the confirmation
date (signature, payment, etc), not the creation date.
All the sales reporting is based on order date
(= creation date). Most people need the confirmation
date (to grant commissions, etc.)
2017-03-28 08:56:40 +02:00
Kishan Gajjar e2b9e3b6f7 [IMP] website: clear rendering of m2m field in config setting when several records.
If the many2many field contains several records, there's a layout issue.
2017-03-27 16:06:47 +02:00
Kishan Gajjar 405e9551d7 [IMP] website: Display message to drag&drop snippet if no content in page
Purpose:
========

When you start designing a page, you get a weird empty page
it was better in v8 with a default message prompting the user to drop a snippet

Specification:
==============

When a user starts designing a page he/she should get a default message prompting to drop a snippet (like we had it in v8).
[The drag&drop icon must be adapted: now snippets stand in the left side (and not in the upper part)]
2017-03-27 15:08:25 +02:00
Dhawal Limbuwala e611a546d2 [IMP] sale_crm: Pass utm values from a quote to a sales order
Purpose
=======

Create an opportunity
Fill in the campaign, medium and source
Create a quotation from this opportunity
The fields campaign, medium and source on the quotation are empty.

-> they should be populated from the opport.

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

Campaign, meduim, source data should be passed to quoation when create quotation from oppor
2017-03-27 11:07:09 +02:00
Pratima Gupta fff0314623 [IMP] website_sale: Rename Coupon code into Promo code in frontend 2017-03-27 10:31:33 +02:00
Jairo Llopis e7fdd6df73 [IMP] website_event(_sale): make registration form responsive
+ remove redirect that create loop if not child menu and state == 'done'

TODO: make attendees registration popup responsive

This commit closes #15473
2017-03-24 17:03:20 +01:00
Kishan Gajjar f4cba344aa [IMP] website: clear rendering of m2m_tags field in config setting. 2017-03-24 11:41:02 +01:00
Jeremy Kersten 33069e6c02 [IMP] ir.values: make order deterministic: per-company > global
Refine the priorities of ir.values entries to make the result
deterministic in the presence of multiple matching default
values. We now give the priority to company-specific defaults,
before global defaults.

Before this change, the default value would be random when
both a per-company and global default value existed for the same
field (with no per-user default).

The priorities are now defined as follows (smaller number = higher prio):

 1. Per-user default (user_id is set, company_id is set)
 2. Per-user global default (user_id is set, company_id not set)
 3. Per-company default (user_id not set, company_id set)
 4. Global defaults (user_id not set, company_id not set)

The final "id" order spec ensures that the order is total.

Also added the corresponding regression test.

Closes #16038
2017-03-24 11:39:38 +01:00
Mahendra barad 63167fc51b [IMP] mail: allow users to give schedule and give a feedback on activities
When setting an activity as done in chatter users now have the possibility
to add a feedback. This feedback is added in the generated message that
already contains the activity name and note.

Moreover users now can also immediately schedule a next activity. This is
very useful for chained activities and speeds up activities use.
2017-03-23 17:39:18 +01:00
Thibault Delavallée 9c42c699f5 [CLN] mail: lint activity widget 2017-03-23 17:39:18 +01:00
Mahendra barad 89534bd478 [REM] crm, project_issue: remove unused field date_action_next
This is some leftovers of old implementation of activities. Activity mixin
field should be used instead now.
2017-03-23 17:39:18 +01:00
Mahendra barad a59c5af4ac [IMP] crm : make Next Activities menu use My Activities filter instead of My Opps 2017-03-23 17:39:18 +01:00
Jérome Maes b90a8501b6 [IMP] website_crm_partner_assign: access rights refactoring and add tests
Portal user had too many access right on
sensitive documents in this modules. Some
ir.rule were missing, and some model access
were useless.

This commit clean all access right: ir.rule,
ir.model.access and remove useless check in
python code.

Also, some tests were added to check access
rights.
2017-03-23 14:51:07 +01:00
Jérome Maes ef75f0245f [IMP] website_portal_sale, website_quote: portal access right
Portal has access (read only) to partner, pricelist,
taxes, ... These access were given to display informations
on portal pages. Since, these are not very secure, we
remove the access right.

Some modifications are required to make the portal work again :
- 'sudo' business document before rendering templates. ir.rule
are still apply to filter the documents do display.
For instance, SO total amount is computed using account.tax.
- a related field has been added on SO line to allow portal user
to see the image of the ordered product (on SO frontend view)
- a new controller is created to display invoice PDF (as 'sudo'),
since the rendering of this document required read access to
taxes, payment terms, ...
2017-03-23 14:51:00 +01:00
fwi-odoo ea6d6accc3 [IMP] website_portal_sale: consistency with the backend 2017-03-23 14:50:49 +01:00
fwi-odoo 25a067b58d [ADD] website_portal_purchase: purchase orders available in portal
PO are now available in customer portal. It follows the same
convention as the rest of exposed documents (list, pager, form,
filters, ...)

To insert it after the SO menu item, some ordering was required.
Also, rename 'Orders' into 'Sales Orders' to avoid confusion
with 'Purchase Orders'.
2017-03-23 14:50:40 +01:00
fwi-odoo 936b215adf [IMP] website_portal: hide menu when no documents available
This commit impact website_portal, website_portal_sale,
website_project, website_project_issue, and website_crm_partner_assign.

The idea is to hide menu items and dashboard entry in customer
portal when there no document available. Only Sales Orders and
Opportunities are always displayed to avoid empty dashboard.

Also, resequence menu items to be more consistent and to prepare
to insert more items in the future.
2017-03-23 14:50:32 +01:00
Dhaval Panchal ce72152679 [IMP] sale_stock: sale order line quantity warning
When you add a sale order line, odoo checks the available quantity
through all warehouse and if you add more than available, you get a
warning.

We improved this warning, by checking the quantity in the warehouse set
on the sale order, and if the quantity available in this warehouse is
too low, we warn the user with the quantity available in this warehouse
and in all other warehouses.
2017-03-23 13:58:23 +01:00
Atul Patel ba73069ffe [FIX] website_quote: fix access rights issue when quotation is viewed by customer 2017-03-23 13:28:02 +01:00
Mehul Patel 097aa24566 [IMP] website_quote: fix behavior of Quotation viewed by Customer
Currently when the salesman clicks on 'Preview' button of quotation it
is set as 'Viewed by Customer'. This commit improves this behavior by
ensuring it is triggered only by shared users.
2017-03-23 13:28:02 +01:00
Thibault Delavallée 30026d32a5 [MERGE] mail: improve alias security and alias check on channel model
This commit links the alias security and the channel configuration.
Indeed private or group-based channels should always have a restricted
alias. Moreover this alias should check channel members instead of
channel followers, as a channel has members and should not have followers.

This implies a small refactoring of the alias check in the mailgateway.
Code is extracted and moved on alias.mixin class, allowing to tune the
behavior through inheritance.
2017-03-23 13:12:05 +01:00
Thibault Delavallée 66bd7707f5 [IMP] mail: protect by default alias of private or group based channels
Otherwise by default their alias are public. This makes no sense for
private groups to have by default public aliases.

Field is set as invisible on the view because it makes sense to configure
only the channel and not details of its alias. Anyway it is always
possible to tweak the alias configuration under Technical menu.
2017-03-23 13:11:34 +01:00
Thibault Delavallée e5e549a4cf [IMP] mail: make channels check their members instead of followers for alias
This commit makes channel use 'followers' based alias security use members
instead. Indeed channels do not use followers anymore. Instead channels
have members, and alias security of followers should use members instead.
2017-03-23 13:11:34 +01:00
Thibault Delavallée 78ac6de52d [IMP] mail: factorize code that handles alias security in mail gateway
Currently check of alias security is directly embedded in mail.thread
routing method. In this commit we move this check in the mail.alias.mixin
class itself. Doing this allows models to extend or improve the behavior
depending on how inheriting models use aliases.
2017-03-23 13:11:34 +01:00
Thibault Delavallée 634821c688 [IMP] mail: correctly use alias mixin on channel model
Currently channel model manually defines alias and inherits instead of
using the alias.mixin. This commit proposes to use alias feature through
the mixin to have a standard behavior.
2017-03-23 13:11:34 +01:00
Thibault Delavallée 155e81d5e7 [IMP] mail: ease members management on channels
Using a m2m to partners does not allow a real management of members
because it allows to create partners, and require access rights on
partner model. Instead it now uses the o2m to channel members
allowing creation, update and removal of members without having
to work on partner records.
2017-03-23 13:11:33 +01:00
fka-odoo 7875cd8bb5 [IMP] event: prompt warning when canceling an event
Also improve message of raised error.
2017-03-23 12:24:18 +01:00
Jérome Maes 28c5a232c3 [MERGE] portal_*: remove portal module
This commit remove the portal module.
- depending module (portal_stock, portal_gamification) are
removed. Their features are now managed by their parent
module (mainly access rights)
- portal group and user are moevd to base
- wizard to convert partner into portal user is moved into
website_portal, which is the user portal module now.

The webclient is now forbidden for portal user since there is nothing
to expose for such user.

Some cleaning has been done in survey and rating_project.
2017-03-23 10:30:11 +01:00
Jérome Maes 48f5c81755 [IMP] base,website_portal: webclient forbidden for portal user
About a `sudo` on ir.ui.menu, this commit (3649b7f359) removed it,
this commit (3d0cc2d6d2) re-added it.
Since portal user can not go on /web anymore, I think portal does not need to read ir.ui.menu.

Here some news scenario:
- if website is not installed, portal can log in, but will be redirected to login page
with an error message 'only employee can access'. Indeed, there is no page to display for
such user.
- if website is installed, but not website_portal, portal user can log in and will be
redirected to homepage. If he tries to manually access to /web, he will be redirect to
login page with access error (even if he will still be logged).
- if website_portal is installed, the portal user can fully enjoy its features.
2017-03-23 10:16:28 +01:00
Jérome Maes da6d8a5717 [IMP] survey: dead code using group_anonymous 2017-03-23 10:00:51 +01:00
Jérome Maes 3e3105151b [REM] portal: kill the module
All portal features were moved into base
and website_portal, portal module is obsolete.
This commit remove its code, and modify the modules
dependencies accordingly. website_portal now depends
on auth_signup.
2017-03-23 10:00:51 +01:00
Jérome Maes 1f3da58cfe [MOV] base,portal: make portal module empty
The goal is to prepare the removal of
'portal' module.

- demo portal user is moved into base
- 'is_portal' field on res.group too
- remaining security rule are moved to base too
- mail template is moved to website_portal
2017-03-23 09:59:58 +01:00
Jérome Maes 2b4eeb908f [MOV] portal,website_portal: move wizard and tests into website_portal
The goal is to prepare the removal of
'portal' module.

Converting a partner into a portal user,
though the wizard is moved in website_portal.

'base' will manage portal user and group, but if
website_portal is not installed, there is nothing
to display for portal user.
2017-03-23 09:59:58 +01:00
Jérome Maes 9f006b5cce [REM] portal_stock: kill the module
The goal is to prepare the removal of
'portal' module.

Since this module only provides access rules and
rights, those ones are moved directly into its
parent module (aka 'stock').
Since no module depends on it, we can remove it
without problem.
2017-03-23 09:59:58 +01:00
Jérome Maes b91b66c686 [REM] portal_gamification: kill the module
The goal is to prepare the removal of
'portal' module.

Since this module only provides access rules and
rights, those ones are moved directly into its
parent module (aka gamification).
Since no module depends on it, we can remove it
without problem.
2017-03-23 09:59:58 +01:00
Jérome Maes 330fe871bc [IMP] rating_project: change demo data
Since we want to remove portal module, this
xmlid will not make sense anymore.
2017-03-23 09:59:57 +01:00
Mansi Gandhi b91315af97 [IMP] mrp_repair: send quotation and mail template
When you send a quotation, you have a mail template mentionning the
quotation and its price if there is an invoice method, with the quotaion
in attachment.
2017-03-22 16:56:04 +01:00
Mansi Gandhi 140c0e2203 [REF] mrp_repair: typo 2017-03-22 16:56:04 +01:00
Mansi Gandhi 5985860255 [IMP] mrp_repair: invoice method and reports
When you select an invoice method different than 'No Invoice', all the
parts lines except the 'Remove' ones and the fee lines will be invoiced.

When you print a quotation, the price of parts and fees is shown
only if you have an invoice method (you only have the quantity if you
don't invoice)

The invoice is available through a stat button.

The price of removed parts is set to 0.0 by default as it won't be
invoiced.
2017-03-22 16:56:04 +01:00
Richard Mathot 49269fad84 [FIX] website_portal: wording 2017-03-22 13:23:26 +01:00
David Arnold 9dce68ac26 [IMP] actions: context in tree view
Most of the time, context of an window action is more relevant than the domain,
so show it by default in the tree view.

Closes #15978
2017-03-22 11:05:15 +01:00
Goffin Simon d84b5c4c49 [FIX] base: unlinking ir.model.constraint
When unlinking an ir.model, all the ir.model.constraint linked to this
ir.model must be removed to avoid to call unexisting model.

The ir.model.constraint records, are created with module = the module where the related field
has been declared. But when unlinking the ir.model in function _module_data_uninstall, the related
ir.model.constraint to remove were chosen according to the removed modules. So with models
declaring constraints on inherited fields, some problems occured because the model could be removed
and not all the related constraints.

opw:716032
2017-03-21 15:24:33 +01:00
Lucas Perais c24bc92173 [ADD] point_of_sale: add support for customer facing display (#15302)
A customer facing display is any monitor that can be connected through
HDMI on the POSBox. When enabling the customer facing display option the
customer will get a realtime overview of their current order, what they
have to pay and the change they should receive.

What is displayed on the customer facing display is fully customizeable
through web_editor, two snippets are provided that will be dynamically
updated (Order Block, Payment Info Block) as the order changes in the
POS.

The POSBox handles the live updates through hw_screen.

The HTML that eventually gets sent to hw_screen contains references to
remote resources. All of these remote resources are available on the
Odoo server, no other external connections have to be made. Resources
that are unavailable for the POSBox (like product images) are base64
encoded and included in the HTML. This is accomplished by using the BASE
HTML tag. This does mean that the customer facing display will *not*
work with a POS client opened through localhost or 127.0.0.1. The POS
has to be opened through an IP address (or URL) the POSBox can reach.

Courtesy of JOV, LPE, GED and MAT
2017-03-21 11:49:50 +01:00
Guewen Baconnier 55e6764747 [IMP] account: extract check of duplicate supplier reference
Having more than one supplier invoice with the same reference is sometimes
possible. For instance, in Switzerland, the use of BVR/ESR numbers as a type of
reference permits this. Generally, this number is unique and used only for one
invoice. However, some suppliers do use the same BVR reference for several
invoices (e.g. recurring invoices).

This commit allows to disable this check if required, which is only possible
if it is extracted from 'invoice_validate'.

Closes #15891
2017-03-20 10:28:29 +01:00
Christophe Simonis f7eb74f7ea [MERGE] forward port branch saas-15 up to 2df0c13832 2017-03-19 00:50:15 +01:00
Christophe Simonis 2df0c13832 [MERGE] forward port branch saas-14 up to 6b41d59ca8 2017-03-19 00:49:43 +01:00
Christophe Simonis 6b41d59ca8 [MERGE] forward port branch 10.0 up to 7043fd529f 2017-03-18 23:38:24 +01:00
Christophe Simonis 7043fd529f [FIX] test_converter: use unicode string for comparison 2017-03-18 23:35:58 +01:00
Christophe Simonis 45045bb7a1 [MERGE] forward port branch saas-15 up to c8f01e3b62 2017-03-17 18:06:16 +01:00
Christophe Simonis c8f01e3b62 [MERGE] forward port branch saas-14 up to b2fa9f2ad1 2017-03-17 18:03:00 +01:00