From 8a024c92e2c5a03d0feb925f307773be356f6a2c Mon Sep 17 00:00:00 2001 From: mrschnei <mrschnei@umich.edu> Date: Thu, 18 Jun 2020 01:07:13 -0400 Subject: [PATCH] Added tutoring database and sign up page --- .../__pycache__/__init__.cpython-36.pyc | Bin 400 -> 433 bytes .../__pycache__/config.cpython-36.pyc | Bin 583 -> 616 bytes .../__pycache__/model.cpython-36.pyc | Bin 1562 -> 1595 bytes servicePoints/templates/duplicateTutor.html | 16 ++++++++ servicePoints/templates/index.html | 4 +- servicePoints/templates/tutor.html | 22 ++++++++++ .../views/__pycache__/__init__.cpython-36.pyc | Bin 270 -> 303 bytes .../views/__pycache__/accounts.cpython-36.pyc | Bin 7123 -> 8142 bytes servicePoints/views/accounts.py | 38 ++++++++++++++++++ sql/schema.sql | 8 ++++ var/servicePoints.sqlite3 | Bin 20480 -> 28672 bytes 11 files changed, 86 insertions(+), 2 deletions(-) create mode 100644 servicePoints/templates/duplicateTutor.html create mode 100644 servicePoints/templates/tutor.html diff --git a/servicePoints/__pycache__/__init__.cpython-36.pyc b/servicePoints/__pycache__/__init__.cpython-36.pyc index ae8c520b2453458e48760c1786f565c6eb628aac..b890e80cc2b9d8fb67beb2525dc9b78ddd312088 100644 GIT binary patch delta 95 zcmbQhypfsRn3tDpb->Gw?3#>T$@;l@CHl$wp~b01#rnC4B_+lBF8Rr&xv6<TR&a7g tetu4Peo?l5aA|ICYLStFk%7Let8=i4rD;G>epYI7iGBfuo*c<&4gm3?AX@+c delta 62 zcmdnUJb{_rn3tDJk?;9Nc1=c2C;i;K68&WT(BjmhV*SMQtfYMX)YRl+6H8Nlpio(6 Qa%w<+W?o70<SIsU064%C-v9sr diff --git a/servicePoints/__pycache__/config.cpython-36.pyc b/servicePoints/__pycache__/config.cpython-36.pyc index e2f47fdc2b33a9855315f2cf9e0a9c0260d21cf5..b66ba84188a594b21aaafed82eaf48f9bd9e303e 100644 GIT binary patch delta 95 zcmX@k@`8okn3tDpYQU?F?AI8*67_TQO7xTULyJ?3iuH37OG=9MUGkGlb5rwxtl;E~ t{QR8o{Gx3A;L_aO)FLATBLjU`SLa|8OVfa&{H)aE68!=QJ(-Qk5dcW?AsGMw delta 62 zcmaFCa-4<Tn3tDp|LT_;*{?BbI_T%-mFOqyhZd(673(LaXC>w9r=}(sn^>Ca1BJ>m RlT!ooGxJJ{C#y3#0sym@74HB5 diff --git a/servicePoints/__pycache__/model.cpython-36.pyc b/servicePoints/__pycache__/model.cpython-36.pyc index 987ba06aecd14df951ced9f5575b13c29be1c283..86bb7b3a23476b2371ea8739ac81138b684f2091 100644 GIT binary patch delta 96 zcmbQmvzv$An3tDpb->Gw?3Wn567+NPO7xTULyJ?3iuH37OG=9MUGkGlb5rwxtl;E~ u{QR8o{Gx3A;L_aO)FLATBLjU`SLa|8OVfa&{H)aE68!=Qy_tzgf&~CnRUp;? delta 63 zcmdnZGmD4an3tF9!rx~b*)K6_+Uw`$mFOqyhZd(673(LaXC>w9r=}(sn^>Ca1BJ>m SlT!ooGxJJ{H!CwqumAwc&K36n diff --git a/servicePoints/templates/duplicateTutor.html b/servicePoints/templates/duplicateTutor.html new file mode 100644 index 0000000..68478dc --- /dev/null +++ b/servicePoints/templates/duplicateTutor.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> +<head> + <link rel="stylesheet" type="text/css" href="/css/style.css"> + <title>ServicePoints</title> +</head> + +<body> + <p> + You have already signed up for tutoring + </p> + <form action="/accounts/duplicateTutor/" method="post" enctype="multipart/form-data"> + <input type="submit" name="return" value="Return to Home" /> + </form> +</body> +</html> diff --git a/servicePoints/templates/index.html b/servicePoints/templates/index.html index 38f8151..cae4559 100644 --- a/servicePoints/templates/index.html +++ b/servicePoints/templates/index.html @@ -18,8 +18,8 @@ <a href="/accounts/mask/"> <img src=/images/food.png alt="mask"> </a> - <a href="/accounts/mask/"> - <img src=/images/tutor.png alt="mask"> + <a href="/accounts/tutorsu/"> + <img src=/images/tutor.png alt="tutorsu"> </a> <a href="/accounts/mask/"> <img src=/images/submit.png alt="mask"> diff --git a/servicePoints/templates/tutor.html b/servicePoints/templates/tutor.html new file mode 100644 index 0000000..1ac1305 --- /dev/null +++ b/servicePoints/templates/tutor.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> +<body> + <a href="/">Home</a> + <title>ServicePoints</title> + <form action="/accounts/tutorsu/" method="post" enctype="multipart/form-data"> + <p> + Full Name + <input type="text" name="username" /> + </p> + <p> + Tutuoring Subject(s): + <input type="text" name="subjects" /> + </p> + <p> + Available times + <input type="text" name="time" /> + </p> + <input type="submit" name="signup" value="sign up" /> + </form> +</body> +</html> diff --git a/servicePoints/views/__pycache__/__init__.cpython-36.pyc b/servicePoints/views/__pycache__/__init__.cpython-36.pyc index 1d30055a28038c24f70515e1ec1990883944f38d..180037e3f49e55ada44d0f5f95254730be1535b7 100644 GIT binary patch delta 93 zcmeBUTF=C8%*)HQI^g9*_T^rg`nh=}`pNpC#i>Qb`nicECB^zK`N^fZsd+$FaB@a| reolCPQMP_?X>M+6k&%IsfxfG&bFhh}X+TkaR%&vIegTA@c-<TT>LMXC delta 60 zcmZ3_)W^hb%*)GV&i8yG`*KYW{oK3~{bc>n;?$yI{lxUFq<sC<)Z}6lOH+NIP+4Yj OYCwKwUP<x9ALaly@D$Ae diff --git a/servicePoints/views/__pycache__/accounts.cpython-36.pyc b/servicePoints/views/__pycache__/accounts.cpython-36.pyc index 865419fc28b3340d4bb6e9312e8ea0508d78d314..29b95f49454f3040969bbf9ac5eaff5f61fc6be4 100644 GIT binary patch delta 1152 zcmZ8f%}*0i5P$D&w}n#L%7?I&!zRRrN@4jn7zh}w@dJvX6bLbrvTu<tl#;jG#9*5q zsz;1w?;bsx7;c{Y3%q#imBgqQVq!Sp#hGov;_lAx&71knyxDp4_12f!zOmL;fA;s! zr)-#z6VmW_K%WD#zJ2U_Max{~-e-*aju;={@t34RH@XekY&Ki?V1@D_uDLd)ZX0gk zkML2~*Hib6HTcH)gzJlNnj*2uA6P&#MynxV>~lkG+D7hRFJl|Wr&O07X0_bDt?63Y zGK8h&GPZ4Lck_B7XY7NP(s%Oty|uj9)l!9A&Jd%+qr+MvF`pWrns_YorlH%~L2W&L zA=7q6(K5Q8FJLe)9PDLvIBBI|=Y{jBYq4uXwoyNC|IbI2LFZ9-XJ0jV)$tv>)r5b* z0yIoLRHU8f-EZlt<5%YCsgqPT>6-IFiH6RQi47(USnJM-a#sF>wpz3wVmqkV1j}LD zzY^VQtb(RvAU<9Y8Dt*B3R6OCVp5ZFy35{B!Q7q1nSyo?XVW#m#HG4L0*h>VO<#qW z<)#WL5xd!?dK9?d5-rkgT4F_F`ng<W6-Ei@EfvDaZnG!?GXT=cy%k!4+jAo!HTUf@ z@$S;w#GASQh+Q(E9GCI=Dx=&$f#cm|7nMWOZK)(()LQZsJy23hQNofg(*$Z|WJyW3 zgFIN2U*kxHk^&pO(PS02Z~&~T$IilRVDAoZq!J5>`4#o1dat~^w5ZlPtghWpEGN_g z4B37rXUxosG?2vz!W=-=SHFoE6&mahrynF!iRBgbL2_lOo}>RFI<D3aj;nZXOkKUR zkWQr3{@J*SUrhKQ#ks%i<{a9wb9<0>3v98F2*D!S5jqeQgfK!U!gYi$gl>chgdT)R zglh<G2n-<Rt&yhCa2sJ7VFn?J;KVzEGa>^j^psfrpb#m@+GraM(jfEF0K8!-2!jd2 z!m#tx01M*)V^ply`PDN{pE%J-veWI?99YFV0uHjsIORx`4ms~51KwU=hurJ?3%gzp Ap8x;= delta 258 zcmX?Sf7x8wn3tEUYxT>xH<}C#j~S2v3y|#q#Kr42Dz`G~H8ZAYr|7gWG&4p?q_Spl zW^t$Jrm&{4r8A|l_cEpErRam@BvTlJ88i(x^D)&hYkKJC=9TCt>xUMn78UC!re`JP z>!+qB7n@j`>H~$!GLusS@-y>FiZ@?jWfY#gTe6oiWO9Rq%H&)rdBzu$d!^zTLnptL zQsaLQatFvk3`{JHMPZYbq`ygg0f}*d#kd$*7)2P1Vu2h@smb@`Oc<jk3(NZnH~<BT c!axK_sz`luqlob2K6ySyt;uucwV6a%0pqwp>i_@% diff --git a/servicePoints/views/accounts.py b/servicePoints/views/accounts.py index e42976a..055fd37 100644 --- a/servicePoints/views/accounts.py +++ b/servicePoints/views/accounts.py @@ -229,6 +229,13 @@ def duplicateOrgName(): context = {} return render_template('duplicateOrgName.html', **context) +@servicePoints.app.route('/accounts/duplicateTutor/', methods=['GET', 'POST']) +def duplicateTutor(): + if flask.request.method == 'POST': + return flask.redirect(flask.url_for('tutor')) + context = {} + return render_template('duplicateTutor.html', **context) + @servicePoints.app.route('/accounts/incompleteForm/<prev>', methods=['GET', 'POST']) def incompleteForm(prev): if flask.request.method == 'POST': @@ -247,3 +254,34 @@ def images(filename): return flask.send_from_directory( servicePoints.app.config['IMAGES_FOLDER'], filename, as_attachment=True) return flask.redirect(flask.url_for('login')) + +@servicePoints.app.route('/accounts/tutorsu/', methods=['GET', 'POST']) +def tutorsu(): + + if flask.request.method == 'POST': + + flask.session['subjects'] = flask.request.form['subjects'] + flask.session['time'] = flask.request.form['time'] + cursor = servicePoints.model.get_db().cursor() + name = str(flask.session['username']) + + to_add = (name,) + cursor.execute('SELECT * FROM tutors WHERE username=?', to_add) + if cursor.fetchone() is not None: + return flask.redirect(flask.url_for('duplicateTutor')) + + # If a user tries to sign up with any empty fields + if flask.session['time'] == '': + return flask.redirect(flask.url_for('incompleteForm', prev="tutorsu")) + if flask.session['subjects'] == '': + return flask.redirect(flask.url_for('incompleteForm', prev="tutorsu")) + + data = (flask.session['username'], flask.session['subjects'], + flask.session['time']) + cur = servicePoints.model.get_db() + cur.execute("INSERT INTO tutors(username, subject, time) VALUES (?, ?, ?)", data) + + return flask.redirect(flask.url_for('index')) + + context = {} + return render_template('tutor.html', **context) \ No newline at end of file diff --git a/sql/schema.sql b/sql/schema.sql index cf8c4be..74cd21f 100644 --- a/sql/schema.sql +++ b/sql/schema.sql @@ -14,4 +14,12 @@ CREATE TABLE orgs( username VARCHAR(20) NOT NULL, orgName VARCHAR(40) NOT NULL, PRIMARY KEY(orgName) +); + + +CREATE TABLE tutors( + username VARCHAR(20) NOT NULL, + subject VARCHAR(40) NOT NULL, + time VARCHAR(80) NOT NULL, + PRIMARY KEY(username) ); \ No newline at end of file diff --git a/var/servicePoints.sqlite3 b/var/servicePoints.sqlite3 index 12b075764feae87c8ab17d440739fe167aa7a16e..6a0e7d9205f2272c6ae9612c83e0fd77dd25e5fe 100644 GIT binary patch delta 290 zcmZozz}WDBae}lU2Ll5GI}pPF^F$qENe%`*nGL-BKN#3}?HKqD^PlAt=9|T9$NOw! z<1rq?MpagJaY;$WCe@O}q@2`}(vtk5VhG9R9OUX4;;Inh=;Y(701?yRnrzRf$f=-E zT$+@Xnp`qjj$hnHL7^lwH&r3bG054&F-XJ0KvTibKSaSV)W=7MOF<zZ$kW#`C{n@O zHBzIrIJGD*F*j9{OH-STP265`@&Y~yeu&xeh7g*4voPOVM=oBVFBthBGw?s&Ea-5P zUtOA!MOIWfx2QNdBQG`6H?brmH$P7ytteB$s34aMtoRE9{}-U*JNy#^_;|RPWjSH0 E0rGKA-2eap delta 61 zcmZp8z}T>Wae}lU8v_FaD-go~(?lI(Q8orWnGL-BKNwi}gc<k_^PlAt=9{%yP+>mr JW?{a!jsQ`Z43Yo< -- GitLab