[IMP] Dbl click on event to open popup for edit event.

bzr revid: cpa@tinyerp.com-20110502063256-9lb4a6q7rwnbg30g
This commit is contained in:
cpa-openerp
2011-05-02 12:02:56 +05:30
parent cde1c95f9f
commit d25af9e7c2
3 changed files with 34 additions and 14 deletions
+5 -6
View File
@@ -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)
{
+27 -6
View File
@@ -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) {