merge
This commit is contained in:
@@ -1,14 +1,15 @@
|
|||||||
from etherpad_lite import EtherpadLiteClient
|
# from etherpad_lite import EtherpadLiteClient
|
||||||
# from django.conf import settings
|
# from django.conf import settings
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from django.utils.text import slugify
|
# from django.utils.text import slugify
|
||||||
import urllib.parse
|
import urllib.parse
|
||||||
t = datetime.now() + timedelta(days=1)
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
import os
|
# import os
|
||||||
from .api import ep
|
from .api import ep
|
||||||
# from .etherpadlib import get_ep_sessionid2, add_ep_cookie
|
# from .etherpadlib import get_ep_sessionid2, add_ep_cookie
|
||||||
SERVER_URL = settings.ETHERPAD_CLIENT["exturl"]
|
SERVER_URL = settings.ETHERPAD_CLIENT["exturl"]
|
||||||
|
t = datetime.now() + timedelta(days=1)
|
||||||
|
|
||||||
|
|
||||||
def get_pad_link(padID):
|
def get_pad_link(padID):
|
||||||
if padID is None:
|
if padID is None:
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ from etherpad_lite import EtherpadLiteClient, EtherpadException
|
|||||||
|
|
||||||
class ep_api():
|
class ep_api():
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.group=None
|
self.group = None
|
||||||
self.epc=None
|
self.epc = None
|
||||||
return
|
return
|
||||||
|
|
||||||
def load(self):
|
def load(self):
|
||||||
@@ -21,20 +21,21 @@ class ep_api():
|
|||||||
base_url=urllib.parse.urljoin(settings.ETHERPAD_CLIENT["url"], "api")
|
base_url=urllib.parse.urljoin(settings.ETHERPAD_CLIENT["url"], "api")
|
||||||
)
|
)
|
||||||
g = epc.createGroupIfNotExistsFor(groupMapper="fet")
|
g = epc.createGroupIfNotExistsFor(groupMapper="fet")
|
||||||
self.group=g
|
self.group = g
|
||||||
self.epc=epc
|
self.epc = epc
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
raise e
|
raise e
|
||||||
self.group=None
|
self.group = None
|
||||||
self.epc=None
|
self.epc = None
|
||||||
|
|
||||||
def checkPadExists(self,padID=None):
|
def checkPadExists(self, padID=None):
|
||||||
print( self.epc.listPads(groupID=self.group["groupID"]))
|
print(self.epc.listPads(groupID=self.group["groupID"]))
|
||||||
if not padID:
|
if not padID:
|
||||||
return False
|
return False
|
||||||
try:
|
try:
|
||||||
r=self.epc.getRevisionsCount(padID=self.group["groupID"]+"$"+padID)
|
self.epc.getRevisionsCount(padID=self.group["groupID"] + "$" + padID)
|
||||||
except EtherpadException as e:
|
except EtherpadException as e:
|
||||||
|
print(e)
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@@ -43,19 +44,20 @@ class ep_api():
|
|||||||
if not self.epc:
|
if not self.epc:
|
||||||
return None
|
return None
|
||||||
if not self.checkPadExists(padID=padid): # Pad doesn't exist
|
if not self.checkPadExists(padID=padid): # Pad doesn't exist
|
||||||
self.epc.createGroupPad(groupID=self.group["groupID"],padName=padid,text="helloworld")
|
self.epc.createGroupPad(groupID=self.group["groupID"], padName=padid, text="helloworld")
|
||||||
return padid
|
return padid
|
||||||
|
|
||||||
def get_epc(self):
|
def get_epc(self):
|
||||||
if self.epc:
|
if self.epc:
|
||||||
return self.epc
|
return self.epc
|
||||||
self.load()
|
self.load()
|
||||||
return self.epc
|
return self.epc
|
||||||
|
|
||||||
def get_ep_sessionid2(self,request):
|
def get_ep_sessionid2(self, request):
|
||||||
if request.user is None:
|
if request.user is None:
|
||||||
return None, None
|
return None, None
|
||||||
if not request.user.is_authenticated:
|
if not request.user.is_authenticated:
|
||||||
return None,None
|
return None, None
|
||||||
# server = SERVER_URL
|
# server = SERVER_URL
|
||||||
ep.get_epc()
|
ep.get_epc()
|
||||||
author = self.epc.createAuthorIfNotExistsFor(
|
author = self.epc.createAuthorIfNotExistsFor(
|
||||||
@@ -78,5 +80,4 @@ class ep_api():
|
|||||||
return result['sessionID'], expires
|
return result['sessionID'], expires
|
||||||
|
|
||||||
|
|
||||||
|
ep = ep_api()
|
||||||
ep=ep_api()
|
|
||||||
|
|||||||
@@ -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
|
# from django.utils.text import slugify
|
||||||
import urllib.parse
|
# import urllib.parse
|
||||||
# from django.conf import settings
|
# from django.conf import settings
|
||||||
from .api import ep
|
from .api import ep
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def add_ep_cookie(request, response):
|
def add_ep_cookie(request, response):
|
||||||
response.set_cookie("HILib", "TestWert", domain="https://andis.2020.fet.at")
|
response.set_cookie("HILib", "TestWert", domain="https://andis.2020.fet.at")
|
||||||
ep_sessid, expires = ep.get_ep_sessionid2(request)
|
ep_sessid, expires = ep.get_ep_sessionid2(request)
|
||||||
@@ -17,7 +16,7 @@ def add_ep_cookie(request, response):
|
|||||||
"NOTAUTHENTICATED",
|
"NOTAUTHENTICATED",
|
||||||
expires=expires,
|
expires=expires,
|
||||||
domain=".2020.fet.at",
|
domain=".2020.fet.at",
|
||||||
path="/"
|
path="/",
|
||||||
)
|
)
|
||||||
return response
|
return response
|
||||||
response.set_cookie(
|
response.set_cookie(
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ from rest_framework import serializers
|
|||||||
|
|
||||||
|
|
||||||
class MemberQuerySet(models.QuerySet):
|
class MemberQuerySet(models.QuerySet):
|
||||||
def get_members(self):
|
def get_active(self):
|
||||||
date_today = timezone.now().date()
|
date_today = timezone.now().date()
|
||||||
|
|
||||||
return self.filter(
|
return self.filter(
|
||||||
@@ -35,11 +35,11 @@ class ActiveMemberManager(models.Manager):
|
|||||||
def get_members_of_job(self, job_names):
|
def get_members_of_job(self, job_names):
|
||||||
tmp_list = []
|
tmp_list = []
|
||||||
for job_name in job_names:
|
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
|
return tmp_list
|
||||||
|
|
||||||
def get_all(self):
|
def get_all(self):
|
||||||
return self.get_queryset().get_members()
|
return self.get_queryset().get_active()
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
return MemberQuerySet(self.model, using=self._db)
|
return MemberQuerySet(self.model, using=self._db)
|
||||||
|
|||||||
@@ -103,7 +103,6 @@ class MyFetMeetingForm(MyEventForm):
|
|||||||
'has_protocol': _('Protokoll zur Sitzung hinzufügen.'),
|
'has_protocol': _('Protokoll zur Sitzung hinzufügen.'),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super().__init__(*args, **kwargs) # to get the self.fields set
|
super().__init__(*args, **kwargs) # to get the self.fields set
|
||||||
|
|
||||||
|
|||||||
@@ -14,8 +14,6 @@ from .managers import (
|
|||||||
PostManager, ArticleManager, NewsManager, AllEventManager, EventManager, FetMeetingManager
|
PostManager, ArticleManager, NewsManager, AllEventManager, EventManager, FetMeetingManager
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# from ckeditor_uploader import RichTextUploadingField
|
# from ckeditor_uploader import RichTextUploadingField
|
||||||
# import uuid
|
# import uuid
|
||||||
import re
|
import re
|
||||||
@@ -149,8 +147,10 @@ class Post(models.Model):
|
|||||||
if (self.id is None) and (not self.slug):
|
if (self.id is None) and (not self.slug):
|
||||||
self.slug = slugify(self.public_date.date()) + "-" + slugify(self.title)
|
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")
|
if self.has_agenda: # and (self.agenda_key == "" or self.agenda_key is None):
|
||||||
|
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):
|
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")
|
slug = slugify(self.event_start.date()) + "-" + slugify("Fachschaftssitzung")
|
||||||
|
|
||||||
|
|
||||||
if Post.objects.filter(slug=slug).exists():
|
if Post.objects.filter(slug=slug).exists():
|
||||||
if Post.objects.get(slug=slug).id != self.id:
|
if Post.objects.get(slug=slug).id != self.id:
|
||||||
raise ValidationError(_('Es existiert bereits eine Sitzung mit demselben Datum.'))
|
raise ValidationError(_('Es existiert bereits eine Sitzung mit demselben Datum.'))
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ from rest_framework import viewsets
|
|||||||
# from rest_framework import permissions
|
# from rest_framework import permissions
|
||||||
|
|
||||||
from .models import Post, PostSerializer, FetMeeting
|
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 add_ep_to_response, get_ep_sessionid2
|
||||||
from documents import get_pad_link
|
from documents import get_pad_link
|
||||||
from documents.etherpadlib import add_ep_cookie
|
from documents.etherpadlib import add_ep_cookie
|
||||||
@@ -35,10 +35,23 @@ def index(request):
|
|||||||
def tags(request, tag=""):
|
def tags(request, tag=""):
|
||||||
posts = deque(Post.objects.get_visible_articles().filter(tags__name=tag))
|
posts = deque(Post.objects.get_visible_articles().filter(tags__name=tag))
|
||||||
featured_post = Post.objects.get_visible_articles().filter(slug=tag).first()
|
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 = {
|
context = {
|
||||||
"posts": posts,
|
"posts": posts,
|
||||||
"featured_post": featured_post,
|
"featured_post": featured_post,
|
||||||
|
"members": members,
|
||||||
"tags_list": None,
|
"tags_list": None,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,18 @@
|
|||||||
|
|
||||||
{% if active_members %}
|
{% if active_members %}
|
||||||
<b>Aktuelle Mitglieder:</b>
|
|
||||||
{% with job_memberships=active_members %}
|
<b>Aktuelle Mitglieder:</b>
|
||||||
|
{% with job_memberships=active_members %}
|
||||||
{% include 'members/partials/_job_membership_grid.html' %}
|
{% include 'members/partials/_job_membership_grid.html' %}
|
||||||
{% endwith %}
|
{% endwith %}
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if inactive_members %}
|
{% if inactive_members %}
|
||||||
<b>Vergangene Mitglieder: </b>
|
|
||||||
{% with job_memberships=inactive_members %}
|
<b>Vergangene Mitglieder: </b>
|
||||||
|
{% with job_memberships=inactive_members %}
|
||||||
{% include 'members/partials/_job_membership_grid.html' %}
|
{% include 'members/partials/_job_membership_grid.html' %}
|
||||||
{% endwith %}
|
{% endwith %}
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -34,19 +34,37 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endwith %}
|
{% endwith %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="grid-container">
|
<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 %}
|
||||||
|
|
||||||
<div class="grid-x">
|
{% 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">
|
<div class="medium-8 cell">
|
||||||
{% for post in posts %}
|
{% for post in posts %}
|
||||||
{% include 'posts/partials/_posts_hero.html' %}
|
{% include 'posts/partials/_posts_hero.html' %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
Reference in New Issue
Block a user