Exemple #1
0
    def save(self, *args, **kwargs):
        self.description = sanitization.strip_script_tags(self.description)

        active_lti_id_modified = False

        # Instance is being created (not modified)
        if self._state.adding:
            active_lti_id_modified = self.active_lti_id is not None
        else:
            pre_save = Assignment.objects.get(pk=self.pk)
            active_lti_id_modified = pre_save.active_lti_id != self.active_lti_id

        if active_lti_id_modified:
            # Reset all sourcedid if the active lti id is updated.
            Journal.objects.filter(assignment=self.pk).update(sourcedid=None,
                                                              grade_url=None)

            if self.active_lti_id is not None and self.active_lti_id not in self.lti_id_set:
                self.lti_id_set.append(self.active_lti_id)

            other_assignments_with_lti_id_set = Assignment.objects.filter(
                lti_id_set__contains=[self.active_lti_id]).exclude(pk=self.pk)
            if other_assignments_with_lti_id_set.exists():
                raise ValidationError(
                    "A lti_id should be unique, and only part of a single assignment's lti_id_set."
                )

        return super(Assignment, self).save(*args, **kwargs)
Exemple #2
0
 def save(self, *args, **kwargs):
     if not self.pk:
         self.creation_date = timezone.now()
     self.last_edited = timezone.now()
     self.text = sanitization.strip_script_tags(self.text)
     return super(Comment, self).save(*args, **kwargs)
Exemple #3
0
    def save(self, *args, **kwargs):
        self.data = sanitization.strip_script_tags(self.data)

        return super(Content, self).save(*args, **kwargs)
Exemple #4
0
    def save(self, *args, **kwargs):
        self.description = sanitization.strip_script_tags(self.description)

        return super(Assignment, self).save(*args, **kwargs)