Skip to content

Commit a2f476d

Browse files
mbillowstevenmirabito
authored andcommitted
Add HTML and Python Delete Functionality
1 parent 5a7a356 commit a2f476d

File tree

4 files changed

+39
-5
lines changed

4 files changed

+39
-5
lines changed

conditional/blueprints/major_project_submission.py

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ def display_major_project():
3434
'proj_name': p.name,
3535
'status': p.status,
3636
'description': p.description,
37-
'id': p.id
37+
'id': p.id,
38+
'is_owner': bool(user_name == p.uid)
3839
} for p in
3940
MajorProject.query]
4041

@@ -95,3 +96,27 @@ def major_project_review():
9596
db.session.flush()
9697
db.session.commit()
9798
return jsonify({"success": True}), 200
99+
100+
101+
@major_project_bp.route('/major_project/delete/<pid>', methods=['DELETE'])
102+
def major_project_delete(pid):
103+
log = logger.new(user_name=request.headers.get("x-webauth-user"),
104+
request_id=str(uuid.uuid4()))
105+
log.info('api', action='review major project')
106+
107+
# get user data
108+
user_name = request.headers.get('x-webauth-user')
109+
major_project = MajorProject.query.filter(
110+
MajorProject.id == pid
111+
).first()
112+
creator = major_project.uid
113+
114+
if creator == user_name or ldap_is_eval_director(user_name):
115+
MajorProject.query.filter(
116+
MajorProject.id == pid
117+
).delete()
118+
db.session.flush()
119+
db.session.commit()
120+
return jsonify({"success": True}), 200
121+
else:
122+
return "Must be project owner to delete!", 401

conditional/templates/dashboard.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,7 @@ <h3 class="panel-title">Major Projects</h3>
209209
</span>
210210
{% elif p['status'] == "Pending" %}
211211
<span class="title"><span style="padding-left:15px; padding-top:15px;" class="glyphicon glyphicon-hourglass yellow"></span> {{p['name']}}
212+
<button class="btn-xs btn-danger btn-mp"><span class="glyphicon glyphicon-trash"></span> Delete</button>
212213
</span>
213214
{% else %}
214215
<span class="title"><span style="padding-left:15px; padding-top:15px;" class="glyphicon glyphicon-minus-sign red"></span> {{p['name']}}

conditional/templates/major_project_submission.html

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,10 @@ <h4>{{p['proj_name']}}</h4>
4141
<img class="table-img" src="https://profiles.csh.rit.edu/image/{{p['username']}}">
4242
{{p['name']}} ({{p['username']}})
4343
</div>
44-
{% if is_eval_director %}
4544
<div class="col-xs-4 col-sm-2">
45+
46+
{% if is_eval_director %}
47+
4648
<div class="btn-group" data-module="majorProjectStatus" data-id="{{p['id']}}">
4749
<a href="#" class="btn {% if p['status'] == 'Passed' %}btn-success{% elif p['status'] == 'Failed' %}btn-danger{% else %}btn-warning{% endif %} dropdown-toggle btn-mp" data-toggle="dropdown" aria-expanded="false">
4850
{{p['status']}}
@@ -58,20 +60,24 @@ <h4>{{p['proj_name']}}</h4>
5860
<li>
5961
<a href="#" data-option="Failed"><span class="glyphicon glyphicon-remove-sign red"></span> Failed</a>
6062
</li>
63+
<li>
64+
<a href="#" data-option="Delete"><span class="glyphicon glyphicon-trash red"></span> Delete</a>
65+
</li>
6166
</ul>
6267
</div>
63-
</div>
6468
{% else %}
65-
<div class="col-xs-4 col-sm-2">
6669
{% if p['status'] == 'Passed' %}
6770
<h5 style="padding:15px 20px;float:right"><span class="glyphicon glyphicon-ok green"></span></h5>
6871
{% elif p['status'] == 'Failed' %}
6972
<h5 style="padding:15px 20px;float:right"><span class="glyphicon glyphicon-remove red"></span></h5>
7073
{% else %}
7174
<h5 style="padding:15px 20px;float:right"><span class="glyphicon glyphicon-hourglass yellow"></span></h5>
7275
{% endif %}
73-
</div>
76+
{% if p.is_owner and p['status'] == 'Pending' %}
77+
<button class="btn btn-danger btn-mp"><span class="glyphicon glyphicon-trash"></span> Delete</button>
78+
{% endif %}
7479
{% endif %}
80+
</div>
7581
<button class="btn-expand-panel" role="button" data-toggle="collapse" href="#evalsCollapse-{{p['id']}}" aria-expanded="false" aria-controls="evalsCollapse-{{p['id']}}"><span class="glyphicon glyphicon glyphicon-menu-down"></span></button>
7682
<div class="collapse" id="evalsCollapse-{{p['id']}}">
7783
{{p['description']}}

frontend/stylesheets/pages/_management.scss

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,8 @@
125125

126126
.btn-mp {
127127
margin-top: 20px;
128+
margin-right:15px;
129+
float: right;
128130
}
129131

130132
.stat-number {

0 commit comments

Comments
 (0)