From b7332eeb39e325fc086704d409985b07eea45de1 Mon Sep 17 00:00:00 2001 From: zawn Date: Thu, 13 Aug 2026 17:21:07 -0400 Subject: [PATCH 1/2] now student staff and program manager flags can edit event detials --- app/models/user.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/models/user.py b/app/models/user.py index ad4696cc1..cd4eb87f8 100644 --- a/app/models/user.py +++ b/app/models/user.py @@ -106,13 +106,18 @@ def isProgramManagerForEvent(self, event): return self.isProgramManagerFor(event.program) def canManageProgram(self, program): - return self.isCeltsAdmin or self.isCeltsOperationsTeam or (self.isCeltsStudentStaff and self.isProgramManager(program)) - + return self.isCeltsAdmin or self.isCeltsOperationsTeam or (self.isCeltsStudentStaff and self.managesProgram(program)) + + def managesProgram(self, program): + from app.models.programManager import ProgramManager + return ProgramManager.select().where(ProgramManager.user == self,ProgramManager.program == program).exists() + @property def isProgramManager(self): from app.models.programManager import ProgramManager - if self._isProgramManagerCache is None: self._isProgramManagerCache = ProgramManager.select().where(ProgramManager.user == self).exists() return self._isProgramManagerCache + + \ No newline at end of file From 9ac94eaa56279ae7776286ebc81160b6ae9da948 Mon Sep 17 00:00:00 2001 From: zawn Date: Fri, 14 Aug 2026 12:12:08 -0400 Subject: [PATCH 2/2] this is changed so that program manager can create and operation teams can create event but notmal studentstaff can't unless they are either assigned to a program or is part of the operations team. --- app/models/user.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/app/models/user.py b/app/models/user.py index cd4eb87f8..e27c8a575 100644 --- a/app/models/user.py +++ b/app/models/user.py @@ -106,11 +106,7 @@ def isProgramManagerForEvent(self, event): return self.isProgramManagerFor(event.program) def canManageProgram(self, program): - return self.isCeltsAdmin or self.isCeltsOperationsTeam or (self.isCeltsStudentStaff and self.managesProgram(program)) - - def managesProgram(self, program): - from app.models.programManager import ProgramManager - return ProgramManager.select().where(ProgramManager.user == self,ProgramManager.program == program).exists() + return self.isCeltsAdmin or self.isCeltsOperationsTeam or self.isProgramManagerFor(program) @property def isProgramManager(self):