2020-04-11 14:20:25 +00:00
<!doctype html>
< html lang = "en" >
< head >
<!-- Required meta tags -->
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1, shrink-to-fit=no" >
2020-05-13 17:46:02 +00:00
< link rel = "apple-touch-icon" sizes = "180x180" href = "/apple-touch-icon.png" >
< link rel = "icon" type = "image/png" sizes = "32x32" href = "/favicon-32x32.png" >
< link rel = "icon" type = "image/png" sizes = "16x16" href = "/favicon-16x16.png" >
< link rel = "manifest" href = "/site.webmanifest" >
< link rel = "mask-icon" href = "/safari-pinned-tab.svg" color = "#5bbad5" >
< meta name = "msapplication-TileColor" content = "#603cba" >
< meta name = "theme-color" content = "#ffffff" >
2020-04-11 14:20:25 +00:00
<!-- Bootstrap CSS -->
2020-05-17 14:22:50 +00:00
< link rel = "stylesheet" href = "{{ css_href }}" integrity = "{{ css_integrity }}" crossorigin = "{{ css_crossorigin }}" >
2020-04-11 14:20:25 +00:00
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
< script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity = "sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin = "anonymous" > < / script >
< script src = "https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity = "sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin = "anonymous" > < / script >
< script src = "https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity = "sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin = "anonymous" > < / script >
< script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery-serialize-object/2.5.0/jquery.serialize-object.min.js" integrity = "sha256-E8KRdFk/LTaaCBoQIV/rFNc0s3ICQQiOHFT4Cioifa8=" crossorigin = "anonymous" > < / script >
< link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" >
< style >
2020-04-19 21:35:51 +00:00
.pageContainer {
2020-06-29 00:25:18 +00:00
margin: 5% 20% 5% 20%;
2020-04-19 21:35:51 +00:00
}
@media (max-width: 1100px) {
.pageContainer {
margin: 2%;
}
}
h1 {
/*margin: 20%;*/
2020-04-11 14:20:25 +00:00
margin-bottom: 5%;
}
.linkGroup {
2020-04-19 21:35:51 +00:00
/*margin: 20%;*/
2020-04-11 14:20:25 +00:00
margin-bottom: 5%;
margin-top: 5%;
}
.linkForm {
2020-04-19 21:35:51 +00:00
/*margin: 20%;*/
2020-04-11 14:20:25 +00:00
margin-top: 5%;
margin-bottom: 5%;
}
.contactBox {
2020-04-19 21:35:51 +00:00
/*margin: 20%;*/
2020-04-11 14:20:25 +00:00
margin-top: 5%;
color: grey;
}
.fa-clipboard {
color: grey;
}
.fa-clipboard:hover {
color: black;
}
< / style >
< title > Admin< / title >
< / head >
< body >
< div class = "modal fade" id = "login" tabindex = "-1" role = "dialog" aria-labelledby = "login" aria-hidden = "true" data-backdrop = "static" >
< div class = "modal-dialog modal-dialog-centered" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" id = "loginTitle" > Login< / h5 >
< / div >
< div class = "modal-body" id = "formBody" >
< form action = "#" method = "POST" id = "loginForm" >
< div class = "form-group" >
< label for = "username" > Username< / label >
< input type = "text" class = "form-control" id = "username" name = "username" placeholder = "Username" required >
< label for = "password" > Password< / label >
< input type = "password" class = "form-control" id = "password" name = "password" placeholder = "Password" required >
< / div >
< / form >
2020-05-05 10:37:13 +00:00
< div id = "loginErrorArea" > < / div >
2020-04-11 14:20:25 +00:00
< / div >
< div class = "modal-footer" >
2020-05-05 10:37:13 +00:00
< button type = "submit" id = "loginSubmit" class = "btn btn-primary" form = "loginForm" > Login< / button >
2020-04-11 14:20:25 +00:00
< / div >
< / div >
< / div >
< / div >
2020-06-08 12:33:04 +00:00
< div class = "modal fade" id = "settingsMenu" tabindex = "-1" role = "dialog" aria-labelledby = "settings menu" aria-hidden = "true" >
< div class = "modal-dialog modal-dialog-centered" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" id = "settingsTitle" > Settings< / h5 >
< button type = "button" class = "close" data-dismiss = "modal" aria-label = "Close" >
< span aria-hidden = "true" > × < / span >
< / button >
< / div >
< div class = "modal-body" >
< ul class = "list-group list-group-flush" >
2020-06-30 15:17:40 +00:00
< p > Note: < sup class = "text-danger" > *< / sup > Indicates required field.< / p >
< button type = "button" class = "list-group-item list-group-item-action" id = "openUsers" >
Users < i class = "fa fa-user" > < / i >
< / button >
< button type = "button" class = "list-group-item list-group-item-action" id = "openDefaultsWizard" >
New account defaults
< / button >
2020-06-08 12:33:04 +00:00
< / ul >
2020-06-30 15:17:40 +00:00
< div class = "list-group list-group-flush" id = "settingsList" >
< / div >
2020-06-08 12:33:04 +00:00
< / div >
< div class = "modal-footer" id = "settingsFooter" >
< button type = "button" class = "btn btn-secondary" data-dismiss = "modal" > Close< / button >
2020-06-30 15:17:40 +00:00
< button type = "button" class = "btn btn-primary" id = "settingsSave" > Save< / button >
2020-06-08 12:33:04 +00:00
< / div >
< / div >
< / div >
< / div >
2020-04-20 19:37:39 +00:00
< div class = "modal fade" id = "users" tabindex = "-1" role = "dialog" aria-labelledby = "users" aria-hidden = "true" >
< div class = "modal-dialog modal-dialog-centered" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" id = "usersTitle" > Users< / h5 >
< button type = "button" class = "close" data-dismiss = "modal" aria-label = "Close" >
< span aria-hidden = "true" > × < / span >
< / button >
< / div >
< div class = "modal-body" >
< ul class = "list-group list-group-flush" id = "userList" >
< / ul >
< / div >
< div class = "modal-footer" id = "userFooter" >
< button type = "button" class = "btn btn-secondary" data-dismiss = "modal" > Close< / button >
< / div >
< / div >
< / div >
< / div >
2020-06-08 12:33:04 +00:00
< div class = "modal fade" id = "userDefaults" tabindex = "-1" role = "dialog" aria-labelledby = "users" aria-hidden = "true" >
< div class = "modal-dialog modal-dialog-centered" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" id = "defaultsTitle" > New user defaults< / h5 >
< button type = "button" class = "close" data-dismiss = "modal" aria-label = "Close" >
< span aria-hidden = "true" > × < / span >
< / button >
< / div >
< div class = "modal-body" >
< p > Create an account and configure it to your liking, then choose it from below to store the settings as a template for all new users.< / p >
< div id = "defaultUserRadios" > < / div >
< div class = "checkbox" >
< label > < input type = "checkbox" value = "" style = "margin-right: 1rem;" id = "storeDefaultHomescreen" checked > Store homescreen layout< / label >
< / div >
< / div >
< div class = "modal-footer" id = "defaultsFooter" >
< button type = "button" class = "btn btn-secondary" data-dismiss = "modal" > Close< / button >
< button type = "button" class = "btn btn-primary" id = "storeDefaults" > Submit< / button >
< / div >
< / div >
< / div >
< / div >
2020-06-30 15:17:40 +00:00
< div class = "modal fade" id = "restartModal" tabindex = "-1" role = "dialog" aria-labelledby " Restart Warning " aria-hidden = "true" >
< div class = "modal-dialog modal-dialog-centered" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" > Warning< / h5 >
< / div >
< div class = "modal-body" >
< p > A restart is needed to apply settings. This must be done manually. Apply now?< / p >
< / div >
< div class = "modal-footer" >
< button type = "button" class = "btn btn-secondary" data-dismiss = "modal" > Cancel< / button >
< button type = "button" class = "btn btn-primary" id = "applyRestarts" data-dismiss = "alert" > Apply< / button >
< / div >
< / div >
< / div >
< / div >
2020-04-19 21:35:51 +00:00
< div class = "pageContainer" >
< h1 >
Accounts admin
< / h1 >
2020-06-08 12:33:04 +00:00
< button type = "button" class = "btn btn-secondary" id = "openSettings" >
Settings < i class = "fa fa-cog" > < / i >
2020-04-20 19:37:39 +00:00
< / button >
2020-04-19 21:35:51 +00:00
< div class = "card bg-light mb-3 linkGroup" >
< div class = "card-header" > Current Invites< / div >
< ul class = "list-group list-group-flush" id = "invites" >
< / ul >
< / div >
< div class = "linkForm" >
< div class = "card bg-light mb-3" >
< div class = "card-header" > Generate Invite< / div >
< div class = "card-body" >
< form action = "#" method = "POST" id = "inviteForm" >
< div class = "form-group" >
< label for = "hours" > Hours< / label >
< select class = "form-control" id = "hours" name = "hours" >
< / select >
< / div >
< div class = "form-group" >
< label for = "minutes" > Minutes< / label >
< select class = "form-control" id = "minutes" name = "minutes" >
< / select >
< / div >
2020-05-12 19:44:04 +00:00
{% if email_enabled %}
2020-04-19 21:35:51 +00:00
< div class = "form-group" >
< label for = "send_to_address" > Send invite to address< / label >
< div class = "input-group" >
< div class = "input-group-prepend" >
< div class = "input-group-text" >
< input type = "checkbox" onchange = "document.getElementById('send_to_address').disabled = !this.checked;" aria-label = "Checkbox to allow input of email address" id = "send_to_address_enabled" >
< / div >
< / div >
< input type = "email" class = "form-control" placeholder = "example@example.com" id = "send_to_address" disabled >
< / div >
< / div >
2020-05-12 19:44:04 +00:00
{% endif %}
2020-05-05 10:37:13 +00:00
< button type = "submit" id = "generateSubmit" class = "btn btn-primary" > Generate< / button >
2020-04-19 21:35:51 +00:00
< / form >
< / div >
2020-04-17 14:24:56 +00:00
< / div >
2020-04-11 14:20:25 +00:00
< / div >
2020-04-19 21:35:51 +00:00
< div class = "contactBox" >
< p > {{ contactMessage }}< / p >
< / div >
2020-04-11 14:20:25 +00:00
< / div >
< script src = "admin.js" > < / script >
< / body >
< / html >