[FIX] web_gantt: duration in business days if delay not set

delay already being the hours amount in business hours

opw-620189
This commit is contained in:
Denis Ledoux 2014-12-16 10:49:18 +01:00
parent 60a361cd17
commit f833d2eacd
1 changed files with 11 additions and 2 deletions

View File

@ -144,6 +144,7 @@ instance.web_gantt.GanttView = instance.web.View.extend({
}
} else {
var task_name = task.__name;
var duration_in_business_hours = false;
var task_start = instance.web.auto_str_to_date(task[self.fields_view.arch.attrs.date_start]);
if (!task_start)
return;
@ -158,10 +159,14 @@ instance.web_gantt.GanttView = instance.web.View.extend({
if (!tmp)
return;
task_stop = task_start.clone().addMilliseconds(instance.web.parse_value(tmp, {type:"float"}) * 60 * 60 * 1000);
duration_in_business_hours = true;
}
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) || 1, 100);
if (!duration_in_business_hours){
duration = (duration / 24) * 8;
}
var task_info = new GanttTaskInfo(id, task_name, task_start, (duration) || 1, 100);
task_info.internal_task = task;
task_ids[id] = task_info;
return {task_info: task_info, task_start: task_start, task_stop: task_stop};
@ -202,7 +207,11 @@ instance.web_gantt.GanttView = instance.web.View.extend({
var self = this;
var itask = task_obj.TaskInfo.internal_task;
var start = task_obj.getEST();
var duration = (task_obj.getDuration() / 8) * 24;
var duration = task_obj.getDuration();
var duration_in_business_hours = !!self.fields_view.arch.attrs.date_delay;
if (!duration_in_business_hours){
duration = (duration / 8 ) * 24;
}
var end = start.clone().addMilliseconds(duration * 60 * 60 * 1000);
var data = {};
data[self.fields_view.arch.attrs.date_start] =