[imp] implemented quick_create_enabled an create_enabled

bzr revid: nicolas.vanhoren@openerp.com-20120521095941-qukymjtik97s5d1h
This commit is contained in:
niv-openerp 2012-05-21 11:59:41 +02:00
parent a788d42aa4
commit d117f3d4bd
2 changed files with 21 additions and 5 deletions

View File

@ -12,7 +12,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
view_type: "kanban",
init: function (parent, dataset, view_id, options) {
this._super(parent, dataset, view_id, options);
_.defaults(this.options, {"quick_creatable": true});
_.defaults(this.options, {"quick_creatable": true, "creatable": true});
this.fields_view = {};
this.fields_keys = [];
this.group_by = null;
@ -35,6 +35,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
this.add_group_mutex = new $.Mutex();
},
on_loaded: function(data) {
this.fields_view = data;
this.$buttons = $(QWeb.render("KanbanView.buttons", {'widget': this}));
if (this.options.$buttons) {
this.$buttons.appendTo(this.options.$buttons);
@ -44,12 +45,25 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
this.$buttons
.on('click','button.oe_kanban_button_new', this.do_add_record);
this.$groups = this.$element.find('.oe_kanban_groups tr');
this.fields_view = data;
this.fields_keys = _.keys(this.fields_view.fields);
this.add_qweb_template();
this.has_been_loaded.resolve();
return $.when();
},
_is_quick_create_enabled: function() {
if (! this.options.quick_creatable)
return false;
if (this.fields_view.arch.attrs.quick_create !== undefined)
return JSON.parse(this.fields_view.arch.attrs.quick_create);
return !! this.group_by;
},
_is_create_enabled: function() {
if (! this.options.creatable)
return false;
if (this.fields_view.arch.attrs.create !== undefined)
return JSON.parse(this.fields_view.arch.attrs.create);
return true;
},
add_qweb_template: function() {
for (var i=0, ii=this.fields_view.arch.children.length; i < ii; i++) {
var child = this.fields_view.arch.children[i];

View File

@ -12,7 +12,9 @@
</t>
<div t-name="KanbanView.buttons" class="oe_kanban_buttons">
<t t-if="widget.options.action_buttons !== false">
<button type="button" class="oe_button oe_kanban_button_new oe_form_button_hi">Create</button>
<t t-if="widget._is_create_enabled()">
<button type="button" class="oe_button oe_kanban_button_new oe_form_button_hi">Create</button>
</t>
</t>
</div>
<t t-name="KanbanView.group_header">
@ -20,7 +22,7 @@
<t t-if="widget.view.group_by">
<div class="oe_kanban_group_header">
<div class="oe_kanban_fold_icon"></div>
<t t-if="widget.view.options.quick_creatable">
<t t-if="widget.view._is_quick_create_enabled()">
<div class="oe_kanban_add"></div>
</t>
<div class="oe_fold_column">
@ -37,7 +39,7 @@
<p t-if="widget.title" class="oe_kanban_group_title_vertical"><t t-esc="widget.title"/></p>
</div>
</t>
<t t-if="! widget.view.group_by &amp;&amp; widget.view.options.quick_creatable">
<t t-if="! widget.view.group_by &amp;&amp; widget.view._is_quick_create_enabled()">
<span class="oe_kanban_no_group_qc_placeholder"/>
</t>
</td>