summaryrefslogtreecommitdiff
path: root/addons/web/static
diff options
context:
space:
mode:
authorVidhin Mehta (OpenERP) <vme@tinyerp.com>2011-11-11 15:32:32 +0530
committerVidhin Mehta (OpenERP) <vme@tinyerp.com>2011-11-11 15:32:32 +0530
commite6eb7c15fc49aca0c499e31071d5d2d2e39f38d8 (patch)
treee8708725506427ecd3588dc50d8142af3550d283 /addons/web/static
parent6bf24d1890eefcf168fdd4959565a3756ec0950e (diff)
[IMP]make condition for when to update view in add node.
bzr revid: vme@tinyerp.com-20111111100232-6l0rhp55dn2e53q1
Diffstat (limited to 'addons/web/static')
-rw-r--r--addons/web/static/src/js/view_editor.js40
1 files changed, 26 insertions, 14 deletions
diff --git a/addons/web/static/src/js/view_editor.js b/addons/web/static/src/js/view_editor.js
index 376eed6fe71..578611edd5b 100644
--- a/addons/web/static/src/js/view_editor.js
+++ b/addons/web/static/src/js/view_editor.js
@@ -74,10 +74,6 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
return (node.getAttribute('name'))?
_.sprintf( "<%s name='%s'>",node.tagName.toLowerCase(), node.getAttribute('name')):
_.sprintf( "<%s>",node.tagName.toLowerCase());
- }else if(node.tagName.toLowerCase() == "group"){
- return (node.getAttribute('string'))?
- _.sprintf( "<%s>",node.getAttribute('string')):
- _.sprintf( "<%s>",node.tagName.toLowerCase());
}else{
return (node.getAttribute('string'))?
_.sprintf( "<%s string='%s'>",node.tagName.toLowerCase(), node.getAttribute('string')):
@@ -338,15 +334,20 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
}
switch (this.id) {
case "side-add":
- var tr = $(this).closest("tr[id^='viewedit-']").find('a').text();
- var tag = _.detect(_.keys(_CHILDREN),function(res){
- return _.includes(tr, res);
- });
+ var tr = $(side).find('a').text();
+ var parent_tr = ($(side).prevAll("tr[level="+String(clicked_tr_level - 1)+"]"))[0];
+ parent_tr = $(parent_tr).find('a').text();
self.rpc("/web/searchview/fields_get", {model:self.model}, function(result) {
var fields = _.keys(result.fields);
- fields.push(" ");
- fields.sort();
- self.on_add_node(_CHILDREN[tag],fields);
+ fields.push(" "),fields.sort();
+ var property_to_check = [];
+ _.each([tr,parent_tr],function(element){
+ property_to_check.push(
+ _.detect(_.keys(_CHILDREN),function(res){
+ return _.includes(element, res);
+ }));
+ });
+ self.on_add_node(property_to_check, fields);
});
break;
case "side-remove":
@@ -630,10 +631,22 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
height: 300,
buttons: {
"Update": function(){
- var update_values = [];
+ var node_type,position,fields;
+ var check_add_node = true;
_.each(self.edit_widget, function(widget) {
- update_values.push(widget.get_value());
+ (widget.name == "node_type")?node_type = widget.get_value()[1]:false;
+ (widget.name == "position")?position = widget.get_value()[1]:false;
+ (widget.name == "Fields")?fields = widget.get_value()[1]:false;
});
+ (position == "Inside")?
+ check_add_node =(_.include(_CHILDREN[properties[0]],node_type))?true:false:
+ check_add_node =(_.include(_CHILDREN[properties[1]],node_type))?true:false;
+ if(node_type == "field" && check_add_node )
+ {check_add_node = (fields != " ")?true:false;
+ }
+ if(check_add_node){
+ var tag = _.sprintf("<%s></%s>",node_type,node_type);
+ }else{alert("Can't Update View");}
},
"Cancel": function(){
self.add_node_dialog.close();
@@ -653,7 +666,6 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
});
table_selector.append('<tr><td align="right"> <button id="new_field">New Field</button></td></tr>');
self.add_node_dialog.$element.find("select[id=node_type] option[value=field]").attr("selected",1);
-
self.add_node_dialog.$element.find('#new_field').click(function() {
//to do
});