Remove duplicate code

This commit is contained in:
Aarni Halinen
2022-07-26 22:22:25 +03:00
parent 6ccb1d01cf
commit a2e6a4754e
+32 -48
View File
@@ -53,39 +53,44 @@ class BaseFeed(models.Model):
content = models.TextField()
image = models.ImageField(blank=True, null=True)
webhookUrl = ""
hookType = ""
previousVisible = False
def __init__(self, *args, **kwargs):
super(BaseFeed, self).__init__(*args, **kwargs)
self.previousVisible = self.visible
def __str__(self):
delete_str = _("Deleted: ") if self.deleted else ""
return _("{}{}: {}").format(delete_str, self._meta.verbose_name, self.title)
def save(self, force_insert=False, force_update=False, *args, **kwargs):
created = self.pk is None
super(BaseFeed, self).save(force_insert, force_update, *args, **kwargs)
if self.visible and (created or not self.previousVisible):
self.refresh_from_db() # Fetch so we can use primary key
url = f"{self.webhookUrl}/{self.pk}"
processHooks(
message=generateMessage(
f"Uusi {self._meta.verbose_name}", self.title, self.description, url
),
eventType=self.hookType,
)
self.previousVisible = self.visible
class Feed(BaseFeed):
"""Model representing feed."""
__previousVisible = False
webhookUrl = f"https://{FRONTEND_URL}/feed"
hookType = "feed"
class Meta:
verbose_name = _("Feed")
verbose_name_plural = _("Feeds")
def __str__(self):
delete_str = _("Deleted: ") if self.deleted else ""
return _("{}Feed: {}").format(delete_str, self.title)
def __init__(self, *args, **kwargs):
super(Feed, self).__init__(*args, **kwargs)
self.__previousVisible = self.visible
def save(self, force_insert=False, force_update=False, *args, **kwargs):
created = self.pk is None
super(Feed, self).save(force_insert, force_update, *args, **kwargs)
if self.visible and (created or not self.__previousVisible):
self.refresh_from_db() # Fetch so we can use primary key
url = f"https://{FRONTEND_URL}/feed/{self.pk}"
processHooks(
message=generateMessage(
"Uusi uutinen", self.title, self.description, url
),
eventType="feed",
)
self.__previousVisible = self.visible
class Event(BaseFeed):
"""Model for event in guild calendar"""
@@ -94,35 +99,14 @@ class Event(BaseFeed):
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
webhookUrl = f"https://{FRONTEND_URL}/events"
hookType = "event"
class Meta:
verbose_name = _("Event")
verbose_name_plural = _("Events")
def __str__(self):
delete_str = _("Deleted: ") if self.deleted else ""
return _("{}Event: {}").format(delete_str, self.title)
def __init__(self, *args, **kwargs):
super(Event, self).__init__(*args, **kwargs)
self.__previousVisible = self.visible
def save(self, force_insert=False, force_update=False, *args, **kwargs):
created = self.pk is None
super(Event, self).save(force_insert, force_update, *args, **kwargs)
if self.visible and (created or not self.__previousVisible):
self.refresh_from_db() # Fetch so we can use primary key
url = f"https://{FRONTEND_URL}/events/{self.pk}"
processHooks(
message=generateMessage(
"Uusi tapahtuma", self.title, self.description, url
),
eventType="event",
)
self.__previousVisible = self.visible
class TemplateQuestion(models.Model):
"""