コード例 #1
0
class GenericTask(Task):
    """A generic task"""
    subject = models.CharField(max_length=255)
    body = models.TextField(blank=True)
    objects = TaskQuerySet.as_manager()

    def __unicode__(self):
        return u'Generic Task'
コード例 #2
0
class FailedFaxTask(Task):
    """
    Deprecated: keeping this model around to not lose historical data
    A fax for this communication failed"""
    type = 'FailedFaxTask'
    communication = models.ForeignKey('foia.FOIACommunication')
    reason = models.CharField(max_length=255, blank=True, default='')
    objects = TaskQuerySet.as_manager()

    def __unicode__(self):
        return u'Failed Fax Task'

    def get_absolute_url(self):
        return reverse('failed-fax-task', kwargs={'pk': self.pk})
コード例 #3
0
class FailedFaxTask(Task):
    """
    Deprecated: keeping this model around to not lose historical data
    A fax for this communication failed"""

    type = "FailedFaxTask"
    communication = models.ForeignKey(
        "foia.FOIACommunication", on_delete=models.PROTECT
    )
    reason = models.CharField(max_length=255, blank=True, default="")
    objects = TaskQuerySet.as_manager()

    def __str__(self):
        return "Failed Fax Task"

    def get_absolute_url(self):
        return reverse("failed-fax-task", kwargs={"pk": self.pk})
コード例 #4
0
class Task(models.Model):
    """A base task model for fields common to all tasks"""

    date_created = models.DateTimeField(auto_now_add=True)
    date_done = models.DateTimeField(blank=True, null=True)
    date_deferred = models.DateField(blank=True, null=True)
    resolved = models.BooleanField(default=False, db_index=True)
    assigned = models.ForeignKey(
        User,
        blank=True,
        null=True,
        related_name="assigned_tasks",
        on_delete=models.PROTECT,
    )
    resolved_by = models.ForeignKey(
        User,
        blank=True,
        null=True,
        related_name="resolved_tasks",
        on_delete=models.PROTECT,
    )
    form_data = JSONField(blank=True, null=True)

    objects = TaskQuerySet.as_manager()

    class Meta:
        ordering = ["date_created"]

    def __str__(self):
        return "Task"

    def resolve(self, user=None, form_data=None):
        """Resolve the task"""
        self.resolved = True
        self.resolved_by = user
        self.date_done = timezone.now()
        if form_data is not None:
            self.form_data = form_data
        self.save()
        logging.info("User %s resolved task %s", user, self.pk)

    def defer(self, date_deferred):
        """Defer the task to the given date"""
        self.date_deferred = date_deferred
        self.save()
コード例 #5
0
class RejectedEmailTask(Task):
    """
    Deprecated: Keeping this model around to not lose historical data

    A FOIA request has had an outgoing email rejected"""
    type = 'RejectedEmailTask'
    categories = (('b', 'Bounced'), ('d', 'Dropped'))
    category = models.CharField(max_length=1, choices=categories)
    foia = models.ForeignKey('foia.FOIARequest', blank=True, null=True)
    email = models.EmailField(blank=True)
    error = models.TextField(blank=True)
    objects = TaskQuerySet.as_manager()

    def __unicode__(self):
        return u'Rejected Email Task'

    def get_absolute_url(self):
        return reverse('rejected-email-task', kwargs={'pk': self.pk})
コード例 #6
0
class RejectedEmailTask(Task):
    """
    Deprecated: Keeping this model around to not lose historical data

    A FOIA request has had an outgoing email rejected"""

    type = "RejectedEmailTask"
    categories = (("b", "Bounced"), ("d", "Dropped"))
    category = models.CharField(max_length=1, choices=categories)
    foia = models.ForeignKey(
        "foia.FOIARequest", blank=True, null=True, on_delete=models.PROTECT
    )
    email = models.EmailField(blank=True)
    error = models.TextField(blank=True)
    objects = TaskQuerySet.as_manager()

    def __str__(self):
        return "Rejected Email Task"

    def get_absolute_url(self):
        return reverse("rejected-email-task", kwargs={"pk": self.pk})