Make the Save/Delete buttons always present, but disabled when not authorized. Allow anyone to create a filter, but only System:Edit or the owner of the filter can change or delete it.
parent
ef0ad5a17b
commit
999591ee6f
|
@ -520,19 +520,14 @@ if ( ZM_OPT_EMAIL ) {
|
|||
<button type="button" data-on-click-this="submitToMontageReview"><?php echo translate('ViewMatches') ?></button>
|
||||
<button type="button" data-on-click-this="submitToExport"><?php echo translate('ExportMatches') ?></button>
|
||||
<button type="button" data-on-click-this="submitAction" value="execute" id="executeButton"><?php echo translate('Execute') ?></button>
|
||||
<?php
|
||||
if ( canEdit('Events') ) {
|
||||
?>
|
||||
<button type="button" data-on-click-this="submitAction" value="Save" id="Save"><?php echo translate('Save') ?></button>
|
||||
<button type="button" data-on-click-this="submitAction" value="SaveAs" id="SaveAs"><?php echo translate('SaveAs') ?></button>
|
||||
<?php
|
||||
if ( $filter->Id() ) {
|
||||
?>
|
||||
<button type="button" value="delete" data-on-click-this="deleteFilter"><?php echo translate('Delete') ?></button>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
<?php
|
||||
$canEdit = (canEdit('System') or ($filter->UserId() == $user['Id']));
|
||||
$canSave = !$filter->Id() or $canEdit;
|
||||
$canDelete = $filter->Id() and $canEdit;
|
||||
?>
|
||||
<button type="button" data-on-click-this="submitAction" value="Save" id="Save"<?php echo $canSave ? '' : ' disabled="disabled"' ?>><?php echo translate('Save') ?></button>
|
||||
<button type="button" data-on-click-this="submitAction" value="SaveAs" id="SaveAs"<?php echo $canSave ? '' : ' disabled="disabled"' ?>><?php echo translate('SaveAs') ?></button>
|
||||
<button type="button" value="delete" data-on-click-this="deleteFilter" id="Delete"<?php echo $canDelete ? '' : ' disabled="disabled"' ?>><?php echo translate('Delete') ?></button>
|
||||
<button type="button" value="Debug" data-on-click-this="debugFilter"><?php echo translate('Debug') ?></button>
|
||||
<button type="button" value="Reset" data-on-click-this="resetFilter"><?php echo translate('Reset') ?></button>
|
||||
</div>
|
||||
|
|
|
@ -71,9 +71,9 @@ function validateForm(form) {
|
|||
}
|
||||
|
||||
function updateButtons(element) {
|
||||
var form = element.form;
|
||||
const form = element.form;
|
||||
|
||||
var canExecute = false;
|
||||
let canExecute = false;
|
||||
if ( form.elements['filter[AutoArchive]'] && form.elements['filter[AutoArchive]'].checked ) {
|
||||
canExecute = true;
|
||||
} else if ( form.elements['filter[AutoUnarchive]'] && form.elements['filter[AutoUnarchive]'].checked ) {
|
||||
|
@ -98,13 +98,13 @@ function updateButtons(element) {
|
|||
canExecute = true;
|
||||
}
|
||||
document.getElementById('executeButton').disabled = !canExecute;
|
||||
if ( form.elements['filter[Name]'].value ) {
|
||||
document.getElementById('Save').disabled = false;
|
||||
document.getElementById('SaveAs').disabled = false;
|
||||
} else {
|
||||
document.getElementById('Save').disabled = true;
|
||||
document.getElementById('SaveAs').disabled = true;
|
||||
}
|
||||
// Anyone can create a filter, only canEdit:System or the owner of the filter can edit/delete it.
|
||||
const canWeEdit = (canEdit['System'] || (user.Id == filter.UserId) || !filter.Id);
|
||||
const canSave = (form.elements['filter[Name]'].value && canWeEdit);
|
||||
|
||||
document.getElementById('Save').disabled = !canSave;
|
||||
document.getElementById('SaveAs').disabled = !canSave;
|
||||
document.getElementById('Delete').disabled = !(filter.Id && canWeEdit);
|
||||
}
|
||||
|
||||
function click_AutoEmail(element) {
|
||||
|
|
|
@ -13,24 +13,25 @@
|
|||
global $booleanValues;
|
||||
global $filter;
|
||||
?>
|
||||
var filterid = '<?php echo $filter->Id() ?>';
|
||||
var filterQuery = '<?php echo isset($filterQuery) ? validJsStr(htmlspecialchars_decode($filterQuery)) : '' ?>';
|
||||
var sortQuery = '<?php echo isset($sortQuery) ? validJsStr(htmlspecialchars_decode($sortQuery)) : '' ?>';
|
||||
const filterid = '<?php echo $filter->Id() ?>';
|
||||
const filter = <?php echo json_encode($filter) ?>;
|
||||
const filterQuery = '<?php echo isset($filterQuery) ? validJsStr(htmlspecialchars_decode($filterQuery)) : '' ?>';
|
||||
const sortQuery = '<?php echo isset($sortQuery) ? validJsStr(htmlspecialchars_decode($sortQuery)) : '' ?>';
|
||||
|
||||
var conjTypes = <?php echo isset($conjunctionTypes) ? json_encode($conjunctionTypes) : '' ?>;
|
||||
var opTypes = <?php echo isset($opTypes) ? json_encode($opTypes) : '' ?>;
|
||||
const conjTypes = <?php echo isset($conjunctionTypes) ? json_encode($conjunctionTypes) : '' ?>;
|
||||
const opTypes = <?php echo isset($opTypes) ? json_encode($opTypes) : '' ?>;
|
||||
|
||||
var archiveTypes = <?php echo isset($archiveTypes) ? json_encode($archiveTypes) : '' ?>;
|
||||
var weekdays = <?php echo isset($weekdays) ? json_encode($weekdays) : '' ?>;
|
||||
var states = <?php echo isset($states) ? json_encode($states) : '{}' ?>;
|
||||
var servers = <?php echo isset($servers) ? json_encode($servers) : '{}' ?>;
|
||||
var storageareas = <?php echo isset($storageareas) ? json_encode($storageareas) : '{}' ?>;
|
||||
var monitors = <?php echo isset($monitors) ? json_encode($monitors) : '{}' ?>;
|
||||
var sorted_monitor_ids = <?php echo isset($monitors) ? json_encode(array_keys($monitors)) : '[]' ?>;
|
||||
var zones = <?php echo isset($zones) ? json_encode($zones) : '{}' ?>;
|
||||
var booleanValues = <?php echo json_encode($booleanValues) ?>;
|
||||
const archiveTypes = <?php echo isset($archiveTypes) ? json_encode($archiveTypes) : '' ?>;
|
||||
const weekdays = <?php echo isset($weekdays) ? json_encode($weekdays) : '' ?>;
|
||||
const states = <?php echo isset($states) ? json_encode($states) : '{}' ?>;
|
||||
const servers = <?php echo isset($servers) ? json_encode($servers) : '{}' ?>;
|
||||
const storageareas = <?php echo isset($storageareas) ? json_encode($storageareas) : '{}' ?>;
|
||||
const monitors = <?php echo isset($monitors) ? json_encode($monitors) : '{}' ?>;
|
||||
const sorted_monitor_ids = <?php echo isset($monitors) ? json_encode(array_keys($monitors)) : '[]' ?>;
|
||||
const zones = <?php echo isset($zones) ? json_encode($zones) : '{}' ?>;
|
||||
const booleanValues = <?php echo json_encode($booleanValues) ?>;
|
||||
|
||||
var errorBrackets = '<?php echo translate('ErrorBrackets') ?>';
|
||||
var errorValue = '<?php echo translate('ErrorValidValue') ?>';
|
||||
const errorBrackets = '<?php echo translate('ErrorBrackets') ?>';
|
||||
const errorValue = '<?php echo translate('ErrorValidValue') ?>';
|
||||
|
||||
var deleteSavedFilterString = "<?php echo translate('DeleteSavedFilter') ?>";
|
||||
const deleteSavedFilterString = "<?php echo translate('DeleteSavedFilter') ?>";
|
||||
|
|
Loading…
Reference in New Issue