diff --git a/fet2020/documents/api.py b/fet2020/documents/api.py index bbd093a0..0e36a7a4 100644 --- a/fet2020/documents/api.py +++ b/fet2020/documents/api.py @@ -64,22 +64,37 @@ def createPadifNotExists(padID): try: epc.createGroupPad(groupID=group["groupID"], padName=padID, text="helloworld") except EtherpadException as e: - # TODO: change it after Etherpad server is a better one than that because of http 500 - print(e) + logger.info("Can't create Pad '{}'. EtherpadException: {}".format(padID, e)) return None except Exception as e: raise e + return None + return padID def getPadHTML(padID): epc, group = get_ep_client() - text = epc.getHTML(padID=group["groupID"] + "$" + padID)["html"] + if not epc or not group: + return None + + try: + text = epc.getHTML(padID=group["groupID"] + "$" + padID)["html"] + except EtherpadException as e: + logger.info("Can't get HTML from padID '{}'. EtherpadException: {}".format(padID, e)) + return None + except Exception as e: + raise e + return None + return text def setPadHTML(padID, html): epc, group = get_ep_client() + if not epc or not group: + return None + epc.setHTML(padID=group["groupID"] + "$" + padID, html=html) return html @@ -89,7 +104,7 @@ def get_pad_link(padID): return "#" epc, group = get_ep_client() - if epc: - return urllib.parse.urljoin(settings.ETHERPAD_CLIENT["exturl"], 'p/' + group["groupID"] + '$' + str(padID)) + if not epc or not group: + return "#" - return "" + return urllib.parse.urljoin(settings.ETHERPAD_CLIENT["exturl"], 'p/' + group["groupID"] + '$' + str(padID)) diff --git a/fet2020/members/models.py b/fet2020/members/models.py index 6fbbece3..792fafad 100644 --- a/fet2020/members/models.py +++ b/fet2020/members/models.py @@ -7,7 +7,6 @@ from django.utils.translation import gettext_lazy as _ from datetime import timedelta from easy_thumbnails.fields import ThumbnailerImageField -from rest_framework import serializers class ActiveMemberManager(models.Manager): @@ -125,20 +124,6 @@ class Member(models.Model): return self.firstname + " " + self.surname -class MemberSerializer(serializers.HyperlinkedModelSerializer): - class Meta: - model = Member - fields = [ - 'firstname', - 'surname', - 'nickname', - 'mailaccount', - 'role', - 'description', - 'image', - ] - - class JobGroup(models.Model): name = models.CharField(max_length=128) diff --git a/fet2020/members/serializers.py b/fet2020/members/serializers.py new file mode 100644 index 00000000..2dbdc43b --- /dev/null +++ b/fet2020/members/serializers.py @@ -0,0 +1,17 @@ +from .models import Member + +from rest_framework import serializers + + +class MemberSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = Member + fields = [ + 'firstname', + 'surname', + 'nickname', + 'mailaccount', + 'role', + 'description', + 'image', + ] diff --git a/fet2020/members/views.py b/fet2020/members/views.py index d972de99..b8f0e672 100644 --- a/fet2020/members/views.py +++ b/fet2020/members/views.py @@ -3,11 +3,11 @@ from django.shortcuts import render from collections import deque -from .models import Member, JobMember, JobGroup, MemberSerializer +from .models import Member, JobMember, JobGroup +from .serializers import MemberSerializer from rest_framework import viewsets -from rest_framework import permissions -# from django_filters.rest_framework import DjangoFilterBackend +#from rest_framework import permissions def __get_job_groups(): @@ -96,7 +96,7 @@ class MemberViewSet(viewsets.ModelViewSet): queryset = Member.all_members.all().order_by('nickname') serializer_class = MemberSerializer - permission_classes = [permissions.IsAuthenticated] + #permission_classes = [permissions.IsAuthenticated] # filter_backends = [DjangoFilterBackend] # filterset_fields = ['legacy_id', 'slug','legacy_rubrik_id'] lookup_field = 'name' diff --git a/fet2020/posts/models.py b/fet2020/posts/models.py index 5dbcda16..d8b588c1 100644 --- a/fet2020/posts/models.py +++ b/fet2020/posts/models.py @@ -13,12 +13,11 @@ from .managers import ( ) import re -from rest_framework import serializers from datetime import timedelta import logging -logger = logging.getLogger('posts') +logger = logging.getLogger(__name__) request_logger = logging.getLogger('django.request') @@ -205,29 +204,6 @@ class Post(models.Model): return "Post (%s, %s): %s " % (self.slug, self.public_date.strftime("%d.%m.%Y"), self.title) -class PostSerializer(serializers.HyperlinkedModelSerializer): - agenda_html = serializers.CharField() - - class Meta: - model = Post - fields = [ - 'slug', - 'title', - 'subtitle', - 'body', - 'url', - 'post_type', - 'public_date', - 'legacy_id', - 'image', - 'event_start', - 'event_end', - 'is_hidden', - 'agenda_html' - # 'author', - ] - - class News(Post): objects = NewsManager() diff --git a/fet2020/posts/serializers.py b/fet2020/posts/serializers.py new file mode 100644 index 00000000..c9714953 --- /dev/null +++ b/fet2020/posts/serializers.py @@ -0,0 +1,26 @@ +from .models import Post + +from rest_framework import serializers + + +class PostSerializer(serializers.HyperlinkedModelSerializer): + agenda_html = serializers.CharField() + + class Meta: + model = Post + fields = [ + 'slug', + 'title', + 'subtitle', + 'body', + 'url', + 'post_type', + 'public_date', + 'legacy_id', + 'image', + 'event_start', + 'event_end', + 'is_hidden', + 'agenda_html' + # 'author', + ] diff --git a/fet2020/posts/views.py b/fet2020/posts/views.py index 80f67905..6349e7fb 100644 --- a/fet2020/posts/views.py +++ b/fet2020/posts/views.py @@ -8,7 +8,8 @@ from django_filters.rest_framework import DjangoFilterBackend from rest_framework import viewsets from taggit.models import Tag -from .models import Post, PostSerializer, FetMeeting +from .models import Post, FetMeeting +from .serializers import PostSerializer from documents.api import get_pad_link from documents.etherpadlib import add_ep_cookie from members.models import Member, JobMember