Commit Graph
910 Commits
Author SHA1 Message Date
Christophe Simonis de0d503421 [MERGE] forward port branch saas-11 up to f0c8224 2016-08-26 16:59:45 +02:00
Christophe Simonis 717a4a51a5 [MERGE] forward port branch saas-10 up to 7a4116c 2016-08-26 14:57:43 +02:00
Christophe Simonis 5c2025a3af [MERGE] forward port branch 9.0 up to c578fb7 2016-08-25 18:23:47 +02:00
xmo-odoo 0a02325cd7 [FIX] web_kanban: value not in selection states
Non-required selection fields and incorrectly updated fields (e.g.
changed options but didn't fix existing values) trips KanbanSelection
badly leading to the entire kanban view failing to appear: the rendering
phase does not find the state in its states list and blows up when
trying to access the state's class.

Fix by adding a fallback default state with an empty class.
2016-08-25 14:54:46 +02:00
Aaron Bohy dad3e9e928 [FIX] web_kanban: 'create' button
This commit fixes two bugs:
  - 'quick_create' is a special value for the on_create option, it is not an
    action xmlid. So when this option is set either in a ungrouped or in an
    empty grouped Kanban view, we should try to execute 'quick_create'.
  - the 'create' button is muted (btn-default instead of btn-primary) in
    grouped Kanban with no column. This status should be updated at each
    do_search, and each time a column is added/deleted.
2016-07-05 12:42:48 +02:00
Géry Debongnie 11f88c8cd4 [FIX] web, web_kanban: make qweb default dict configurable
In a previous refactor, qweb configuration was simplified.  However, I
missed the fact that session.js sneakily configure the qweb instance
after the fact. As a result, the kanban view did not have the _s key in
its custom qweb instance default dict.  This commit allow the qweb class
constructor to add default keys to the instance.

Now, kanban view can add _s, and everything is good.
2016-06-23 09:34:49 +02:00
Géry Debongnie d56b35e26e [REF] web, *: move QWeb odoo init to web.QWeb
this js module centralizes all odoo initialization
2016-06-17 13:27:18 +02:00
Adrien Dieudonne ef83d19b6c [ADD] web_kanban: on_create attribute
Possibility to specify the action to execute when the user clicks on 'Create'
in the kanban view.

If set to magic 'quick_create', it opens the quick create in the first column.
2016-06-16 14:59:39 +02:00
Adrien Dieudonne 939ebba682 [IMP] web_kanban: grouped: set 'Create' btn-default if no column
... and reset it btn-primary when a first column is added
2016-06-16 14:59:39 +02:00
Jainik Patel eda051f43d [REM] web: Remove GTK icons and replace them by Font-awesome 2016-06-13 12:04:17 +02:00
Christophe Simonis 35092174c1 [MERGE] forward port of branch saas-10 up to bfb272c 2016-05-13 18:38:35 +02:00
Christophe Simonis bfb272c61e [MERGE] forward port of branch saas-9 up to da8a312 2016-05-13 17:42:34 +02:00
Christophe Simonis da8a312d4e [MERGE] forward port of branch 9.0 up to 820f7e1 2016-05-13 17:42:10 +02:00
qsm-odoo 068acf76da [FIX] web_kanban: quick redrag of kanban records
When dropping a record, it is updated and rerendered. The problem with
this behaviour is that if the record is redrag immediately after drop,
jquery-ui throws an error as the widget the user is trying to re-move
is being rerendered.

The solution provided by this commit is to block the draggable feature
while the record is being rerendered.
2016-05-13 16:03:04 +02:00
Xavier Morel 037e61af32 [REM] hr_timesheet: hr.timesheet.report
* removed hr.timesheet.report as it's mostly redundant with regular
  views on analytic lines
* moved "detailed activities" to reporting, renamed it, added a pivot
  view
* redirected timesheet link from HR dashboard to the detailed activities
  action

  - added department_id to analytic lines as that link is filtered by
    department
  - fixed bug in kanban view: button context wasn't evaluated in the
    correct context
2016-05-02 19:20:14 +02:00
Yannick Tivisse b0cfcfaf30 [IMP] web: Shortcuts easier to use (lowercase)
By putting the shortcuts lowercase, it is easier to remember and to user.

Instead of Alt + Shift + letter, we have Alt + letter for Windows and Linus users
Instead of Control + Alt + Shift + letter, we have Control + Alt + letter for mac users

The combinations Alt + d and Alt + e are reserved to the browsers, so other letters are chosen
for these actions
2016-04-27 14:14:54 +02:00
Christophe Simonis 2dcbdd0778 [MERGE] forward port of branch saas-10 up to bb8f0f1 2016-04-25 15:48:31 +02:00
Christophe Simonis bb8f0f1fc3 [MERGE] forward port of branch saas-9 up to 4d337f7 2016-04-25 14:43:44 +02:00
Christophe Simonis 4d337f72ed [MERGE] forward port of branch 9.0 up to ac7beb3 2016-04-25 13:33:01 +02:00
Aaron Bohy 47f27b8023 [FIX] web_kanban: column title hidden and config button
Use 'display: none' instead of 'visible: hidden' for the config button in
columns' header so that the columns' title can take full width if that button
is hidden.

Bonus: if the config dropdown is open, the button remains visible.
2016-04-25 11:28:00 +02:00
qsm-odoo 23e3be006d [FIX] web_kanban: column title overflow when folded
Commit 3b19fa426b fixed a bug where the column title of kanban group
was overflowing its area when too long. However, when the column is
folded, the title is now really small (width of the folded column)
and then stopped to add the "..." ellipsis.

The solution is to let the text overflow when the column is folded.
2016-04-22 17:13:12 +02:00
Aaron Bohy 5b5100b3da [FIX] web_kanban: many2many tags only displayed the first time
This bug was a consequence of commit 6c57935 which introduced a JS cache of
stuff like actions, fields_view... The fields_view being modified in place by
the kanban_view (which is obviously not a good practice), it was able to
identify its many2many fields only the first time the view was displayed, as
from the second time, it received an already processed version of the
fields_view in which is wasn't able to identify many2many fields. Thus, those
fields were only displayed the first time the view kanban view was displayed.
2016-04-22 12:07:07 +02:00
Olivier Dony ee804e1d32 [MERGE] Forward-port 9.0 up to 74d8cbc190 2016-04-21 18:05:14 +02:00
Nicolas Martinelli 3b19fa426b [FIX] web_kanban: long names un header
When the stage name is too long, the column header is messed up: the
'Settings' and the 'Quick Add' icons are located outside of the column.

The fix is to truncate stage names when they are too long.

opw-672710
2016-04-21 15:38:16 +02:00
Aaron Bohy aebc17f22a [FIX] addons: .less compatibility between both web clients 2016-04-21 15:21:40 +02:00
Géry Debongnie b893342007 [REV] web_kanban: reverts 9b54b04 and 6859c8da
These 2 commits in kanban view fixed 1 bug by introducing a few other
severe bugs. The tradeoff is not worth it, especially when it is
balanced again deleting some contacts in your database.
2016-04-20 17:20:25 +02:00
Christophe Simonis 73fbadf8ae [MERGE] forward port of branch 9.0 up to 7c04420 2016-04-19 12:58:55 +02:00
Géry Debongnie 9b54b042a0 [FIX] web_kanban: correct count for dataset size
In non grouped mode, a recent fix (fixing race condition in do_search)
introduced a new bug, the dataset size is not correctly set.

This is a quick and dirty fix, I believe that changing the dataset
internals like this commit (and other) do is really not correct.
However, the correct fix (working on the dataset API) is more dangerous
in a stable release.
2016-04-15 11:47:49 +02:00
Christophe Simonis 9b5ba8b238 [MERGE] forward port of branch saas-10 up to 21c7ef8 2016-04-12 12:38:02 +02:00
Christophe Simonis 21c7ef8bf5 [MERGE] forward port of branch saas-9 up to eb44341 2016-04-12 11:56:44 +02:00
Christophe Simonis eb443410ff [MERGE] forward port of branch 9.0 up to afba8ce 2016-04-12 11:12:57 +02:00
Géry Debongnie 6859c8dacb [FIX] web_kanban: fix race condition in do_search
The do_search method still had a race condition because the
read_slice method of datasets alter ids.  So, what could happen is
this: a long search is started, then a shorter search is started and
ended before the first search is completed.  The ui is rendered
properly, but then the long search ends and alter the dataset.  As
a result, the Kanban view is broken (cannot open a record anymore
because the dataset has the wrong ids).

This commit fixes the issue by doing basically what the read_slice
method did, except the ids altering part.  However, it introduced
a new problem for x2many kanban views: these kanban view don't have
the same dataset, they have a datasetstatic. The naive substitution
does not work, so I had to reintroduce the old method in X2ManyKanbanView.
2016-04-07 14:16:04 +02:00
Christophe Simonis ddb0fb2739 [MERGE] forward port of branch saas-9 up to 59d3f63 2016-03-24 16:53:45 +01:00
Christophe Simonis 59d3f63c58 [MERGE] forward port of branch saas-7 up to 9e4157b 2016-03-24 15:12:00 +01:00
Tanguy Charlier 1ae7f735c5 [FIX] web_kanban: float_time widget did not work
* This is a forward-port of 4c1c1ec4d4
2016-03-24 13:47:37 +01:00
Thibault Francois e6ac7a7d25 [ADD] project_timesheet, sale_service: support for project sub-tasks
This commit introduces "Sub-task", a concept remotely similar to
the "delegated tasks" available in version 7.0, but covering a
more specific and narrow scope.

Activating Sub-tasks
--------------------

Sub-tasks are made available within any project by configuring
a "sub-task project" in the project settings. This feature is
considered low-level and technical, and only accessible with
"Technical Features" enabled.
The "sub-task project" may be the project itself.

Using Sub-tasks
---------------

Conceptually, a sub-task represents the allocation of a part
of the scope of its parent task. Multiple sub-task levels
are possible.

Once activated in project settings, a new "Sub-tasks" smart button
will appear on the task form, giving the option to view and
create sub-tasks. In addition, a new field "Sub-tasks Hours" will
appear next to the other computed "Hours" fields, representing
the total hours allocated to sub-tasks.
(Technically, the sum of the maximum between the planned hours
and spent hours of all sub-tasks, with spent hours always used
when a task is closed)
These sub-task hours will be dynamically subtracted from the
remaining hours of the task, and will therefore affect the
task's progress as well.

Upon creation, a sub-task will inherit the link to the
original sales order and procurement from its parent task, and
will by default be assigned to the "sub-task project" set on
the project of the parent task.

Enhancement
-----------
The kanban view for tasks will now display a color-coded label
with the number of remaining hours, whenever the percentage
of remaining hours is below 20% (orange=20%-, red=1%-).

Notes
-----------
This is a forward port of 43c42b304d

Since hr_timesheet has been migrated to the new API, the forward port changes mostly consists in migrating the sub-tasks system to the new API as well.
2016-03-24 13:44:21 +01:00
Nicolas Martinelli 899d01b9fb [FIX] web_kanban: request fields only if necessary 2016-03-22 08:45:17 +01:00
Nicolas Martinelli 7a9c16ffee [FIX] web_kanban: prevent drag'n'drop
Prevent drag'n'drop in the following cases:
- Group by field is read-only
- Group by field is a date or datetime

This is necessary to avoid, for example, changing the state of a sales
order or an invoice without going through all the business logic.

Related to #7047
opw-671697
2016-03-21 11:00:27 +01:00
Nicolas Martinelli 69278f09d1 [FIX] web_kanban: prevent drag'n'drop
Prevent drag'n'drop in the following cases:
- Group by field is read-only
- Group by field is a date or datetime

This is necessary to avoid, for example, changing the state of a sales
order or an invoice without going through all the business logic.

Related to #7047
opw-671697
2016-03-21 10:23:22 +01:00
Tanguy Charlier 2f8c99d412 [FIX] web_kanban: float_time widget did not work
* This is a forward-port of 4c1c1ec4d4
2016-03-18 11:18:29 +01:00
Thibault Francois 43c42b304d [ADD] project_timesheet, sale_service: support for project sub-tasks
This commit introduces "Sub-task", a concept remotely similar to
the "delegated tasks" available in version 7.0, but covering a
more specific and narrow scope.

Activating Sub-tasks
--------------------

Sub-tasks are made available within any project by configuring
a "sub-task project" in the project settings. This feature is
considered low-level and technical, and only accessible with
"Technical Features" enabled.
The "sub-task project" may be the project itself.

Using Sub-tasks
---------------

Conceptually, a sub-task represents the allocation of a part
of the scope of its parent task. Multiple sub-task levels
are possible.

Once activated in project settings, a new "Sub-tasks" smart button
will appear on the task form, giving the option to view and
create sub-tasks. In addition, a new field "Sub-tasks Hours" will
appear next to the other computed "Hours" fields, representing
the total hours allocated to sub-tasks.
(Technically, the sum of the maximum between the planned hours
and spent hours of all sub-tasks, with spent hours always used
when a task is closed)
These sub-task hours will be dynamically subtracted from the
remaining hours of the task, and will therefore affect the
task's progress as well.

Upon creation, a sub-task will inherit the link to the
original sales order and procurement from its parent task, and
will by default be assigned to the "sub-task project" set on
the project of the parent task.

Enhancement
-----------
The kanban view for tasks will now display a color-coded label
with the number of remaining hours, whenever the percentage
of remaining hours is below 20% (orange=20%-, red=1%-).

Note: This is a forward port of the commit 9eac32beea
2016-03-18 11:18:23 +01:00
Aaron Bohy 002660a9b0 [IMP] openerp, web(_*): batch views RPCs
Load the fields_view of all views of the action together. If a searchview is
required, also load its fields_view and its filters.

Use lazy-loading for fields as they are required for the Pivot and Graph
views only, and may be used by Filters and GroupBy menus of the Search view
if the users clicks on 'Add a custom Filter/Group'.

The fields are thus also loaded directly if the first view of the action is
Pivot or Graph, and otherwise, they are lazy-loaded when/if the user opens
a Pivot or Graph view, or if he wants to add a custom Filter/Group.

Some refactoring of views API as well:
- Views must now be instantiated with their fields_view
- Move code requiring fields_view from start() to init(), or willStart() for
  heavy processing.
- Remove view_type attribute from views as it was used to call
  fields_view_get.
- Remove view_id parameter to views' init as it is no longer used.
- Move duplicate code from various views' init to the View widget.
- Remove view_loading() function from views as they now follow the classical
  lifecycle of widgets (init -> willStart -> start -> destroy).
- Searchview now extends View like all other views.
- Remove useless function guard_active() as it was used for the form_view's
  action buttons to wrap handlers to ensure that they are executed only if
  the form_view is the current active view. This is not useful anymore as
  from v9, views and their control panel are appended in the DOM
  simultaneously, so one can't click on a button of a view which is not the
  current active view.
2016-03-18 10:44:52 +01:00
Aaron Bohy 141f4d95bd [REF] web_kanban: render_buttons()
A special case for X2ManyKanban views was handled in the Kanban view itself.
This commit makes the X2Many case identical to the general case by setting
options.action_buttons to true if the X2Many field is not readonly.
2016-03-18 10:44:52 +01:00
Martin Geubelle fe66472e2c [FIX] web, web_kanban: visible default color on tags
The default comportement of tags has been changed. The default color is now visible on kanban.
The 10th color is now invisible.
2016-03-09 14:34:01 +01:00
Thibault Francois 9eac32beea [ADD] project_timesheet, sale_service: support for project sub-tasks
This commit introduces "Sub-task", a concept remotely similar to
the "delegated tasks" available in version 7.0, but covering a
more specific and narrow scope.

Activating Sub-tasks
--------------------

Sub-tasks are made available within any project by configuring
a "sub-task project" in the project settings. This feature is
considered low-level and technical, and only accessible with
"Technical Features" enabled.
The "sub-task project" may be the project itself.

Using Sub-tasks
---------------

Conceptually, a sub-task represents the allocation of a part
of the scope of its parent task. Multiple sub-task levels
are possible.

Once activated in project settings, a new "Sub-tasks" smart button
will appear on the task form, giving the option to view and
create sub-tasks. In addition, a new field "Sub-tasks Hours" will
appear next to the other computed "Hours" fields, representing
the total hours allocated to sub-tasks.
(Technically, the sum of the maximum between the planned hours
and spent hours of all sub-tasks, with spent hours always used
when a task is closed)
These sub-task hours will be dynamically subtracted from the
remaining hours of the task, and will therefore affect the
task's progress as well.

Upon creation, a sub-task will inherit the link to the
original sales order and procurement from its parent task, and
will by default be assigned to the "sub-task project" set on
the project of the parent task.

Enhancement
-----------
The kanban view for tasks will now display a color-coded label
with the number of remaining hours, whenever the percentage
of remaining hours is below 20% (orange=20%-, red=1%-).
2016-03-01 18:54:08 +01:00
Christophe Simonis 1c7f5a45e5 [MERGE] forward port of branch saas-7 up to d016457 2016-02-29 12:30:27 +01:00
Aaron Bohy be7898955b [REF] web_kanban: duplicate definition of One2ManyKanbanView
Relational Kanban views are already (and correctly) defined in
kanban_relational.js
2016-02-29 10:05:09 +01:00
Aaron Bohy b816cdbea9 [FIX] web(_*): views: render action buttons in dialogs
Commit 516b1a6c72 fixes a bug with action buttons not being displayed when they
should in dialogs. However, it makes the assumption that either $node or
this.options.$buttons exist, which is not always the case (e.g. dashboard).

This rev. moves that logic out of the views to the view_manager, and protects
the call of empty() on this.options.$buttons.
2016-02-29 08:47:20 +01:00
Thibault Francois 4c1c1ec4d4 [FIX] web_kanban: float_time widget did not work
`instance` was undefined in this context, probably
following a forward-port mistake
2016-02-26 18:56:49 +01:00
Christophe Simonis 78d20b552b [MERGE] forward port of branch saas-8 up to 7e44ddc 2016-01-27 12:24:04 +01:00