Added published status.

This commit is contained in:
2018-02-24 15:50:21 +01:00
parent 0f0dbbd34c
commit 37264f783a
6 changed files with 149 additions and 30 deletions

View File

@@ -46,6 +46,14 @@ class Event(models.Model):
blank=True,
null=True,
default=None)
published = models.BooleanField(default=False)
published_at = models.DateTimeField(blank=True,
null=True)
published_by = models.ForeignKey(settings.AUTH_USER_MODEL,
blank=True,
null=True,
on_delete=models.SET(get_ghost_user),
related_name='+')
# DescriptionForm
title = models.CharField(max_length=config.TITLE_MAX_LENGTH)
@@ -213,7 +221,7 @@ class Event(models.Model):
if user:
self.accepted_by = user
else:
logger.error('Event.accept(): no user given! (Event: %s)', self.event)
logger.warning('Event.accept(): no user given! (Event: %s)', self.event)
self.save()
logger.info('Event is accepted: %s', self)
@@ -229,6 +237,20 @@ class Event(models.Model):
else:
return None
def set_published(self, user=None):
if not self.accepted:
logger.warning('Event.set_published(): event is not accepted yet! (Event: %s)', self.event)
if not self.published:
self.published = True
self.published_at = timezone.now()
if user:
self.published_by = user
else:
logger.warning('Event.set_published(): no user given! (Event: %s)', self.event)
self.save()
logger.info('Event is published: %s', self)
def get_status(self):
now = datetime.date.today()
if self.alt_last_day:
@@ -242,7 +264,9 @@ class Event(models.Model):
elif self.first_day and self.first_day < now:
return 'expired'
if self.accepted:
if self.published:
return 'published'
elif self.accepted:
return 'accepted'
elif self.owner:
return 'submitted'