Vaibhav (OpenERP) has proposed merging
lp:~openerp-dev/openerp-web/trunk-bug-855346-vda into lp:openerp-web.
Requested reviews:
OpenERP R&D Web Team (openerp-dev-web)
Related bugs:
Bug #855346 in OpenERP Web: "the gatt view doesn't remind change of date"
https://bugs.launchpad.net/openerp-web/+bug/855346
For more details, see:
https://code.launchpad.net/~openerp-dev/openerp-web/trunk-bug-855346-vda/+merge/76677
Changes in Gantt Contextmenu on `Projects` or `Tasks` tree should reflect the
changes to the records.
--
https://code.launchpad.net/~openerp-dev/openerp-web/trunk-bug-855346-vda/+merge/76677
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openerp-web/trunk-bug-855346-vda.
=== modified file 'addons/web/static/src/js/views.js'
--- addons/web/static/src/js/views.js 2011-09-15 13:12:01 +0000
+++ addons/web/static/src/js/views.js 2011-09-23 07:02:25 +0000
@@ -424,7 +424,8 @@
return $.when(
this._super(view_type),
this.shortcut_check(this.views[view_type])).then(function () {
- var view_id = self.views[self.active_view].controller.fields_view.view_id;
+ var active_controller = self.views[self.active_view].controller;
+ var view_id = active_controller.fields_view ? active_controller.fields_view.view_id : active_controller.view_id;
self.$element.find('.oe_get_xml_view span').text(view_id);
});
},
=== modified file 'addons/web_gantt/static/src/js/gantt.js'
--- addons/web_gantt/static/src/js/gantt.js 2011-09-15 09:49:44 +0000
+++ addons/web_gantt/static/src/js/gantt.js 2011-09-23 07:02:25 +0000
@@ -43,7 +43,7 @@
this.name = this.fields_view.arch.attrs.string;
this.view_id = this.fields_view.view_id;
-
+
this.date_start = this.fields_view.arch.attrs.date_start;
this.date_delay = this.fields_view.arch.attrs.date_delay;
this.date_stop = this.fields_view.arch.attrs.date_stop;
@@ -228,7 +228,7 @@
var evt_date = "";
var evt_duration = "";
var evt_end_date = "";
-
+ var project_tree_field = [];
for (var i in final_events){
evt_id = final_events[i];
evt_date = all_events[evt_id]['evt'][2];
@@ -254,7 +254,7 @@
self.render_events(all_events, 0);
}
- for (var i in final_events){
+ for (var 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]);
@@ -278,8 +278,9 @@
ganttChartControl.attachEvent("onTaskStartDrag", function(task) {self.on_drag_start(task);});
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("onTaskDblClick", function(task) {self.open_popup(task);});
-
+
var taskdiv = jQuery("div.taskPanel").parent();
taskdiv.addClass('ganttTaskPanel');
taskdiv.prev().addClass('ganttDayPanel');
@@ -293,7 +294,7 @@
self.set_width();
});
- jQuery(window).bind('resize',function(){
+ jQuery(window).bind('resize',function() {
window.clearTimeout(ganttChartControl._resize_timer);
ganttChartControl._resize_timer = window.setTimeout(function(){
self.reload_gantt();
@@ -301,6 +302,37 @@
});
jQuery("div #_1, div #_1 + div").hide();
+
+ //Custom events
+ var context_menu = ganttChartControl.contextMenu,
+ buttons = [],
+ values = {};
+
+ _.each(context_menu.arrTabs, function(tab, tab_index) {
+ buttons.push(_.filter(tab.arrItems,function(b) {
+ return b.control.type == "button";
+ })[0]);
+ });
+ _.each(buttons, function(b, index) {
+ $(b.control).click(function() {
+ if(!context_menu.arrTabs[index].object.parentTask)
+ return false;
+ var task_info = context_menu.arrTabs[index].object.TaskInfo;
+ project_id = task_info.Id;;
+ switch(index) {
+ case 0:
+ values[self.text] = task_info.Name;
+ return self.dataset.write(project_id, values);
+ case 1:
+ return self.dataset.unlink([project_id]);
+ case 3:
+ if(self.date_delay) {
+ values[self.date_delay] = task_info.Duration;
+ return self.dataset.write(project_id, values);
+ }
+ }
+ })
+ });
},
set_width: function() {
@@ -385,53 +417,46 @@
},
open_popup : function(task) {
+ var self = this;
var event_id = task.getId();
if(event_id.toString().search("_") != -1)
return;
if(event_id) event_id = parseInt(event_id, 10);
-
- var action = {
- "res_model": this.dataset.model,
- "res_id": event_id,
- "views":[[false,"form"]],
- "type":"ir.actions.act_window",
- "view_type":"form",
- "view_mode":"form"
- };
-
- action.flags = {
- search_view: false,
- sidebar : false,
- views_switcher : false,
- pager: false
- };
- var element_id = _.uniqueId("act_window_dialog");
- var dialog = jQuery('<div>', {
- 'id': element_id
- }).dialog({
- modal: true,
- width: 'auto',
- height: 'auto',
- buttons: {
- Cancel: function() {
- $(this).dialog("destroy");
- },
- 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.web.ActionManager(this);
+
+ var dialog = new openerp.web.Dialog(this, {
+ width: 800,
+ height: 600,
+ buttons : {
+ Cancel : function() {
+ $(this).dialog('destroy');
+ },
+ Save : function() {
+ var form_view = action_manager.inner_viewmanager.views.form.controller;
+
+ form_view.do_save(function() {
+ self.get_events();
+ });
+ $(this).dialog('destroy');
}
+ }
+ }).start().open();
+ action_manager.appendTo(dialog.$element);
+ action_manager.do_action({
+ res_model : this.dataset.model,
+ res_id: event_id,
+ views : [[false, 'form']],
+ type : 'ir.actions.act_window',
+ auto_search : false,
+ flags : {
+ search_view: false,
+ sidebar : false,
+ views_switcher : false,
+ action_buttons : false,
+ pager: false
+ }
});
- var action_manager = new openerp.web.ActionManager(this, 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){
_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help : https://help.launchpad.net/ListHelp