Пример #1
0
 def get(self, request, assignmentid):
     context = {
         "assignmentid": assignmentid,
         "restfulapi": dump_all_into_dict(restful),
         "gradeeditors": dump_all_into_dict(gradeeditors_restful),
     }
     return render(request, "examiner/assignment.django.html", context)
Пример #2
0
 def get(self, request, assignmentgroupid):
     context = {'objectid': assignmentgroupid,
                'restfulapi': dump_all_into_dict(restful),
                'gradeeditors': dump_all_into_dict(gradeeditors_restful)
               }
     return render(request,
                   'examiner/assignmentgroupview.django.html',
                    context)
Пример #3
0
 def get(self, request, assignmentid):
     context = {'assignmentid': assignmentid,
                'restfulapi': dump_all_into_dict(restful),
                'gradeeditors': dump_all_into_dict(gradeeditors_restful)
               }
     return render(request,
                   'examiner/assignment.django.js',
                    context) 
Пример #4
0
 def get(self, request, **indata):
     context = indata
     context['restfulapi'] = dump_all_into_dict(restful);
     self.edit_context(context)
     return render(request,
                   self.template_name,
                   context)
Пример #5
0
def topicadmin(request, topic_id=-1):
    """
    Administrator interface for topics,
    allowing an admin to edit topics.
    """
    return render(request, 'trix/trixadmin/topic.django.html',
                  {'objectid': topic_id,
                   'restfulapi': dump_all_into_dict(restful)
                   })
Пример #6
0
def exerciseadmin(request, exercise_id=-1):
    """
    Administrator interface for exercises,
    allowing an admin to edit exercises.
    """
    return render(request, 'trix/trixadmin/exercise.django.html',
                  {'objectid': exercise_id,
                   'restfulapi': dump_all_into_dict(restful)
                   })
Пример #7
0
def periodadmin(request, period_id=-1):
    """
    Administrator interface for periods,
    allowing an admin to change a period's exercises.
    """
    return render(request, 'trix/trixadmin/period.django.html',
                  {'objectid': period_id,
                   'restfulapi': dump_all_into_dict(restful)
                   })
Пример #8
0
def periodgroupadmin(request, periodgroup_id=-1):
    """
    Administrator interface for period groups,
    allowing an admin to add periods.
    """
    return render(request, 'trix/trixadmin/periodgroup.django.html',
                  {'objectid': periodgroup_id,
                   'restfulapi': dump_all_into_dict(trix.restful)
               })
Пример #9
0
def administrator(request):
    """
    Administrator page showing the administrator interface
    """
    return render(request, 'trix/trixadmin/main.django.js',
                  {'restfulapi': dump_all_into_dict(trix.restful),
                   'page_title':'admin',
                   'TRIX_ADMINISTRATOR_NO_PERMISSION': {
                       # TODO: this should probably be localizable
                       'head': "You are not an administrator",
                       'body': "You are not registered as an administrator on any Node, Subject/Course, Period/Semester or Assignment in Devilry. If this is wrong, please contact the system administrator."
                   }
               })
Пример #10
0
 def get(self, request, assignmentgroupid):
     assignment_group = get_object_or_404(AssignmentGroup, id=assignmentgroupid)
     logged_in_user = request.user
     if not assignment_group.can_save(logged_in_user):
         if not assignment_group.is_candidate(logged_in_user):
             return HttpResponseForbidden()
     deadline = assignment_group.get_active_deadline()
     deadline_timestamp_milliseconds = mktime(deadline.deadline.timetuple()) + (deadline.deadline.microsecond/1000000)
     deadline_timestamp_milliseconds *= 1000
     return render(request, 'student/add-delivery.django.html',
                   {'restfulapi': dump_all_into_dict(restful),
                    'assignmentgroupid': assignmentgroupid,
                    'deadlineid': deadline.id,
                    'deadline_timestamp_milliseconds': deadline_timestamp_milliseconds}
                   )
Пример #11
0
 def edit_context(self, context):
     context["restfulapi"] = dump_all_into_dict(restful)
     context["gradeeditors"] = dump_all_into_dict(gradeeditors_restful)
Пример #12
0
 def get_context_data(self):
     context = super(MainView, self).get_context_data()
     context['restfulapi'] = dump_all_into_dict(restful);
     return context
Пример #13
0
 def edit_context(self, context):
     context['restfulapi'] = dump_all_into_dict(restful);
     context['gradeeditors'] = dump_all_into_dict(gradeeditors_restful);
Пример #14
0
 def get_context_data(self):
     context = super(MainView, self).get_context_data()
     context['restfulapi'] = dump_all_into_dict(restful);
     return context
Пример #15
0
def administrator(request):
    """
    Administrator page showing the administrator interface
    """
    return render(request, 'trix/trixadmin/main.django.js',
                  {'restfulapi': dump_all_into_dict(restful)})
Пример #16
0
 def get(self, request, assignmentgroupid):
     context = {'objectid': assignmentgroupid,
                'restfulapi': dump_all_into_dict(restful)}
     return render(request,
                   'student/assignmentgroupview.django.js',
                    context)
Пример #17
0
 def get(self, request, assignmentgroupid):
     context = {'objectid': assignmentgroupid,
                'restfulapi': dump_all_into_dict(restful)}
     return render(request,
                   'student/assignmentgroupview.django.html',
                    context)
Пример #18
0
def main(request, period_id=-1, topic_id=-1, exercise_id=-1):
    """
    Main page showing current exercises.
    """

    all_exercises = None
    
    if period_id != -1:
        all_exercises = PeriodExercise.objects.filter(period__id=period_id)

    elif topic_id != -1:
        all_exercises = PeriodExercise.objects.filter(exercise__topics=topic_id)

    elif exercise_id != -1:
        all_exercises = PeriodExercise.objects.filter(id=exercise_id)

    else:
        all_exercises = PeriodExercise.objects.filter(period__start_time__lte
                                                      =datetime.now(),
                                                      period__end_time__gte
                                                      =datetime.now())

    exercises = {}
    topics = {}
    prerequisites = {}
    topicstats = {}
    followedperiods = []
    followedgroups = []
    if request.user.is_authenticated():
        followedgroups = request.user.followedgroups.values_list('id', flat=True)
    if not followedgroups:
        followedgroups = PeriodGroup.objects.values_list('id', flat=True)

    # This should be switched out with javascript logic that looks up exercises
    for exercise in all_exercises:
        e = {'id': exercise.id,
             'number': exercise.number,
             'title': exercise.exercise.long_name,
             'text': exercise.exercise.text,
             'status': -1,
             'status_name': '',
             'points': exercise.points,
             'starred': exercise.starred,
             'topics': exercise.exercise.topics.all(),
             'prerequisites': exercise.exercise.prerequisites.all()
             }

        for topic in e['topics']:
            if not topicstats.has_key(topic.id):
                topicstats.setdefault(topic.id, get_topic_points(topic, request.user))
        for topic in e['prerequisites']:
            if not topicstats.has_key(topic.id):
                topicstats.setdefault(topic.id, get_topic_points(topic, request.user))        

        ps = exercise.exercise.prerequisites.exclude(id__in=prerequisites.keys)
        for p in ps:
            prerequisites.setdefault(p.id, p)
        
        if request.user.is_authenticated():
            try:
                stats = exercise.student_results.get(student=request.user)
                e.update({'status': stats.status.id, 'status_name': stats.status.name})
            except ExerciseStatus.DoesNotExist:
                pass

        exercises.setdefault(exercise.period, {}).update([[exercise.number, e]])
        if (exercise.period not in followedperiods and period_id != -1
            or exercise_id != -1 or exercise.period.group_id in followedgroups):
            followedperiods.append(exercise.period)

    statuses = []
    if request.user.is_authenticated():
        statuses = Status.objects.filter(active=True)

    return render(request,'trix/main.django.html',
                  {'exercises': exercises,
                   'statuses': statuses,
                   'topicstats': topicstats,
                   'followedperiods': followedperiods,
                   'level': get_level(get_points(request.user)),
                   'restfulapi': dump_all_into_dict(restful)})