forked from Techsystech/web
[IMP] Add possibility to hide Create and Delete buttons on web, if
requested through context for action.6.1
parent
ba0502c1ff
commit
0bd224bf4e
|
@ -0,0 +1,3 @@
|
|||
Ronald Portier <ronald@therp.nl>
|
||||
Stefan Rijnhart <stefan@therp.nl>
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (C) 2013 Therp B.V. (<http://www.therp.nl>)
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as published
|
||||
# by the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
{
|
||||
'name': 'web hide buttons',
|
||||
'application': False,
|
||||
'version': '6.1.r003',
|
||||
'category': 'Web',
|
||||
'description': '''
|
||||
This module makes it possible to hide Create and Delete buttons from the
|
||||
user, if requested through the context of the action defining the window.
|
||||
To hide both buttons add the following element to the xml for the
|
||||
ir.actions.act_window:
|
||||
<field name="context">{'nodelete': '1', 'nocreate': '1'}</field>
|
||||
''',
|
||||
'author': 'Therp B.V.',
|
||||
'website': 'http://www.therp.nl',
|
||||
'license': 'AGPLv3',
|
||||
'depends': [
|
||||
'web',
|
||||
],
|
||||
'init_xml': [],
|
||||
'update_xml': [],
|
||||
'demo_xml': [],
|
||||
'installable': True,
|
||||
'js': ['static/src/js/web_hide_buttons.js'],
|
||||
}
|
|
@ -0,0 +1,57 @@
|
|||
/* -----------------------------------------------------------\
|
||||
* web functions for web_hide_buttons
|
||||
* --------------------------------------------------------- */
|
||||
|
||||
/* comments to control jslint */
|
||||
/*jslint nomen: true, white: true, */
|
||||
/*global window, openerp, $, _ */
|
||||
|
||||
openerp.web_hide_buttons = function (openerp) {
|
||||
'use strict';
|
||||
|
||||
/** Change ListView to not show Create and Delete buttons when that
|
||||
has been requested through the context passed from the action.
|
||||
*/
|
||||
openerp.web.ListView.include({
|
||||
|
||||
on_loaded : function (record) {
|
||||
var result, context;
|
||||
result = this._super.apply(this, arguments);
|
||||
if (this.groups.datagroup.context) {
|
||||
context = this.groups.datagroup.context;
|
||||
if (context.nocreate) {
|
||||
this.$element.find('.oe-list-add')
|
||||
.attr('disabled', true).hide();
|
||||
}
|
||||
if (context.nodelete) {
|
||||
this.$element.find('.oe-list-delete')
|
||||
.attr('disabled', true).hide();
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
});
|
||||
|
||||
openerp.web.FormView.include({
|
||||
|
||||
on_loaded : function (record) {
|
||||
var result, context;
|
||||
result = this._super.apply(this, arguments);
|
||||
context = this.dataset.get_context();
|
||||
if (context) {
|
||||
if (context.nocreate) {
|
||||
this.$element.find('.oe_form_button_create')
|
||||
.attr('disabled', true).hide();
|
||||
this.$element.find('.oe_form_button_duplicate')
|
||||
.attr('disabled', true).hide();
|
||||
}
|
||||
if (context.nodelete) {
|
||||
this.$element.find('.oe_form_button_delete')
|
||||
.attr('disabled', true).hide();
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
});
|
||||
|
||||
};
|
Loading…
Reference in New Issue