Farid Ghanchi (OpenERP) has proposed merging 
lp:~openerp-dev/openerp-web/trunk-opw-576040-port-ggh into lp:openerp-web.

Requested reviews:
  OpenERP R&D Web Team (openerp-dev-web)

For more details, see:
https://code.launchpad.net/~openerp-dev/openerp-web/trunk-opw-576040-port-ggh/+merge/138948

Hello, 

In revision: 3576
step to reproduce:
In messaging >> calender(meeting) >> gantt view
Gantt chart not showing right duration when we provide date_dalay(duration).

when we mouse hover any event bar so in tooltip wrong daration display.when we 
edit daration time suppose duration=20 hours not same hour in tooltip show.

In revision: 3577
step to reproduce:
setting>>language>> edit English lang. change decimal separator suppose comma(,)
and then again go above step so not display proper gantt view..

format_value change the value from "." to "," when decimal separator "," and 
duration not set for any event.

In revision: 3578
In Gantt chart default set working hours "8".
we set in xml code day_length='10' 

so we set in 1 day=10hour (working hours).

Thanks.
-- 
https://code.launchpad.net/~openerp-dev/openerp-web/trunk-opw-576040-port-ggh/+merge/138948
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openerp-web/trunk-opw-576040-port-ggh.
=== modified file 'addons/web_gantt/static/lib/dhtmlxGantt/sources/dhtmlxgantt.js'
--- addons/web_gantt/static/lib/dhtmlxGantt/sources/dhtmlxgantt.js	2012-01-27 13:35:08 +0000
+++ addons/web_gantt/static/lib/dhtmlxGantt/sources/dhtmlxgantt.js	2012-12-10 12:39:21 +0000
@@ -348,7 +348,7 @@
  *  @type: public
  *  @topic: 0
  */
-function GanttChart()
+function GanttChart(day_length)
 {
     this.Error = new GanttError();
     this.dhtmlXMLSenderObject = new dhtmlXMLSenderObject(this);
@@ -356,7 +356,7 @@
     //settings
     this.heightTaskItem = 12;
     this.dayInPixels = 24;
-    this.hoursInDay = 8;
+    this.hoursInDay = day_length;
     this._showTreePanel = true;
     this._showTooltip = true;
     this.isShowDescTask = false;

=== modified file 'addons/web_gantt/static/src/js/gantt.js'
--- addons/web_gantt/static/src/js/gantt.js	2012-11-26 10:46:55 +0000
+++ addons/web_gantt/static/src/js/gantt.js	2012-12-10 12:39:21 +0000
@@ -63,6 +63,7 @@
     on_data_loaded: function(tasks, group_bys) {
         var self = this;
         var ids = _.pluck(tasks, "id");
+        day_length = self.fields_view.arch.attrs.day_length || 8;
         return this.dataset.name_get(ids).then(function(names) {
             var ntasks = _.map(tasks, function(task) {
                 return _.extend({__name: _.detect(names, function(name) { return name[0] == task.id; })[1]}, task); 
@@ -150,26 +151,28 @@
                     task_stop = instance.web.auto_str_to_date(task[self.fields_view.arch.attrs.date_stop]);
                     if (!task_stop)
                         return;
+                    var duration = (task_stop.getTime() - task_start.getTime()) / (1000 * 60 * 60);
+                    duration = ((duration / 24) * day_length);
                 } else { // we assume date_duration is defined
-                    var tmp = instance.web.format_value(task[self.fields_view.arch.attrs.date_delay],
-                        self.fields[self.fields_view.arch.attrs.date_delay]);
+                    var tmp = task[self.fields_view.arch.attrs.date_delay];
                     if (!tmp)
                         return;
                     task_stop = task_start.clone().addMilliseconds(tmp * 60 * 60 * 1000);
+                    var duration = tmp;
                 }
-                var duration = (task_stop.getTime() - task_start.getTime()) / (1000 * 60 * 60);
                 var id = _.uniqueId("gantt_task_");
-                var task_info = new GanttTaskInfo(id, task_name, task_start, ((duration / 24) * 8), 100);
+                var task_info = new GanttTaskInfo(id, task_name, task_start, duration, 100);
                 task_info.internal_task = task;
                 task_ids[id] = task_info;
                 return {task_info: task_info, task_start: task_start, task_stop: task_stop};
             }
         }
-        var gantt = new GanttChart();
+        var gantt = new GanttChart(day_length);
         _.each(_.compact(_.map(groups, function(e) {return generate_task_info(e, 0);})), function(project) {
             gantt.addProject(project);
         });
         gantt.setEditable(true);
+        gantt.showDescTask(true,'s-f');
         gantt.setImagePath("/web_gantt/static/lib/dhtmlxGantt/codebase/imgs/");
         gantt.attachEvent("onTaskEndDrag", function(task) {
             self.on_task_changed(task);
@@ -198,15 +201,16 @@
         var self = this;
         var itask = task_obj.TaskInfo.internal_task;
         var start = task_obj.getEST();
-        var duration = (task_obj.getDuration() / 8) * 24;
-        var end = start.clone().addMilliseconds(duration * 60 * 60 * 1000);
         var data = {};
         data[self.fields_view.arch.attrs.date_start] =
             instance.web.auto_date_to_str(start, self.fields[self.fields_view.arch.attrs.date_start].type);
         if (self.fields_view.arch.attrs.date_stop) {
+            var duration = (task_obj.getDuration() / day_length) * 24;
+            var end = start.clone().addMilliseconds(duration * 60 * 60 * 1000);
             data[self.fields_view.arch.attrs.date_stop] = 
                 instance.web.auto_date_to_str(end, self.fields[self.fields_view.arch.attrs.date_stop].type);
         } else { // we assume date_duration is defined
+            var duration = task_obj.getDuration();
             data[self.fields_view.arch.attrs.date_delay] = duration;
         }
         this.dataset.write(itask.id, data);

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : openerp-dev-gtk@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to