Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file modified .gitignore
100755 → 100644
Empty file.
Empty file modified Accessibility.md
100755 → 100644
Empty file.
Empty file modified README.md
100755 → 100644
Empty file.
Empty file modified addNewTerm.py
100755 → 100644
Empty file.
Empty file modified add_user.py
100755 → 100644
Empty file.
Empty file modified app.py
100755 → 100644
Empty file.
Empty file modified app/__init__.py
100755 → 100644
Empty file.
Empty file modified app/addCourse.py
100755 → 100644
Empty file.
Empty file modified app/allImports.py
100755 → 100644
Empty file.
Empty file modified app/archive.py
100755 → 100644
Empty file.
2 changes: 2 additions & 0 deletions app/config.yaml
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ mainMenu:
link: "/"
- title: "Courses"
link: "/courses"
- title: "Search"
link: "/course-search"
- title: "Archive"
link: "/archive"
- title: "Log Out"
Expand Down
Empty file modified app/contributors.py
100755 → 100644
Empty file.
35 changes: 34 additions & 1 deletion app/courses.py
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
from app.logic.switch import switch
from app.logic.getAll import GetAll

from app.models import Semesters
from app.models import Courses, Semesters, UsersCourses, Users
from flask import request, render_template

@app.route("/courses", methods = ["GET"]) #SET A DEFAULT APP ROUTE
@app.route("/courses/<term>", methods = ["GET"]) #SET A DEFAULT APP ROUTE
Expand Down Expand Up @@ -82,3 +83,35 @@ def courses(term = 0):
# TODO: return ERROR
abort(404)
render_template('error.html')

@app.route("/course-search", methods=["GET"])
def course_search():

prefix = request.args.get("prefix", "").strip()
number = request.args.get("number", "").strip()
results = None
if not prefix and not number:
flash("Please enter a course prefix and number (e.g. CSC 226).")
elif prefix or number:
if not prefix:
flash("Please enter a course prefix (e.g. CSC).")
elif not number:
flash("Please enter a course number (e.g. 226).")
else:
results = (UsersCourses
.select(UsersCourses, Courses, Semesters, Users)
.join(Courses)
.join(Semesters)
.switch(UsersCourses)
.join(Users)
.where(
(Courses.prefix == prefix) &
(Courses.number == number)
)
.order_by(Semesters.SEID.desc()))

if not results.exists():
flash("No courses found for {}-{}. Try a different prefix or number.".format(prefix, number))
results = None

return render_template("search.html", results=results, cfg=cfg)
Empty file modified app/deadlineDisplay.py
100755 → 100644
Empty file.
Empty file modified app/deadlineManagement.py
100755 → 100644
Empty file.
Empty file modified app/deleteSyllabus.py
100755 → 100644
Empty file.
Empty file modified app/divisionManagement.py
100755 → 100644
Empty file.
Empty file modified app/download.py
100755 → 100644
Empty file.
Empty file modified app/errorHandler.py
100755 → 100644
Empty file.
Empty file modified app/index.py
100755 → 100644
Empty file.
Empty file modified app/loadConfig.py
100755 → 100644
Empty file.
Empty file modified app/logic/__init__.py
100755 → 100644
Empty file.
Empty file modified app/logic/databaseInterface.py
100755 → 100644
Empty file.
Empty file modified app/logic/excelMaker.py
100755 → 100644
Empty file.
Empty file modified app/logic/getAll.py
100755 → 100644
Empty file.
Empty file modified app/logic/getAuthUser.py
100755 → 100644
Empty file.
Empty file modified app/logic/getCourses.py
100755 → 100644
Empty file.
Empty file modified app/logic/getSemesterManagement.py
100755 → 100644
Empty file.
Empty file modified app/logic/getUploads.py
100755 → 100644
Empty file.
Empty file modified app/logic/redirectBack.py
100755 → 100644
Empty file.
Empty file modified app/logic/switch.py
100755 → 100644
Empty file.
Empty file modified app/logtool.py
100755 → 100644
Empty file.
Empty file modified app/missingSyllabi.py
100755 → 100644
Empty file.
Empty file modified app/models.py
100755 → 100644
Empty file.
Empty file modified app/programManagement.py
100755 → 100644
Empty file.
Empty file modified app/redirectAdmin.py
100755 → 100644
Empty file.
Empty file modified app/removeCourse.py
100755 → 100644
Empty file.
2 changes: 1 addition & 1 deletion app/secret_config.yaml
100755 → 100644
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
DEBUG: True
secret_key: "I accidentally put our last key in public"
secret_key: "I accidentally put our last key in public"
Empty file modified app/semesterManagement.py
100755 → 100644
Empty file.
Empty file modified app/static/css/404.css
100755 → 100644
Empty file.
Empty file modified app/static/css/Archive.css
100755 → 100644
Empty file.
Empty file modified app/static/css/Courses.css
100755 → 100644
Empty file.
Empty file modified app/static/css/bootstrap-editable.css
100755 → 100644
Empty file.
Empty file modified app/static/css/bootstrap.css
100755 → 100644
Empty file.
Empty file modified app/static/css/bootstrap.min.css
100755 → 100644
Empty file.
Empty file modified app/static/css/chosen.min.css
100755 → 100644
Empty file.
Empty file modified app/static/css/courseManagement.css
100755 → 100644
Empty file.
Empty file modified app/static/css/courses_form.css
100755 → 100644
Empty file.
Empty file modified app/static/css/custom.css
100755 → 100644
Empty file.
Empty file modified app/static/css/dropzone.css
100755 → 100644
Empty file.
Empty file modified app/static/css/jquery.bootstrap-touchspin.css
100755 → 100644
Empty file.
Empty file modified app/static/css/lavish-bootstrap.css
100755 → 100644
Empty file.
Empty file modified app/static/css/no.css
100755 → 100644
Empty file.
Empty file modified app/static/css/reset.css
100755 → 100644
Empty file.
Empty file modified app/static/css/semesterManagement.css
100755 → 100644
Empty file.
Empty file modified app/static/css/sidebar.css
100755 → 100644
Empty file.
Empty file modified app/static/css/sweetalert.css
100755 → 100644
Empty file.
Empty file modified app/static/css/uploadButton.css
100755 → 100644
Empty file.
Empty file modified app/static/img/404.jpg
100755 → 100644
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified app/static/img/404_2.jpg
100755 → 100644
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified app/static/img/BCSR.jpg
100755 → 100644
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified app/static/js/ext/aja.min.js
100755 → 100644
Empty file.
Empty file modified app/static/js/ext/bootbox.min.js
100755 → 100644
Empty file.
Empty file modified app/static/js/ext/bootstrap.min.js
100755 → 100644
Empty file.
Empty file modified app/static/js/ext/dropzone.js
100755 → 100644
Empty file.
Empty file modified app/static/js/ext/jquery.bootstrap-touchspin.js
100755 → 100644
Empty file.
Empty file modified app/static/js/ext/jquery.js
100755 → 100644
Empty file.
Empty file modified app/static/js/ext/sweetalert.min.js
100755 → 100644
Empty file.
Empty file modified app/static/js/local/404.js
100755 → 100644
Empty file.
Empty file modified app/static/js/local/Archive.js
100755 → 100644
Empty file.
Empty file modified app/static/js/local/app.js
100755 → 100644
Empty file.
Empty file modified app/static/js/local/courseManagement.js
100755 → 100644
Empty file.
Empty file modified app/static/js/local/courses.js
100755 → 100644
Empty file.
Empty file modified app/static/js/local/index.js
100755 → 100644
Empty file.
Empty file modified app/static/js/local/no.js
100755 → 100644
Empty file.
Empty file modified app/static/js/local/removeCourse.js
100755 → 100644
Empty file.
Empty file modified app/static/js/local/sidebar.js
100755 → 100644
Empty file.
Empty file modified app/static/js/local/start.js
100755 → 100644
Empty file.
Empty file modified app/templates/403.html
100755 → 100644
Empty file.
Empty file modified app/templates/404.html
100755 → 100644
Empty file.
Empty file modified app/templates/admin/courseManagement/addCourse.html
100755 → 100644
Empty file.
Empty file modified app/templates/admin/courseManagement/missingSyllabi.html
100755 → 100644
Empty file.
Empty file modified app/templates/admin/courseManagement/removeCourse.html
100755 → 100644
Empty file.
Empty file modified app/templates/admin/deleteDeadline.html
100755 → 100644
Empty file.
Empty file modified app/templates/admin/editDeadline.html
100755 → 100644
Empty file.
Empty file modified app/templates/admin/editSystem.html
100755 → 100644
Empty file.
Empty file modified app/templates/archive.html
100755 → 100644
Empty file.
Empty file modified app/templates/courses/admin.html
100755 → 100644
Empty file.
Empty file modified app/templates/courses/division.html
100755 → 100644
Empty file.
Empty file modified app/templates/courses/faculty.html
100755 → 100644
Empty file.
Empty file modified app/templates/courses/myCourses.html
100755 → 100644
Empty file.
Empty file modified app/templates/courses/program.html
100755 → 100644
Empty file.
Empty file modified app/templates/deadline.html
100755 → 100644
Empty file.
Empty file modified app/templates/error.html
100755 → 100644
Empty file.
Empty file modified app/templates/index.html
100755 → 100644
Empty file.
60 changes: 60 additions & 0 deletions app/templates/search.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
{% extends "/snips/base.html" %}
{% set currentPage = "no" %}
{% set page = "Courses" %}
{% block body %}
{% include 'snips/messages.html' %}
{% set q_prefix = request.args.get('prefix', '') %}
{% set q_number = request.args.get('number', '') %}

<h1>Course Search</h1>
<form method="GET" action="/course-search">
<div class="row" style="margin-bottom: 15px;">
<div class="col-sm-3">
<label for="prefix">Prefix</label>
<input type="text" class="form-control" name="prefix" id="prefix" placeholder="e.g. CSC" value="{{ q_prefix }}">
</div>
<div class="col-sm-3">
<label for="number">Number</label>
<input type="text" class="form-control" name="number" id="number" placeholder="e.g. 226" value="{{ q_number }}">
</div>
<div class="col-sm-2" style="margin-top: 25px;">
<button type="submit" class="btn btn-default">Search</button>
</div>
</div>
</form>

{% if results is not none %}
{% if results | list | length > 0 %}
<h2>Results for {{ q_prefix }}-{{ q_number }}</h2>
<div style="margin-left:25px;">
<table id="table" style="width:100%;" class="table table-striped table-bordered table-sm" cellspacing="0">
<thead>
<tr style="text-align:center;">
<th>Instructor</th><th>Course</th><th>Term</th><th>Syllabus</th><th>Last Modified By</th>
</tr>
</thead>
<tbody>
{% for uc in results %}
{% set cid = uc.CID %}
<tr>
<td>{{ uc.username.firstName }} {{ uc.username.lastName }}</td>
<td>
{% set label = cid.prefix ~ '-' ~ cid.number ~ '-' ~ cid.section %}
{% if cid.filePath %}<a href="/download/{{ cid.CID }}">{{ label }}</a>{% else %}{{ label }}{% endif %}
</td>
<td>{{ cid.SEID.term }}-{{ cid.SEID.year }}</td>
<td>{% if cid.filePath %}<a href="/download/{{ cid.CID }}" class="btn btn-sm btn-default">Download</a>{% else %}<em>Not uploaded</em>{% endif %}</td>
<td>{{ cid.lastModified if cid.lastModified else '<em>Not yet modified.</em>' | safe }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% else %}
<div class="alert alert-warning" role="alert">
No courses found for <strong>{{ q_prefix }}-{{ q_number }}</strong>. Please try a different prefix or number.
</div>
{% endif %}
{% endif %}

{% endblock %}
Empty file modified app/templates/sidebar/archiveSidebar.html
100755 → 100644
Empty file.
Empty file modified app/templates/sidebar/courseManagementSidebar.html
100755 → 100644
Empty file.
Empty file modified app/templates/sidebar/divisionManagementSidebar.html
100755 → 100644
Empty file.
Empty file modified app/templates/sidebar/programManagementSidebar.html
100755 → 100644
Empty file.
Empty file modified app/templates/snips/archiveRows.html
100755 → 100644
Empty file.
Empty file modified app/templates/snips/base.html
100755 → 100644
Empty file.
Empty file modified app/templates/snips/coursesRows.html
100755 → 100644
Empty file.
Empty file modified app/templates/snips/createDeadline.html
100755 → 100644
Empty file.
Empty file modified app/templates/snips/footer.html
100755 → 100644
Empty file.
Empty file modified app/templates/snips/messages.html
100755 → 100644
Empty file.
Empty file modified app/templates/snips/nameList.html
100755 → 100644
Empty file.
Empty file modified app/templates/snips/navigation.html
100755 → 100644
Empty file.
Empty file modified app/templates/snips/tableFooter.html
100755 → 100644
Empty file.
Empty file modified app/templates/snips/tableHeader.html
100755 → 100644
Empty file.
Empty file modified app/uploads.py
100755 → 100644
Empty file.
Empty file modified contributors.txt
100755 → 100644
Empty file.
Empty file modified courseMasterList.csv
100755 → 100644
Empty file.
Empty file modified create_db.py
100755 → 100644
Empty file.
Empty file modified fixInstructors.py
100755 → 100644
Empty file.
Empty file modified flaskapp.wsgi
100755 → 100644
Empty file.
Empty file modified setup.sh
100755 → 100644
Empty file.
Empty file modified terms_csv/Fall2018.csv
100755 → 100644
Empty file.
Empty file modified terms_csv/Spring2017.csv
100755 → 100644
Empty file.
Empty file modified terms_csv/Summer2018.csv
100755 → 100644
Empty file.