Commit Graph
120953 Commits
Author SHA1 Message Date
sri-odoo a0ff2966b6 [REF] web: data_comparison, output HTML adjust 2018-09-26 14:06:24 +02:00
sri-odoo 30b476ed21 [REF] web: design adjustments for dahboard view 2018-09-26 14:06:13 +02:00
Martin Geubelle 77f6384240 [FIX] base: description of contact widget options
There were spelling errors in the description of the `contact` qweb
widget options.
2018-09-26 13:48:48 +02:00
Martin Trigaux 2e6c071e9f [FIX] doc: set version for version dropdown
The version number is used in the version dropdown in the the switcher_list.html
file as well as in the page title
2018-09-26 13:46:51 +02:00
Raphael Collet d1d496c0b6 [FIX] models: avoid multiple identical warnings in onchange 2018-09-26 13:28:56 +02:00
XavierDo a4fa2a33f9 [FIX] web: order read_group by aggregable fields only in list view
The read_group method will ignore and display a warning when giving an
order on a non-aggregable field. Therefore, when accessing a list of
record from a list view group by some field and ordered on another one,
a warning will appear in logs (making the nightly clikall test yellow)

The solution here is to only order by current group by field and on
aggregable fields. We want to keep the user order to know the ASC/DESC
information.
2018-09-26 13:02:47 +02:00
Raphael Collet a99e04dfee [FIX] base: perform field reflection in batch
Speedup 4% of installation time.
2018-09-26 11:46:30 +02:00
Vincent Schippefilt c2b4790be4 [FIX] web: fix date picker fields do not capture the focus event when invisible
Before this fix, in form view, when a datepicker was not visible (because
they were on another page or literally invisible), when the user pressed
TAB and the datepicker was positionned after the current field in the
form, it was capturing the focus during the activate phase of the
navigation_move.
This is not correct for invisible elements.

After this fix, only focusable datepickers get the focus during the
activation phase of the navigation_move.

co-author: aab-odoo (aab@odoo.com)
2018-09-26 11:43:38 +02:00
Géry Debongnie 046837b9a1 [DOC] sale: fix docstrings (doc is broken)
The crappy branch on the product configurator broke the doc build
process, because

1. we do not test that the doc is properly built
2. we merge branches without reviewing them
2018-09-26 11:23:02 +02:00
svs-odoo 49136a3f03 [FIX] web: menu items are now correctly sorted by alphabetical order
Menu items for measures list are now sorted by their 'string' value.
We set that string in lowercase because uppercase/lowercase influences
string comparison, so we are sure to compare always strings with the
same case.

This fix is effective for pivot view, cohord view and graph board.

Task #1882576
2018-09-26 11:14:32 +02:00
Arnold Moyaux d39847a375 [FIX] stock: match demo lot name with barcode sheet
Since demo data refactoring the lot name and reference has been
inversed. However the demo stock barcode sheet(oe) was not updated
and the scan of the lot trigger the warning unknown barcode.

We prefered to get back to LOT-00001 as name since we could modify the
label on the barcode to 0000047 but it does not reflect a lot name and
couldn't be unserstand by a user trying the demo data. We could also
keep the label LOT-00001 and modify the barcode content to 0000047 but
when the user would scan the LOT-00001, he will see 000047 on its screen
which is incomprehensible. So we choose the simple solution to keep
LOT-00001 as name and 0000047 as reference.
2018-09-26 10:53:43 +02:00
Arnold Moyaux a1ba385075 [FIX] stock: package to master data
commit 96abf2ca90 moved package menu to
operation and rename it delivery package. However move it to opeation
could confuse the user and let him imagine that he is able to create the
package content from this menu which is not the case. This menu only
allow you to see the package, its location and its content.

Also package are not always delivery package since it could be use in
internal picking type so it's better to remove the 'delivery' from the
menu item.
2018-09-26 10:53:05 +02:00
svs-odoo 9095592a46 [DOC] document value_label attribute
Document 'value_label' attritube of dashboard aggregate and formula.
2018-09-26 09:33:58 +02:00
svs-odoo de2a1d328d [FIX] web: replace bad indentation characters
Done when working on task #1882569
2018-09-26 09:33:03 +02:00
Josse Colpaert f04ede4ec8 [IMP] pos_mercury, pos_restaurant: posbox -> IoT Box 2018-09-25 23:01:41 +02:00
Josse Colpaert 97c2366ab2 [IMP] point_of_sale: posbox -> IoT Box and IoT Box image
- posbox -> IoT Box
- added scripts for server configuration and step by step wizard
- start Firefox browser on screen with specific url
- captive portal configuration with nginx and dnsmasq
- enlarged /tmp folder
- Removed dhcpd server as hostapd handled that already

Most of the changes done by qle
2018-09-25 23:01:41 +02:00
Josse Colpaert e2a23995a1 [IMP] hw_scale: fix to avoid conflicts with other driver
There are two scales that are supported, but the Adam scale
possibly won't return any answer so there is no way to detect then
if it is an Adam scale or something else.  As we have not implemented
a detection method for the caliper driver yet, we exclude it from
the devices the scale can detect.  (by comparing /dev/serial/by-id
and by-path)
2018-09-25 23:01:40 +02:00
Josse Colpaert 8b957b7e85 [IMP] hw_*: updated web interface for IoT Box
We changed the naming of posbox to IoT Box everywhere
and renewed the web interface using jinja2 templates in
separate html files.

A separate configuration for the server and the IoT Box name
was added and it shows drivers for both  pos and iot.

The interface also needs a step to step wizard that is launched
when the access point is active for simplified configuration.

Thanks to qle and Deep Patel.
2018-09-25 23:01:40 +02:00
Josse Colpaert 3d9ebb11b6 [ADD] hw_drivers: drivers management module for the IoT Box
- Routes to get device/driver statuses from the browser
- Framework for managing and downloading drivers for devices
connected to the IoT Box
- Automatic detection of printers and cameras in the network
- Built-in detection for USB and Bluetooth LE devices and checking
if a driver matches the device
- Authentication of the box into Odoo
- Inform Odoo of the connected devices and giving them a unique
identifier so they can be called from the browser

Thanks to qle, specially for fswebcam and cups
2018-09-25 23:01:40 +02:00
TWA 728e2e7a2a [IMP] crm_reveal: add install button in CRM settings + credit widget 2018-09-25 22:28:43 +02:00
Rémi Rahir 7838bde2a8 [IMP] partner_autocomplete: diverse improvements
- CRON changed to 60min
- Fixed display/rendering issues with autocomplete widgets.
- Moved 'Insufficient credit' banner
- Editable endpoint for partner_autocomplete service
2018-09-25 22:28:43 +02:00
TWA 302bd149dc [IMP] iap: Check Credit Widget moved to IAP module 2018-09-25 22:28:43 +02:00
Rémi Rahir aab0e9b453 [FIX] iap: fixing access rights for non-admin user 2018-09-25 22:28:43 +02:00
qsm-odoo 502f45aa2d [FIX] website(_event): make parallax filter change the default color
Setting a black low-transparency filter on a parallax element was
leaving the text color black too as the filter did not act as a
background color. Now the filter is computed from the parallax
background color.
2018-09-25 19:54:26 +02:00
qsm-odoo 92c8645d62 [IMP] website: allow selecting navbar's font
Same as it was done before for buttons, this commit adds an option in
the theme customize dialog to allow selecting the font for the navbar
elements.

Needed for themes migration.
2018-09-25 19:54:26 +02:00
qsm-odoo e24c3409d9 [FIX] web: make the BS color-yiq function work with transparent colors 2018-09-25 19:54:26 +02:00
Jeremy Kersten 0c47bda54d [FIX] website_sale: make wizard bar 100% width 2018-09-25 19:40:42 +02:00
Wolfgang Taferner d14e9e62c6 [FIX] website_sale: remove redundant order definition
As the order on the product itself is destroying the functional sequence
in the backend of the module product (handle widget is ineffective on
the view) and is individually set since 4dce861 for its original
purpose, it should not be of any risk to remove the redefinition of
product order for website sale.

This commit closes #26118
2018-09-25 19:40:42 +02:00
Jeremy Kersten 44d659d0df [FIX] web_editor,website: add hook method in web editor to allow to add the website_id
Before this commit, the view create by editor (to change the scss file in asset for example) was not website specific.
Now we override (use the new hook method) to add the website_id.
2018-09-25 19:40:42 +02:00
Romain Derie 569554b9e0 [FIX] website: website forced on wrong session with website selector
Forcing website on session before navigating to the other website would not
work as expected if the other website has a different URL (hostname).
It would force the website on session on current website, then navigate to
second website which could still had another website in session.

Now, we force the website in session once we land on the website in the
dispatch() method.

Step to reproduce:
  - Set website1 to 127.0.0.10
  - Set website2 to 127.0.0.20
  - From website1 click on website2 in website selector
  - Website2 is forced on website1 session (wrong)
  - You land correctly on website2 and see website2
  - From there (website2) click on website1 in website selector
  - Website1 is forced on website2 session (wrong)
  - You land on website1 but see website2 since website2 was forced on
    website1 session at steps 3/4.

This is even more trickier when there is a third website without a domain in
the equation (meaning this website can be seen from website1 and website2
without changing URL (hostname)).
2018-09-25 19:16:16 +02:00
Romain Derie 4daceeddb2 [IMP] website(_*): add kwargs in routes where necessary
task-32836
2018-09-25 19:16:10 +02:00
Aurélien Warnon d3530eb07e [IMP] product,(website_)sale: Allow users to fully configure products
Purpose
=======

- Configure a product from a sales order as easily as in the ecommerce
  The backend uses the same template as the frontend to configure a products and its options

- Display optionnal products of optionnal products in the "sale options" section

- Allow adding exlusions to some combinations of the product and/or
  to some combinations of the optionnal and accessory products

- Product attributes can now have custom values.
  These values are specified by the user during the SO creation.
  They are also available on the webshop frontend.

- Product attributes can be configured to create variants "on demand".
  This means that product.templates having these attributes will only create product.product variant
  when that combination is actually selected in a sale order/in the web shop.

  Product attribute values are also improved to handle extra prices and exclusions
  in all three modes ("never", "dynamic, "always")

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

1. Improve the "Add to cart" with optional products

- When you add an option to cart, move the product to the cart & show the options of this option
- Don't open the option wizard if no option available (in case this module becomes generic,
  it's better to skip this step when it's not needed)
- Display the options right under their related product in the cart

2. Do not allow to add the product as an optional product for itself
Why ?
- No functional sense
- Creates issues in the add to cart wizard

3. Exclude some attribute combinations within the product or with related options and accessory products

- Rename VARIANT PRICES button -> CONFIGURE VARIANTS
- When you click this button and select a value, open form view rather than inline edition
- Form view of variant values:
	- Attribute
	- Value
	- HTML Color Index
	- Attribute Price Extra
	- Not Compatible with: o2m tab with 2 fields: Product AND Attribute Value (of this product)
	  [m2m tag selection]
	- in any new line, autocomplete the current product by default
	- Tooltip: A list of product and attribute values that you want to exclude for
          this product's attribue value. Also applies on optionnal and accessory products.

4. New option to configure a product in a sales order line

- This option is only visible if the corresponding option is activated in the sales settings
- It opens a wizard to select a product template, configure related attribute values
  and select optional products (based on frontend view)
- Attributes not compatible with other selected attributes should not be selectable
- Must work like in the frontend

5. Create variants on demand
- add a new mode to generate variants as they are added to the order/cart
  (needed for big # of combinations managed in the inventory and/or produced in mrp with specific boms)
- replace the boolean by a selection radio
  tooltip for this new field:
	Always:
	  Variants are generated straight away when
	  the attribute values are combined in the product configuration.
	Only when the product is added to a sales order:
	  Variants are generated once the combination is selected in the sales order.
	  This is advised when variants are customized on demand and manufactured as such in Odoo.
	Never:
	  Advised when variants are not needed in Odoo.
	  The selected values just show up in the description of sales order lines.
- ability to define attribute extra prices & exclude combinations in all variant modes
- if at least one attribute of the product in set to "on demand" mode, generate all the variants "on demand"
2018-09-25 18:42:07 +02:00
Arnold Moyaux 90824fc019 [IMP] mrp: bom structure without product.product
Since the product configurator it could exist a product.template
without product.product (variant selected on SO/PO). however the
bom cost and structure report needed at least one product.product

This commit modifies the bom report in order to use the standart price
of the product.template instead of the product.product since it's the
same. It also adapt the search on attachment.
2018-09-25 18:39:32 +02:00
Aurélien Warnon 51e51055bf [IMP] (website_)sale: Allow configuring variants creation on demand
Purpose
=======

Product attributes can be configured to create variants "on demand".
This means that product.templates having these attributes will only create product.product variant
when that combination is actually selected in a sale order/in the web shop.

Product attribute values are also improved to handle extra prices and exclusions
in all three modes ("never", "on demand", "always")

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

Create variants on demand
- add a new mode to generate variants as they are added to the order/cart
  (needed for big # of combinations managed in the inventory and/or produced in mrp with specific boms)
- replace the boolean by a selection radio
  tooltip for this new field:
	Always:
	  Variants are generated straight away when
	  the attribute values are combined in the product configuration.
	Only when the product is added to a sales order:
	  Variants are generated once the combination is selected in the sales order.
	  This is advised when variants are customized on demand and manufactured as such in Odoo.
	Never:
	  Advised when variants are not needed in Odoo.
	  The selected values just show up in the description of sales order lines.
- ability to define attribute extra prices & exclude combinations in all variant modes
- if at least one attribute of the product in set to "on demand" mode, generate all the variants "on demand"
2018-09-25 18:39:32 +02:00
Aurélien Warnon df2ea31ff6 [IMP] (website_)sale: Add custom values for product attributes
Purpose
=======

Product attrivutes can now have custom values.
These values are specified by the user during the SO creation.
They are also available on the webshop frontend.

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

add a new mode to generate variants as they are added to the order/cart
- ability to define attribute extra prices & exclude combinations
2018-09-25 18:39:32 +02:00
Aurélien Warnon d3fbd10269 [IMP] framework js: improve X2Many 'CREATE' operation to handle multiple records
Purpose
=======

The 'CREATE' operation lacked the possibility to handle multiple records.
The 'context' parameter is now an array of dict that contains the context for each new record.

This is usefull when you want to create multiple records into a list in a single call.
Please note that the 'default_get' is still called once for each record in an async way.
2018-09-25 18:39:32 +02:00
Yannick Tivisse 57ffbe89ef [IMP] models.py: Concatenate warning messages if they are different
Purpose
=======

When several warnings are raised, in an onchange for example, the warning
messages and titles are concatenated on the dialog, even if they are
exactly the same.

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

Don't concatenate warning messages if they are exactly the same.
2018-09-25 18:39:32 +02:00
Aurélien Warnon 856c2e9008 [IMP] product,(website_)sale: Move product options configurator into sale module
Task #1871557

Purpose
=======

- Configure a product from a sales order as easily as in the ecommerce
  The backend uses the same template as the frontend to configure a products and its options

- Display optionnal products of optionnal products in the "sale options" section

- Allow adding exlusions to some combinations of the product and/or
  to some combinations of the optionnal and accessory products

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

PHASE I

1. Improve the "Add to cart" with optional products

- When you add an option to cart, move the product to the cart & show the options of this option
- Don't open the option wizard if no option available (in case this module becomes generic,
  it's better to skip this step when it's not needed)
- Display the options right under their related product in the cart

2. Do not allow to add the product as an optional product for itself
Why ?
- No functional sense
- Creates issues in the add to cart wizard

3. Exclude some attribute combinations within the product or with related options and accessory products

- Rename VARIANT PRICES button -> CONFIGURE VARIANTS
- When you click this button and select a value, open form view rather than inline edition
- Form view of variant values:
	- Attribute
	- Value
	- HTML Color Index
	- Attribute Price Extra
	- Not Compatible with: o2m tab with 2 fields: Product AND Attribute Value (of this product)
	  [m2m tag selection]
	- in any new line, autocomplete the current product by default
	- Tooltip: A list of product and attribute values that you want to exclude for
          this product's attribue value. Also applies on optionnal and accessory products.

4. New option to configure a product in a sales order line

- This option is only visible if the corresponding option is activated in the sales settings
- It opens a wizard to select a product template, configure related attribute values
  and select optional products (based on frontend view)
- Attributes not compatible with other selected attributes should not be selectable
- Must work like in the frontend
2018-09-25 18:39:32 +02:00
Aurélien Warnon fd07990b85 [REM] website_sale_options: Remove translations
The module is to be removed in the next commit. The aim of this commit
is to avoid noise on the diff.
2018-09-25 18:39:32 +02:00
Sébastien Theys 96f7bda09e [IMP] website: improve "new content" text & add block ui
We don't want the user to click on the page while an installation is in progress.
2018-09-25 18:29:16 +02:00
svs-odoo fa4c650b01 [IMP] web: limit number of open columns in kanban view
With this commit, we limit the kanban view to 10 open groups
at the start. This is useful to prevent the web client to make
too many requests at once.

This limit is set in the constant 'OPEN_GROUP_LIMIT'.
Note:
- columns already set as folded by default aren't take into account.
- the user can still open any folded column, as usual.

Task #1878113 (1/2)
2018-09-25 17:23:52 +02:00
Géry Debongnie 17ef915ff2 [DOC] doc: add information on session and client action 2018-09-25 17:17:25 +02:00
Romain Derie 17573f4094 [FIX] website_blog, website_forum: missing template name
This commit adds various fixes to blog and forum:
  - Some templates were mising a name, resulting in ugly page title
    (eg: forum_all)
  - Latest Blogs page was checking seo keywords to display tags, maybe it was
    coming from an old tag implementation that used seo keywords?
  - If only one forum, land on it directly when accessing /forum, like blog
    does
  - ..
2018-09-25 16:51:31 +02:00
Vincent Schippefilt cbc155860d [FIX] web: add style to focussed links in editable lists
In some forms (especially invoices), there are more than one action
"add a new line" on the invoice lines one2many. When using the keyboard
to access those links, some kind of style is required to identify which
link is currently focussed, else the focussed link is not visible.
2018-09-25 16:49:23 +02:00
Vincent SchippefiltandAlexandre Kühn 1c3d7c00e0 [FIX] web: focus 1st control in editable list on ESC
Before this commit, when we click on the 1st control in
an editable list (usually 'Add an item') then press ESCAPE,
the focus was not on the 1st control.

The intended behaviour is to have the focus on the 1st control,
so that we may navigate left/right between controls solely with
the keyboard.

With this commit, when a cancel keyboard navigation event is
triggered in an editable list, it auto-sets the focus on the
first control.

Co-authored-by: Alexandre Kühn <aku@odoo.com>
2018-09-25 16:49:23 +02:00
Vincent SchippefiltandAlexandre Kühn 48a53f2ea5 [FIX] web: improve automatic creation of new lines in x2many in forms
This commit fixes a few issues with the previous implementation of the
automatic addition of new lines in x2many inside forms

1. Before this commit, when there is a change of mode in a formview
`edit` -> `readonly` -> `edit`, there may be some cases that
mistakenly and automatically opens a modal.

This case occurs in a form view with a x2many field whose 1st inner
focusable element opens a modal (e.g. "Add an item").

In `edit` mode:
	1. Open this modal from the x2many
	2. Close the modal
	3. Change mode to `readonly`
	4. Change mode to `edit`
> the same modal is automatically open.

This is due to the tracking of the last activated field that persists
after a change of mode. Since the last activated field in the 1st
`edit` is the x2many, it is granted the focus at the beginning of the
2nd `edit`, which automatically opens the modal.

This commit fixes the issue by resetting the tracking of the last
activated field when there is a change of mode. As a result, at the
beginning of the 2nd `edit`, the focus should always be on the 1st
field.

2. Before this commit, if the focus was moved out of the form (to a modal
for instance) then back, the form would re-activate the last field, which
is the x2many and would re-add a new line. This behavior is not correct
and now going back from a modal to a form does not add a new line.

Co-authored-by: Alexandre Kühn <aku@odoo.com>
2018-09-25 16:49:23 +02:00
Vincent Schippefilt e343f5f5f9 [IMP] web: x2many adds a new line by tabbing on a not dirty line
Before this change, when the focus was on the first field on a x2many
field, and the user pressed TAB, the line would be discarded and the
focus moved to the next field (at the level of the x2many) in the form.

This was an issue because if the first field was required, the focus
could not be moved out of the field with TAB so the user had to discard
the line manually (with ESC) before moving to the next field

This change works with 2 changes:
1. detecting if a line is dirty (has been modified by the user) and at
the end of the line, decide to either
    - discard the line and move the next field, if the line is not dirty
    - commit the line and add a new line, if the line is dirty

2. allow users to use TAB through required field inside x2many so they
can easilly go to the end of the line.

Task id : 1872248
2018-09-25 16:49:22 +02:00
Vincent Schippefilt 3dcf20284d [IMP] web: remove nagivating left, right, up and down from field to field using the arrow keys
The idea for this change is that there are different behaviors when using
the keyboard inside an editable list:
when the focus is at the end of a text field, it moves the focus to the
right cell when pressing right, but not when the focus is in the middle
of the field. Also, moving up from within a multiline text field was incoherent.

In order to simplify the keyboard navigation, only TAB is used to move
from field to field inside and outside a editable list.

Task id : 1872248
2018-09-25 16:49:22 +02:00
Xavier Morel ac37ca39ea [FIX] doc: github_link compatibility with Sphinx 1.8 2018-09-25 16:28:18 +02:00
Sébastien Theys d2ba705019 [IMP] website_livechat,website_hr_recruitment: make them Apps
Since we add those on the "New Content" menu, it's better if they are Apps,
so they can be found more easily.

PR: #27110
task-1885419
2018-09-25 16:23:08 +02:00