Пример #1
0
    def parse_assignment_settings(self, settings):
        course_id = settings['COURSE_ID']
        # assignment_number = settings['ASSIGNMENT_NUMBER']
        uniqueString = settings['ASSIGNMENT_TITLE'].strip().upper()
        c = Course.objects.get(id=course_id)
        if not c:
            raise Exception('Course with id %s does not exist.' % (course_id))
        try:
            a = Assignment.objects.get(Course=c, UniqueString=uniqueString)
            messages.info(self.request, 'Assigment already exists. Updating.')
        except:
            messages.info(self.request, 'Assigment does not exists. Creating.')
            a = Assignment(Course=c, Title=settings['ASSIGNMENT_TITLE'])
        a.Title = settings['ASSIGNMENT_TITLE']
        activation_date = settings['ACTIVATION_DATE']
        hard_date = settings['HARD_DATE']
        if ('DUE_DATE' in settings.keys()):
            due_date = settings['DUE_DATE']
        else:
            due_date = False

        if ('PENALTY_PERCENT' in settings.keys()):
            penalty_percent = settings['PENALTY_PERCENT']
        else:
            penalty_percent = 0

        if not penalty_percent:
            penalty_percent = 0

        if activation_date:
            a.Activation_date = activation_date

        if hard_date:
            a.Hard_date = hard_date
            a.Due_date = hard_date
            a.Penalty_percent = penalty_percent

        if due_date:
            a.Due_date = due_date
            a.Penalty_percent = penalty_percent
        a.save()
        return a