This commit is contained in:
2020-09-08 05:21:36 +00:00
10 changed files with 91 additions and 56 deletions

View File

@@ -1,14 +1,15 @@
from etherpad_lite import EtherpadLiteClient
# from etherpad_lite import EtherpadLiteClient
# from django.conf import settings
from datetime import datetime, timedelta
from django.utils.text import slugify
# from django.utils.text import slugify
import urllib.parse
t = datetime.now() + timedelta(days=1)
from django.conf import settings
import os
# import os
from .api import ep
# from .etherpadlib import get_ep_sessionid2, add_ep_cookie
SERVER_URL = settings.ETHERPAD_CLIENT["exturl"]
t = datetime.now() + timedelta(days=1)
def get_pad_link(padID):
if padID is None:

View File

@@ -33,8 +33,9 @@ class ep_api():
if not padID:
return False
try:
r=self.epc.getRevisionsCount(padID=self.group["groupID"]+"$"+padID)
self.epc.getRevisionsCount(padID=self.group["groupID"] + "$" + padID)
except EtherpadException as e:
print(e)
return False
return True
@@ -45,6 +46,7 @@ class ep_api():
if not self.checkPadExists(padID=padid): # Pad doesn't exist
self.epc.createGroupPad(groupID=self.group["groupID"], padName=padid, text="helloworld")
return padid
def get_epc(self):
if self.epc:
return self.epc
@@ -78,5 +80,4 @@ class ep_api():
return result['sessionID'], expires
ep = ep_api()

View File

@@ -1,13 +1,12 @@
from etherpad_lite import EtherpadLiteClient
# from etherpad_lite import EtherpadLiteClient
from datetime import datetime, timedelta
# from datetime import datetime, timedelta
# from django.utils.text import slugify
import urllib.parse
# import urllib.parse
# from django.conf import settings
from .api import ep
def add_ep_cookie(request, response):
response.set_cookie("HILib", "TestWert", domain="https://andis.2020.fet.at")
ep_sessid, expires = ep.get_ep_sessionid2(request)
@@ -17,7 +16,7 @@ def add_ep_cookie(request, response):
"NOTAUTHENTICATED",
expires=expires,
domain=".2020.fet.at",
path="/"
path="/",
)
return response
response.set_cookie(

View File

@@ -11,7 +11,7 @@ from rest_framework import serializers
class MemberQuerySet(models.QuerySet):
def get_members(self):
def get_active(self):
date_today = timezone.now().date()
return self.filter(
@@ -35,11 +35,11 @@ class ActiveMemberManager(models.Manager):
def get_members_of_job(self, job_names):
tmp_list = []
for job_name in job_names:
tmp_list.append(self.get_queryset().get_members().filter(Q(job__name=job_name)))
tmp_list.append(self.get_queryset().get_active().filter(Q(job__name=job_name)))
return tmp_list
def get_all(self):
return self.get_queryset().get_members()
return self.get_queryset().get_active()
def get_queryset(self):
return MemberQuerySet(self.model, using=self._db)

View File

@@ -103,7 +103,6 @@ class MyFetMeetingForm(MyEventForm):
'has_protocol': _('Protokoll zur Sitzung hinzufügen.'),
}
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs) # to get the self.fields set

View File

@@ -14,8 +14,6 @@ from .managers import (
PostManager, ArticleManager, NewsManager, AllEventManager, EventManager, FetMeetingManager
)
# from ckeditor_uploader import RichTextUploadingField
# import uuid
import re
@@ -149,8 +147,10 @@ class Post(models.Model):
if (self.id is None) and (not self.slug):
self.slug = slugify(self.public_date.date()) + "-" + slugify(self.title)
if self.has_agenda: # and (self.agenda_key == "" or self.agenda_key is None):
self.agenda_key= ep.createPadifNotExists(self.slug+"-agenda")
self.agenda_key = ep.createPadifNotExists(self.slug + "agenda")
print("AgendaKey: %s" % self.agenda_key)
if self.has_protocol and (self.agenda_key == "" or self.agenda_key is None):
@@ -249,7 +249,6 @@ class FetMeeting(Event):
slug = slugify(self.event_start.date()) + "-" + slugify("Fachschaftssitzung")
if Post.objects.filter(slug=slug).exists():
if Post.objects.get(slug=slug).id != self.id:
raise ValidationError(_('Es existiert bereits eine Sitzung mit demselben Datum.'))

View File

@@ -10,7 +10,7 @@ from rest_framework import viewsets
# from rest_framework import permissions
from .models import Post, PostSerializer, FetMeeting
from members.models import Member
from members.models import Member, JobMember
# from documents import add_ep_to_response, get_ep_sessionid2
from documents import get_pad_link
from documents.etherpadlib import add_ep_cookie
@@ -35,10 +35,23 @@ def index(request):
def tags(request, tag=""):
posts = deque(Post.objects.get_visible_articles().filter(tags__name=tag))
featured_post = Post.objects.get_visible_articles().filter(slug=tag).first()
members = []
job_names, slug_list = JobMember.jobs.get_job_names(slug=tag)
if job_names:
active_members = JobMember.active_member.get_members_of_job(job_names=job_names)
for idx, item in enumerate(job_names):
if active_members[idx]:
members.append(
(job_names[idx], active_members[idx], tag + "#" + slug_list[idx])
)
context = {
"posts": posts,
"featured_post": featured_post,
"members": members,
"tags_list": None,
}

View File

@@ -1,13 +1,18 @@
{% if active_members %}
<b>Aktuelle Mitglieder:</b>
{% with job_memberships=active_members %}
{% include 'members/partials/_job_membership_grid.html' %}
{% endwith %}
{% endif %}
{% if inactive_members %}
<b>Vergangene Mitglieder: </b>
{% with job_memberships=inactive_members %}
{% include 'members/partials/_job_membership_grid.html' %}
{% endwith %}
{% endif %}

View File

@@ -36,17 +36,35 @@
</div>
{% endwith %}
{% endif %}
<div class="grid-container">
{% for member in members %}
<h2>{{member.0}}<a class="headerlink" href="/members/jobs/{{member.2}}" title="Permalink to {{member.2}}"> #</a></h2>
<div class="grid-x">
{% for mem in member.1 %}
{% with member=mem.member %}
<div class="medium-3 large-2 small-6 cell">
<h2>{{member.surname}}</h2>
{% include 'members/partials/_member.html' %}
</div>
{% endwith %}
{% endfor %}
</div>
{% endfor %}
</div>
<div class="grid-container">
<div class="grid-x">
<div class="medium-8 cell">
{% for post in posts %}
{% include 'posts/partials/_posts_hero.html' %}
{% endfor %}
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}