85 lines
2.6 KiB
JavaScript
85 lines
2.6 KiB
JavaScript
function validateForm( form, newUser ) {
|
|
var errors = new Array();
|
|
if ( !form.elements['user[Username]'].value ) {
|
|
errors[errors.length] = "You must supply a username";
|
|
}
|
|
if ( form.elements['user[Password]'].value ) {
|
|
if ( !form.conf_password.value ) {
|
|
errors[errors.length] = "You must confirm the password";
|
|
} else if ( form.elements['user[Password]'].value != form.conf_password.value ) {
|
|
errors[errors.length] = "The new and confirm passwords are different";
|
|
}
|
|
} else if ( newUser ) {
|
|
errors[errors.length] = "You must supply a password";
|
|
}
|
|
if ( errors.length ) {
|
|
alert(errors.join("\n"));
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
function initPage() {
|
|
$j('#contentForm').submit(function(event) {
|
|
if ( validateForm(this) ) {
|
|
$j('#contentButtons').hide();
|
|
return true;
|
|
} else {
|
|
return false;
|
|
};
|
|
});
|
|
|
|
// Manage the BACK button
|
|
document.getElementById("backBtn").addEventListener("click", function onBackClick(evt) {
|
|
evt.preventDefault();
|
|
window.history.back();
|
|
});
|
|
|
|
// Disable the back button if there is nothing to go back to
|
|
$j('#backBtn').prop('disabled', !document.referrer.length);
|
|
|
|
// Manage the REFRESH Button
|
|
document.getElementById("refreshBtn").addEventListener("click", function onRefreshClick(evt) {
|
|
evt.preventDefault();
|
|
window.location.reload(true);
|
|
});
|
|
} // end function initPage
|
|
|
|
function updateEffectivePermissions() {
|
|
console.log("updateEffectivePermissions");
|
|
const form = document.getElementById('contentForm');
|
|
if (!form) {
|
|
console.error('No form found for contentForm');
|
|
return;
|
|
}
|
|
|
|
for (let monitor_i=0, monitor_len=monitors.length; monitor_i< monitor_len; monitor_i++) {
|
|
const monitor = monitors[monitor_i];
|
|
const perm = getEffectivePermission(monitor);
|
|
$j('#effective_permission'+monitor.id).html(perm);
|
|
} // end foreach monitor
|
|
} // end funtion updateEffectivePermissions()
|
|
|
|
function getEffectivePermission(monitor) {
|
|
{
|
|
const perm = $j('input[name="monitor_permission\['+monitor.id+'\]"]:checked').val();
|
|
if (perm != 'Inherit') return perm;
|
|
}
|
|
|
|
const gp_permissions = [];
|
|
for (let group_i=0, group_len=groups.length; group_i < group_len; group_i++) {
|
|
const group = groups[group_i];
|
|
|
|
if (group.monitor_ids.includes(monitor.id)) {
|
|
const perm = $j('input[name="group_permission\['+group.id+'\]"]:checked').val();
|
|
gp_permissions[perm] = perm;
|
|
}
|
|
}
|
|
if (gp_permissions['None']) return 'None';
|
|
if (gp_permissions['View']) return 'View';
|
|
if (gp_permissions['Edit']) return 'Edit';
|
|
return $j('#user\\[Monitors\\]').val();
|
|
}
|
|
|
|
window.addEventListener('DOMContentLoaded', initPage);
|