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

leader can approve/deny member requests

parent b8d203cd
No related branches found
No related tags found
No related merge requests found
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="/css/style.css">
<title>ServicePoints</title>
</head>
<body>
<p>
Please submit the numerical form of the number of hours you'd like to assign:
1, 2, 3, 4, ...
</p>
<form action="/accounts/hourError/" method="post" enctype="multipart/form-data">
<input type="submit" name="return" value="Return to View Member Requests"/>
</form>
</body>
</html>
...@@ -78,10 +78,10 @@ ...@@ -78,10 +78,10 @@
{% if leader == 1 %} {% if leader == 1 %}
<a href="/accounts/viewMemberPoints/"> <a href="/accounts/viewMemberPoints/">
<img src=/images/view.png alt="mask"> <img src=/images/view.png alt="view">
</a> </a>
<a href="/accounts/mask/"> <a href="/accounts/viewRequests/">
<img src=/images/requests.png alt="mask"> <img src=/images/requests.png alt="requests">
</a> </a>
{% endif %} {% endif %}
</p> </p>
......
<!DOCTYPE html>
<html>
<head>
<a href="/">Home</a>
</head>
<body>
<title>ServicePoints</title>
<p>
{{org}} members' requests:
</p>
{% for request in requests %}
<p>
{{request.member}} is requesting ServicePoints for ({{request.service}}):
</p>
<p>
<img src=/images/{{request.filename}} alt="img">
</p>
<p>
Enter the number of hours you'd like to assign in it's numerical form (1, 2, 3...):
<form action="/accounts/viewRequests/" method="post" enctype="multipart/form-data">
<input type="hidden" name="postid" value="{{request.postid}}"/>
<input type="hidden" name="user" value="{{request.member}}"/>
<input type="text" name="numHours" />
<input type="submit" name="confirm" value="confirm"/>
</form>
Please give an explanation as to why you're denying this request:
<form action="/accounts/viewRequests/" method="post" enctype="multipart/form-data">
<input type="hidden" name="postid" value="{{request.postid}}"/>
<input type="text" name="reason" />
<input type="submit" name = "deny" value="deny" />
</form>
</p>
{% endfor %}
</body>
</html>
No preview for this file type
...@@ -172,6 +172,39 @@ def viewMemberPoints(): ...@@ -172,6 +172,39 @@ def viewMemberPoints():
return render_template('viewMemberPoints.html', **context) return render_template('viewMemberPoints.html', **context)
return flask.redirect(flask.url_for('login')) return flask.redirect(flask.url_for('login'))
@servicePoints.app.route('/accounts/viewRequests/', methods=['GET', 'POST'])
def viewRequests():
if 'username' in flask.session:
if flask.request.method == 'POST':
if 'deny' in flask.request.form:
post = flask.request.form["postid"]
servicePoints.model.get_db().execute('DELETE FROM requests WHERE postid =:one ',
{"one": post})
if 'confirm' in flask.request.form:
try:
numHours = int(flask.request.form["numHours"])
except:
return flask.redirect(flask.url_for('hourError'))
post = flask.request.form["postid"]
user = flask.request.form["user"]
hours = servicePoints.model.get_db().execute('SELECT hours FROM users WHERE username =:one ',
{"one": user})
dbHours = hours.fetchone()
dbHours["hours"] += numHours
servicePoints.model.get_db().execute('UPDATE users SET hours =:one WHERE username =:two ',
{"one": dbHours["hours"], "two": user})
servicePoints.model.get_db().execute('DELETE FROM requests WHERE postid =:one ',
{"one": post})
username = flask.session["username"]
cursor = servicePoints.model.get_db()
leaderCur = cursor.execute('SELECT postid, member, service, filename FROM requests WHERE '
'leader =:who',
{"who": username})
results = leaderCur.fetchall()
context = {'requests': results}
return render_template('viewRequests.html', **context)
return flask.redirect(flask.url_for('login'))
@servicePoints.app.route('/', methods=['GET', 'POST']) @servicePoints.app.route('/', methods=['GET', 'POST'])
def index(): def index():
...@@ -253,6 +286,14 @@ def duplicateOrgName(): ...@@ -253,6 +286,14 @@ def duplicateOrgName():
context = {} context = {}
return render_template('duplicateOrgName.html', **context) return render_template('duplicateOrgName.html', **context)
@servicePoints.app.route('/accounts/hourError/', methods=['GET', 'POST'])
def hourError():
if flask.request.method == 'POST':
return flask.redirect(flask.url_for('viewRequests'))
context = {}
return render_template('hourError.html', **context)
@servicePoints.app.route('/accounts/duplicateTutor/', methods=['GET', 'POST']) @servicePoints.app.route('/accounts/duplicateTutor/', methods=['GET', 'POST'])
def duplicateTutor(): def duplicateTutor():
if flask.request.method == 'POST': if flask.request.method == 'POST':
......
...@@ -6,7 +6,7 @@ CREATE TABLE users( ...@@ -6,7 +6,7 @@ CREATE TABLE users(
email VARCHAR(40) NOT NULL, email VARCHAR(40) NOT NULL,
orgName VARCHAR(40) NOT NULL, orgName VARCHAR(40) NOT NULL,
password VARCHAR(256) NOT NULL, password VARCHAR(256) NOT NULL,
hours VARCHAR(40) NOT NULL, hours INTEGER NOT NULL,
PRIMARY KEY(username) PRIMARY KEY(username)
); );
......
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