From fdfd0ecde2ed69c2f1eee4427f4671f97d4b40a4 Mon Sep 17 00:00:00 2001
From: Andrea Callia D'Iddio <ac4014@ic.ac.uk>
Date: Fri, 3 Feb 2023 19:03:51 +0000
Subject: [PATCH] Feat: restrict view based on categories for staff.

---
 app/views/staff.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/app/views/staff.py b/app/views/staff.py
index 0797515..d5776b5 100644
--- a/app/views/staff.py
+++ b/app/views/staff.py
@@ -37,14 +37,20 @@ def unshortlist_old_proposer(project: Project):
 @login_required
 @staff_only
 def projects():
+    categories: list[str] = (
+        Person.query.filter_by(username=current_user.username).first().categories
+    )
     allow_edit = True if datetime.utcnow() <= DEADLINE_FOR_STAFF_CHANGES else False
+    own_projects: list[Project]
     own_projects: list[Project] = (
         Project.query.filter_by(proposer=current_user.username)
+        .filter(Project.category.in_(categories))
         .filter(Project.deleted.is_(None))
         .all()
     )
     other_projects: list[Project] = (
         Project.query.filter(Project.proposer != current_user.username)
+        .filter(Project.category.in_(categories))
         .filter(Project.deleted.is_(None))
         .all()
     )
-- 
GitLab