[IMP] Improved view debugging
bzr revid: fme@openerp.com-20111213113521-vd7lylwaxu0ob3r2
This commit is contained in:
parent
7f63eb11cb
commit
4c7068b5fc
|
@ -3,8 +3,8 @@
|
||||||
*---------------------------------------------------------*/
|
*---------------------------------------------------------*/
|
||||||
|
|
||||||
openerp.web.views = function(session) {
|
openerp.web.views = function(session) {
|
||||||
|
var QWeb = session.web.qweb,
|
||||||
var _t = session.web._t;
|
_t = session.web._t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registry for all the client actions key: tag value: widget
|
* Registry for all the client actions key: tag value: widget
|
||||||
|
@ -472,13 +472,8 @@ session.web.ViewManagerAction = session.web.ViewManager.extend(/** @lends oepner
|
||||||
|
|
||||||
var manager_ready = $.when(searchview_loaded, main_view_loaded);
|
var manager_ready = $.when(searchview_loaded, main_view_loaded);
|
||||||
|
|
||||||
this.$element.find('.oe_get_xml_view').click(function () {
|
this.$element.find('.oe_debug_view').change(this.on_debug_changed);
|
||||||
var view = self.views[self.active_view].controller,
|
|
||||||
view_id = view.fields_view.view_id;
|
|
||||||
if (view_id) {
|
|
||||||
view.on_sidebar_edit_resource('ir.ui.view', view_id);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
if (this.action.help && !this.flags.low_profile) {
|
if (this.action.help && !this.flags.low_profile) {
|
||||||
var Users = new session.web.DataSet(self, 'res.users'),
|
var Users = new session.web.DataSet(self, 'res.users'),
|
||||||
$tips = this.$element.find('.oe_view_manager_menu_tips');
|
$tips = this.$element.find('.oe_view_manager_menu_tips');
|
||||||
|
@ -516,6 +511,47 @@ session.web.ViewManagerAction = session.web.ViewManager.extend(/** @lends oepner
|
||||||
|
|
||||||
return manager_ready;
|
return manager_ready;
|
||||||
},
|
},
|
||||||
|
on_debug_changed: function (evt) {
|
||||||
|
var $sel = $(evt.currentTarget),
|
||||||
|
$option = $sel.find('option:selected'),
|
||||||
|
val = $sel.val();
|
||||||
|
switch (val) {
|
||||||
|
case 'fvg':
|
||||||
|
$('<pre>').text(session.web.json_node_to_xml(
|
||||||
|
this.views[this.active_view].controller.fields_view.arch, true)
|
||||||
|
).dialog({ width: '95%'});
|
||||||
|
break;
|
||||||
|
case 'edit':
|
||||||
|
var model = $option.data('model'),
|
||||||
|
id = $option.data('id'),
|
||||||
|
domain = $option.data('domain'),
|
||||||
|
action = {
|
||||||
|
res_model : model,
|
||||||
|
type : 'ir.actions.act_window',
|
||||||
|
view_type : 'form',
|
||||||
|
view_mode : 'form',
|
||||||
|
target : 'new',
|
||||||
|
flags : {
|
||||||
|
action_buttons : true
|
||||||
|
}
|
||||||
|
};
|
||||||
|
if (id) {
|
||||||
|
action.res_id = id,
|
||||||
|
action.views = [[false, 'form']];
|
||||||
|
} else if (domain) {
|
||||||
|
action.views = [[false, 'list'], [false, 'form']];
|
||||||
|
action.domain = domain;
|
||||||
|
action.flags.views_switcher = true;
|
||||||
|
}
|
||||||
|
this.do_action(action);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if (val) {
|
||||||
|
console.log("No debug handler for ", val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
evt.currentTarget.selectedIndex = 0;
|
||||||
|
},
|
||||||
on_mode_switch: function (view_type, no_store) {
|
on_mode_switch: function (view_type, no_store) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
|
@ -529,7 +565,10 @@ session.web.ViewManagerAction = session.web.ViewManager.extend(/** @lends oepner
|
||||||
var controller = self.views[self.active_view].controller,
|
var controller = self.views[self.active_view].controller,
|
||||||
fvg = controller.fields_view,
|
fvg = controller.fields_view,
|
||||||
view_id = (fvg && fvg.view_id) || '--';
|
view_id = (fvg && fvg.view_id) || '--';
|
||||||
self.$element.find('.oe_get_xml_view span').text(view_id);
|
self.$element.find('.oe_debug_view').html(QWeb.render('ViewManagerDebug', {
|
||||||
|
view: controller,
|
||||||
|
view_manager: self
|
||||||
|
}));
|
||||||
if (!self.action.name && fvg) {
|
if (!self.action.name && fvg) {
|
||||||
self.$element.find('.oe_view_title_text').text(fvg.arch.attrs.string || fvg.name);
|
self.$element.find('.oe_view_title_text').text(fvg.arch.attrs.string || fvg.name);
|
||||||
}
|
}
|
||||||
|
@ -691,26 +730,6 @@ session.web.Sidebar = session.web.Widget.extend({
|
||||||
classname: 'oe_hide oe_sidebar_view_log'
|
classname: 'oe_hide oe_sidebar_view_log'
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if (session.connection.debug) {
|
|
||||||
this.add_section("Debug", 'debug');
|
|
||||||
if (action && action.id) {
|
|
||||||
this.add_items('debug', [{
|
|
||||||
label: "Edit Action",
|
|
||||||
callback: function() {
|
|
||||||
view.on_sidebar_edit_resource(action.type, action.id);
|
|
||||||
}
|
|
||||||
}]);
|
|
||||||
}
|
|
||||||
if (view_manager.searchview && view_manager.searchview.view_id) {
|
|
||||||
this.add_items('debug', [{
|
|
||||||
label: "Edit SearchView",
|
|
||||||
callback: function() {
|
|
||||||
view.on_sidebar_edit_resource('ir.ui.view', view_manager.searchview.view_id);
|
|
||||||
}
|
|
||||||
}]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
add_toolbar: function(toolbar) {
|
add_toolbar: function(toolbar) {
|
||||||
|
|
|
@ -464,9 +464,7 @@
|
||||||
href="javascript: void(0)"> </a>
|
href="javascript: void(0)"> </a>
|
||||||
</t>
|
</t>
|
||||||
<t t-jquery="h2.oe_view_title" t-operation="after">
|
<t t-jquery="h2.oe_view_title" t-operation="after">
|
||||||
<button t-if="self.session.debug" class="oe_get_xml_view">
|
<select t-if="self.session.debug" class="oe_debug_view"/>
|
||||||
View#<span></span>
|
|
||||||
</button>
|
|
||||||
</t>
|
</t>
|
||||||
<t t-jquery=".oe-view-manager-header" t-operation="after">
|
<t t-jquery=".oe-view-manager-header" t-operation="after">
|
||||||
<div class="oe-view-manager-logs oe-folded">
|
<div class="oe-view-manager-logs oe-folded">
|
||||||
|
@ -476,6 +474,13 @@
|
||||||
</div>
|
</div>
|
||||||
</t>
|
</t>
|
||||||
</t>
|
</t>
|
||||||
|
<t t-name="ViewManagerDebug">
|
||||||
|
<option value="">Debug View#<t t-esc="view.fields_view.view_id"/></option>
|
||||||
|
<option value="fvg"> - Fields View Get</option>
|
||||||
|
<option value="edit" data-model="ir.ui.view" t-att-data-id="view.fields_view.view_id"> - Edit <t t-esc="_.str.capitalize(view.fields_view.type)"/>View</option>
|
||||||
|
<option t-if="view_manager.searchview" value="edit" data-model="ir.ui.view" t-att-data-id="view_manager.searchview.view_id"> - Edit SearchView</option>
|
||||||
|
<option t-if="view_manager.action" value="edit" t-att-data-model="view_manager.action.type" t-att-data-id="view_manager.action.id"> - Edit Action</option>
|
||||||
|
</t>
|
||||||
|
|
||||||
<t t-name="Sidebar">
|
<t t-name="Sidebar">
|
||||||
<a class="toggle-sidebar"></a>
|
<a class="toggle-sidebar"></a>
|
||||||
|
|
Loading…
Reference in New Issue