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