[FIX] invisible and tree_invisible, cleanup template and remove duplications, simplify code, correctly use modifiers
bzr revid: xmo@openerp.com-20110808152343-p3pj1mx85uiofi63
This commit is contained in:
@@ -43,6 +43,11 @@ openerp.base.TreeView = openerp.base.View.extend({
|
||||
on_loaded: function (fields_view) {
|
||||
var self = this;
|
||||
this.fields_view = fields_view;
|
||||
_(this.fields_view.arch.children).each(function (field) {
|
||||
if (field.attrs.modifiers) {
|
||||
field.attrs.modifiers = JSON.parse(field.attrs.modifiers);
|
||||
}
|
||||
});
|
||||
this.fields = fields_view.fields;
|
||||
|
||||
self.dataset.domain = [['parent_id', '=', '']];
|
||||
@@ -72,9 +77,8 @@ openerp.base.TreeView = openerp.base.View.extend({
|
||||
|
||||
if (curr_node.length == 1) {
|
||||
curr_node.find('td:first').children(':first-child').attr('src','/base/static/src/img/collapse.gif');
|
||||
curr_node.after(QWeb.render('TreeView_Secondry', {
|
||||
'child_data': response,
|
||||
'flag': '0',
|
||||
curr_node.after(QWeb.render('TreeView.rows', {
|
||||
'records': response,
|
||||
'fields_view' : self.fields_view.arch.children,
|
||||
'field' : self.fields
|
||||
}));
|
||||
@@ -120,12 +124,10 @@ openerp.base.TreeView = openerp.base.View.extend({
|
||||
if (!flag) {
|
||||
self.$element.find('table').remove();
|
||||
}
|
||||
self.$element.append(QWeb.render('TreeView_Secondry', {
|
||||
'child_data': response,
|
||||
'flag' : '1',
|
||||
'fieldsview_fields': self.fields,
|
||||
'fields_view' : self.fields_view.arch.children,
|
||||
'field' : self.fields
|
||||
self.$element.append(QWeb.render('TreeView.architecture', {
|
||||
'records': response,
|
||||
'fields_view': self.fields_view.arch.children,
|
||||
'fields': self.fields
|
||||
}));
|
||||
|
||||
self.$element.find('tr[id ^= treerow_]').each( function() {
|
||||
|
||||
@@ -244,82 +244,36 @@
|
||||
</option>
|
||||
</select>
|
||||
</t>
|
||||
<t t-name="TreeView_Secondry">
|
||||
<t t-if="flag==1">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<t t-foreach="fields_view" t-as="fieldsview">
|
||||
<t t-foreach="fieldsview_fields" t-as="view_fields">
|
||||
<t t-if="fieldsview['attrs'].name==view_fields and !fieldsview['attrs'].invisible">
|
||||
<td class="treeview-header"><t t-esc="fieldsview_fields[view_fields].string" /></td>
|
||||
</t>
|
||||
</t>
|
||||
</t>
|
||||
</tr>
|
||||
</thead>
|
||||
<t t-foreach="child_data" t-as="fields" >
|
||||
<tr t-att-id="'treerow_' + fields.id">
|
||||
<t t-if="(fields.child_id).length >= 1">
|
||||
<td class="treeview-tr">
|
||||
<img t-att-id="'parentimg_' + fields.id" src="/base/static/src/img/expand.gif" width="16" height="16" border="0"/>
|
||||
</td>
|
||||
</t>
|
||||
<t t-foreach="fields_view" t-as="fieldsview">
|
||||
<t t-foreach="fieldsview_fields" t-as="view_fields">
|
||||
<t t-foreach="field" t-as="f">
|
||||
<t t-if="fieldsview['attrs'].name==view_fields">
|
||||
<t t-if="fieldsview['attrs'].name==f and !fieldsview['attrs'].invisible and field[f].type!='many2one' and field[f].type!='selection'">
|
||||
<td class="treeview-td">
|
||||
<span>
|
||||
<t t-esc="fields[[fieldsview['attrs'].name]]" />
|
||||
</span>
|
||||
</td>
|
||||
</t>
|
||||
<t t-if="fieldsview['attrs'].name==f and !fieldsview['attrs'].invisible and field[f].type=='many2one'">
|
||||
<td class="treeview-td">
|
||||
<span>
|
||||
<t t-esc="fields[[fieldsview['attrs'].name]][1]" />
|
||||
</span>
|
||||
</td>
|
||||
</t>
|
||||
</t>
|
||||
</t>
|
||||
</t>
|
||||
</t>
|
||||
</tr>
|
||||
</t>
|
||||
</table>
|
||||
</t>
|
||||
<t t-if="flag==0">
|
||||
<t t-foreach="child_data" t-as="fields" >
|
||||
<tr t-att-id="'treerow_' + fields.id">
|
||||
<t t-if="(fields.child_id).length >= 1">
|
||||
<td class="treeview-tr">
|
||||
<img t-att-id="'parentimg_' + fields.id" src="/base/static/src/img/expand.gif" width="16" height="16" border="0"/>
|
||||
</td>
|
||||
</t>
|
||||
<t t-foreach="fields_view" t-as="fieldsview">
|
||||
<t t-foreach="field" t-as="f">
|
||||
<t t-if="fieldsview['attrs'].name==f and !fieldsview['attrs'].invisible and field[f].type!='many2one' and field[f].type!='selection'">
|
||||
<td class="treeview-td">
|
||||
<span>
|
||||
<t t-esc="fields[[fieldsview['attrs'].name]]" />
|
||||
</span>
|
||||
</td>
|
||||
</t>
|
||||
<t t-if="fieldsview['attrs'].name==f and !fieldsview['attrs'].invisible and field[f].type=='many2one'">
|
||||
<td class="treeview-td">
|
||||
<span>
|
||||
<t t-esc="fields[[fieldsview['attrs'].name]][1]" />
|
||||
</span>
|
||||
</td>
|
||||
</t>
|
||||
</t>
|
||||
</t>
|
||||
</tr>
|
||||
<table t-name="TreeView.architecture">
|
||||
<thead>
|
||||
<tr>
|
||||
<!-- TODO: invisible fields -->
|
||||
<th t-foreach="fields_view" t-as="field"
|
||||
t-if="!field.attrs.modifiers.tree_invisible"
|
||||
class="treeview-header">
|
||||
<t t-esc="fields[field.attrs.name].string" />
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<t t-call="TreeView.rows"/>
|
||||
</tbody>
|
||||
</table>
|
||||
<t t-name="TreeView.rows" t-foreach="records" t-as="record" >
|
||||
<tr t-att-id="'treerow_' + record.id">
|
||||
<t t-if="record.child_id and record.child_id.length >= 1">
|
||||
<td class="treeview-tr">
|
||||
<img t-att-id="'parentimg_' + record.id" src="/base/static/src/img/expand.gif" width="16" height="16" border="0"/>
|
||||
</td>
|
||||
</t>
|
||||
</t>
|
||||
<td t-foreach="fields_view" t-as="field"
|
||||
t-if="!field.attrs.modifiers.tree_invisible"
|
||||
class="treeview-td">
|
||||
<span t-if="!field.attrs.modifiers.invisible">
|
||||
<t t-esc="record[field.attrs.name]" />
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
<table t-name="ListView">
|
||||
<t t-set="columns_count" t-value="visible_columns.length + (options.selectable ? 1 : 0) + (options.deletable ? 1 : 0)"/>
|
||||
|
||||
Reference in New Issue
Block a user