[IMP] Improve edit, when open popup on dblclick of tasks.

bzr revid: sma@tinyerp.com-20110718061722-8uy5eqw9tzu04bqg
This commit is contained in:
sma (Tiny) 2011-07-18 11:47:22 +05:30
parent 344a48ab55
commit ff5acb4351
1 changed files with 44 additions and 18 deletions

View File

@ -289,7 +289,7 @@ init: function(view_manager, session, element_id, dataset, view_id) {
ganttChartControl.attachEvent("onTaskStartDrag", function(task) {self.on_drag_start(task);}); ganttChartControl.attachEvent("onTaskStartDrag", function(task) {self.on_drag_start(task);});
ganttChartControl.attachEvent("onTaskEndResize", function(task) {self.on_resize_drag_end(task, "resize");}); ganttChartControl.attachEvent("onTaskEndResize", function(task) {self.on_resize_drag_end(task, "resize");});
ganttChartControl.attachEvent("onTaskEndDrag", function(task) {self.on_resize_drag_end(task, "drag");}); ganttChartControl.attachEvent("onTaskEndDrag", function(task) {self.on_resize_drag_end(task, "drag");});
ganttChartControl.attachEvent("onTaskDblClick", function(task) {self.open_popup(task);}); ganttChartControl.attachEvent("onTaskDblClick", function(task, evt) {self.open_popup(task); evt.stopPropagation(); evt.preventDefault();});
taskdiv = jQuery("div.taskPanel").parent(); taskdiv = jQuery("div.taskPanel").parent();
taskdiv.addClass('ganttTaskPanel'); taskdiv.addClass('ganttTaskPanel');
@ -372,27 +372,53 @@ init: function(view_manager, session, element_id, dataset, view_id) {
open_popup : function(task) { open_popup : function(task) {
var event_id = task.getId(); var event_id = task.getId();
if(event_id.toString().search("_") != -1) if(event_id.toString().search("_") != -1)
return; return;
if (event_id) { if(event_id) event_id = parseInt(event_id, 10);
event_id = parseInt(event_id, 10);
var dataset_event_index = jQuery.inArray(event_id, this.ids); var action = {
} else { "res_model": this.dataset.model,
var dataset_event_index = null; "res_id": event_id,
"views":[[false,"form"]],
"type":"ir.actions.act_window",
"view_type":"form",
"view_mode":"form"
} }
this.dataset.index = dataset_event_index;
action.flags = {
search_view: false,
sidebar : false,
views_switcher : false,
action_buttons : false,
pager: false
}
var element_id = _.uniqueId("act_window_dialog"); var element_id = _.uniqueId("act_window_dialog");
var dialog = jQuery('<div>', var dialog = jQuery('<div>', {
{'id': element_id 'id': element_id
}).dialog({ }).dialog({
title: 'Gantt Chart', modal: true,
modal: true, width: 'auto',
minWidth: 800, height: 'auto',
position: 'top' buttons: {
}); Cancel: function() {
var event_form = new openerp.base.FormView(this.view_manager, this.session, element_id, this.dataset, false); $(this).dialog("destroy");
event_form.start(); },
Save: function() {
var view_manager = action_manager.viewmanager;
var _dialog = this;
view_manager.views[view_manager.active_view].controller.do_save(function(r) {
$(_dialog).dialog("destroy");
self.reload_gantt();
})
}
}
});
var action_manager = new openerp.base.ActionManager(this.session, element_id);
action_manager.start();
action_manager.do_action(action);
//Default_get
if(!event_id) action_manager.viewmanager.dataset.index = null;
}, },
on_drag_start : function(task){ on_drag_start : function(task){