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;
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);
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];
</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">
<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">
<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 && widget.view.options.quick_creatable">
+ <t t-if="! widget.view.group_by && widget.view._is_quick_create_enabled()">
<span class="oe_kanban_no_group_qc_placeholder"/>
</t>
</td>