Commit Graph
96 Commits
Author SHA1 Message Date
Alexandre Kühn 8dc38eb48a [IMP] core: menu tip ux/ui improvement
We would like to make the "no item found" screens more appealing.

Before this commit, it shows a small help tip in the top-left
corner of the screen, just below the "Create" button.

With this commit, these help tips have been replaced by onboarding
screens, which consist of a picture and some text below, both of which
are horizontally centered.

The texts have been slightly changed, so that they are shorter and clearer.

Considered modules:

(A)
    account_batch_deposit,
    account_deferred_revenue,
    account_online_sync,
    account_reports,
    account_sepa_direct_debit
(H)
    helpdesk,
    hr_appraisal,
    hr_contract_salary
(L)
    l10n_mx_edi
(M)
    marketing_automation,
    mrp_plm,
    mrp_workorder
(P)
    pos_loyalty
(Q)
    quality,
    quality_control,
    quality_mrp
(S)
    sale_coupon,
    sale_subscription
(V)
    voip
(W)
    web_enterprise,
    web_grid,
    web_studio,
    website_calendar,
    website_crm_score,
    website_sign
2018-01-18 21:44:00 +01:00
Martin Trigaux 7819a498bb [FIX] sale_coupon: missing parenthesis 2018-01-16 11:05:54 +01:00
Christophe Simonis 8570c32d42 [MERGE] forward port branch saas-11.1 up to 16ddd0216ee 2018-01-12 19:13:14 +01:00
Christophe Simonis 4227c0b3d0 [MERGE] forward port branch 11.0 up to 335a163fa5b 2018-01-12 19:06:53 +01:00
Christophe Simonis a1090e0c20 [MERGE] forward port branch saas-16 up to 8a03952243d 2018-01-12 18:23:30 +01:00
Christophe Simonis cebe2d795e [MERGE] forward port branch saas-15 up to 83170802a26 2018-01-12 17:31:48 +01:00
Christophe Simonis 456ff2b565 [MERGE] forward port branch saas-14 up to 9d019bb5119 2018-01-12 16:47:29 +01:00
Romain Derie 4c6b474505 [FIX] sale_coupon: min quantity set to 0 will crash backend and shop
Before this commit, if minimum product quantity was set to 0 on a coupon
program, it would then throw:
  - On backend, when updating promotions
  - On frontend (shop), user won't access his cart (error 500)

Now, we prevent quantity from being lower than 1

Step to reproduce:
  - Create a coupon automatically applied, set quantity to 0, set reward to
    'Free Product' and set free product to iPad Mini
  - Go to /shop and add a iPad Mini to your cart, it will throw an error 500
    instead of redirecting to your cart
  - Go to backend, click on 'Update Promotions' on a quotation, it will show an
    error popup
2018-01-12 12:37:48 +01:00
Kinjal Mehta 702f061f05 [IMP] sale_coupon,sale_ebay: changed duplicate field label in the same model 2018-01-04 17:27:25 +05:30
Christophe Simonis 39c9f0c972 [MERGE] forward port branch saas-11.1 up to 6cb9ed4c424 2018-01-03 14:23:59 +01:00
Christophe Simonis 60a5e55827 [MERGE] forward port branch 11.0 up to cf7193bbb86 2018-01-03 13:34:12 +01:00
Yannick Tivisse bb5a631262 [FIX] sale_coupon: Display the text in mails from generated coupons
Purpose
=======

The text displayed in mails for generated coupons sent to customers is not displayed anymore.
2017-12-28 11:01:42 +01:00
qdp-odoo e42481fc25 [MERGE] forward port of branch saas-16 up to 387324aba16444d54e48bf8acac4b62e9492ba0b 2017-12-20 11:15:51 +01:00
qdp-odoo db92cf16d3 [MERGE] forward port of branch saas-15 up to 59a505127b21b8dddc756a3f06d98a6165446288 2017-12-20 11:07:27 +01:00
qdp-odoo 239ad56b00 [MERGE] forward port of branch saas-14 up to 9f97c017a5953851a88e2002570238d73b974cf3 2017-12-20 11:01:10 +01:00
Jeremy Kersten 368f14bd0c [FIX] sale_coupon: fix performance issue during coupon creation
When you create a coupon, before this commit, all account move line was rewrite with the currency (useless OP).
Now the creation for a db of 15k lines tkaes 2 secondes instead of 10 minutes.
2017-12-12 18:15:11 +01:00
Romain Derie f3cdd3e9e4 [REM] website_sale_coupon: Fields and file not used anymore
Since this commit https://github.com/odoo/enterprise/commit/87d542, these fields are not used anymore.
It needed to be removed in master.
2017-12-12 16:39:19 +01:00
Sagar Ahirrao 96fed80454 [IMP] sale_coupon: Allow to print and send coupons by email
Purpose
=======

A feature was not done when doing the coupon task because of the lack of time : Coupon should be printed from the system and same can be sent to customer via email(attractive email template).

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

Ass the possibility to:

- Print coupon
- Send coupon by email with the printed report in attachment
- Generated coupon by sending to the customers the coupon in attachments
2017-12-01 13:04:30 +01:00
Christophe Simonis 8e3b2184f2 [MERGE] forward port branch 11.0 up to 119a73b2e90 2017-12-01 12:55:54 +01:00
Christophe Simonis 745bf6777e [MERGE] forward port branch saas-16 up to 88084f24d2f 2017-12-01 12:55:27 +01:00
Christophe Simonis caeb2265b7 [MERGE] forward port branch saas-15 up to bdf4ab4c807 2017-11-30 15:28:23 +01:00
Christophe Simonis 5ff5445401 [MERGE] forward port branch saas-14 up to 4dfae4c9500 2017-11-30 14:33:28 +01:00
Romain Derie b236ca3f15 [FIX] sale_coupon: incorrect free product qty
Note: The following bugs were also impacting the e-commerce.
This commit fixes some bugs related to promotion program offering free product:
  - Create a promotion program that offers an ipad if you buy 3 of them, so the
    fourth is free (reduced in total)

1. Buying 4, getting a free one, removing one, free one remains
  - Create a quotation with 3 ipad, save and update promotions, you don't have
     a free one, which is 'correct'
  - Edit, change the qty to 4 ipad, save, update promotions, you have a free
    ipad (reduced from total), still correct
  - Edit, change the qty back to 3 ipad, update ptomotions, you still have a
    free ipad even if you only bought 3 of them (the way it is designed, the
    free ipad should only appears when you order your fourth).

2. Exponential bug: buy a lot of ipad, get a lot of free ipad then set the qty
to a lower amount, you will have a lot more free ipad than you should.
It can even lead to a negative amount (more free ipad than you paid ipad, but
in that case you won't be able to confirm the sale).
  - Create a quotation with 100 ipad, you get 31 free ipad (which is incorrect,
    see bug 3)
  - Edit and change the qty back to 10 ipad and save
  - Update promotions, you will have 10 ipad to pay and 10 free ipad resulting
    in a null total.

3. Buy X ipad, get Y+Z free instead of Y (lets illustrate with 10)
  - Create a quotation with 10 ipad, you get 3 free ipad instead of 2
  - Indeed, your first 4 ipad should give you a free one
  - Your next 4 ipad should give you a second one (you got 8)
  - The last 2 (to reach 10) are not enough to give you a third free ipad

This is because free products are reward lines in the SO (is_reward_line) but
not linked to an applied_coupon_ids

Now, these reward lines will be considered as such and the coupon computing
will return correct results

This closes #1643
2017-11-29 16:23:56 +01:00
Christophe Simonis d6b08ca785 [MERGE] forward port branch 11.0 up to eaae14af2d2 2017-11-16 17:57:03 +01:00
Christophe Simonis 7ccd861698 [MERGE] forward port branch saas-16 up to b81f9d89876 2017-11-16 12:41:31 +01:00
Christophe Simonis 1b1dd22d1b [MERGE] forward port branch saas-15 up to e9575185a57 2017-11-15 17:56:16 +01:00
Christophe Simonis 7dc7dcee7a [MERGE] forward port branch saas-14 up to 198dac55ca2 2017-11-15 15:38:57 +01:00
Romain Derie 16531f6548 [FIX] (website_)sale_coupon: Display clearer promo code error on cart
Before this commit:
Coupon error on cart would always show "Invalid or Expired coupon code"
instead of a more accurate error (eg: already applied, can't use 2 code..).
Plus it would still show the error on page refresh because of the error being
stored in URL param.

Now:
It will show the exact error and since the error is not stored in URL, it won't
be still displayed on page refresh.

This closes #1601
2017-11-15 12:34:57 +01:00
Mitali Patel 0de0c9b682 [IMP] base: Make 'name' attribute required for 'filter' tag
Purpose
=======

The attribute name isn't required on the <filter> tag. If not set, it can't be selected with a xpath and it can't be overwritten.

A lot of PR are coming from the community just to add a name on a filter because:
- It can't be selected with a xpath.
- It can't be used with `default_search_foo` on an action context.

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

Make the atttribute name required
2017-10-19 11:01:12 +02:00
Nicolas Lempereur 8aef2eb92d [FIX] sale_coupon: error only one of begin/end set
If a promotion program has a start date without a end date, or a end
date without a start date, there was an error of comparing string to
boolean

opw-775236
2017-10-04 19:12:40 +02:00
Yannick Tivisse 29a5de310e [FIX] sale_coupon: Remove old and buggy compute field (not stored)
Purpose
=======

Click on Generate Coupon gives traceback

Steps to reproduce issue :
>> install coupon.
>> total number of customers are more than 40.
>> debugger mode off.
>> now click on generate the coupon.

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

Before the new char domain widget, we were forced to couple the domain Char field with a many2many computed field to display the partners.

Now it's not useful, and this is leading to a traceback if the records count is greater than 40.
2017-09-21 16:11:32 +02:00
Yannick Tivisse ce8b35ee1d [FIX] sale_coupon: Set a valid default value 2017-09-19 14:27:26 +02:00
Yannick Tivisse 1ebfbf3e86 [IMP] res_config: Update file names, xmlids, class names according to guidelines
Now that we only have one model (res.config.settings). Uniformize everything according to the guidelines.
2017-09-01 13:39:18 +02:00
Deep Patel 573dbfc17d [IMP] web,account,...: Regroup settings, add a nav and search bar
Purpose
=======

Settings are often way too long and hard to scan and sometimes you don't know where to find the settings you're looking for.
By adding a left navigation, you can already have an overview of the settings, and switch easily between them.

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

- Add a search bar on all the apps that have settings which can search results from all the installed apps.
  (If i'm on sales settings,and I search anything then it shows results from sales settings and also shows
  all the other matching results from all the other apps such as, Inventory...etc) with app name.
- Able to activate feature from the current page results (no matter if the searched result is from another apps).
- Highlight searched word in results
- Delete the sheet, have a full white background
- Add left navigation bar on setting
- Left navigation bar fixed
- List displayed based on installed apps
- On right panel, by default display current app setting and change accordingly
- [Mobile] Left navigation bar displayed on top
- Add Breadcrumb on top of the page: have the name "Settings" + Save / discard CTA + Search
- Add General Settings on the nav bar
- remove "save this page..." notif in all settings
- Delete all recommanded apps section + all checkbox that install app should disappear:
        payroll: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrSkMzWVpuZ0ZoaFE/view?usp=drivesdk
        Events: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrYXlHMHd2NTM2blE/view?usp=drivesdk
        Manufacturing: Delete Repair - Quality Control - Maintenance - Product Lifecycle Management [LAP][ok]
        Timesheets: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrdFg5XzNydkd2TlU/view?usp=drivesdk
        project: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrraWo3NE04TktwcTQ/view?usp=drivesdk
        inventory: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrQkRaVUR5ekFQYTQ/view?usp=drivesdk
        recruitment: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrbDdqLWQweF80UkE/view?usp=drivesdk
        purchase: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrRlAyUDBnb0trQWs/view?usp=drivesdk
        email marketing: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrOUZONjhvX2k3Y2s/view?usp=drivesdk
        expenses: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrrR0JpN1ZpQmtxU3M/view?usp=drivesdk
        attendances: https://drive.google.com/a/odoo.com/file/d/0B1uIL9E_zXrralpjZ1VJclNpMWs/view?usp=drivesdk
- About duplicate settings:
        Docsaway: Delete from Sales + delete Default Print Provider
        Attributs & Variants: Delete from Purchases - Manufacturing
        Multi-currencies: delete from Sales
        Unit Of Measures: Delete from Purchase & Expenses
- Add a scroll bar on the left bar when there's too many apps
- Keep the navbar visible even when you search
- Move General Settings to the bottom of the list
- Update on Settings:
    - Accounting:
        - rename automatic rates
        - Anglo Saxon Account: Should be in technical feature
        - Place Accounting Reports section before Taxes section
    - CRM:
        - Phone Validation: Enforce international format becomes
        - Local Numbers: (2 radio buttons proposals) Add international prefix / No prefix
    - Fleet: typo " ... a new car if ..." + text is too long <br>
    - project: fix tooltip for colab pads
2017-09-01 13:39:18 +02:00
Christophe Simonis fd2b69b91e [MERGE] forward port branch saas-17 up to d5d92993c81 2017-08-24 15:20:44 +02:00
Olivier Dony 13ca39dd6d [FIX] P3: remove pycompat.{keys,items,values} helpers
Now that we're closer to switching to P3 for good, these helpers have
outlived their usefulness, and mostly add noise.

All remaining dict.iter*() or dict.view*() must be converted to the
normal keys(), values() or items() calls.

Whenever the result is likely to be used for more than the scope of a
loop, or when the dict needs to be modified during iteration, the calls
must be wrapped in a ``list()``, to protect the new P3 semantics.
Those cases are very exceptional.

Also removed some dead code or improved the API to remove unnecessary
conversions.
2017-08-18 18:48:17 +02:00
Xavier Morel 12492433e3 [FIX] P3: random token generation
.encode('hex') is not valid in Python 3, and it turns out the generation method was way overkill/messy.
2017-08-18 11:27:14 +02:00
Haresh Shyara cc5bb1450b [REF] crm,sale: Split the applications into 2 separate apps
Purpose
=======

You install CRM but you don't see CRM icon (except in English, as long as sales is not installed) -> confusing
The dashboard with salesteam is not obvious & not useful for simple users: what are those channel boxes about? why don't I see all my activities?, etc.

Specifications
==============

Split CRM & Sales + land in business views straight away

Default Entry Views
~~~~~~~~~~~~~~~~~~~

- New default view for CRM: Pipeline kanban
- New default view for Sales: Quotation list

Dashboards
~~~~~~~~~~

- Move sales teams dashboard to Reporting: Sales Channels.
- Remove the upper part of the sales team dashboard

Menuitems Structure
~~~~~~~~~~~~~~~~~~~

- CRM menu

Pipeline:
        - Leads (optional)
        - Pipeline (default menu, default filter "My Pipeline")
        - Next Activities -> to remove (now there is an icon in top bar for next activities)
        - Quotations (If sale_management installed)
Customers
Phone Calls (if voip, if not yet removed because there is a BE task to use next activities instead)
Leads Management:
        - Scoring Rules
        - Leads Assignation
        - Team Assignation
Reporting:
        - Leads
        - Scoring page views
        - Opp. Assignement
        - Patnerships
        - Pipeline
        - Activities
        - Phonecalls
        - Sales Channels
Configuration:
        - Settings
        - Sales Channels
        - Activity Types
        - Leads & Opportunities:
                - Lead Tags
                - Lost Reasons
        - Resellers
                - Partner Level
                - Partner Activations
- Sales menu:

Orders:
        - Quotations
        - Orders
        - Customers
Invoicing:
        - Orders to Invoice
        - Orders to Upsell
Catalog:
        - Products
        - Promotion Programs
        - Coupon Programs
Reporting:
        - Sales
        - Sales Channels
        - All channels sales orders
Configuration:
        - Settings
        - Sales Channels
        - Sales Orders:
                - Quotation templates
                - Payment acquirers
                - Delivery Methods

Settings
~~~~~~~~

- Split settings form
- Remove recommended apps section
- Remove Timesheets section
- Remove Inventory Management and move shipping connectors to Shipping section
- Remove Integrations section
        - Move Docsaway option to "Quotations & Orders", right after proforma
        - Autocomplete and asterix: move to CRM section
- Restructure and rename sections this way:
        - Product Catalog
        - Pricing
        - Quotations & Orders
        - Shipping
        - Invoicing
        - eBay (if installed)
- Remove all the "Save this page and come back here" when checking a box that installs a new module

- restructure a bit the CRM settings, with 3 sections:

Pipeline
        - Leads
Contacts
        - Phone Validation
        - Customer Autocomplete
Integrations
        - Google Calendar / Synchronize your calendar with Google Calendar (copy from general settings but don't show message "Save this page and come back here...".
        - Asterisk (VOIP)
2017-08-08 16:58:50 +02:00
Christophe Simonis eaefc5b7ba [MERGE] forward port branch saas-16 up to 15e36ad39dc 2017-07-20 16:29:40 +02:00
Pratima Gupta 6d342b79d0 [FIX] sale_coupon: Add default value to char domain field
Otherwise the required field is not validated at wizard validation
2017-07-17 12:54:57 +02:00
Christophe Simonis 4e39d9e1e7 [MERGE] forward port branch saas-16 up to 953ab630bfc 2017-07-07 13:20:31 +02:00
Christophe Simonis 4e897d727a [MERGE] forward port branch saas-15 up to f77ffa3fe5f 2017-07-05 11:40:53 +02:00
Christophe Simonis e9b3d1c623 [MERGE] forward port branch saas-14 up to 403b27428a4 2017-07-05 11:39:44 +02:00
Nicolas Martinelli bb5d999596 [FIX] sale_coupon: default invoicing policy
The default invoicing policy should always be by ordered quantity.
Otherwise, if the user changes the default invoicing policy to
"delivered quantity", coupon won't be applied to the invoice.

opw-749632
2017-06-30 14:17:44 +02:00
Christophe Simonis 786889511b [MERGE] forward port branch saas-16 up to 32396ec64e4 2017-06-27 14:23:37 +02:00
Christophe Simonis 4889fdb135 [MERGE] forward port branch saas-15 up to 6492adc3c4c 2017-06-27 13:45:01 +02:00
Christophe Simonis 4a1cf10843 [MERGE] forward port branch saas-14 up to 23d93a69581 2017-06-27 12:11:13 +02:00
Christophe Simonis a5bf3016bb [FIX] sale_coupon: remove useless @depends
Theses fields are now deprecated.
2017-06-21 17:32:22 +02:00
Yannick Tivisse 8f6ec58757 [FIX] sale_coupon: Don't update automatic rewards on the fly
Purpose
=======

Currently we are updating the coupon rewards on the fly when creating/modifying/deleting a sales order line.

To avoid multiple searches on res_partners and product to know whether the customer/product is valid on the sale coupon program, we store the applicable customers and products on the program according to the domain defined on it.

This brings 2 issues:
- The customers/products stored on the program are not updated (Was the original spec)
- The checks are numerous and maybe overkill for the given results

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

- Don't recompute the reward lines on SO modifications. Add a button to compute the line by hand and make an automatic compute on the SO validation or on the page shop/payment.

- When recomputing the reward lines, make a search on the res_partners and products instead. Now that the action is not triggered so often we can afford to make a search.

- Don't use the fields rule_partners_domain and rule_products_domain. This should be removed in master.

- The field is_public_included is useless now. And we decided to make the coupon available for all the partners if they fit the domain on the program.
2017-06-21 15:55:27 +02:00
Yannick Tivisse 3ed9b783dc [FIX] sale_coupon: Prevent users to modify the reward line product
Purpose
=======

People doesn't understand that the reward line product is the product that will be used in the discount line, not the product the be rewarded

If they set another product before the program is created, the product they set will be renamed, which is wrong.

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

- Don't display the field before it's set
- Make the field readonly on the program form view
2017-06-21 15:54:15 +02:00