diff options
Diffstat (limited to 'data/templates/users')
-rw-r--r-- | data/templates/users/entry.html | 123 | ||||
-rw-r--r-- | data/templates/users/import-pgp.html | 22 | ||||
-rw-r--r-- | data/templates/users/import.html | 39 | ||||
-rw-r--r-- | data/templates/users/index.html | 14 | ||||
-rw-r--r-- | data/templates/users/invoice.html | 35 |
5 files changed, 233 insertions, 0 deletions
diff --git a/data/templates/users/entry.html b/data/templates/users/entry.html new file mode 100644 index 0000000..3b458a2 --- /dev/null +++ b/data/templates/users/entry.html @@ -0,0 +1,123 @@ +<h2>Personal Data</h2> + +{{{MESSAGE}}} + +<form method="POST" enctype="multipart/form-data" action="#"> + <table class="table table-bordered table-nonfluid user-entry"> + <tr><th>ID</th><td>{{{UID}}}</td></tr> + <tr> + <th>Barcode</th> + <td> + <canvas id="barcode"></canvas><br> + <a href="#" onclick="window.open(code39_url());">Download</a> + <br> + <a href="https://barcode.tec-it.com/barcode.ashx?translate-esc=off&data=USER%20{{{UID}}}&code=Code39FullASCII&multiplebarcodes=false&unit=Fit&dpi=96&imagetype=png&rotation=0&color=%23000000&bgcolor=%23ffffff&qunit=Mm&quiet=0" target="_blank">Get HighRes Version (external)</a> + </td> + </tr> + <tr><th>Firstname</th><td>{{{FIRSTNAME}}}</td></tr> + <tr><th>Lastname</th><td>{{{LASTNAME}}}</td></tr> + <tr><th>E-Mail</th><td>{{{EMAIL}}}</td></tr> + <tr><th>PGP Key ID</th><td>{{{PGPKEYID}}}</td></tr> + <tr><th>Gender</th><td>{{{GENDER}}}</td></tr> + <tr><th>Street</th><td>{{{STREET}}}</td></tr> + <tr><th>PLZ</th><td>{{{POSTALCODE}}}</td></tr> + <tr><th>City</th><td>{{{CITY}}}</td></tr> + <tr><th>RFID</th><td>{{{RFID}}}</td></tr> + <tr><th colspan="2">Settings</th></tr> + <tr><th>Sound theme</th> + <td> + <form method="POST" enctype="multipart/form-data" action="#"> + <select class="form-control" name="soundTheme"> + <option value="##random">~ random ~</option> + {{{SOUND_THEMES}}} + </select> + <input type="submit" class="btn btn-default" value="Update"> + </form> + <br> + <a href="https://github.com/ktt-ol/serial-barcode-scanner/tree/master/sounds/user" target="_blank">See Preview</a> + </td> + </tr> + </table> +</form> +<form method="POST" enctype="multipart/form-data" action="#"> + <table class="table table-bordered table-nonfluid user-entry"> + <tr><th colspan="2">Status Information</th></tr> + <tr><th>Disabled</th><td>{{{DISABLED}}}</td></tr> + <tr><th>Hidden</th><td>{{{HIDDEN}}}</td></tr> + <tr><th colspan="2">Administrative Information</th></tr> + <tr><th>Superuser</th><td>{{{ISSUPERUSER}}}</td></tr> + <tr><th>Auth Products</th><td><button id="authproductsbutton" type="button" class="btn {{{BTN_AUTH_PRODUCTS}}}" {{{ISADMIN2}}}>{{{HAS_AUTH_PRODUCTS}}}</button></td></tr> + <tr><th>Auth Cashbox</th><td><button id="authcashboxbutton" type="button" class="btn {{{BTN_AUTH_CASHBOX}}}" {{{ISADMIN2}}}>{{{HAS_AUTH_CASHBOX}}}</button></td></tr> + <tr><th>Auth Users</th><td><button id="authusersbutton" type="button" class="btn {{{BTN_AUTH_USERS}}}" {{{ISADMIN2}}}>{{{HAS_AUTH_USERS}}}</button></td></tr> + <tr><th>Invoices</th><td><a href="./{{{UID}}}/invoice">Show</a></td></tr> + <tr><th rowspan="3">Password</th><td><input name="password1" placeholder="New Password" type="password" class="form-control" /></td></tr> + <tr><td><input name="password2" placeholder="New Password (again)" type="password" class="form-control" /></td></tr> + <tr><td><input type="submit" class="btn btn-default" value="Change Password" /></td></tr> + </table> +</form> + +<script language="JavaScript"> +code39_init(); +code39_draw("USER {{{UID}}}", true); + + +$('#authproductsbutton').on('click', function (e) { + var req = $.getJSON( + "/users/{{{UID}}}/toggle_auth_products", + function( data ) { + if(data["products"] == "false") { + $('#authproductsbutton').html("No") + $('#authproductsbutton').addClass("btn-danger") + $('#authproductsbutton').removeClass("btn-success") + } else if(data["products"] == "true") { + $('#authproductsbutton').html("Yes") + $('#authproductsbutton').addClass("btn-success") + $('#authproductsbutton').removeClass("btn-danger") + } else { + console.error("unknown state") + console.info(data) + } + } + ); +}); + +$('#authcashboxbutton').on('click', function (e) { + var req = $.getJSON( + "/users/{{{UID}}}/toggle_auth_cashbox", + function( data ) { + if(data["cashbox"] == "false") { + $('#authcashboxbutton').html("No") + $('#authcashboxbutton').addClass("btn-danger") + $('#authcashboxbutton').removeClass("btn-success") + } else if(data["cashbox"] == "true") { + $('#authcashboxbutton').html("Yes") + $('#authcashboxbutton').addClass("btn-success") + $('#authcashboxbutton').removeClass("btn-danger") + } else { + console.error("unknown state") + console.info(data) + } + } + ); +}); + +$('#authusersbutton').on('click', function (e) { + var req = $.getJSON( + "/users/{{{UID}}}/toggle_auth_users", + function( data ) { + if(data["users"] == "false") { + $('#authusersbutton').html("No") + $('#authusersbutton').addClass("btn-danger") + $('#authusersbutton').removeClass("btn-success") + } else if(data["users"] == "true") { + $('#authusersbutton').html("Yes") + $('#authusersbutton').addClass("btn-success") + $('#authusersbutton').removeClass("btn-danger") + } else { + console.error("unknown state") + console.info(data) + } + } + ); +}); +</script> diff --git a/data/templates/users/import-pgp.html b/data/templates/users/import-pgp.html new file mode 100644 index 0000000..57a5d64 --- /dev/null +++ b/data/templates/users/import-pgp.html @@ -0,0 +1,22 @@ +<h2>Import PGP Keys</h2> + +<div style="display: {{{STEP1}}}"> + <form action="#" method="POST" enctype="multipart/form-data" class="form-horizontal"> + <div class="control-group"> + <label class="control-label" for="file">Archive File (zip, tar.gz, ...) containing PGP keys</label> + <div class="controls"> + <input type="file" accept="text/csv" name="file"></input> + <input type="hidden" name="step" value="1"></input> + </div> + </div> + + <button class="btn btn-primary" type="submit">Import</button> + </form> +</div> + + +<div style="display: {{{STEP2}}}"> + <p>The following keys have been found in the archive and imported into the keyring:</p> + + {{{DATA}}} +</div> diff --git a/data/templates/users/import.html b/data/templates/users/import.html new file mode 100644 index 0000000..1a0e6ef --- /dev/null +++ b/data/templates/users/import.html @@ -0,0 +1,39 @@ +<h2>Import Users</h2> + +<div class="alert alert-success" style="display: {{{STEP3}}}"> + <b>CSV Import Done!</b> The System's Database has been updated. +</div> + +<div style="display: {{{STEP1}}}"> + <form action="#" method="POST" enctype="multipart/form-data" class="form-horizontal"> + <div class="control-group"> + <label class="control-label" for="file">CSV File</label> + <div class="controls"> + <input type="file" accept="text/csv" name="file"></input> + <input type="hidden" name="step" value="1"></input> + </div> + </div> + + <button class="btn btn-primary" type="submit">Import</button> + </form> +</div> + +<div style="display: {{{STEP23}}}"> + <table class="table table-bordered"> + <thead> + <tr><th><i class="icon-wrench"></i></th><th>ID</th><th>Firstname</th><th>Lastname</th><th>E-Mail</th><th>Gender</th><th>Street</th><th>Postcode</th><th>City</th><th>PGP</th><th>Hidden</th><th>Disabled</th><th>Joined at</th></tr> + </thead> + <tbody> + {{{DATA1}}} + </tbody> + </table> + + {{{DATA2}}}. + + <div style="display: {{{STEP2}}}"> + <form action="#" method="POST" enctype="multipart/form-data" class="form-horizontal"> + <input type="hidden" name="step" value="2"></input> + <button class="btn btn-primary" type="submit">Apply Changes to Database</button> + </form> + </div> +</div> diff --git a/data/templates/users/index.html b/data/templates/users/index.html new file mode 100644 index 0000000..2168e62 --- /dev/null +++ b/data/templates/users/index.html @@ -0,0 +1,14 @@ +<table id="usertable" class="table table-bordered table-striped table-condensed"> + <thead> + <tr><th>ID</th></th><th>Name</th></tr> + </thead> + <tbody> + {{{DATA}}} + </tbody> +</table> + +<script type="text/javascript"> +$(document).ready(function() { + $('#usertable').DataTable({"lengthMenu": [ [25, 50, 100, -1], [25, 50, 100, "All"] ] }); +} ); +</script> diff --git a/data/templates/users/invoice.html b/data/templates/users/invoice.html new file mode 100644 index 0000000..36ea627 --- /dev/null +++ b/data/templates/users/invoice.html @@ -0,0 +1,35 @@ +<h2>Invoice</h2> + +<div class="navbar navbar-default"> + <ul class="navbar-nav nav" role="navigation"> + <a class="navbar-brand" href="#">Choose Invoice Period:</a> + <li class="dropdown"> + <a id="year" class="dropdown-toggle" data-toggle="dropdown" href="#">{{{SELECTEDYEAR}}} <span class="caret"></span></a> + <ul class="dropdown-menu" role="menu" aria-labelledby="year" > + {{{YEARS}}} + </ul> + </li> + <li class="dropdown"> + <a id="month" class="dropdown-toggle" data-toggle="dropdown" href="#">{{{SELECTEDMONTH}}} <span class="caret"></span></a> + <ul class="dropdown-menu" role="menu" aria-labelledby="month" > + {{{MONTHS}}} + </ul> + </li> + <li class="dropdown"> + <a id="day" class="dropdown-toggle" data-toggle="dropdown" href="#">{{{SELECTEDDAY}}} <span class="caret"></span></a> + <ul class="dropdown-menu two-columns" role="menu" aria-labelledby="day" > + {{{DAYS}}} + </ul> + </li> + </ul> +</div> + +<table class="table table-bordered table-striped"> + <thead> + <tr><th>Date</th><th>Time</th><th>Product</th><th>Price</th></tr> + </thead> + <tbody> + {{{DATA}}} + <tr><th colspan="3">Sum</th><td>{{{SUM}}}</td></tr> + </tbody> +</table> |