From 02f51d9ad2bcbead76cbc40977443adf1198c068 Mon Sep 17 00:00:00 2001 From: Eljakim Herrewijnen Date: Wed, 10 Nov 2021 22:00:18 +0100 Subject: [PATCH] Added functionality for adding and removing services --- _sqlite.db | Bin 0 -> 24576 bytes app.py | 15 ++++++++++- services.py | 18 ++++++++++--- sqlite.db | Bin 24576 -> 24576 bytes static/script.js | 24 +++++++++++++++--- static/style.css | 56 +++++++++++++++++++++++++++-------------- templates/admin.html | 56 ++++++++++++++++++++++++++++++----------- templates/base.html | 1 + templates/index.html | 1 - templates/results.html | 6 ++--- 10 files changed, 131 insertions(+), 46 deletions(-) create mode 100644 _sqlite.db diff --git a/_sqlite.db b/_sqlite.db new file mode 100644 index 0000000000000000000000000000000000000000..b6f1ca21a1db4bf7a3af6376a8b5bd9f6bc22b34 GIT binary patch literal 24576 zcmeI2ON?bz6^859`*{mNXcZcdhyr$9`n>Kr_a5X?VA+)YpdW?WBEqe@x1goFfv!de z#27l!=)lB*I&**{6Lq2kCQNi>oESrlaiB3VA;iQ969x?Q``6z0oGwJ8#7QT+a{4~b z-Tz)|{p(-*>~&6`Id$yZ}B?$(;Mqs8`0MKgU2=^I~6TP{_oEElTMr)Mw=(L zHjZqZj!vH5JidPVY;<(vY_$I9)+3uInCAG#iLJGLh>L>@qv*`m>CF>I_W$tQU~liM z&t4k7>yLYb^OyY(^=x;YoSZ#y=uqpdxxe@Pd3xa|_D0XYFuJ%iddJtPeIdQ$$2;ZI z8pyj|T5HW6IC!vi<&c|mbm=SSme90>Jh%5R1k9kh z*6Q0*-i&*@=0q4A4h#ea0t118z(8OiFc26B3)#Yz5pIN?j>2FJ~ zEPZ3?)Y8GlHx^%6yt4Sn;>`=MFZ_JrYYUqTH_ZQe{-^UV&L5e-aqcg3Kbw1T?%}!X zXa6+&$B~dKg|4S=Hg5>Gd=yg=^sv?pYBi3O}#et^3=ttd!`mAe?R&1&he;UNS z4v}`!G)nr;N>482LNF2vV%QKZ$p(OR2k3W_UIazXE&YoBS=Ber;ez4y!NyYAiHk@%u#CzptPl>~ zkrSX$Z!ha$He5hOC(Y}C7$c7u$vBz8A|?R$s>2Teavsa+6uwPX~eH)1>Xye zGYMFla7@^wYC=K(y(sQ^gi=EEI&ccdM7i*X`#`)faV#H;robx*!!;#OJY|@~$+Xu* zQYw$cXI_yoqUhB@n-D|;Ka~6YN^8F?C5Xjp(cTFQa|p8l;)R*9ZqyX34or^>CunBC zDu*Q~?bgmElv!ER>_V}$O9W7*{NtSL)tESw#>S*sW*EZE=AUdybaj$u3HGC1E#fgz}R-20V=EPZZMvO zZYS>5EHE`5@#^cvQ_f5f)2TuDmc)%AMr#ES&6ZfGa7!HZxCY3pp|4WFE90AYb4BC< z;($DYv(+m(1j;c-0VUaZ$tk2SmmftBiMH+luHsJs@s-Whpi!zaLh8kXrAO-yr#SAa zjl>XFUkeI`ywKBfIm8aLtNh%HK~Tc|~tl7)ANKL(~=4&<7<>=f`#yf9#8hm7oF zS;e>4ZV^5jh{tZ>wTaq{G1~ajI`UBvb@aLvjuB9V6E>8XRc6vMXIb}d1Jo=BNfQf- zBH2c*D4@(t(pYDTkAQLvz*)@YV_c?03|VBu%B4_Xd=WT{8uw5Dtc@=@V3-oYV5X>$!-8sUwbI) zS^_C zsC+=oYyuF$CL_^|HBMIP3Lw8C+7-B_+w`w7S_0&mHU~HXc6lF$QsCl22!*eH$P$jp zB?ZxsBTHZ$+q(XO@f9bJoJdguT*Dw-XfYAzi?t=cc^U8bq%XJ5Fg-N8s>oQqvjs4o zhTQrJzgnSto1ZmNhfzRSIL+z#+E5IL#dLiAVI1r-4!9&uK%BCT(p-(v^}?ez$;$_gK`;|ot?{b02L_38riMreED23PXb7ZX#tH*HIUc5K z&uA~TbMdsns1^Y+T;P=);v4S4;8cTQ&(HpCyuKwG$<#!p7DHq0D#Y2z2E&E^s>`W% z%J?q#b%}IZu$1O4Fuv@#E+7Q&8w16c>EDgV15PqaT&e#*xY$j zKiSH89K=*n%&f2aTd=JLtqTb5p5`o+@MmyRvnwD{M>pDgYz-UBrJ1qK2G zfq}q4U?4CM7zhkpvkV-1nmuIKZX2rQXAfz2Z{wH^GaGwtxC?fww)2dOrx<+nT?Rjv ztVQWsl&wYiTGU;OinXX*i+XEOe~sHuj~Bb|5jT2oxMT>aDG(vd0h1 z!9HINI?w@-=Dry%tlPAkAtq;LusufGLllhBCp_7h;cfwU7`$^m(!7wvbH(6jnv2pM`;W1GD1|r=US#k}W zqGIN8bEpPOX@>kS0H|*VO5S6(tr0a>L;=BZh;>bJ7Lb=uZg-wtXIbJu2XxsZH9S&r zKnKvzHxQoLap%mnd?lROc*f}NK2BPFflNOKWSRWWBv&7t}fxwIbJhN6d-)c-z5cM7562};8eXOKF zM3@>AnVbRTsRP9`QV5b56hTknBRLC+8Pt##ReTyq{kRK5QimX}mo}>H<_AbAj@uHa zu8v2yDaS?}1x_tQfuB|mnj=41#}gyC`gVP(YCtNCbULs*FA!qN%N}V=QAYJ`)DnaR zPa#P$u4=t9k`sVD39Jf$e7RaIuw~V%Czrxuim;A1cBt_BHbV)qjK&nPs0Ow2m^zgC zV@*ih>F1UpvKMn21l0rvim1#*9OXo2{eNrqa=Vu#d0b{Y*LK-bs?Oh|^-1n{Q=*80TfSJ?LfKK`-4Y(%o#t GbpHf49UO@O literal 0 HcmV?d00001 diff --git a/app.py b/app.py index 8675c1c..0c85fbf 100644 --- a/app.py +++ b/app.py @@ -97,11 +97,24 @@ def AddService(): tijd = datetime.datetime.strptime(f"{datum}|{tijd}" , "%d-%m-%Y|%H:%M") if(tijd != None): services.AddService(tijd, str(groepen)) - except: return "500" return "200" +@app.route("/DelService", methods=["POST"]) +@login_required +def DelService(): + datum = (request.json)["datum"] + tijd = (request.json)["tijd"] + try: + tijd = datetime.datetime.strptime(f"{datum}|{tijd}" , "%Y-%m-%d|%H:%M:%S") + if(tijd != None): + services.RemoveService(tijd) + except: + return "Invalid date/time" + return "200" + + def RunWeb(): app.run(debug=True) \ No newline at end of file diff --git a/services.py b/services.py index 8ae9bc1..d0e485c 100644 --- a/services.py +++ b/services.py @@ -44,7 +44,7 @@ class Services: query = f"""CREATE TABLE IF NOT EXISTS services ( id INTEGER PRIMARY KEY AUTOINCREMENT, - date STRING, + date STRING UNIQUE, groups STRING ); """ @@ -55,6 +55,18 @@ class Services: INSERT INTO services (date, groups) VALUES('{date}', '{groups}'); """ + try: + self.cursor.execute(query) + self.db.commit() + return "Success" + except: + return "Service already exists?" + + def RemoveService(self, service): + query = f""" + DELETE FROM services + WHERE date == '{service}' + """ self.cursor.execute(query) self.db.commit() @@ -71,7 +83,7 @@ class UserManager(): query = f"""CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY AUTOINCREMENT, - name STRING, + name STRING UNIQUE, password STRING, salt STRING ); @@ -114,7 +126,7 @@ if __name__ == "__main__": ser = Services(db) us = UserManager(db) - # us.AddUser("Eljakim", "Kunnenwe?") + us.AddUser("Eljakim", "Kunnenwe?") us.Authenticate("Eljakim", "Kunnenwe?") us.Authenticate("Eljakim", "Kunnenwe2?") # for i in range(100): diff --git a/sqlite.db b/sqlite.db index b6f1ca21a1db4bf7a3af6376a8b5bd9f6bc22b34..9caeaeb83f564ad812b8614b9b7c448dc5f596ec 100644 GIT binary patch delta 524 zcmZ`!J#Q015Z%4A&#~dWu_zW1S)xHGGKBr`-R%_!P~?IXC=@|R6y|nz7abT7*gJi8_dq^&!)-((KHB#qF< zjju8JjhgWhB0ciCdk`OW-+$P<7hl*LHCmKXykE`=J+Zq}`*K=;&FX&lQS0K)o!fVJ zM%6+0=GFCPM6Xkf%4f#Dp1zorGdnJJXV2??Tpx{jouciq!ekvcssXv&mbgXxeY~Gn z56Ju<<2Q0?^I8zm&Hn!wy_8oa*y)%rtI*q8Sy+pGU~-Je@u%ME7ZMDDYISSS>D2HE zA}1dHK^ioaxVp7MpFcu5?r;E=X!?H{)vk~c$Pn8*}^OhcMM z3d77m4moqFOa+(PIVC~lTJfRHRFc?2TMY#>l6%~6=UA#-ktk430661!gv^aem@b%= z0GUlpB9+jIaEcqFq~~FNhcP~o!bz?&k2|nK1G;dKWn2IgsrF*@U#F*toO-7}$(c^L N)*ekB7f;Hke*iFFjbi`+ literal 24576 zcmeI2ON?bz6^859`*{mNXcZcdhyr$9`n>Kr_a5X?VA+)YpdW?WBEqe@x1goFfv!de z#27l!=)lB*I&**{6Lq2kCQNi>oESrlaiB3VA;iQ969x?Q``6z0oGwJ8#7QT+a{4~b z-Tz)|{p(-*>~&6`Id$yZ}B?$(;Mqs8`0MKgU2=^I~6TP{_oEElTMr)Mw=(L zHjZqZj!vH5JidPVY;<(vY_$I9)+3uInCAG#iLJGLh>L>@qv*`m>CF>I_W$tQU~liM z&t4k7>yLYb^OyY(^=x;YoSZ#y=uqpdxxe@Pd3xa|_D0XYFuJ%iddJtPeIdQ$$2;ZI z8pyj|T5HW6IC!vi<&c|mbm=SSme90>Jh%5R1k9kh z*6Q0*-i&*@=0q4A4h#ea0t118z(8OiFc26B3)#Yz5pIN?j>2FJ~ zEPZ3?)Y8GlHx^%6yt4Sn;>`=MFZ_JrYYUqTH_ZQe{-^UV&L5e-aqcg3Kbw1T?%}!X zXa6+&$B~dKg|4S=Hg5>Gd=yg=^sv?pYBi3O}#et^3=ttd!`mAe?R&1&he;UNS z4v}`!G)nr;N>482LNF2vV%QKZ$p(OR2k3W_UIazXE&YoBS=Ber;ez4y!NyYAiHk@%u#CzptPl>~ zkrSX$Z!ha$He5hOC(Y}C7$c7u$vBz8A|?R$s>2Teavsa+6uwPX~eH)1>Xye zGYMFla7@^wYC=K(y(sQ^gi=EEI&ccdM7i*X`#`)faV#H;robx*!!;#OJY|@~$+Xu* zQYw$cXI_yoqUhB@n-D|;Ka~6YN^8F?C5Xjp(cTFQa|p8l;)R*9ZqyX34or^>CunBC zDu*Q~?bgmElv!ER>_V}$O9W7*{NtSL)tESw#>S*sW*EZE=AUdybaj$u3HGC1E#fgz}R-20V=EPZZMvO zZYS>5EHE`5@#^cvQ_f5f)2TuDmc)%AMr#ES&6ZfGa7!HZxCY3pp|4WFE90AYb4BC< z;($DYv(+m(1j;c-0VUaZ$tk2SmmftBiMH+luHsJs@s-Whpi!zaLh8kXrAO-yr#SAa zjl>XFUkeI`ywKBfIm8aLtNh%HK~Tc|~tl7)ANKL(~=4&<7<>=f`#yf9#8hm7oF zS;e>4ZV^5jh{tZ>wTaq{G1~ajI`UBvb@aLvjuB9V6E>8XRc6vMXIb}d1Jo=BNfQf- zBH2c*D4@(t(pYDTkAQLvz*)@YV_c?03|VBu%B4_Xd=WT{8uw5Dtc@=@V3-oYV5X>$!-8sUwbI) zS^_C zsC+=oYyuF$CL_^|HBMIP3Lw8C+7-B_+w`w7S_0&mHU~HXc6lF$QsCl22!*eH$P$jp zB?ZxsBTHZ$+q(XO@f9bJoJdguT*Dw-XfYAzi?t=cc^U8bq%XJ5Fg-N8s>oQqvjs4o zhTQrJzgnSto1ZmNhfzRSIL+z#+E5IL#dLiAVI1r-4!9&uK%BCT(p-(v^}?ez$;$_gK`;|ot?{b02L_38riMreED23PXb7ZX#tH*HIUc5K z&uA~TbMdsns1^Y+T;P=);v4S4;8cTQ&(HpCyuKwG$<#!p7DHq0D#Y2z2E&E^s>`W% z%J?q#b%}IZu$1O4Fuv@#E+7Q&8w16c>EDgV15PqaT&e#*xY$j zKiSH89K=*n%&f2aTd=JLtqTb5p5`o+@MmyRvnwD{M>pDgYz-UBrJ1qK2G zfq}q4U?4CM7zhkpvkV-1nmuIKZX2rQXAfz2Z{wH^GaGwtxC?fww)2dOrx<+nT?Rjv ztVQWsl&wYiTGU;OinXX*i+XEOe~sHuj~Bb|5jT2oxMT>aDG(vd0h1 z!9HINI?w@-=Dry%tlPAkAtq;LusufGLllhBCp_7h;cfwU7`$^m(!7wvbH(6jnv2pM`;W1GD1|r=US#k}W zqGIN8bEpPOX@>kS0H|*VO5S6(tr0a>L;=BZh;>bJ7Lb=uZg-wtXIbJu2XxsZH9S&r zKnKvzHxQoLap%mnd?lROc*f}NK2BPFflNOKWSRWWBv&7t}fxwIbJhN6d-)c-z5cM7562};8eXOKF zM3@>AnVbRTsRP9`QV5b56hTknBRLC+8Pt##ReTyq{kRK5QimX}mo}>H<_AbAj@uHa zu8v2yDaS?}1x_tQfuB|mnj=41#}gyC`gVP(YCtNCbULs*FA!qN%N}V=QAYJ`)DnaR zPa#P$u4=t9k`sVD39Jf$e7RaIuw~V%Czrxuim;A1cBt_BHbV)qjK&nPs0Ow2m^zgC zV@*ih>F1UpvKMn21l0rvim1#*9OXo2{eNrqa=Vu#d0b{Y*LK-bs?Oh|^-1n{Q=*80TfSJ?LfKK`-4Y(%o#t GbpHf49UO@O diff --git a/static/script.js b/static/script.js index afe0fed..eb24968 100644 --- a/static/script.js +++ b/static/script.js @@ -17,7 +17,6 @@ function GetServices(){ } function GetAllServices(){ - console.log("aa") $.ajax({ type: "POST", url: "/GetServices", @@ -56,6 +55,23 @@ function AddService(){ }); } -$(document).ready( function () { - GetAllServices(); -}) \ No newline at end of file +function DeleteService(date){ + d = $(date).parent()[0].getAttribute("data"); + $.ajax({ + type: "POST", + url: "/DelService", + data: JSON.stringify({ + "datum": d.split(" ")[0], + "tijd": d.split(" ")[1], + }), + contentType: "application/json", + dataType: 'text json', + success: function(response) { + document.getElementById('resultblock').innerHTML = response + }, + error: function(error){ + console.log(error); + } + }); +} + diff --git a/static/style.css b/static/style.css index dce5f66..a119553 100644 --- a/static/style.css +++ b/static/style.css @@ -1,6 +1,6 @@ .headerblock{ width: 100%; - height: 5%; + /* height: 5%; */ /* background-color: #FFFFFF; */ } @@ -133,35 +133,53 @@ } .a_datum_input{ - padding: 1%; + background-color:white; position: relative; - margin:1%; -} -.a_datum_block{ - width: 100%; + padding: 2%; + margin: 1%; + width: 39.5%; + left: 10%; + font-size: 20px; + text-align: center; + font-size: 26px; } .a_van_input{ - padding: 1%; - margin:1%; -} - -.a_tot_input{ - padding: 1%; - margin:1%; -} - -.add_service_btn{ + background-color:white; position: relative; - background-color: lightblue; padding: 2%; margin: 1%; - width: 20%; - left: 20%; + width: 39.5%; + left: 10%; + font-size: 20px; text-align: center; font-size: 26px; } +/* .a_tot_input{ + background-color:white; + position: relative; + padding: 2%; + margin: 1%; + width: 39.5%; + left: 14%; + font-size: 20px; + text-align: center; + font-size: 26px; +} */ + +.add_service_btn{ +position: relative; + background-color: rgb(35, 34, 126); + padding: 2%; + margin: 1%; + width: 40%; + left: 30%; + text-align: center; + font-size: 26px; + color: white; +} + .add_service_btn:hover{ background-color: blue; cursor: pointer; diff --git a/templates/admin.html b/templates/admin.html index 7684a21..23b9253 100644 --- a/templates/admin.html +++ b/templates/admin.html @@ -1,28 +1,54 @@ + + + {% extends 'base.html' %} +
-

Administratie

- + Administratie - {% block content %}
-

Voeg dienst toe:

-
- - Tijd - -
-
- - t/m - -
+
+

Voeg dienst toe

+

Vul de datum en groepen in om toe te voegen

-
Toevoegen
+ +
+ + Tijd + +
+
+ + t/m + +
+ +
Toevoegen
+