check if key exists before creating key and rename functions
This commit is contained in:
@@ -90,7 +90,6 @@ def ep_create_new_pad(pad_id, text="helloworld"):
|
||||
return None
|
||||
|
||||
pad_id_status = ep_pad_exists(pad_id)
|
||||
print(f"Status: {pad_id_status}")
|
||||
if pad_id_status is None:
|
||||
return None
|
||||
elif pad_id_status is True:
|
||||
|
||||
@@ -12,7 +12,7 @@ from django.utils.translation import gettext_lazy as _
|
||||
from taggit.managers import TaggableManager
|
||||
|
||||
from core.models import CustomFlatPage
|
||||
from documents.api import ep_create_new_pad, ep_get_html, ep_get_url, ep_set_html
|
||||
from documents.api import ep_create_new_pad, ep_get_html, ep_get_url, ep_pad_exists, ep_set_html
|
||||
|
||||
from .managers import (
|
||||
AllEventManager,
|
||||
@@ -166,7 +166,7 @@ class Post(models.Model):
|
||||
@agenda_html.setter
|
||||
def agenda_html(self, value):
|
||||
if not self.agenda_key:
|
||||
self.agenda_key = self.get_agenda_key()
|
||||
self.agenda_key = self.create_agenda_key()
|
||||
if not value or not self.agenda_key:
|
||||
return None
|
||||
|
||||
@@ -180,7 +180,7 @@ class Post(models.Model):
|
||||
@protocol_html.setter
|
||||
def protocol_html(self, value):
|
||||
if not self.protocol_key:
|
||||
self.protocol_key = self.get_protocol_key()
|
||||
self.protocol_key = self.create_protocol_key()
|
||||
if not value or not self.protocol_key:
|
||||
return None
|
||||
|
||||
@@ -192,37 +192,30 @@ class Post(models.Model):
|
||||
return value
|
||||
|
||||
@property
|
||||
def agenda_link(self):
|
||||
def agenda_url(self):
|
||||
if self.has_agenda:
|
||||
print(f"Has Agenda Key: {self.agenda_key}")
|
||||
return ep_get_url(self.agenda_key)
|
||||
|
||||
return "#"
|
||||
|
||||
@property
|
||||
def protocol_link(self):
|
||||
def protocol_url(self):
|
||||
if self.has_protocol:
|
||||
return ep_get_url(self.protocol_key)
|
||||
|
||||
return "#"
|
||||
|
||||
@property
|
||||
def filename_agenda(self):
|
||||
filename_agenda = None
|
||||
if self.has_agenda and self.agenda_link != "#":
|
||||
filename_agenda = self.slug + "-agenda.pdf"
|
||||
|
||||
return filename_agenda
|
||||
def agenda_filename(self):
|
||||
if self.has_agenda and self.agenda_url != "#":
|
||||
return self.slug + "-agenda.pdf"
|
||||
return None
|
||||
|
||||
@property
|
||||
def filename_protocol(self):
|
||||
filename_protocol = None
|
||||
if self.has_agenda and self.protocol_link != "#":
|
||||
filename_protocol = self.slug + "-protokoll.pdf"
|
||||
def protocol_filename(self):
|
||||
if self.has_agenda and self.protocol_url != "#":
|
||||
return self.slug + "-protokoll.pdf"
|
||||
return None
|
||||
|
||||
return filename_protocol
|
||||
|
||||
def get_agenda_key(self):
|
||||
def create_agenda_key(self):
|
||||
"""
|
||||
Create a Etherpad Id for the Pad associated to this post.
|
||||
Create the pad if it doesn't exist.
|
||||
@@ -231,7 +224,7 @@ class Post(models.Model):
|
||||
return None
|
||||
return create_pad_for_post(self.slug, "agenda")
|
||||
|
||||
def get_protocol_key(self):
|
||||
def create_protocol_key(self):
|
||||
"""
|
||||
Create a Etherpad Id for the Pad associated to this post.
|
||||
Create the pad if it doesn't exist.
|
||||
@@ -343,8 +336,11 @@ class FetMeeting(Event):
|
||||
self.has_agenda = True
|
||||
self.has_protocol = True
|
||||
|
||||
self.agenda_key = self.get_agenda_key()
|
||||
self.protocol_key = self.get_protocol_key()
|
||||
if not ep_pad_exists(self.agenda_key):
|
||||
self.agenda_key = self.create_agenda_key()
|
||||
|
||||
if not ep_pad_exists(self.protocol_key):
|
||||
self.protocol_key = self.create_protocol_key()
|
||||
|
||||
if not self.post_type:
|
||||
self.post_type = "F"
|
||||
|
||||
@@ -105,7 +105,7 @@ class PostDetailView(DetailView):
|
||||
response = super().get(request, *args, **kwargs)
|
||||
|
||||
# check if etherpad server works
|
||||
if self.object.agenda_link or self.object.protocol_link:
|
||||
if self.object.agenda_url or self.object.protocol_url:
|
||||
try:
|
||||
response = add_ep_cookie(request, response)
|
||||
except Exception as e:
|
||||
|
||||
@@ -100,12 +100,12 @@
|
||||
x-transition:leave-end="transform origin-right opacity-0 scale-95"
|
||||
>
|
||||
<li class="block sm:inline-block group hover:bg-gray-100 dark:hover:bg-gray-800 hover:text-gray-800 dark:hover:text-gray-200">
|
||||
<a href="{{ post.agenda_link }}" class="inline-flex items-center px-2 py-1">
|
||||
<a href="{{ post.agenda_url }}" class="inline-flex items-center px-2 py-1">
|
||||
<i class="fa-solid fa-file-signature fa-fw text-proprietary dark:text-proprietary-light md:text-inherit group-hover:text-proprietary dark:group-hover:text-proprietary-light"></i>
|
||||
<span class="ml-2 sm:ml-1">Bearbeiten</span>
|
||||
</a>
|
||||
</li>
|
||||
{% if post.filename_agenda %}
|
||||
{% if post.agenda_filename %}
|
||||
<li class="block sm:inline-block group hover:bg-gray-200 dark:hover:bg-gray-800 hover:text-gray-800 dark:hover:text-gray-200">
|
||||
<a href="{% url 'posts:show_pdf_agenda' post.slug %}" class="inline-flex items-center px-2 py-1">
|
||||
<i class="fa-solid fa-file-pdf fa-fw text-red-800 dark:text-red-500 md:text-inherit group-hover:text-red-800 dark:group-hover:text-red-500"></i>
|
||||
@@ -136,11 +136,11 @@
|
||||
x-transition:leave-end="transform origin-right opacity-0 scale-95"
|
||||
>
|
||||
<li class="block sm:inline-block group hover:bg-gray-100 dark:hover:bg-gray-800 hover:text-gray-800 dark:hover:text-gray-200">
|
||||
<a href="{{ post.protocol_link }}" class="inline-flex items-center px-2 py-1"><i class="fa-solid fa-file-signature fa-fw text-proprietary dark:text-proprietary-light md:text-inherit group-hover:text-proprietary dark:group-hover:text-proprietary-light"></i>
|
||||
<a href="{{ post.protocol_url }}" class="inline-flex items-center px-2 py-1"><i class="fa-solid fa-file-signature fa-fw text-proprietary dark:text-proprietary-light md:text-inherit group-hover:text-proprietary dark:group-hover:text-proprietary-light"></i>
|
||||
<span class="ml-2 sm:ml-1">Bearbeiten</span>
|
||||
</a>
|
||||
</li>
|
||||
{% if post.filename_protocol %}
|
||||
{% if post.protocol_filename %}
|
||||
<li class="block sm:inline-block group hover:bg-gray-200 dark:hover:bg-gray-800 hover:text-gray-800 dark:hover:text-gray-200">
|
||||
<a href="{% url 'posts:show_pdf_protocol' post.slug %}" class="inline-flex items-center px-2 py-1">
|
||||
<i class="fa-solid fa-file-pdf fa-fw text-red-800 dark:text-red-500 md:text-inherit group-hover:text-red-800 dark:group-hover:text-red-500"></i>
|
||||
|
||||
@@ -109,13 +109,13 @@ class TestPostEtherpad:
|
||||
|
||||
def test_agenda_id(self, post_saved, mock_createpad):
|
||||
mock_createpad.return_value = post_saved.slug + "-agenda"
|
||||
k = post_saved.get_agenda_key()
|
||||
k = post_saved.create_agenda_key()
|
||||
mock_createpad.assert_called_with(post_saved.slug + "-agenda")
|
||||
assert post_saved.slug in str(k)
|
||||
|
||||
def test_protocol_id(self, post_saved, mock_createpad):
|
||||
mock_createpad.return_value = post_saved.slug + "-protocol"
|
||||
k = post_saved.get_protocol_key()
|
||||
k = post_saved.create_protocol_key()
|
||||
mock_createpad.assert_called_with(post_saved.slug + "-protocol")
|
||||
assert post_saved.slug in str(k)
|
||||
|
||||
@@ -124,7 +124,7 @@ class TestPostEtherpad:
|
||||
raise URLError("Mocked Etherpad Down")
|
||||
|
||||
mock_createpad.side_effect = raise_url_error
|
||||
k = post_saved.get_protocol_key()
|
||||
k = post_saved.create_protocol_key()
|
||||
mock_createpad.assert_called()
|
||||
assert k == None
|
||||
|
||||
|
||||
Reference in New Issue
Block a user