From c6ecd0ec6d590ad2a71b4a03aacdb82c174fb9bd Mon Sep 17 00:00:00 2001 From: cpa-openerp Date: Fri, 24 Jun 2011 14:39:32 +0530 Subject: [PATCH] [FIX] Fixed gantt crash in crome, add parent task first then child task in gantt. bzr revid: cpa@tinyerp.com-20110624090932-zotnlozt2a1dk7cr --- addons/base_gantt/static/src/js/gantt.js | 42 ++++++++++++++++-------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/addons/base_gantt/static/src/js/gantt.js b/addons/base_gantt/static/src/js/gantt.js index 0add92e6ec5..627bbae2005 100644 --- a/addons/base_gantt/static/src/js/gantt.js +++ b/addons/base_gantt/static/src/js/gantt.js @@ -164,7 +164,6 @@ init: function(view_manager, session, element_id, dataset, view_id) { if (self.grp.length == 0){ self.grp.push({'group_by' : this.parent}) } - if (self.grp != undefined){ for (j in self.grp){ var grp_key = res[self.grp[j]['group_by']]; @@ -243,22 +242,37 @@ init: function(view_manager, session, element_id, dataset, view_id) { } } - for (i in all_events){ - res = all_events[i]; + for (j in self.grp){ + for (i in all_events){ + res = all_events[i]; + if ((typeof(res['evt'][3])) == "object"){ + res['evt'][3] = self.hours_between(res['evt'][2],res['evt'][3]); + } - if ((typeof(res['evt'][3])) == "object"){ - res['evt'][3] = self.hours_between(res['evt'][2],res['evt'][3]); - } - - if(res['parent'] == ""){ - task=new GanttTaskInfo(res['evt'][0], res['evt'][1], res['evt'][2], res['evt'][3], 100, "",res['evt'][6]); - project.addTask(task); - }else{ - task=new GanttTaskInfo(res['evt'][0], res['evt'][1], res['evt'][2], res['evt'][3], 100, "",res['evt'][6]); - prt = project.getTaskById(res['parent']); - prt.addChildTask(task); + k = res['evt'][0].toString().indexOf('_'); + if (k != -1){ + if (res['evt'][0].substring(k) == "_"+j){ + if (j == 0){ + task = new GanttTaskInfo(res['evt'][0], res['evt'][1], res['evt'][2], res['evt'][3], res['evt'][4], "",res['evt'][6]); + project.addTask(task); + } else { + task = new GanttTaskInfo(res['evt'][0], res['evt'][1], res['evt'][2], res['evt'][3], res['evt'][4], "",res['evt'][6]); + prt = project.getTaskById(res['parent']); + prt.addChildTask(task); + } + } + } } } + for (i in final_events){ + evt_id = final_events[i]; + res = all_events[evt_id]; + + task=new GanttTaskInfo(res['evt'][0], res['evt'][1], res['evt'][2], res['evt'][3], res['evt'][4], "",res['evt'][6]); + prt = project.getTaskById(res['parent']); + prt.addChildTask(task); + } + oth_hgt = 264; min_hgt = 150; gantt_hgt = jQuery(window).height() - oth_hgt;