Wachalarm-IP-Web/views/admin/adm_edit_users.pug
2020-03-05 22:31:02 +01:00

136 lines
6.4 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

extends ../layout
block content
main(role='main')
.container
#info.row
.col-md-3
.col-md-6.col-xs-12
if error
.card.text-white.bg-danger.mb-3
.card-body
.row
.col-9
h5.card-title.ion-md-close-circle-outline Fehler
p.card-text=error
.col-3.text-right
button#close_info.btn.btn-info.ion-md-close
if success
.card.text-white.bg-success.mb-3
.card-body
.row
.col-9
h5.card-title.ion-md-checkmark-circle-outline Erfolg
p.card-text=success
.col-3.text-right
button#close_info.btn.btn-info.ion-md-close
.row
.col-lg-4.col-12.d-flex.align-self-stretch
.card.border-success.mb-3.w-100
.card-body.text-success.text-center
h5.card-title Benutzer hinzufügen
button.btn.btn-success.btn-lg.ion-md-add-circle(onclick='addUser();')
each val in users
.col-lg-4.col-12.d-flex.align-self-stretch
.card.border-dark.mb-3.w-100
.card-header= val.user
.card-body.text-dark
p='Benutzerrechte: ' + val.permissions
p='IP-Adresse: ' + val.ip_address
.card-footer.text-right
button.btn.btn-primary.mx-2.ion-md-create(onclick='EditUser(this);', data-id=val.id, data-user=val.user, data-permissions=val.permissions, data-ip_address=val.ip_address) Bearbeiten
form(action='/adm_edit_users', method='POST', style='display:inline-block;')
input(type='hidden', name='modal_method', value='DELETE')
input(type='hidden', name='id', value=val.id)
input(type='hidden', name='username', value=val.user)
button.btn.btn-danger.mx-2.ion-md-trash(type='submit', value='submit') Löschen
#userModal.modal.fade(tabindex='-1', role='dialog', aria-hidden='true')
.modal-dialog.modal-dialog-centered(role='document')
.modal-content
.modal-header
h5#userModalTitle.modal-title Edit User
button.close(type='button', data-dismiss='modal', aria-label='Close')
span(aria-hidden='true') ×
.modal-body
form#formModal(action="/adm_edit_users", method="POST", oninput='password2.setCustomValidity(password2.value != password.value ? "Passwörter stimmen nicht überein!" : "")')
.form-group
input#modal_method(type='hidden', name='modal_method', value='')
input#modal_id(type='hidden', name='modal_id', value='')
label Benutzername
input#username.form-control(type='text', name='username', placeholder='Benutzername ...', readonly='')
small.form-text.text-muted Der Benutzername sollte eindeutig und nachvollziehbar sein.
fieldset.form-group
.row
legend.col-form-label.col-sm-3.pt-0 Berechtigung
.col-sm-9
.form-check
input#gridRadios1.form-check-input(type='radio', name='permissions', value='admin', required='')
label.form-check-label(for='admin')
| Administrator
small.form-text.text-muted Administratoren können alle Einstellungen bearbeiten und sehen alle Wachalarme.
.form-check
input#gridRadios2.form-check-input(type='radio', name='permissions', value='user', required='')
label.form-check-label(for='user')
| Benutzer
small.form-text.text-muted Benutzer können Wachalarme empfangen und eigene Einstzellungen festlegen.
input#waip_rights.form-control(type='text', name='waip_rights', pattern='(((^|,)([0-9]+))+)', placeholder='00,0000,00000,000001,...')
.form-group
label Passwort
input#UserPassword.form-control(type='password', name='password', placeholder='...')
label Passwort erneut eingeben
input#UserPassword2.form-control(type='password', name='password2', placeholder='...')
.form-group
label IP-Adresse
input#ip.form-control(type='text', name='ip', placeholder='0.0.0.0 ...', pattern='^([0-9]{1,3}\.){3}[0-9]{1,3}$')
small.form-text.text-muted Die IP-Adresse dient zur automatischen Authentifizierung von Benuztern und ist optional
.modal-footer
button.btn.btn-primary(type='submit', form="formModal", value='submit') Speichern
button#userModalClose.btn.btn-secondary(type='button', data-dismiss='modal') Abbrechen
script.
$('#formModal').trigger("reset");
var addUser = function() {
$('#formModal').trigger("reset");
$("#userModalTitle").text("neuen Benutzer hinzufügen");
$("#modal_method").val("ADDNEW");
$("#modal_id").val("");
$("#username").prop("readonly", false);
$("#username").prop("required", true);
$("#UserPassword").prop("required", true);
$('#userModal').modal('show');
}
var EditUser = function(current_user) {
$('#formModal').trigger("reset");
$("#userModalTitle").text("Benutzer bearbeiten");
$("#modal_method").val("EDIT");
$("#modal_id").val($(current_user).data("id"));
$("#username").prop("readonly", true).val($(current_user).data("user"));
if ($(current_user).data("permissions") == "admin" ) {
$('#gridRadios1').click();
} else {
$('#waip_rights').val($(current_user).data("permissions"));
$('#gridRadios2').val($(current_user).data("permissions"));
$('#gridRadios2').click();
}
$("#UserPassword").prop("required", false);
$("#ip").val($(current_user).data("ip_address"));
$('#userModal').modal('show');
}
$('#close_info').on('click', function(event) {
$('#info').addClass( 'd-none' )
});
$('#gridRadios1').change(function() {
if ($(this).is('input:checked')) {
$('#waip_rights').prop("required", false);
}
});
$('#gridRadios2').change(function() {
if ($(this).is('input:checked')) {
$('#waip_rights').prop("required", true);
}
});
$('#waip_rights').change(function() {
$('#gridRadios2').val($('#waip_rights').val());
});