From 7bed1685b66f126b7130e43304ad8f53f69a3aff Mon Sep 17 00:00:00 2001 From: romangraef Date: Fri, 1 Jun 2018 15:49:55 +0200 Subject: Enhanced editing and a bnit of more admin links. --- app.py | 17 ++++++++++++++++- static/.gallery.scss | 2 +- static/.popup.scss | 2 +- static/edit.js | 2 +- static/main.css | 20 ++++++++++++++++++-- static/main.css.map | 2 +- static/main.scss | 21 ++++++++++++++++++++- templates/base.html | 14 ++++++++++++++ templates/delete.html | 12 ++++++++++++ templates/edit_project.html | 3 +++ templates/gallery.html | 9 +++++---- templates/login.html | 2 +- templates/new.html | 1 + templates/project.html | 6 ++++++ templates/project_fields.html | 1 - 15 files changed, 100 insertions(+), 14 deletions(-) create mode 100644 templates/delete.html diff --git a/app.py b/app.py index ec70ffc..ae6ec36 100644 --- a/app.py +++ b/app.py @@ -37,7 +37,8 @@ def check_password(password) -> bool: def inject(): return { 'projects': from_json(db.all(), List[Project]), - 'empty_project': Project() + 'empty_project': Project(), + 'admin': session.get('logged_in', False) } @@ -136,6 +137,20 @@ def projects(project_name): return render_template('project.html', project=find_project(project_name)) +@app.route('/projects//delete/', methods=['GET']) +@require_admin() +def delete_project(project_name): + return render_template('delete.html', project=find_project(project_name)) + + +@app.route('/projects//delete/', methods=['POST']) +@require_admin() +def delete_project_confirm(project_name): + Q = Query() + db.remove(Q.id == project_name.lower()) + return redirect('/') + + @app.route('/') def index(): return render_template('index.html') diff --git a/static/.gallery.scss b/static/.gallery.scss index 0b75b92..9594dd3 100644 --- a/static/.gallery.scss +++ b/static/.gallery.scss @@ -11,7 +11,7 @@ padding: 10px; width: 32%; min-height: 200px; - margin: 0.8%; + margin: 0.6%; border: gray 1px solid; } diff --git a/static/.popup.scss b/static/.popup.scss index 4bc4650..a3e9df6 100644 --- a/static/.popup.scss +++ b/static/.popup.scss @@ -3,7 +3,7 @@ animation-duration: 6s; animation-iteration-count: 1; position: fixed; - bottom: 10px; + bottom: 60px; text-align: center; animation-fill-mode: forwards; } diff --git a/static/edit.js b/static/edit.js index 7bdc575..41a82ca 100644 --- a/static/edit.js +++ b/static/edit.js @@ -1,6 +1,6 @@ function save_changes() { let summary = $("#summary").val(); - let description = $("#description").text(); + let description = $("#description").val(); let link = $("#link").val(); let name = $("#name").val(); $.ajax({ diff --git a/static/main.css b/static/main.css index 85292fb..7cc478c 100644 --- a/static/main.css +++ b/static/main.css @@ -69,7 +69,7 @@ table { padding: 10px; width: 32%; min-height: 200px; - margin: 0.8%; + margin: 0.6%; border: gray 1px solid; } .gallery-element:hover { @@ -89,7 +89,7 @@ table { animation-duration: 6s; animation-iteration-count: 1; position: fixed; - bottom: 10px; + bottom: 60px; text-align: center; animation-fill-mode: forwards; } @@ -121,4 +121,20 @@ a { color: inherit; text-decoration: inherit; } +.footer { + border-top: 1px black solid; + bottom: 0; + position: fixed; + text-align: center; + height: 50px; + width: 100%; + margin: 0; + background: #e2e1e1; } + +body { + padding-bottom: 50px; } + +b { + font-weight: 500; } + /*# sourceMappingURL=main.css.map */ diff --git a/static/main.css.map b/static/main.css.map index 941eab4..b0f4831 100644 --- a/static/main.css.map +++ b/static/main.css.map @@ -1,6 +1,6 @@ { "version": 3, -"mappings": "AAEA,cAAe;EACb,OAAO,EAAE,aAAa;EACtB,kBAAkB,EAAE,WAAW;EAC/B,eAAe,EAAE,WAAW;EAC5B,cAAc,EAAE,WAAW;EAC3B,aAAa,EAAE,WAAW;EAC1B,UAAU,EAAE,WAAW;EACvB,KAAK,EATM,OAAO;;AAapB,oBAAqB;EACnB,KAAK,EAbM,KAAK;;AAgBlB,QAAS;EACP,UAAU,EAlBC,OAAO;EAmBlB,KAAK,EAlBM,KAAK;;ACDlB;;;;;;;;;;;;wBAYyB;EACvB,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,CAAC;EACT,SAAS,EAAE,IAAI;EACf,IAAI,EAAE,OAAO;EACb,cAAc,EAAE,QAAQ;;AAG1B,iDAAiD;AACjD;0CAC2C;EACzC,OAAO,EAAE,KAAK;;AAGhB,IAAK;EACH,WAAW,EAAE,CAAC;;AAGhB,MAAO;EACL,UAAU,EAAE,IAAI;;AAGlB,aAAc;EACZ,MAAM,EAAE,IAAI;;AAGd;iBACkB;EAChB,OAAO,EAAE,EAAE;EACX,OAAO,EAAE,IAAI;;AAGf,KAAM;EACJ,eAAe,EAAE,QAAQ;EACzB,cAAc,EAAE,CAAC;;AC/CnB,QAAS;EACP,OAAO,EAAE,IAAI;EACb,SAAS,EAAE,IAAI;;AAGjB,gBAAiB;EACf,UAAU,EAAE,OAAO;EACnB,MAAM,EAAE,OAAO;EACf,OAAO,EAAE,KAAK;EACd,SAAS,EAAE,KAAK;EAChB,OAAO,EAAE,IAAI;EACb,KAAK,EAAE,GAAG;EACV,UAAU,EAAE,KAAK;EACjB,MAAM,EAAE,IAAI;EACZ,MAAM,EAAE,cAAc;;AAGxB,sBAAuB;EACrB,iBAAiB,EAAE,UAAU;EAC7B,cAAc,EAAE,UAAU;EAC1B,aAAa,EAAE,UAAU;EACzB,YAAY,EAAE,UAAU;EACxB,SAAS,EAAE,UAAU;EACrB,kBAAkB,EAAE,SAAS;EAC7B,eAAe,EAAE,SAAS;EAC1B,cAAc,EAAE,SAAS;EACzB,aAAa,EAAE,SAAS;EACxB,UAAU,EAAE,SAAS;;AC3BvB,MAAO;EACL,cAAc,EAAE,KAAK;EACrB,kBAAkB,EAAE,EAAE;EACtB,yBAAyB,EAAE,CAAC;EAC5B,QAAQ,EAAE,KAAK;EACf,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,MAAM;EAClB,mBAAmB,EAAE,QAAQ;;AAG/B,gBAYC;EAXC,EAAG;IACD,OAAO,EAAE,IAAI;EAGf,GAAI;IACF,OAAO,EAAE,IAAI;EAGf,IAAK;IACH,OAAO,EAAE,CAAC;ACfd,CAAE;EACA,WAAW,EAAE,mCAAmC;;AAGlD,QAAS;EACP,OAAO,EAAE,IAAI;EACb,UAAU,EAAE,MAAM;EAClB,MAAM,EAAE,MAAM;EACd,KAAK,EAAE,GAAG;EACV,SAAS,EAAE,KAAK;;AAGlB,EAAG;EACD,SAAS,EAAE,GAAG;EACd,MAAM,EAAE,GAAG;;AAGb,OAAQ;EACN,MAAM,EAAE,IAAI;;AAGd,CAAE;EACA,KAAK,EAAE,OAAO;EACd,eAAe,EAAE,OAAO", +"mappings": "AAEA,cAAe;EACb,OAAO,EAAE,aAAa;EACtB,kBAAkB,EAAE,WAAW;EAC/B,eAAe,EAAE,WAAW;EAC5B,cAAc,EAAE,WAAW;EAC3B,aAAa,EAAE,WAAW;EAC1B,UAAU,EAAE,WAAW;EACvB,KAAK,EATM,OAAO;;AAapB,oBAAqB;EACnB,KAAK,EAbM,KAAK;;AAgBlB,QAAS;EACP,UAAU,EAlBC,OAAO;EAmBlB,KAAK,EAlBM,KAAK;;ACDlB;;;;;;;;;;;;wBAYyB;EACvB,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,CAAC;EACT,SAAS,EAAE,IAAI;EACf,IAAI,EAAE,OAAO;EACb,cAAc,EAAE,QAAQ;;AAG1B,iDAAiD;AACjD;0CAC2C;EACzC,OAAO,EAAE,KAAK;;AAGhB,IAAK;EACH,WAAW,EAAE,CAAC;;AAGhB,MAAO;EACL,UAAU,EAAE,IAAI;;AAGlB,aAAc;EACZ,MAAM,EAAE,IAAI;;AAGd;iBACkB;EAChB,OAAO,EAAE,EAAE;EACX,OAAO,EAAE,IAAI;;AAGf,KAAM;EACJ,eAAe,EAAE,QAAQ;EACzB,cAAc,EAAE,CAAC;;AC/CnB,QAAS;EACP,OAAO,EAAE,IAAI;EACb,SAAS,EAAE,IAAI;;AAGjB,gBAAiB;EACf,UAAU,EAAE,OAAO;EACnB,MAAM,EAAE,OAAO;EACf,OAAO,EAAE,KAAK;EACd,SAAS,EAAE,KAAK;EAChB,OAAO,EAAE,IAAI;EACb,KAAK,EAAE,GAAG;EACV,UAAU,EAAE,KAAK;EACjB,MAAM,EAAE,IAAI;EACZ,MAAM,EAAE,cAAc;;AAGxB,sBAAuB;EACrB,iBAAiB,EAAE,UAAU;EAC7B,cAAc,EAAE,UAAU;EAC1B,aAAa,EAAE,UAAU;EACzB,YAAY,EAAE,UAAU;EACxB,SAAS,EAAE,UAAU;EACrB,kBAAkB,EAAE,SAAS;EAC7B,eAAe,EAAE,SAAS;EAC1B,cAAc,EAAE,SAAS;EACzB,aAAa,EAAE,SAAS;EACxB,UAAU,EAAE,SAAS;;AC3BvB,MAAO;EACL,cAAc,EAAE,KAAK;EACrB,kBAAkB,EAAE,EAAE;EACtB,yBAAyB,EAAE,CAAC;EAC5B,QAAQ,EAAE,KAAK;EACf,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,MAAM;EAClB,mBAAmB,EAAE,QAAQ;;AAG/B,gBAYC;EAXC,EAAG;IACD,OAAO,EAAE,IAAI;EAGf,GAAI;IACF,OAAO,EAAE,IAAI;EAGf,IAAK;IACH,OAAO,EAAE,CAAC;ACfd,CAAE;EACA,WAAW,EAAE,mCAAmC;;AAGlD,QAAS;EACP,OAAO,EAAE,IAAI;EACb,UAAU,EAAE,MAAM;EAClB,MAAM,EAAE,MAAM;EACd,KAAK,EAAE,GAAG;EACV,SAAS,EAAE,KAAK;;AAGlB,EAAG;EACD,SAAS,EAAE,GAAG;EACd,MAAM,EAAE,GAAG;;AAGb,OAAQ;EACN,MAAM,EAAE,IAAI;;AAGd,CAAE;EACA,KAAK,EAAE,OAAO;EACd,eAAe,EAAE,OAAO;;AAG1B,OAAQ;EACN,UAAU,EAAE,eAAe;EAC3B,MAAM,EAAE,CAAC;EACT,QAAQ,EAAE,KAAK;EACf,UAAU,EAAE,MAAM;EAClB,MAAM,EAAE,IAAI;EACZ,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,CAAC;EACT,UAAU,EAAE,OAAO;;AAGrB,IAAK;EACH,cAAc,EAAE,IAAI;;AAGtB,CAAE;EACA,WAAW,EAAE,GAAG", "sources": [".spoiler.scss",".reset.scss",".gallery.scss",".popup.scss","main.scss"], "names": [], "file": "main.css" diff --git a/static/main.scss b/static/main.scss index 36a275e..0aa858e 100644 --- a/static/main.scss +++ b/static/main.scss @@ -27,4 +27,23 @@ h1 { a { color: inherit; text-decoration: inherit; -} \ No newline at end of file +} + +.footer { + border-top: 1px black solid; + bottom: 0; + position: fixed; + text-align: center; + height: 50px; + width: 100%; + margin: 0; + background: #e2e1e1; +} + +body { + padding-bottom: 50px; +} + +b { + font-weight: 500; +} diff --git a/templates/base.html b/templates/base.html index 99a419b..9f45c87 100644 --- a/templates/base.html +++ b/templates/base.html @@ -16,5 +16,19 @@ No content found. THIS IS AN ERROR {% endblock %} + \ No newline at end of file diff --git a/templates/delete.html b/templates/delete.html new file mode 100644 index 0000000..2641260 --- /dev/null +++ b/templates/delete.html @@ -0,0 +1,12 @@ +{% extends"base.html" %} +{% block body %} +

Do you really want to delete the project {{ project.name }}

+
+

+ + No + + +

+
+{% endblock %} \ No newline at end of file diff --git a/templates/edit_project.html b/templates/edit_project.html index fbbafdc..dc2d78e 100644 --- a/templates/edit_project.html +++ b/templates/edit_project.html @@ -7,3 +7,6 @@

{% endblock %} +{% block footer %} + • Back to project +{% endblock %} diff --git a/templates/gallery.html b/templates/gallery.html index 6f6b013..590b38b 100644 --- a/templates/gallery.html +++ b/templates/gallery.html @@ -1,13 +1,14 @@