summaryrefslogtreecommitdiff
path: root/templates/admin.html
diff options
context:
space:
mode:
Diffstat (limited to 'templates/admin.html')
-rw-r--r--templates/admin.html67
1 files changed, 67 insertions, 0 deletions
diff --git a/templates/admin.html b/templates/admin.html
new file mode 100644
index 0000000..e62979e
--- /dev/null
+++ b/templates/admin.html
@@ -0,0 +1,67 @@
1<!DOCTYPE html>
2<html>
3<head>
4<title>Filer Admin</title>
5<meta charset="UTF-8">
6{{ dropzone.load_css() }}
7{{ dropzone.style('border: 2px dashed #0087F7; min-height: 3em;') }}
8<link rel="stylesheet" href="/static/style.css">
9<script>
10function generatePassword() {
11 var chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'()*+,-./:;<=>?@_{|}~";
12 var randarray = new Uint16Array(32);
13 var retval = "";
14 window.crypto.getRandomValues(randarray);
15 for (var i = 0, n = chars.length; i < randarray.length; ++i)
16 retval += chars.charAt(Math.floor(randarray[i] * n / 65336));
17 console.log(retval);
18 document.getElementById("password").value = retval;
19}
20</script>
21</head>
22<body>
23{{ dropzone.load_js() }}
24<h1>Kanzlei Hubrig – Administration</h1>
25<h2>Mandanten</h2>
26<ul>
27{%- for item in users %}
28 <li>
29 <form action="/admin/del-user/{{item}}" method="post" style="display: inline;" onsubmit="return confirm('Sind Sie sicher?');">
30 <input type="hidden" name="_method" value="DELETE">
31 <button class="delete">löschen</button>
32 </form>
33 <button class="edit" onclick="document.getElementById('user').value='{{item}}'">edit</button>
34 <a href="/admin/Dokumente/{{item}}">{{item}}</a> <small>Mandanten-URL: {{url_root}}Dokumente/{{item}}</small>
35 </li>
36{%- endfor %}
37<li>
38 <form action="/admin/new-user" method="post">
39 <input id="user" name="user" type="text" placeholder="Name" required></input>
40 <input id="password" name="password" type="text" placeholder="Passwort" autocomplete="off" required></input>
41 <script>generatePassword()</script>
42 <button class="add" type="button" onclick="generatePassword()">Zufall</button>
43 <button class="add">Hinzufügen</button>
44 </form>
45</li>
46</ul>
47
48<h2>Öffentliche Dokumente</h2>
49<ul>
50{%- for item in tree.children recursive %}
51 <li><form action="/admin/{{ item.name }}" method="post" style="display: inline;" onsubmit="return confirm('Are you sure?');">
52 <input type="hidden" name="_method" value="DELETE">
53 <button class="delete">löschen</button>
54 </form>
55 <a href="{{ item.name }}" download="{{item.download}}">{{ item.download }}</a>
56 {%- if item.children -%}
57 <ul>{{ loop(item.children) }}</ul>
58 {%- endif %}</li>
59{%- endfor %}
60</ul>
61
62<h2>Öffentliches Dokument hochladen</h2>
63<div class="droppy">{{ dropzone.create(action='/admin') }}</div>
64
65{{ dropzone.config() }}
66</body>
67</html>