[IMP] Dbl click on event to open popup for edit event.
bzr revid: cpa@tinyerp.com-20110502063256-9lb4a6q7rwnbg30g
This commit is contained in:
@@ -3,22 +3,21 @@ from base.controllers.main import View
|
||||
|
||||
class GanttView(View):
|
||||
_cp_path = "/base_gantt/ganttview"
|
||||
|
||||
|
||||
model = ''
|
||||
domain = []
|
||||
context = {}
|
||||
|
||||
|
||||
@openerpweb.jsonrequest
|
||||
def load(self, req, model, view_id):
|
||||
fields_view = self.fields_view_get(req, model, view_id, 'gantt')
|
||||
return {'fields_view':fields_view}
|
||||
|
||||
|
||||
@openerpweb.jsonrequest
|
||||
def reload_gantt(self, req, **kw):
|
||||
|
||||
|
||||
model = req.session.model(kw['model'])
|
||||
domain = kw['domain']
|
||||
|
||||
|
||||
event_ids = model.search(domain)
|
||||
return event_ids
|
||||
|
||||
@@ -4943,9 +4943,9 @@ GanttTask.prototype.createTaskItem = function()
|
||||
}
|
||||
|
||||
var taskClick = function() {
|
||||
self.Chart.callEvent("onTaskClick", [self]);
|
||||
self.Chart.callEvent("onTaskDblClick", [self]);
|
||||
};
|
||||
this.addEvent(divMove, 'click', taskClick, false);
|
||||
this.addEvent(divMove, 'dblclick', taskClick, false);
|
||||
|
||||
if (this.Chart.isEditable)
|
||||
{
|
||||
|
||||
@@ -193,21 +193,42 @@ init: function(view_manager, session, element_id, dataset, view_id) {
|
||||
ganttChartControl.create("GanttDiv");
|
||||
ganttChartControl.attachEvent("onTaskEndResize", function(task) {self.on_resize_drag(task, "resize");})
|
||||
ganttChartControl.attachEvent("onTaskEndDrag", function(task) {self.on_resize_drag(task, "drag");})
|
||||
|
||||
ganttChartControl.attachEvent("onTaskDblClick", function(task){self.open_popup(task);});
|
||||
},
|
||||
|
||||
hours_between: function(date1, date2) {
|
||||
|
||||
var ONE_DAY = 1000 * 60 * 60 * 24
|
||||
var date1_ms = date1.getTime()
|
||||
var date2_ms = date2.getTime()
|
||||
var difference_ms = Math.abs(date1_ms - date2_ms)
|
||||
var ONE_DAY = 1000 * 60 * 60 * 24;
|
||||
var date1_ms = date1.getTime();
|
||||
var date2_ms = date2.getTime();
|
||||
var difference_ms = Math.abs(date1_ms - date2_ms);
|
||||
|
||||
d = Math.round(difference_ms / ONE_DAY)
|
||||
d = Math.round(difference_ms / ONE_DAY);
|
||||
h = Math.round((difference_ms % ONE_DAY)/(1000 * 60 * 60));
|
||||
return (d * this.day_length) + h;
|
||||
|
||||
},
|
||||
open_popup : function(task) {
|
||||
var event_id = task.getId();
|
||||
if (event_id) {
|
||||
event_id = parseInt(event_id, 10);
|
||||
var dataset_event_index = jQuery.inArray(event_id, this.ids);
|
||||
} else {
|
||||
var dataset_event_index = null;
|
||||
}
|
||||
this.dataset.index = dataset_event_index;
|
||||
var element_id = _.uniqueId("act_window_dialog");
|
||||
var dialog = jQuery('<div>',
|
||||
{'id': element_id
|
||||
}).dialog({
|
||||
title: 'Gantt Chart',
|
||||
modal: true,
|
||||
minWidth: 800,
|
||||
position: 'top'
|
||||
});
|
||||
var event_form = new openerp.base.FormView(this.view_manager, this.session, element_id, this.dataset, false);
|
||||
event_form.start();
|
||||
},
|
||||
|
||||
on_resize_drag : function(task, evt) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user