Reorder fields

This commit is contained in:
Aarni Halinen
2022-07-26 21:02:07 +03:00
parent ca73eba609
commit 831f15d0ff
2 changed files with 55 additions and 54 deletions
+46 -45
View File
@@ -24,15 +24,15 @@ EMAIL_REGEX = r"(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)"
class Tag(models.Model):
"""Model for tag."""
class Meta:
verbose_name = _("Tag")
verbose_name_plural = _("Tags")
id = models.AutoField(primary_key=True)
slug = models.SlugField(unique=True)
name = models.CharField(max_length=127)
icon = models.ImageField()
class Meta:
verbose_name = _("Tag")
verbose_name_plural = _("Tags")
def __str__(self):
return _("Tag: {}").format(self.slug)
@@ -41,9 +41,10 @@ class BaseFeed(models.Model):
"""Model containing something showing on some info feed."""
id = models.AutoField(primary_key=True)
title = models.CharField(max_length=255)
tags = models.ManyToManyField(Tag, related_name="feeds", blank=True)
visible = models.BooleanField(default=True)
title = models.CharField(max_length=255)
description = models.CharField(max_length=255)
content = models.TextField()
image = models.ImageField(blank=True, null=True)
@@ -52,21 +53,20 @@ class BaseFeed(models.Model):
class Feed(BaseFeed):
"""Model representing feed."""
deleted = models.BooleanField(default=False)
publish_time = models.DateTimeField(default=timezone.now)
autohide = models.DateTimeField(default=month_from_now)
autohide_enabled = models.BooleanField(default=False)
__previousVisible = False
class Meta:
verbose_name = _("Feed")
verbose_name_plural = _("Feeds")
publish_time = models.DateTimeField(default=timezone.now)
autohide = models.DateTimeField(default=month_from_now)
autohide_enabled = models.BooleanField(default=False)
deleted = models.BooleanField(default=False)
def __str__(self):
delete_str = _("Deleted: ") if self.deleted else ""
return _("{}Feed: {}").format(delete_str, self.title)
__previousVisible = False
def __init__(self, *args, **kwargs):
super(Feed, self).__init__(*args, **kwargs)
self.__previousVisible = self.visible
@@ -90,22 +90,21 @@ class Feed(BaseFeed):
class Event(BaseFeed):
"""Model for event in guild calendar"""
deleted = models.BooleanField(default=False)
start_time = models.DateTimeField(default=timezone.now)
end_time = models.DateTimeField(default=timezone.now)
location = models.CharField(max_length=255, blank=True)
signupForm = models.ManyToManyField("SignupForm", blank=True, related_name="event")
__previousVisible = False
class Meta:
verbose_name = _("Event")
verbose_name_plural = _("Events")
start_time = models.DateTimeField(default=timezone.now)
end_time = models.DateTimeField(default=timezone.now)
signupForm = models.ManyToManyField("SignupForm", blank=True, related_name="event")
location = models.CharField(max_length=255, blank=True)
deleted = models.BooleanField(default=False)
def __str__(self):
delete_str = _("Deleted: ") if self.deleted else ""
return _("{}Event: {}").format(delete_str, self.title)
__previousVisible = False
def __init__(self, *args, **kwargs):
super(Event, self).__init__(*args, **kwargs)
self.__previousVisible = self.visible
@@ -131,15 +130,15 @@ class TemplateQuestion(models.Model):
Stores template questions for signup forms as JSON format. Used in signup form creation.
"""
class Meta:
verbose_name = _("Template question")
verbose_name_plural = _("Template questions")
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=255)
questions = JSONField()
deleted = models.BooleanField(default=False)
class Meta:
verbose_name = _("Template question")
verbose_name_plural = _("Template questions")
def __str__(self):
return _("Template questions: {}").format(self.name)
@@ -147,20 +146,20 @@ class TemplateQuestion(models.Model):
class SignupForm(models.Model):
"""Model for event signup form. Stores questions in JSON format."""
class Meta:
verbose_name = _("Signup form")
verbose_name_plural = _("Signup forms")
id = models.AutoField(primary_key=True)
title = models.CharField(max_length=255)
deleted = models.BooleanField(default=False)
visible = models.BooleanField(default=True)
start_time = models.DateTimeField(default=timezone.now)
end_time = models.DateTimeField(default=timezone.now)
questions = JSONField()
schema = JSONField()
visible = models.BooleanField(default=True)
quota = models.PositiveIntegerField(blank=True, null=True)
email_content = models.TextField(blank=True)
deleted = models.BooleanField(default=False)
class Meta:
verbose_name = _("Signup form")
verbose_name_plural = _("Signup forms")
def __str__(self):
delete_str = _("Deleted: ") if self.deleted else ""
@@ -181,12 +180,9 @@ class Signup(models.Model):
Actual signup into any SignupForm. Deletes are soft.
"""
class Meta:
verbose_name = _("Sign-up")
verbose_name_plural = _("Sign-ups")
id = models.AutoField(primary_key=True)
signupForm = models.ForeignKey("SignupForm", on_delete=models.CASCADE)
deleted = models.BooleanField(default=False)
time = models.DateTimeField(default=timezone.now)
answer = JSONField()
# Answer we use in signupForm signups field. Frontend uses first questions answer as this value.
@@ -195,7 +191,11 @@ class Signup(models.Model):
email = models.EmailField(blank=True, null=True)
# Random unique identifier. Used for signup editing by the user.
uuid = models.UUIDField(default=uuid4, editable=False)
deleted = models.BooleanField(default=False)
signupForm = models.ForeignKey("SignupForm", on_delete=models.CASCADE)
class Meta:
verbose_name = _("Sign-up")
verbose_name_plural = _("Sign-ups")
def __str__(self):
delete_str = _("Deleted: ") if self.deleted else ""
@@ -225,20 +225,21 @@ def email_on_signup(sender, instance, created, **kwargs):
class JobAd(models.Model):
"""Job advertisements shown on Corporate relations page"""
id = models.AutoField(primary_key=True)
title = models.CharField(max_length=255)
visible = models.BooleanField(default=True)
deleted = models.BooleanField(default=False)
autohide_at = models.DateTimeField(default=month_from_now)
autohide_enabled = models.BooleanField(default=False)
description = models.CharField(max_length=255)
content = models.TextField()
created_at = models.DateTimeField(default=timezone.now)
class Meta:
verbose_name = _("JobAd")
verbose_name_plural = _("JobAds")
id = models.AutoField(primary_key=True)
title = models.CharField(max_length=255)
description = models.CharField(max_length=255)
content = models.TextField()
visible = models.BooleanField(default=True)
created_at = models.DateTimeField(default=timezone.now)
autohide_at = models.DateTimeField(default=month_from_now)
autohide_enabled = models.BooleanField(default=False)
deleted = models.BooleanField(default=False)
def __str__(self):
delete_str = _("Deleted: ") if self.deleted else ""
return f"{delete_str}{self.title}"
+9 -9
View File
@@ -4,6 +4,11 @@ from modeltranslation.translator import register, TranslationOptions
from webapp.models import *
@register(Tag)
class TagTranslationOptions(TranslationOptions):
fields = ("name",)
@register(BaseFeed)
class BaseFeedTranslationOptions(TranslationOptions):
fields = ("title", "description", "content")
@@ -14,18 +19,13 @@ class FeedTranslationOptions(TranslationOptions):
fields = ()
@register(Tag)
class TagTranslationOptions(TranslationOptions):
fields = ("name",)
@register(Event)
class EventTranslationOptions(TranslationOptions):
fields = ("location",)
@register(Signup)
class SignupTranslationOptions(TranslationOptions):
@register(TemplateQuestion)
class TemplateQuestionTranslationOptions(TranslationOptions):
fields = ()
@@ -34,8 +34,8 @@ class SignupFormTranslationOptions(TranslationOptions):
fields = ("title",)
@register(TemplateQuestion)
class TemplateQuestionTranslationOptions(TranslationOptions):
@register(Signup)
class SignupTranslationOptions(TranslationOptions):
fields = ()