Added published status.
This commit is contained in:
@@ -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'
|
||||
|
||||
Reference in New Issue
Block a user