Skip to content
Snippets Groups Projects
models.py 33.6 KiB
Newer Older
  • Learn to ignore specific revisions
  •         return f'{self.title} from {self.full_name} for {self.page.title}'
    
        def __repr__(self):
    
            return f'<{self.__class__.__name__}: {self.user}, {self.round}, {self.page}>'
    
    Todd Dembrey's avatar
    Todd Dembrey committed
    @receiver(post_transition, sender=ApplicationSubmission)
    def log_status_update(sender, **kwargs):
        instance = kwargs['instance']
        old_phase = instance.workflow[kwargs['source']]
    
        by = kwargs['method_kwargs']['by']
    
        request = kwargs['method_kwargs']['request']
    
        if request:
            messenger(
                MESSAGES.TRANSITION,
                user=by,
                request=request,
                submission=instance,
                old_phase=old_phase,
            )
    
    class ApplicationRevision(models.Model):
        submission = models.ForeignKey(ApplicationSubmission, related_name='revisions', on_delete=models.CASCADE)
        form_data = JSONField(encoder=DjangoJSONEncoder)
    
        timestamp = models.DateTimeField(auto_now=True)
        author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.SET_NULL, null=True)
    
    
        class Meta:
            ordering = ['-timestamp']