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
|
return None
|
||||||
|
|
||||||
pad_id_status = ep_pad_exists(pad_id)
|
pad_id_status = ep_pad_exists(pad_id)
|
||||||
print(f"Status: {pad_id_status}")
|
|
||||||
if pad_id_status is None:
|
if pad_id_status is None:
|
||||||
return None
|
return None
|
||||||
elif pad_id_status is True:
|
elif pad_id_status is True:
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ from django.utils.translation import gettext_lazy as _
|
|||||||
from taggit.managers import TaggableManager
|
from taggit.managers import TaggableManager
|
||||||
|
|
||||||
from core.models import CustomFlatPage
|
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 (
|
from .managers import (
|
||||||
AllEventManager,
|
AllEventManager,
|
||||||
@@ -166,7 +166,7 @@ class Post(models.Model):
|
|||||||
@agenda_html.setter
|
@agenda_html.setter
|
||||||
def agenda_html(self, value):
|
def agenda_html(self, value):
|
||||||
if not self.agenda_key:
|
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:
|
if not value or not self.agenda_key:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@@ -180,7 +180,7 @@ class Post(models.Model):
|
|||||||
@protocol_html.setter
|
@protocol_html.setter
|
||||||
def protocol_html(self, value):
|
def protocol_html(self, value):
|
||||||
if not self.protocol_key:
|
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:
|
if not value or not self.protocol_key:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@@ -192,37 +192,30 @@ class Post(models.Model):
|
|||||||
return value
|
return value
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def agenda_link(self):
|
def agenda_url(self):
|
||||||
if self.has_agenda:
|
if self.has_agenda:
|
||||||
print(f"Has Agenda Key: {self.agenda_key}")
|
|
||||||
return ep_get_url(self.agenda_key)
|
return ep_get_url(self.agenda_key)
|
||||||
|
|
||||||
return "#"
|
return "#"
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def protocol_link(self):
|
def protocol_url(self):
|
||||||
if self.has_protocol:
|
if self.has_protocol:
|
||||||
return ep_get_url(self.protocol_key)
|
return ep_get_url(self.protocol_key)
|
||||||
|
|
||||||
return "#"
|
return "#"
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def filename_agenda(self):
|
def agenda_filename(self):
|
||||||
filename_agenda = None
|
if self.has_agenda and self.agenda_url != "#":
|
||||||
if self.has_agenda and self.agenda_link != "#":
|
return self.slug + "-agenda.pdf"
|
||||||
filename_agenda = self.slug + "-agenda.pdf"
|
return None
|
||||||
|
|
||||||
return filename_agenda
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def filename_protocol(self):
|
def protocol_filename(self):
|
||||||
filename_protocol = None
|
if self.has_agenda and self.protocol_url != "#":
|
||||||
if self.has_agenda and self.protocol_link != "#":
|
return self.slug + "-protokoll.pdf"
|
||||||
filename_protocol = self.slug + "-protokoll.pdf"
|
return None
|
||||||
|
|
||||||
return filename_protocol
|
def create_agenda_key(self):
|
||||||
|
|
||||||
def get_agenda_key(self):
|
|
||||||
"""
|
"""
|
||||||
Create a Etherpad Id for the Pad associated to this post.
|
Create a Etherpad Id for the Pad associated to this post.
|
||||||
Create the pad if it doesn't exist.
|
Create the pad if it doesn't exist.
|
||||||
@@ -231,7 +224,7 @@ class Post(models.Model):
|
|||||||
return None
|
return None
|
||||||
return create_pad_for_post(self.slug, "agenda")
|
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 a Etherpad Id for the Pad associated to this post.
|
||||||
Create the pad if it doesn't exist.
|
Create the pad if it doesn't exist.
|
||||||
@@ -343,8 +336,11 @@ class FetMeeting(Event):
|
|||||||
self.has_agenda = True
|
self.has_agenda = True
|
||||||
self.has_protocol = True
|
self.has_protocol = True
|
||||||
|
|
||||||
self.agenda_key = self.get_agenda_key()
|
if not ep_pad_exists(self.agenda_key):
|
||||||
self.protocol_key = self.get_protocol_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:
|
if not self.post_type:
|
||||||
self.post_type = "F"
|
self.post_type = "F"
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ class PostDetailView(DetailView):
|
|||||||
response = super().get(request, *args, **kwargs)
|
response = super().get(request, *args, **kwargs)
|
||||||
|
|
||||||
# check if etherpad server works
|
# 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:
|
try:
|
||||||
response = add_ep_cookie(request, response)
|
response = add_ep_cookie(request, response)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
@@ -100,12 +100,12 @@
|
|||||||
x-transition:leave-end="transform origin-right opacity-0 scale-95"
|
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">
|
<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>
|
<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>
|
<span class="ml-2 sm:ml-1">Bearbeiten</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</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">
|
<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">
|
<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>
|
<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"
|
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">
|
<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>
|
<span class="ml-2 sm:ml-1">Bearbeiten</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</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">
|
<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">
|
<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>
|
<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):
|
def test_agenda_id(self, post_saved, mock_createpad):
|
||||||
mock_createpad.return_value = post_saved.slug + "-agenda"
|
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")
|
mock_createpad.assert_called_with(post_saved.slug + "-agenda")
|
||||||
assert post_saved.slug in str(k)
|
assert post_saved.slug in str(k)
|
||||||
|
|
||||||
def test_protocol_id(self, post_saved, mock_createpad):
|
def test_protocol_id(self, post_saved, mock_createpad):
|
||||||
mock_createpad.return_value = post_saved.slug + "-protocol"
|
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")
|
mock_createpad.assert_called_with(post_saved.slug + "-protocol")
|
||||||
assert post_saved.slug in str(k)
|
assert post_saved.slug in str(k)
|
||||||
|
|
||||||
@@ -124,7 +124,7 @@ class TestPostEtherpad:
|
|||||||
raise URLError("Mocked Etherpad Down")
|
raise URLError("Mocked Etherpad Down")
|
||||||
|
|
||||||
mock_createpad.side_effect = raise_url_error
|
mock_createpad.side_effect = raise_url_error
|
||||||
k = post_saved.get_protocol_key()
|
k = post_saved.create_protocol_key()
|
||||||
mock_createpad.assert_called()
|
mock_createpad.assert_called()
|
||||||
assert k == None
|
assert k == None
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user