feat: add Teacher Admin role to four-tier permission system
Introduces a four-tier role system: Regular User → Student Admin → Teacher Admin → Super Admin. Teacher Admin can manage own contests, problemsets, and view classroom data. Student Admin (renamed from Admin) retains problem management only. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -57,6 +57,12 @@ class super_admin_required(BasePermissionDecorator):
|
||||
return user.is_authenticated and user.is_super_admin()
|
||||
|
||||
|
||||
class teacher_admin_required(BasePermissionDecorator):
|
||||
def check_permission(self, request):
|
||||
user = request.user
|
||||
return user.is_authenticated and user.is_teacher_or_above()
|
||||
|
||||
|
||||
class admin_role_required(BasePermissionDecorator):
|
||||
def check_permission(self, request):
|
||||
user = request.user
|
||||
|
||||
Reference in New Issue
Block a user