[IMP] Improved code for set model automatic when add/create new field.

bzr revid: jra@tinyerp.com-20120202102146-h9fbr5vxc1b5g8dj
This commit is contained in:
Jiten (OpenERP)
2012-02-02 15:51:46 +05:30
3 changed files with 54 additions and 59 deletions
+18 -20
View File
@@ -1857,6 +1857,7 @@ label.error {
width: 100%;
background-color : #FFFFFF;
border-spacing: 0;
}
.openerp .oe-treeview-table tr:hover{
color: blue;
@@ -2000,34 +2001,31 @@ ul.oe-arrow-list li.oe-arrow-list-selected .oe-arrow-list-after {
border-bottom-right-radius: 3px;
}
.openerp .oe_view_editor {
border-collapse: collapse;
padding: 0;
align: left;
width:100%;
border-collapse : collapse;
margin-left: -12px;
width: 100%;
background-color : white;
border-spacing: 0;
}
.openerp .oe_view_editor_colum{
.openerp .oe_view_editor td{
text-align: center;
white-space: nowrap;
border: 1px solid #D8D8D8;
cursor: pointer;
font-size: 90%;
font-weight: normal;
padding: 0;
border-bottom: 1px solid #CFCCCC;
}
.openerp .oe_view_editor_row:hover {
background-color: #F3F3F3;
.openerp .oe_view_editor_field td{
border: 0px !important;
}
.openerp .oe_view_editor_tree_grid{
text-align: left;
white-space: nowrap;
border-collapse: collapse;
width: 100%;
}
.openerp .oe_view_editor_tree_grid a:hover {
color: blue;
}
.openerp .oe_view_editor_tree_grid a {
display: block;
.openerp .oe_view_editor tr:hover {
background-color: #ecebf2;
}
/* Dialog traceback cases */
.openerp .oe_error_detail{
display: block;
+15 -12
View File
@@ -27,6 +27,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
type: 'ir.actions.act_window',
target: "current",
limit: this.dataset.limit || 80,
auto_search : true,
flags: {
sidebar: false,
deletable: false,
@@ -368,6 +369,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
views: [[self.main_view_id, self.main_view_type]],
type: 'ir.actions.act_window',
target: "new",
auto_search: true,
flags: {
sidebar: false,
views_switcher: false,
@@ -449,7 +451,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
},
do_node_add: function(side){
var self = this;
var tr = $(side).find('a').text();
var tr = self.get_object_by_id(this.one_object.clicked_tr_id, this.one_object['main_object'], [])[0].att_list[0];
var parent_tr = ($(side).prevAll("tr[level=" + String(this.one_object.clicked_tr_level - 1) + "]"))[0];
var field_dataset = new openerp.web.DataSetSearch(this, this.model, null, null);
parent_tr = $(parent_tr).find('a').text();
@@ -568,7 +570,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
arch_to_pass = _.filter($(arch.arch), function (child) {
return child.nodeType == 1;
});
return self.do_save_xml(arch_to_pass[0], obj[0].child_id[0],[], move_direct, update_values,arch);
return self.do_save_xml(arch_to_pass[0], obj[0].child_id[0],obj[0].child_id, move_direct, update_values,arch);
},
get_object_by_id: function(id, one_object, result) {
var self = this;
@@ -823,6 +825,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
var value = _.detect(arch_val[0]['att_list'],function(res) {
return res instanceof Array? _.include(res, widget.name): false;
});
value = value instanceof Array ? value[1] : value;
self.edit_node_dialog.$element.find('table[id=rec_table]').append('<tr><td align="right">' + widget.string + ':</td>' + type_widget.render() + '</tr>');
type_widget.start();
@@ -847,7 +850,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
.done(function(res_grp) {
_.each(res_grp,function(res){
var key = res.id;
group_names[key]=res.name;
group_names[key]=res.full_name;
group_ids.push(res.id);
});
model_data
@@ -934,16 +937,16 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
var action_manager = new openerp.web.ActionManager(self);
$.when(action_manager.do_action(action)).then(function() {
var controller = action_manager.dialog_viewmanager.views['form'].controller;
// TODO NIV: use page view
controller.do_set_readonly.add_last(function(){
controller.on_button_cancel.add_last(function(){
action_manager.stop()
});
controller.do_save.add_last(function(){
action_manager.stop();
new_fields_name = new openerp.web.DataSetSearch(self,'ir.model.fields', null, null);
new_fields_name.read_ids([controller.datarecord.id], ['name']).then(function(result) {
self.add_node_dialog.$element.find('select[id=field_value]').append($("<option selected></option>").attr("value", result[0].name).text(result[0].name));
var value =controller.fields.name.value;
self.add_node_dialog.$element.find('select[id=field_value]').append($("<option selected></option>").attr("value",value).text(value));
_.detect(self.add_widget,function(widget){
widget.name == "field_value"? widget.selection.push(result[0].name): false;
widget.name == "field_value"? widget.selection.push(value): false;
});
});
});
});
}
@@ -1040,7 +1043,7 @@ openerp.web.ViewEditor.FieldSelect = openerp.web.ViewEditor.Field.extend({
var index = 0;
value = value === null? false: value;
for (var i = 0, ii = this.selection.length; i < ii; i++) {
if ((this.selection[i] instanceof Array && this.selection[i][1] === value) || this.selection[i] === value) index = i;
if ((this.selection[i] instanceof Array && this.selection[i][0] === value) || this.selection[i] === value) index = i;
}
this.$element.find("select[id=" + this.name + "]")[0].selectedIndex = index;
},
@@ -1093,7 +1096,7 @@ var _CHILDREN = {
'calendar': ['field'],
'notebook': ['page'],
'page': ['notebook', 'group', 'field', 'label', 'button', 'newline', 'separator'],
'group': ['field', 'label', 'button', 'separator', 'newline'],
'group': ['field', 'label', 'button', 'separator', 'newline','group'],
'board': ['column'],
'action': [],
'field': ['form', 'tree', 'graph'],
+21 -27
View File
@@ -1453,9 +1453,9 @@
</table>
</t>
<t t-name="view_editor.row">
<tr class="oe_view_editor_row" t-att-id="'viewedit-' + rec.id" t-att-level="rec.level" t-foreach="data" t-as="rec">
<td class="oe_view_editor_colum" width="85%">
<table class="oe_view_editor_tree_grid">
<tr t-att-id="'viewedit-' + rec.id" t-att-level="rec.level" t-foreach="data" t-as="rec">
<td width="90%">
<table class="oe_view_editor_field">
<tr>
<td width="16px" t-att-style="'background-position: ' + 20*rec.level + 'px; padding-left: ' + 20*rec.level + 'px'">
<img t-if="rec.child_id.length" t-att-id="'parentimg-' + rec.id"
@@ -1469,30 +1469,24 @@
</tr>
</table>
</td>
<td align="left" class="oe_view_editor_colum" width="15%">
<table width="100%">
<tr>
<td width="20%">
<img t-if="rec.att_list.length"
id="side-add" src="/web/static/src/img/icons/gtk-add.png" style="cursor: pointer;"/>
</td>
<td width="20%">
<img id="side-remove" src="/web/static/src/img/icons/gtk-remove.png" style="cursor: pointer;"/>
</td>
<td width="20%">
<img t-if="rec.att_list.length and !_.include(no_properties, rec.att_list[0])"
id="side-edit" src="/web/static/src/img/icons/gtk-edit.png" style="cursor: pointer;"/>
</td>
<td width="20%">
<img t-if="rec.att_list.length"
id="side-up" src="/web/static/src/img/icons/gtk-go-up.png" style="cursor: pointer;"/>
</td>
<td width="20%">
<img t-if="rec.att_list.length"
id="side-down" src="/web/static/src/img/icons/gtk-go-down.png" style="cursor: pointer;"/>
</td>
</tr>
</table>
<td width="2%">
<img t-if="rec.att_list.length"
id="side-add" src="/web/static/src/img/icons/gtk-add.png" style="cursor: pointer;"/>
</td>
<td width="2%">
<img id="side-remove" src="/web/static/src/img/icons/gtk-remove.png" style="cursor: pointer;"/>
</td>
<td width="2%">
<img t-if="rec.att_list.length and !_.include(no_properties, rec.att_list[0])"
id="side-edit" src="/web/static/src/img/icons/gtk-edit.png" style="cursor: pointer;"/>
</td>
<td width="2%">
<img t-if="rec.att_list.length"
id="side-up" src="/web/static/src/img/icons/gtk-go-up.png" style="cursor: pointer;"/>
</td>
<td width="2%">
<img t-if="rec.att_list.length"
id="side-down" src="/web/static/src/img/icons/gtk-go-down.png" style="cursor: pointer;"/>
</td>
<t t-if="rec.child_id.length">
<t t-set="data" t-value="rec.child_id"/>