Skip to content
Snippets Groups Projects
Commit d0233d0f authored by aebopp's avatar aebopp
Browse files

when someone joins an org late, their pending points requests are sent to the...

when someone joins an org late, their pending points requests are sent to the new student org leader
parent f66e5bee
No related branches found
No related tags found
No related merge requests found
No preview for this file type
...@@ -63,7 +63,7 @@ def create(): ...@@ -63,7 +63,7 @@ def create():
to_add = (name,) to_add = (name,)
to_join = (orgName,) to_join = (orgName,)
cursor.execute('SELECT * FROM users WHERE username=?', to_add) cursor.execute('SELECT * FROM users WHERE username=?', to_add)
if cursor.fetchone() is not None: if cursor.fetchone() is not None or name == "pending":
return flask.redirect(flask.url_for('duplicateUsername', prev='create')) return flask.redirect(flask.url_for('duplicateUsername', prev='create'))
cursor.execute('SELECT * FROM orgs WHERE orgName=?', to_join) cursor.execute('SELECT * FROM orgs WHERE orgName=?', to_join)
...@@ -121,6 +121,8 @@ def createOrg(): ...@@ -121,6 +121,8 @@ def createOrg():
to_add = (name,) to_add = (name,)
to_addOrg = (orgName,) to_addOrg = (orgName,)
if orgName == "NONE": if orgName == "NONE":
return flask.redirect(flask.url_for('duplicateOrgName', prev='createOrg'))
if name == "pending":
return flask.redirect(flask.url_for('duplicateUsername', prev='createOrg')) return flask.redirect(flask.url_for('duplicateUsername', prev='createOrg'))
cursor.execute('SELECT * FROM users WHERE username=?', to_add) cursor.execute('SELECT * FROM users WHERE username=?', to_add)
if cursor.fetchone() is not None: if cursor.fetchone() is not None:
...@@ -341,10 +343,17 @@ def profile(): ...@@ -341,10 +343,17 @@ def profile():
if flask.request.method == 'POST': if flask.request.method == 'POST':
orgName = str(flask.request.form['orgName']) orgName = str(flask.request.form['orgName'])
username = str(flask.session['username'])
cur = servicePoints.model.get_db() cur = servicePoints.model.get_db()
cur.execute('UPDATE users SET orgName = ? WHERE username = ?', cur.execute('UPDATE users SET orgName = ? WHERE username = ?',
(orgName, flask.session['username'])) (orgName, username,))
cur.execute('DELETE from orgs WHERE username = ?',
(username,))
leadercur = cur.execute('SELECT username from orgs WHERE orgName = ?',
(orgName,))
leader = leadercur.fetchone()
cur.execute('UPDATE requests SET leader = ? WHERE member = ?',
(leader["username"], username,))
return flask.redirect(flask.url_for('index')) return flask.redirect(flask.url_for('index'))
cursor = servicePoints.model.get_db() cursor = servicePoints.model.get_db()
...@@ -428,11 +437,14 @@ def submitPoints(): ...@@ -428,11 +437,14 @@ def submitPoints():
{"who": username}) {"who": username})
results = studentOrgCur.fetchone() results = studentOrgCur.fetchone()
orgName = results["orgName"] orgName = results["orgName"]
studentOrgLeader = cursor.execute('SELECT username FROM orgs WHERE ' if orgName == "NONE":
'orgName =:who', leader = "pending"
{"who": orgName}) else:
results = studentOrgLeader.fetchone() studentOrgLeader = cursor.execute('SELECT username FROM orgs WHERE '
leader = results["username"] 'orgName =:who',
{"who": orgName})
results = studentOrgLeader.fetchone()
leader = results["username"]
cursor.execute('INSERT INTO requests(member, leader, service, filename) VALUES ' cursor.execute('INSERT INTO requests(member, leader, service, filename) VALUES '
'(:one,:two,:three,:four)', {"one": username, "two": leader, "three": serviceType, "four": hash_filename_basename}) '(:one,:two,:three,:four)', {"one": username, "two": leader, "three": serviceType, "four": hash_filename_basename})
return flask.redirect(flask.url_for('confirmSubmission')) return flask.redirect(flask.url_for('confirmSubmission'))
...@@ -456,16 +468,19 @@ def confirmSubmission(): ...@@ -456,16 +468,19 @@ def confirmSubmission():
{"who": username}) {"who": username})
results = studentOrgCur.fetchone() results = studentOrgCur.fetchone()
orgName = results["orgName"] orgName = results["orgName"]
studentOrgLeader = cursor.execute('SELECT username FROM orgs WHERE ' if orgName == "NONE":
'orgName =:who', context = {"leader": "[when you join a student org, your request will be sent to the student org leader]"}
{"who": orgName}) else:
results = studentOrgLeader.fetchone() studentOrgLeader = cursor.execute('SELECT username FROM orgs WHERE '
leader = results["username"] 'orgName =:who',
studentOrgLeaderFull = cursor.execute('SELECT fullname FROM users WHERE ' {"who": orgName})
'username =:who', results = studentOrgLeader.fetchone()
{"who": leader}) leader = results["username"]
results = studentOrgLeaderFull.fetchone() studentOrgLeaderFull = cursor.execute('SELECT fullname FROM users WHERE '
context = {"leader": results["fullname"]} 'username =:who',
{"who": leader})
results = studentOrgLeaderFull.fetchone()
context = {"leader": results["fullname"]}
return render_template('confirmSubmission.html', **context) return render_template('confirmSubmission.html', **context)
......
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment