mirror of https://github.com/OCA/web.git
[ADD] module to optionally hide the create and delete buttons in the web client 6.1
commit
acf9202ed0
|
@ -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