diff --git a/studenteval/admin.py b/studenteval/admin.py index 9211148..8b2ef4a 100644 --- a/studenteval/admin.py +++ b/studenteval/admin.py @@ -29,15 +29,16 @@ class _cl_Student_eval_admin(admin.ModelAdmin): search_fields = ['sStudent', 'sRef'] - list_filter = ['sStudent',"sAuthor", "nEval_Type", "nEval_Mode", ('dtDate', DateRangeFilter)] + list_filter = ['sStudent',"sAuthor", "nEval_Type", "nEval_Mode"] def get_form(self, request, obj=None, **kwargs): user_obj = request.user - author_id = obj.Author.id if obj.Author is not None else 0 - student_id = obj.Student.id if obj.Student is not None else 0 + if obj is not None: + author_id = obj.Author.id if obj.Author is not None else 0 + student_id = obj.Student.id if obj.Student is not None else 0 - if not user_obj.id == author_id and not user_obj.id == student_id and not is_member(user_obj, "FI-Encadrants"): - raise PermissionDenied + if not user_obj.id == author_id and not user_obj.id == student_id and not is_member(user_obj, "FI-Encadrants"): + raise PermissionDenied return super().get_form(request, obj, **kwargs) diff --git a/studenteval/models.py b/studenteval/models.py index cea567c..38bb6d0 100644 --- a/studenteval/models.py +++ b/studenteval/models.py @@ -118,7 +118,7 @@ class cl_Student_eval(models.Model): if eval.ID == self.ID: to_be_set = True else: - #print(f"check eval {eval}") + #print(f"check eval {eval} {eval.nEval_Type} ({eval.nEval_Type == 1}) ? {eval.sRef} == {self.sRef} => {eval.sRef == self.sRef} {self}") if eval.nEval_Type == "1" and eval.sRef == self.sRef: print(f"Eval mirror found {eval} / {self}") to_be_set = True @@ -127,9 +127,9 @@ class cl_Student_eval(models.Model): to_be_set = True if to_be_set: - if eval.nEval_Mode == 1: + if eval.nEval_Mode == "1": self.o_Auto_eval = eval - elif eval.nEval_Mode == 2: + elif eval.nEval_Mode == "2": self.o_Encadrant_eval = eval