diff --git a/fet2020/posts/models.py b/fet2020/posts/models.py index 9e5fb270..2d1d791f 100644 --- a/fet2020/posts/models.py +++ b/fet2020/posts/models.py @@ -197,28 +197,68 @@ class Post(models.Model): ) return value - @property - def agenda_url(self): - if self.has_agenda: - return ep_get_url(self.agenda_key) - return "#" + _agenda_filename = None + _agenda_url = "#" @property - def protocol_url(self): - if self.has_protocol: - return ep_get_url(self.protocol_key) - return "#" + def agenda_url(self): + if self.has_agenda is not True: + self.a_url = "#" + self._agenda_filename = None + return self.a_url + + if self._agenda_url != "#": + return self._agenda_url + + if (url := ep_get_url(self.agenda_key)) != "#": + self._agenda_url = url + self._agenda_filename = self.slug + "-agenda.pdf" + else: + self._agenda_url = "#" + self._agenda_filename = None + + return self._agenda_url @property def agenda_filename(self): + if self._agenda_filename is not None: + return self._agenda_filename + if self.has_agenda and self.agenda_url != "#": return self.slug + "-agenda.pdf" + return None + _protocol_filename = None + _protocol_url = "#" + + @property + def protocol_url(self): + if self.has_protocol is not True: + self._protocol_url = "#" + self._protocol_filename = None + return self._protocol_url + + if self._protocol_url != "#": + return self._protocol_url + + if (url := ep_get_url(self.protocol_key)) != "#": + self._protocol_url = url + self._protocol_filename = self.slug + "-agenda.pdf" + else: + self._protocol_url = "#" + self._protocol_filename = None + + return self._protocol_url + @property def protocol_filename(self): + if self._protocol_filename is not None: + return self._protocol_filename + if self.has_protocol and self.protocol_url != "#": return self.slug + "-protokoll.pdf" + return None def create_agenda_key(self):