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