Commit Graph
125 Commits
Author SHA1 Message Date
Mohammed Shekha 706929e118 [FIX] *: update tour sequence
with this commit we are updating sequence of onboarding tours

task-2444153

closes odoo/odoo#65244

X-original-commit: a928beccb09f4db4234356e5e4f7bdf090ecc964
Related: odoo/enterprise#16026
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2021-01-29 09:03:08 +00:00
Mohammed Shekha 78ab4bde80 [FIX] *: various tour fixes
with this commit we fixes various tour steps, remove steps from crm and sale
tour and improve step selector in project tour.

task-2444272

closes odoo/odoo#65073

X-original-commit: f6c05693f857acfb0f74bb76c4bd72f83d9fb335
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2021-01-26 15:51:04 +00:00
Goffin Simon a6a1d52b4e [FIX] sale: Product with a blocking warning raises a traceback
Steps to reproduce the bug:

- Let's consider a product P with a blocking message BM
- Create a quotation Q and set P on it

Bug:

A traceback was raised.

opw:2421946

closes odoo/odoo#63853

X-original-commit: e0af10ccc92cb3b07f0eea6fa44ebf5a1bdc86aa
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2020-12-28 16:59:10 +00:00
Romain Derie 6bf6688d73 [FIX] portal, sale: scroll correctly if fixed header
Depending of the configuration, on the portal, anchor do not consider the
header, so a part of the text is hidden by the navbar.

task-2290213

closes odoo/odoo#60415

X-original-commit: 2cd9a9d12f4cd7352430c166145a7488af0c120c
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
Signed-off-by: Romain Derie <rdeodoo@users.noreply.github.com>
2020-10-21 09:17:14 +00:00
Pierre Collinet (pic) 7b368e7215 [FIX] sale: Apply several fix on sales tour
1. Lead to loose the tour: Remove the step of the tour that asks
to set an address (the address is auto-completed at free trial
based on domain name).

2. Bug: At step 3, it redirects to the
invoice settings to select a localization, when you click on
"install more packages", you are sent back to the sales app.
--> this bug is related to res_config_settings.js from base addon.
I tried to fix this bug by adding a data-attribute "discard" in the
res_config_settings_views and checking this additional condition in
the js.

3. Bug: Tour blocks at last step "send by email" on quotation.
After clicking on "sent" on the pop-up, there should be rainbow
effect to mark the end of the tour.

4. Bug: Sale order line: fix the blue color on Invoiced Quantity
only, instead of the full line

5. Put the "sample product" in active= false (it's necessary for
the sample invoice but should not be visible to the user, they
should create their own)

6. Merge the 2 dates fields related to expected delivery on sale.order
--> since other modules extends this module, I made the field
expected_date invisible and put the same value in both fields. This
value is the max of the order_lines.expected_date

closes odoo/odoo#59261

Taskid: 2277314
X-original-commit: 0f81816d4ddb0febd28f6c6bb5dd50ae570333e1
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-10-06 11:57:55 +00:00
Prakash Prajapati 696ea173d3 [IMP] sale: Apply discount on all SO lines onchage of first SO line
Purpose fo the task is to Allow changing a discount for the whole SO.

So in this commit, On a quotation, with "discount per line" option
enabled, if the user changes the discount on the first SO line, display
a pop-up requesting if they want to apply the change to all the lines
of the SO.
There is condition to open the confirmation dialog to change on all SO lines:
  1. There should be 3 or more lines in SO
  2. Happens only when changing the discount of the first SO line
  3. The initial discount is the same on all lines
For Ex: Example : a SO with a discount of 10% on all 6 SO lines.
The user clicks the discount field on the first so line, changes to 20%.
A pop-up "apply this discount to all quotation lines"
-> if yes, apply 20% to all SO lines.

closes odoo/odoo#54262

Taskid: 2276759
Closes: #54262
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-07-16 10:22:57 +00:00
Jason Van Malder 974bc0d2df [FIX] sale: fix safari excluded variant indistinguishable in select
Issue

	- Safari
	- Sales with product configurator
	- Have a product with color black & white
			      size M, XL
	- Exclude M size when color is white
	- Create a SO with that product
	- Select white color

	The size's M option is not grayed in the select

Cause

	We do not disable the option when it's not available.
	We are just adding a css class which grays the option.

	Safari ignores the style

Solution

	Since the flow can't be completed if you select a
	grayed item, disable the option

OPW-2289666

closes odoo/odoo#54993

X-original-commit: 6150311b72089e3fbae6bc27551bc7f4792e68dd
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: Jason Van Malder (jvm) <jvm@odoo.com>
2020-07-27 14:49:18 +00:00
Julien Mougenot c4786fccfd [IMP] *: update notifications to optional title
closes odoo/odoo#52826

Related: odoo/enterprise#11084
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-06-12 09:01:50 +00:00
Laurent Stukkens (LTU) 557582e88b [IMP] sale: Improve the onboarding tours
* The first tour is starting in the sale app dashboard and ensures
  the user goes through the needed configuration steps

* The second tour starts in the new Quote form and shows the flow to
  send a quote to a customer

TaskID: 2187222
Closes: #46167
2020-05-07 13:23:07 +00:00
Aaron Bohy 25aaf7afcf [FIX] sale,*: product_configurator: can drag&drop row
*sale_product_configurator

Since commit 50bf830, a crash occurred when a row containing a
many2one displayed with widget 'product_configurator' was dragged
and dropped.

For instance, open a quotation with at least two rows, and drag and
drop one of them.

Issue reported on task 2206228

closes odoo/odoo#48128

X-original-commit: d9c35b40b7df588f9e81142a2b272d9c7da06e04
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-03-20 15:44:47 +00:00
Romeo Fragomeli ab2e3fdb7d [REF] *: add tour steps utils
This commit moves some step utils in a dedicated file and add new ones.
These steps will be very useful for the Main Flow Tour to avoid
duplicated code.

To do this, we also had to transform it into functions to allow
utils to call each other. Existing one are converted for
standardization purpose.

Note that 'WEBSITE_NEW_PAGE' wasn't considered as an util.
This is a very simple step only used twice.
2020-03-11 10:10:16 +00:00
jerome hanke (jhk) 2ee19575be [FIX] sale: sale_tour selector fix
Steps to reproduce:
- install sales
- go into debug mode
- dev tools > start tour > sale_tour

Previous behavior:
tour would fail to see that the product has been selected
and time out if you do it multiple time

Current behavior:
the tour finishes properly (even if it runs multiple times)

opw-2187218

closes odoo/odoo#45461

X-original-commit: e7a78fd76e48fbaa895d786f699d22b2278c9301
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2020-02-17 14:10:24 +00:00
Aaron Bohy 50bf8309f8 [FIX] web,*: fix race condition with m2o quick create
*sale,sale_product_configurator

Let's assume a form view containing a many2one with an onchange
that updates the value of a one2many. Do a quick create in the
many2one. While the name_create request is pending, add a row to
the one2many but do not leave it. When the name_create returns, and
the onchange has been performed, the one2many is reset, and the row
is no longer in edition (worse, it could be invalid, i.e. in a state
that the user could not have reached in a normal situation).

This commit fixes this issue by considering the whole [name_create +
onchange] operation as one. This operation is executed in the mutex
of the model, so the other request (adding a row to the one2many) is
delayed until the many2one value has been correctly set.

This fixes an issue with the sale and rental tours (on sale_order),
that had been deactivated for a while.
2020-01-21 11:59:22 +00:00
jerome hanke (jhk) cd0f9bf943 [FIX] sale: sale_tour wait on partner creation step
Steps to reproduce:
- install sales
- go into debug mode
- dev tools > start tour > sale_tour

Previous behavior:
tour would fail after creating the "Agrolait" partner.
the test would not wait for the return value of the
customer selection.

Current behavior:
the test waits for the customer to be fully selected and does not fail.

closes #40569
opw-2091797

closes odoo/odoo#43221

X-original-commit: c4b6273c9df5d8e3f3a5ee3cf52541741526280e
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-01-13 15:12:12 +00:00
Victor Feyens 28af3fe369 [FIX] sale: do not show external button when no product is set
closes odoo/odoo#42695

X-original-commit: 1852db48a187e3011af5b396b23346a664924f56
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2020-01-03 14:09:49 +00:00
Kevin Baptiste 6cbe824871 [REV] web: reverts update to fontawesome 5.11.2
This reverts commit ff1c35513a.

closes odoo/odoo#41480

X-original-commit: 116057b26e71db4692280463669f3e80d813ddcc
Related: odoo/enterprise#7110
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-12-09 10:33:36 +00:00
Kevin Baptiste ff1c35513a [IMP] web: update to fontawesome 4.7.0 to 5.11.2
FontAwesome 5 introduced new names for some icons as described on
https://fontawesome.com/how-to-use/on-the-web/setup/upgrading-from-version-4#name-changes

This commit replaces the old names to the new ones.

closes odoo/odoo#35826

Taskid: 2050241
Related: odoo/enterprise#5180
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-11-28 10:05:12 +00:00
wan 9ba8734f15 [MOV] account: reconciliation widget
Task 2034073
The reconciliation widget is now entirely part of the enterprise version
as it is an advanced accounting feature

closes odoo/odoo#38424

Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
2019-10-18 12:53:41 +00:00
Sébastien Theys 331e1f70ec [IMP] (website_)sale(_comparison): remove 12.0 compatibility code
This code was introduced for fixes in stable version but it is not used now.

closes odoo/odoo#36365

Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2019-09-09 12:54:41 +00:00
fja-odoo d7a0b59068 [IMP] website_sale, *: allow changing qty of optional products
* sale, sale_management, sale_product_configurator,
  website_sale_product_configurator

1. Product Configurator
-----------------------

- It is now possible to change the quantity of an optional product

- Default optional product quantity is set to its parent product
  current quantity.

- The order in which optional products of an option appear when added
  to the cart is fixed it will now be displayed below the correct
  product even if there are multiple options with the same product
  template id.
  To achieve this a unique id has been added to the products and
  a reference to their parent unique id.

- The way products are given to the backend when configuration is done
  has been improved, now only an array with the product and useful info
  is submitted.

2. eCommerce in cart review
---------------------------

- It is now possible to change the quantity of an accessory product.

- It is now possible to delete an optional product added through the
  product configurator.

- The labels "Option: optional product name" below the parent product
  are now removed when a related optional product is deleted.

- The labels "Option: optional product name" are now displayed below
  the correct product.

task-1951560

closes odoo/odoo#33002

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-09-06 12:13:40 +00:00
william-andre d201a39357 [IMP] account: rework the reconciliation widget
Task 36284
Change the visual aspect of the reconciliation widget:
* Use a tab system to change modes
* Matching for receivable/payable (and liability)
* Matching for types not above
* Create a new line
* Batch Payment
* Sale Order
* Add a keyboard navigation
* Improve the search bar and use a real search view to do so
* Remove the constraint that prevent to select a line already selected
on another statement. Instead remove it when a reconciliation is
validated
* The lines already proposed are proposed last on other statement
lines
* Put the lines with exact amount matching first in the propositions
* Improve when Rainbowman shows
* Change the order of the propositions: older show first
* Remove the title on top of the view (and the ability to edit it)
* Fix some breadcrumb issues
* Also add lines from receivable/payable without partners in the manual
reconciliation widget.
* Propose things to do if there are no lines found in the manual
reconconciliation

closes odoo/odoo#32631

Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
2019-08-27 11:26:50 +00:00
Sébastien Theys 22a11a6f4d [REF] product, *: save product.template.attribute.value on variants
* account, hr_expense, mrp, sale, sale_product_configurator, stock_account,
  website_sale, website_sale_comparison

Before this commit, the `product.attribute.value` were stored on the variants.
This required filtering of attribute lines to find the appropriate matching
`product.template.attribute.value` that were used in most of the business code,
such as when computing the `price_extra`.

This also prevented to have multiple attribute lines for the same attribute,
which is needed to handle use cases such as grape varieties for wine products.
This will be done in the following commit.

After this commit, the combination of `product.template.attribute.value` will be
directly stored on the product variant.

Other changes
=============

Add `combination_indices` on product, which allows to quickly find a variant
matching a combination (1 simple indexed equality query as opposed to 1 query
with as many joins as there are attribute lines), and to add an easy
SQL constraint to ensure active combination uniqueness.

Add active field on `product.template.attribute.line` and
`product.template.attribute.value`, with the same behavior as variants:

They become archived if they can't be unlinked. This allows to keep the database
consistent, such as archived variants correctly keeping all their values, sales
order lines keeping their custom and no_variant. This is done with the help of
`ondelete=restrict` on the corresponding m2m fields, and the `unlink` methods
falling back to archiving when `unlink` is restricted.

Part of task-1912579

PR: #32946
2019-08-26 13:01:13 +00:00
Parth Choksi 5d7c0267a6 [IMP] *_sale, sale, sale_*: improvements in form view
Sending a quotation by mail is really rare and the option is still
available in dropdown menu. It is also confusing to see the document status
changed while you just want to print as a draft sometimes. So the PRINT button
is removed here.

Only displayed UNLOCK/LOCK for 'sales managers' if the
option “Lock confirmed orders” is activated in the settings.

Removed the ability to open the payment terms via external button
in edit mode

Removed the left,right and top borders in the field of terms and condition.
Kept only bottom border.

Event and Event ticket will come after Product regardless of it being a
template or the product.

In the sale order's form view, made certain changes like shifting
the positions, removing the field, adding title, keeping the field
in debug mode.

task-2033229
2019-08-08 07:54:07 +00:00
Sébastien Theys 58a2ffa26f [IMP] *: rename image fields
image_original => image_1920 (now resized to 1920)
image_big => image_1024
image_large => image_256
image_medium => image_128
image_small  => image_64
image replaced by image_1920 (when writing) or by image_1024 (when displaying
	what was previously the big size)

+ add new intermediate format:
image_512

PR: #34925
2019-08-02 16:47:58 +00:00
Martin Trigaux 5a6a414e2c [MERGE] Forward port of saas-12.4 to master up to aadc4a9f0b 2019-07-22 14:47:52 +02:00
Victor Feyens 2a18e26b01 [FIX] (event_)sale(_product_configurator: optional products and product access
> allow product access from so lines
> allow selling optional products with events and rentals (event_sale, enterprise/sale_rental)
2019-07-12 16:14:52 +00:00
Victor Feyens ebc64a089a [REF] product_configurator
Purposes:

* Remove bridge module event_sale_product_configurator
* Ease developement of product configurators AND product-based sale_order_line configurators
* Fix the tests for those extensions
	* Note that despite the widget being extensible, the tests from the other configurators can easily crash when other configurators are installed because of query counts or limited data available in tests environments.

Technical clarifications:

A main product_configurator widget base in odoo/addons/sale, set on the product_product and product_template on the sale_order_line inline list, providing:

* 5 hooks:
	* _onTemplateChange for product_product configurators based on product templates
	* _onProductChange for sale_order_line configurators based on product_product
	Those two hooks are expected to return a boolean promise to know whether the line has been configured or not, avoiding the opening of multiple wizards.
	* _isConfigurableProduct
	* _isConfigurableLine
	If true, a pencil button is shown next to the product/product_template, calling _onEditProductConfiguration when clicked.
	* _onEditProductConfiguration
		Called when clicking on edit pencil button.

Examples :

Product configurator : odoo/addons/sale_product_configurator module --> product_configurator (true one, the one in sale doesn't do anything until extended)
Sale Order Line configurator : odoo/addons/event_sale/ --> event_configurator, future rental configurator
2019-06-06 06:52:26 +00:00
fja-odoo 5ab24668f4 [FIX] sale, website_sale: move #buy_now disable
Some code was not correctly merged during forward port.

commit introducing the new method
https://github.com/odoo/odoo/commit/51ef8514eaddaebbdfee73230cfe955735d02f67

commit introducing the issue:
https://github.com/odoo/odoo/commit/71a50a2214748fec413c5a0f042d0e7172ae6ea9
2019-06-07 11:16:20 +02:00
Christophe Simonis 71a50a2214 [MERGE] forward port branch saas-12.3 up to 409679866b 2019-06-06 11:54:35 +02:00
Christophe Simonis 2b0118b984 [FIX] sale: correctly adapt forward-port of 51ef8514ea 2019-06-04 14:56:19 +00:00
Christophe Simonis 47fefea909 [FIX] sale: propage new parameter to sub-function
Oversight of previous forward-port.
2019-06-03 20:10:34 +02:00
Christophe Simonis c8d7ad9a6b [MERGE] forward port branch saas-12.2 up to 995aa1685e 2019-06-03 15:49:31 +02:00
Christophe Simonis cfe0523714 [MERGE] forward port branch 12.0 up to 8f21148e1a 2019-05-31 14:37:38 +02:00
Romain Derie fdbf11643f [IMP] *: move test and tour files to new folder hierarchy and asset
As we now have a new debug mode 'tests' which load a new asset bundle
containing tour-test files, we moved those files to a new folder hierarchy.
That will clean the .js files trees.
Also, those files should be included in the new asset.

Basically, the .js tour files (not test) should be inside /static/src/js/tours
while .js tour test files (test=true) should be inside /static/tests/tours next
to QUnit tests, inside a tours folder.

+ test_new_api: don't run the test in debug assets

task-1934445
Comes with https://github.com/odoo/enterprise/pull/4281
Closes #33213
2019-06-05 05:56:33 +00:00
Christophe Simonis 60e71302a3 [MERGE] forward port branch saas-12.2 up to 243a4ae5cb 2019-05-13 11:02:27 +02:00
Christophe Simonis 243a4ae5cb [MERGE] forward port branch saas-12.1 up to 330b99f60c 2019-05-10 15:20:01 +02:00
Christophe Simonis cc3a2c1bf3 [MERGE] forward port branch 12.0 up to e11bacfe51 2019-05-09 21:07:44 +02:00
Lucas Perais (lpe) cc0273c642 [FIX] sale: portal sidebar long quote link
Because of d5d93474de,
when displaying a quote on the portal, which quote has a product with a website description
containing a long h3
the left sidebar took all the space

After this commit, we limit the width of the anchor to the description in the sidebar

OPW 1974650

closes odoo/odoo#33056

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-04-30 14:28:59 +00:00
Hiral Bhavsar 3cd7ed07a2 [IMP] *: remove 'view_type' on window actions.
The old tree views don't really exist anymore, this odd pseudo-flag to
dispatch between "list" and "tree" tree views has no reason to remain.

Task 1937686

closes odoo/odoo#31243

Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2019-06-17 11:34:17 +00:00
Christophe Simonis 8dd5a85267 [MERGE] forward port branch saas-12.3 up to 60e71302a3 2019-05-13 15:26:12 +02:00
Sébastien Theys 51ef8514ea [FIX] product,sale,website_sale: compute combination possible in rpc
This has several advantages:
- make the code easier to maintain by having the logic only on the python model
- prevent price flickering when changing from/to an impossible combination
- fix the UI for the issue mentioned in the previous commit/the opw
- make the code much faster when using many combinations, by not requiring to
browse and to return every existing and every archived variants

The opportunity is also taken to properly throttle the rpc and to use
"DropMisordered" on its result:
- fix all the other remaining flickering when changing quantity or combination
- fix the server being spammed of rpc when using the configurator modal, but
also in a lot of other cases such as incrementing the quantity, ...
- fix UI consistency by ensuring the result of the last rpc is always the one
displayed, obsolete rpc returns are ignored

By computing the possibility of the combination asynchronously, the two
drawbacks are:
- the UI is a bit less reactive than in the previously the best case scenario,
but this almost completely mitigated by debouncing with a leading call
- it is possible for a quick user to click on "add to cart" on an impossible
combination before the return of the rpc, but this is not really an issue
because when the product will be added to cart there will a check and the
closest possible combination will be selected automatically instead

Finally the event of the configurator mixin and the widgets using it have been
cleaned to avoid the duplication of the rpc in the first place.

opw-1959317
PR: #32691

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-05-21 10:11:38 +00:00
Aurélien Warnon eec46c4774 [FIX] (website)_sale: fix p. configurator related tours
Task#1963335

Now that the product configurator has its own module, the tour
"tour_shop_custom_attribute_value" needs to be split in two parts
to handle the optional products.

The "sale_tour" also needed to be adapted to handle the fact that
the product input can also be a product_template input.

The "shop_buy_product" had its 'add_to_cart' step changed to handle
possible optional products window.

closes odoo/odoo#32368

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-04-04 08:47:37 +00:00
Christophe Simonis 71faa19af0 [MERGE] forward port branch saas-12.1 up to 2b3296bbf8 2019-03-11 14:42:34 +01:00
Christophe Simonis 2c5c9b8342 [MERGE] forward port branch 12.0 up to c023d0784f 2019-03-08 17:56:14 +01:00
Lucas Perais (lpe) ec9fff6530 [FIX] sale, sale_management, website_sale: configurator option modal change variant
Part 1: Backend
Changing an option's variant now change the product name and the image

Part 2: Front end
The behavior is the same as in the backend.

For that part though, there is a huge design problem:
the modal dialog has the class .oe_website_sale, so the widget website_sale
reacts to events triggered in the modal.

It is understandable given the history of the module, but a proper refactoring
that will implement inheriting of business behaviors through OdooClass extension/overrides
is necessary in master

OPW 1938217

closes odoo/odoo#31201

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-02-20 14:50:05 +00:00
Aurélien Warnon 7c4b99fec2 [IMP] (w_)sale_product_configurator: improve single custom value layout
Purpose
=======

When a single custom value is configured in an attribute, use the 'value' label
as a placeholder to have a full width input.
2019-03-28 14:55:02 +00:00
Aurélien Warnon ab621e524f [REF] (website_)sale,*_product_configurator: rename p_c_mixin to variant_mixin
Task #1891970

Purpose
=======

The "ProductConfiguratorMixin" was named like that for historical reasons.
It had no direct link to the product configurator anymore since the latter was moved in its own module.

The ProductConfiguratorMixin was renamed to VariantMixin to avoid confusion.
This commit just move files around, there should not be any functional change.
2019-03-28 14:55:00 +00:00
Aurélien Warnon 220f5ae53f [IMP] sale_product_configurator: improve p. configurator
Task #1891970
Original p. configurator commit d3530eb

Purpose
=======
- The p. configurator now comes with a widget that is "o2m" like in the SO lines view.
  The widget is only used on the added "product_template_id" field on the SO line.

  This widget controls the opening of the configuration window and removes the need of a "Configure a product" button.
  The "SectionAndNoteListRenderer" is now cleaned from p. configurator specific code.

  The widget is also responsible for handling the configuration provided by the p. configurator form
  and applying it on the SO line with a 'field_changed' event that updates all the necessary fields.

- Added support for 'MULTI' and 'DELETE_ALL' operations on X2Many fields in basic_model.js
  - 'MULTI' allows to batch multiple operations at once
  - 'DELETE_ALL' behaves like 'DELETE' with all the current data of the field

Spec
=======
- remove "configure a product" from sale order lines
  When the product configurator is active, replace the product_product_id by a product_template_id
  in the sale order line. When we select a template without variants, it sets the variant automatically,
  but when we select a product template having variants, it opens the configurator dialog.
- add a widget to modify the product configuration in the sale order line (next to product template field)
- UX improvements:
    - Invert image and configuration in the main screen
    - If the product doesn't have an image, hide it instead of showing the placeholder (only for first screen?)
- new independent option in sales settings to activate product configurator.
  (same in e-commerce)
- demo data: Change demo data to set Customizable Desk & Conference Chair as make to order
- If only one attribute value that is Custom, don't display radio, selection or even color box
2019-03-28 14:55:00 +00:00
Aurélien Warnon 3cb46ec74c [ADD/MOV] sale_product_configurator: new module and files move
Purpose
=======
- Moved the product_configurator into its own module now that we have a specific option for it.
  The option only enables the p. configurator in the SO form.
  The e-commerce should always allow customer to configure their products, even if the option is not checked.

  This allows moving some of the code specific to the p. configurator into its own module.
  However, a lot of the code has to remain in "sale" module since the e-commerce does not require the option
  checked and needs the "configure product" feature in the shop by default.
  (This is why the fields "product_custom_attribute_value_ids" and "product_no_variant_attribute_value_ids"
  are still in the "sale" module)
2019-03-27 15:12:50 +00:00
Aurélien Warnon e813487e75 [REM] sale: remove the SO line popup form
Purpose
=======

The sale order lines will now always be editable directly from the tree view.

Why?

- Installing some modules would force a popup form, which leads to a significant drop
  in productivity when filling in multiple sale order lines ;
- The next version of the product configurator will only be compatible with inline tree view editing.
2019-03-27 15:12:49 +00:00