Commit Graph
1356 Commits
Author SHA1 Message Date
Martin Geubelle 0ac2d8f015 [FIX] web: add o_input class on m2o dialog input
Since the rev https://github.com/odoo/odoo/commit/250e716c3a12e88acb4a199b427dc47d4ec55d5d
the class `o_input` needs to be set on an input to correctly style it.
2017-05-09 15:19:00 +02:00
qsm-odoo 250e716c3a [REF] web, *: restore views design
Since the new views merge, a lot of design elements were broken. This
was particularly impacting the fields in the editable list view; indeed
the editable list view is not using an inline form view anymore so the
fields in the list were not properly styled as the LESS was still
defined assuming the form view environment (for example the invalid
fields were red for o2m fields in form view but not in editable list
view even though they got the right CSS class).

This commit refactor the LESS following these rules:
- No more division of non-layout and layout rules. Dividing LESS rules
  in x_layout.less and x.less was a mistake. Many rules can be
  considered to be layout and not layout at the same time, developers
  always have to switch from one file part to the other, many CSS
  selectors (and rules!) are duplicated for nothing, ...
- Field style is extracted from x_view.less and put in the new
  fields.less file. As before, the fields_extra.less will contain the
  rules specific to community so that the enterprise repo can override
  those by replacing the whole file.
- Many classes have been renamed so that o_form_x_y becomes o_x_y as
  many classes can now be applied outside of form view. These classes
  should not be used in templates anyway.

The commit also changes the DOM of fields so that it is more minimalist
(no useless parent div, etc).

Input elements are not automatically styled anymore, they have to get
the o_input class explicitely. This allows to fix lots of small style
bugs of previous versions (required monetary field had not the proper
style, readonly m2m tags appeared as editable, ...). This also improves
the LESS code.

The editable list view should also completely stop flickering on chrome
and firefox.

The commit also removes the orange outline on list view dirty cells.

The commit also removes deprecated static xml, LESS and other code.

Notice there are still styles to restore/fix and LESS to improve.
2017-05-04 12:07:30 +02:00
Mitali Patel f00e9c6453 [IMP] web: custom tooltip in dashboard graph widget 2017-05-04 09:58:04 +02:00
fwi-odoo a53335fdb2 [FIX] web, document: adapt toolbar to the new views
- Fix the toolbar behaviour since there is no more dataset in the widget.
- Improve the communication beetwen the controller and the toolbar.
- Move the code linked to the document upload in the right file.
- Adapt the tests to mock the search_read done by ´document´ addon
- Adapt the mock server to be able to give a custom toolbar action
2017-05-03 13:41:07 +02:00
Christophe Matthieu 76e6a0e356 [DOC] web: add documentation to use calendar
The calendar view was changed with the new view, but the documentation
was not updated.
2017-04-28 11:32:05 +02:00
Martin Geubelle 5ec62a0b31 [FIX] mrp: reintroduce pdf_viewer field widget
This field widget has been adapted to the new views.
This commit also introduces some tests.
2017-04-27 16:56:47 +02:00
Aaron Bohy 7dab370a06 [REF] web: relational fields: FieldStatus
Moves back the mobile rendering part of the FieldStatus to
enterprise, alongside all other tweaks to improve the UX in mobile.

This part had been moved to community inadvertendly in the new
views branch.
2017-04-27 15:53:16 +02:00
Martin Geubelle 9def2009ee [FIX] web: reintroduce many2many_binary field widget
The field has been adapated to the new views.
This commit also introduces some tests.
2017-04-24 15:28:57 +02:00
Géry Debongnie d658fe67db [FIX] web: debugmanager view metadata should not crash
In general, I think that we can safely consider that crashes are not the
intended behaviour.

In this case, viewing metadata crashed because we tried to format a date
which was not parsed (so, a string), instead of a moment object. We
simply just parse the date before, and it works as intended.
2017-04-24 10:28:52 +02:00
Christophe Matthieu 920df597d3 [REF] barcode, *: update code to new JS framework
With the new views, the barcode mechanisms were completely broken,
because the view and widget JS code was totally changed.

This commit update and refactor all that code to make it work with the
new design philosophy.  Also, it update the coding style.
2017-04-11 19:44:38 +02:00
Géry Debongnie 0ef53d742c [FIX] web: fix two small crashes in debug manager
- remove edit workflow link in debug manager. The workflow feature was
    removed, but there was still a link in the debug manager.  Clicking on
    that link was a crash.
- the rpc to fetch a view was wrongly updated, so the return value was
  not properly used.
2017-04-11 19:44:38 +02:00
qsm-odoo c74ab1a146 [IMP] web: domain & field selector usability (+ design)
+ Document and refactor the files using the new guidelines

* Now only non-technical names are used when building field chains and
  domains (technical names can be used in debug mode).
* Better warnings are displayed when using the field and/or domain
  selector widgets (also checks domain validity in both domain field
  AND domain selector widget).

Also improve design (thanks to original work of @stefanorigano):
- Hovering 'remove' highlights the element that will be removed
- Hovering 'add node' btns shows where the new node will be created
- Restyle debug domain input field (make it similar to a text editor)
- Improve design and layout
- Resize inner fields
2017-04-11 19:44:38 +02:00
Aaron Bohy fc08507fdb [REF] web,*: convert Kanban widgets to new style
The remaining widgets were KanbanRecord and the two quick create
widgets. Now, all kanban files have been converted and refactored.
2017-04-11 19:44:38 +02:00
qsm-odoo 29cd7154e6 [FIX] web: restore FieldStatus behavior
FieldStatus was broken:
- With a selection, the statusbar_visible attribute forces the choices
  to display, the discarded ones do not appear at all (even folded)
- With a m2o, the fold_field option tells the field to check in the
  relation to know if the choice has to be folded or not, this was not
  properly supported
- Changing a m2o value was broken as the parseMany2one function did
  not exist
- The status were misordered
- ...

* Also refactor the way the rendering is handled.
* Also modify all statusbar tests so that the statusbar widget is
  placed in the form header tag (as it is the common use case).
2017-04-11 19:44:38 +02:00
Géry Debongnie b717c67864 [REF] web,*: improve the way field_utils are done
We replace a bunch of formatting and parsing functions by an object
(parse or format) which can be used to dispatch on the correct type.  It
allows us to remove the format_field and parse_field functions.

Also, we camelcase our new code and add some comments.
2017-04-11 19:44:38 +02:00
qsm-odoo 92f24f2cfe [IMP] web: adapt field domain to new API
Add the implementation of the "FieldDomain" (widget='domain') in
basic fields file.
2017-04-11 19:44:38 +02:00
Géry Debongnie 905e01921f [REF] web, *: redesign all JS views
This commit introduce a full redesign of all JS views.  We started
basically from scratch.  The goal was to unify all the various views
under a common framework, to make them testable, to make then usable in
different conditions (in studio, or in the frontend), and to make our
lives easier.

Some important points are:
- we introduced new coding guidelines (camelCase, 80 chars width, ...)
- we have a brand new testing framework (still QUnit based)
- kanban view moved to the web addon
- calendar view (formerly web_calender) moved to web as well
- the tree view was removed
- all new code should be documented

We hope that this code is the start of a new era for the Odoo web
client, we want to have a high quality codebase, well documented, well
tested, well designed.

Work done by the framework team: mostly aab, ged, chm, dmo, qsm
2017-04-11 19:44:38 +02:00
Christophe Simonis 68176d80ad [MERGE] forward port branch saas-14 up to eddefc9948 2017-03-01 16:49:15 +01:00
Christophe Simonis 85368d7f86 [MERGE] forward port branch 10.0 up to 387b2acfcb 2017-02-23 20:15:38 +01:00
Christophe Simonis 387b2acfcb [MERGE] forward port branch saas-11 up to 1730dca101 2017-02-23 19:40:03 +01:00
Adrien Dieudonne d506199988 [FIX] web: set max width for image field in form view
Before this commit, wide images were larger than the form view.
2017-02-14 16:02:57 +01:00
Christophe Simonis a282d4ae7f [MERGE] forward port branch saas-14 up to be9dfb331f 2017-02-10 18:41:06 +01:00
Mohammed Shekha 90c5430ab6 [IMP] web: Separate personal and shared favorite filters in search view
Purpose
=======
When there are lots of shared filters then its difficult to differentiate personal and shared filters

Specification
==========
- Show all personal filters first as user will prefer his own filters to come first in list
- Show all shared filters after personal filter in list
- Add separator line between personal and shared filter
2017-02-09 10:45:27 +01:00
fwi-odoo 64a0ece649 [FIX] web: simplify the datepicker template
The library needs to have a 'relative' positioned parent to place
the datetimepicker correctly.
We don't do that in the template
anymore because it was not working in all the cases.
The template which instantiates the datepicker should define
a parent in position 'relative'.
2017-02-07 15:42:25 +01:00
qsm-odoo 82ef921874 [FIX] web: handle field selector closing/opening correctly
Ironically, clicking on the dropdown arrow of the field selector was
the only way which was not opening the dropdown. It was indeed added
as pure design element.
This commit handles the opening and closing of the dropdown in a more
robust way... while simplyfing the code too.
2017-02-03 13:34:03 +01:00
Christophe Simonis 6a942a9e96 [MERGE] forward port branch 10.0 up to 8a0151b4bc 2017-02-02 12:42:51 +01:00
qsm-odoo 495b5ef117 [IMP] web: add options to field selector to filter the fields
Before this commit, the field selector had an unique option to filter
the fields it displays: filters.searchable, which tells the widget to
only display the searchable fields (which is the default). Now there
are two more options:

- fields: an explicit list of the fields to use (if null, let the
    widget get the fields itself (this is the default))
- followRelations: a boolean which is true if the user can follow
    relation to build a field chain (default to true)

These options are needed by Web Studio in enterprise where domain
construction for form view attrs can only use fields which are in the
view and do not follow relations.
2017-01-31 11:38:52 +01:00
fwi-odoo ad6fd5f838 [REF] web: update bootstrap-datetimepicker lib and adapt datepicker widget
from 3.0.3 to 4.17.42
2017-01-30 10:29:27 +01:00
Christophe Simonis ba8a1c7ec2 [MERGE] forward port branch saas-11 up to e86983112e 2017-01-27 18:20:28 +01:00
Christophe Simonis 047efcbd58 [MERGE] forward port branch 9.0 up to 838beb12de 2017-01-27 16:21:51 +01:00
Olivier Dony 6edb749534 [FIX] web: provide correct autofill browser hints
Modern browser implement the autofill specs as described at
 https://html.spec.whatwg.org/multipage/forms.html#autofill

This means that there is now a way to tell the browser when a password
field is supposed to be filled with the user's own password (e.g. on a
login field), and when it's supposed to be used to input a new secret
value (e.g. when changing someone else's password).

This can be distinguished by setting the autocomplete attribute
to `current-password` or `new-password`.

In addition, many browsers have decided to entirely disregard the
autocomplete='off' attribute value, because it is felt that using
a secure password manager (as provided by those browsers) is a net
gain for security, allowing users to pick stron passwords.
See also https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion

Based on this, the framework should generally consider that
password fields in the backend are meant to be used for *setting*
new values (autocomplete="new-password", i.e. no autocompletion!),
whereas the password field on the login page can indeed be autofilled
with the user's current password (autocomplete="current-password").

In addition to making the above changes, this patch also
lets developer specify their own `autocomplete` attribute on
text input fields.
2017-01-27 14:44:36 +01:00
Christophe Simonis fded0065ae [MERGE] forward port branch saas-14 up to 6c4389df41 2017-01-23 14:51:11 +01:00
qsm-odoo 1d3472b9d6 [FIX] web: better align domain selector elements
Mixing the use of btn-xs and btn-sm was not good for design.
This commit use btn-xs for "add a filter" and "edit domain"
buttons to improve elements alignment.
2017-01-12 13:37:10 +01:00
qsm-odoo d9c7c30856 [FIX] web: handle the case of a field domain without set model
Some domain fields are initialized with a model which depends of another
form field value. Sometimes, this value is False and the domain selector
cannot be used during that time (and was even performing useless RPC).

Now, in this case, the field domain is fully replaced by a message
which explains that a model have to be set. If you don't want this
message to be shown, you still have the possibility to not show the
field domain when there is no model thanks to the "invisible" attrs.
2017-01-12 13:37:10 +01:00
Christophe Simonis a2c1df8b9c [MERGE] forward port branch saas-14 up to 557feb950c 2017-01-10 13:52:44 +01:00
Yannick Tivisse 43fcbe3318 [IMP] web: allow to upload multiple files in many2many_binary widget 2017-01-09 16:37:16 +01:00
qsm-odoo 11a4e17c9c [IMP] web: add a dialog option to the FieldDomain
Now, the form FieldDomain has an option "dialog" which allows to force
the domain *edition* in a new dialog. This allows the field to be
positioned in smaller area of the form view in some contexts.
2017-01-06 16:03:09 +01:00
qsm-odoo f64c1c6b74 [IMP] web: FieldDomain panel at top right instead of below
The FieldDomain is composed of a DomainSelector widget and a button
which allows to see the records which match the domain (or an error
message if the domain is wrong).
The button was placed below the domain selector. Now, in edit mode,
it is placed at the top-right of the domain selector, saving some
vertical space.
2017-01-06 16:03:09 +01:00
qsm-odoo e3f99885ca [IMP] web, *: add new Domain and Field selection widgets
* base_action_rule, gamification, mass_mailing

1) Create the independant DomainSelector widget

- Allow to build a prefix char domain

2) Replace old FieldCharDomain with a new FieldDomain which uses the
   new DomainSelector widget

3) Create the independant ModelFieldSelector widget

- Allow to build a valid field chain for a specific model
  (e.g 'partner_id.name' for a 'res.users')
- Used by DomainSelector widget

---

The DomainSelector widget uses a tree-like representation with
user-friendly buttons (ALL/ANY/+/-/...). Any domain can be built,
except those containing the "!" (not) operator or some operators
like "like", "child_of" (@see DomainSelector). However, if the
user enters these in the debug input, the widget can handle them.

Note: these widgets had to do unusual stuff the widget API does not
allow to handle efficiently right now but it will be adapted to the
new widget/field API in a further update.

Note2: the widgets also have possibility of other improvements like
supporting m2o input instantiation in DomainLeaf, etc.

---

This work is an adaptation of the original code made by @pga-odoo.
2017-01-03 18:38:03 +01:00
Leonardo Rochael Almeida 47536a3f7d [IMP] web: allows styling of the pager counters
Before this commit, the pager counters and buttons were at the same
level, and could not be styled independently (with some rules such as
nowrap).

Close PR #14865
2017-01-02 09:06:57 +01:00
Jérome Maes 13f84b9aca [REM] *: remove ir.needaction mixin
ir.needaction_mixin is not used anymore by the webclient.
From 9.0, the concept has changed: this feature is now
available in mail module, with the mail.thread mixin,
and message_neeadction field.

Remove all code handeling needaction bullet and
counter on ir.ui.menu, knowing that since 9.0
webclient does not display the counter anymore.

This code was, thus, useless and some RPC calls
were done for nothing, and adapt accounting
reconcialiation widget.
2016-12-05 11:30:03 +01:00
jpr-odoo 9e26d875db [IMP] *: uniformize modals buttons: remove 'oe_link' class and 'or' between buttons 2016-11-09 15:27:01 +01:00
Kishan Gajjar 5a3d0fc3ff [IMP] web: show technical field name in export wizard by hover in debug mode
In export wizard on mouse hover display technical name of field in debug mode
2016-11-09 15:06:12 +01:00
Géry Debongnie 78dfb01942 [IMP] web: disable selected fields in pivot dropdown
In the pivot view, when the user select a new field to drill down, the
previous dropdown menu displayed all the groupable fields as valid
choice.  This commit disables all the fields that have already been
selected.  It means that they will be greyed out, and inactive in the
UI.
2016-11-08 15:21:37 +01:00
qsm-odoo dd560377e2 [IMP] web: improve traceback reporting
* Do not assault the user with a full traceback on bug, but indicates
an error occured and allow him to toggle the traceback
* Automatically scroll the traceback to the end (better for python
errors)
* Propose the user to report the traceback by using a new "Copy"
button which correctly copies the full error + traceback
2016-11-02 13:26:00 +01:00
Ravi Gadhia 0afe5d4af5 [FIX] web: hide "Create" button for editable tree views with create="false"
Make it such that the buttons "Save" and "Discard" are still visible.
2016-10-11 10:22:10 +02:00
Nicolas Martinelli 9ab6af8f01 [IMP] web: move "Activate Assets Debugging"
It is more logical to display it next to "Leave the Developer Tools"
2016-10-10 10:16:16 +02:00
Nicolas Martinelli 6c3ec9b053 [FIX] web: remove "Disable/Enable Technical Features"
This link was useful when the "Technical Features" group was not linked
to the "?debug" parameter. This is not the case anymore, and this button
has no effect.
2016-10-10 10:14:46 +02:00
Christophe Simonis f308b09a9a [MERGE] forward port branch saas-13 up to 856476d 2016-09-22 15:27:35 +02:00
Christophe Simonis 856476d441 [MERGE] forward port branch saas-12 up to b1b700a 2016-09-22 15:23:45 +02:00