Exemple #1
0
 def mergeusers(modeladmin, request, queryset):
     if len(queryset) != 2:
         modeladmin.message_user(request, "Please choose exactly two users to merge.", level=messages.WARNING)
         return reverse('admin:index')
     # In most cases, we want to keep the user logged in recently, so we query accordingly
     primary, secondary = queryset.order_by('-date_joined')
     if len(tutor_courses(primary)) > 0 or len(tutor_courses(secondary)) > 0:
         # Since the user is deleted, this is more complicated (course ownership, gradings given etc.)
         modeladmin.message_user(request, "Merging course owners or tutors is not support at the moment.", level=messages.WARNING)
         return reverse('admin:index')
     return HttpResponseRedirect('%s?primary_id=%u&secondary_id=%s'%(reverse('mergeusers'), primary.pk, secondary.pk))
Exemple #2
0
 def queryset(self, request, qs):
     qs = qs.filter(assignment__course__in=tutor_courses(request.user))
     if self.value() == 'tobegraded':
         return qs.filter(state__in=[Submission.GRADING_IN_PROGRESS, Submission.SUBMITTED_TESTED, Submission.TEST_FULL_FAILED, Submission.SUBMITTED])
     elif self.value() == 'graded':
         return qs.filter(state__in=[Submission.GRADED])
     else:
         return qs
Exemple #3
0
 def queryset(self, request, qs):
     qs = qs.filter(assignment__course__in=tutor_courses(request.user))
     if self.value() == 'tobegraded':
         return qs.filter(state__in=[
             Submission.GRADING_IN_PROGRESS, Submission.SUBMITTED_TESTED,
             Submission.TEST_FULL_FAILED, Submission.SUBMITTED
         ])
     elif self.value() == 'graded':
         return qs.filter(state__in=[Submission.GRADED])
     else:
         return qs
Exemple #4
0
 def queryset(self, request, qs):
     if self.value():
         return qs.filter(assignment__course__exact=self.value())
     else:
         return qs.filter(assignment__course__in=tutor_courses(request.user))
Exemple #5
0
 def lookups(self, request, model_admin):
     return ((c.pk, c.title) for c in tutor_courses(request.user))
Exemple #6
0
 def lookups(self, request, model_admin):
     tutor_assignments = Assignment.objects.filter(course__in=tutor_courses(request.user))
     return ((ass.pk, ass.title) for ass in tutor_assignments)
Exemple #7
0
 def queryset(self, request, qs):
     if self.value():
         return qs.filter(assignment__course__exact=self.value())
     else:
         return qs.filter(
             assignment__course__in=tutor_courses(request.user))
Exemple #8
0
 def lookups(self, request, model_admin):
     return ((c.pk, c.title) for c in tutor_courses(request.user))
Exemple #9
0
 def lookups(self, request, model_admin):
     tutor_assignments = Assignment.objects.filter(
         course__in=tutor_courses(request.user))
     return ((ass.pk, ass.title) for ass in tutor_assignments)