Notify operator of potentially irreversible permissions change

This commit is contained in:
Fedor A. Fetisov 2017-11-12 18:36:24 +03:00
parent 3ec1610fff
commit 98a5570ef6
3 changed files with 41 additions and 2 deletions

View File

@ -0,0 +1,35 @@
/*!
* This file is a part of Mibew Messenger.
*
* Copyright 2005-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
(function(Mibew, $) {
$(document).ready(function(){
$('#permissionsForm').submit(function(e){
if (!$('#permissionsadmin').is(":checked")) {
e.preventDefault();
message = Mibew.Localization.trans(
'This action is irreversible, proceed anyway?'
);
Mibew.Utils.confirm(message, function(value) {
if (value) {
$('#permissionsForm').unbind('submit').submit();
}
});
}
});
});
})(Mibew, jQuery);

View File

@ -46,6 +46,10 @@ class PermissionsController extends AbstractController
'errors' => array(),
);
if ($op_id === $operator['operatorid']) {
$this->getAssetManager()->attachJs('js/compiled/operator_permissions.js');
}
$op = operator_by_id($op_id);
if (!$op) {
throw new NotFoundException('The operator is not found.');

View File

@ -13,7 +13,7 @@
<div id="form-message">{{l10n "Changes saved"}}</div>
{{/if}}
<form name="permissionsForm" method="post" action="{{route "operator_permissions_save" operator_id=opid}}">
<form id="permissionsForm" name="permissionsForm" method="post" action="{{route "operator_permissions_save" operator_id=opid}}">
{{csrfTokenInput}}
<div>
@ -29,7 +29,7 @@
{{#each permissionsList}}
<label>
<input type="checkbox" name="permissions{{id}}" value="on"{{#if checked}} checked="checked"{{/if}}{{#unless ../canmodify}} disabled="disabled"{{/unless}}/>
<input type="checkbox" id="permissions{{id}}" name="permissions{{id}}" value="on"{{#if checked}} checked="checked"{{/if}}{{#unless ../canmodify}} disabled="disabled"{{/unless}}/>
{{descr}}
</label>
<br/>