merge
This commit is contained in:
@@ -25,6 +25,10 @@ def loginPage(request):
|
|||||||
user = User.objects.create_user(auth_user.lower())
|
user = User.objects.create_user(auth_user.lower())
|
||||||
|
|
||||||
login(request, user)
|
login(request, user)
|
||||||
|
|
||||||
|
try:
|
||||||
|
return redirect(request.GET.get('next'))
|
||||||
|
except:
|
||||||
return redirect('home')
|
return redirect('home')
|
||||||
else:
|
else:
|
||||||
messages.info(request, 'username or password is incorrect')
|
messages.info(request, 'username or password is incorrect')
|
||||||
|
|||||||
@@ -1,22 +0,0 @@
|
|||||||
# from django.contrib.auth.models import User
|
|
||||||
from django.contrib.auth.middleware import RemoteUserMiddleware
|
|
||||||
# import django
|
|
||||||
# import logging
|
|
||||||
# logger=logging.getLogger("django.request")
|
|
||||||
|
|
||||||
|
|
||||||
class FETHeaderMiddleware(RemoteUserMiddleware):
|
|
||||||
header = "Remote-User"
|
|
||||||
|
|
||||||
def process_request(self, request):
|
|
||||||
request.META[self.header] = request.META.get(
|
|
||||||
self.header,
|
|
||||||
request.headers.get(self.header, None)
|
|
||||||
)
|
|
||||||
# logger = logging.getLogger(__name__)
|
|
||||||
super().process_request(request)
|
|
||||||
# logger.info('User: ' + str(request.user))
|
|
||||||
if request.user.is_authenticated:
|
|
||||||
request.user.is_admin = True
|
|
||||||
request.user.is_superuser = True
|
|
||||||
request.user.is_staff = True
|
|
||||||
|
|||||||
@@ -89,7 +89,6 @@ MIDDLEWARE = [
|
|||||||
'django.middleware.common.CommonMiddleware',
|
'django.middleware.common.CommonMiddleware',
|
||||||
'django.middleware.csrf.CsrfViewMiddleware',
|
'django.middleware.csrf.CsrfViewMiddleware',
|
||||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||||
'fet2020.middleware.FETHeaderMiddleware',
|
|
||||||
'django.contrib.messages.middleware.MessageMiddleware',
|
'django.contrib.messages.middleware.MessageMiddleware',
|
||||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||||
]
|
]
|
||||||
@@ -141,7 +140,6 @@ else:
|
|||||||
|
|
||||||
|
|
||||||
AUTHENTICATION_BACKENDS = [
|
AUTHENTICATION_BACKENDS = [
|
||||||
# 'django.contrib.auth.backends.RemoteUserBackend',
|
|
||||||
'django.contrib.auth.backends.ModelBackend',
|
'django.contrib.auth.backends.ModelBackend',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ from django.conf.urls.static import static
|
|||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.views.generic import RedirectView
|
from django.views.generic import RedirectView
|
||||||
from . import views
|
from . import views
|
||||||
from posts.views import PostViewSet
|
from posts.viewsets import PostViewSet
|
||||||
from members.urls import member_urlpatterns, jobs_urlpatterns
|
from members.urls import member_urlpatterns, jobs_urlpatterns
|
||||||
from members.views import MemberViewSet, JobViewSet, JobGroupViewSet, JobMemberViewSet
|
from members.viewsets import MemberViewSet, JobViewSet, JobGroupViewSet, JobMemberViewSet
|
||||||
from rest_framework import routers
|
from rest_framework import routers
|
||||||
|
|
||||||
router = routers.DefaultRouter()
|
router = routers.DefaultRouter()
|
||||||
|
|||||||
@@ -2,13 +2,9 @@ from django.http import Http404
|
|||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
|
|
||||||
from collections import deque
|
from collections import deque
|
||||||
from django_filters.rest_framework import DjangoFilterBackend
|
|
||||||
|
|
||||||
from .models import Member, JobMember, JobGroup, Job
|
from .models import Member, JobMember, JobGroup, Job
|
||||||
from .serializers import MemberSerializer, JobSerializer, JobGroupSerializer, JobMemberSerializer
|
from posts.models import Post
|
||||||
|
|
||||||
from rest_framework import viewsets
|
|
||||||
#from rest_framework import permissions
|
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
@@ -45,10 +41,13 @@ def index(request):
|
|||||||
pinned_job_groups, unpinned_job_groups = __get_job_groups()
|
pinned_job_groups, unpinned_job_groups = __get_job_groups()
|
||||||
members = deque(Member.all_members.all())
|
members = deque(Member.all_members.all())
|
||||||
|
|
||||||
|
fs_info = Post.objects.filter(slug='fachschaft-info').first()
|
||||||
|
|
||||||
context = {
|
context = {
|
||||||
"pinned_job_groups": pinned_job_groups,
|
"pinned_job_groups": pinned_job_groups,
|
||||||
"unpinned_job_groups": unpinned_job_groups,
|
"unpinned_job_groups": unpinned_job_groups,
|
||||||
"members": members,
|
"members": members,
|
||||||
|
"fs_info": fs_info,
|
||||||
}
|
}
|
||||||
|
|
||||||
return render(request, 'members/index.html', context)
|
return render(request, 'members/index.html', context)
|
||||||
@@ -84,10 +83,13 @@ def members_view(request, filter=None):
|
|||||||
logger.info("Wrong member role '{}'".format(filter))
|
logger.info("Wrong member role '{}'".format(filter))
|
||||||
raise Http404("no member role")
|
raise Http404("no member role")
|
||||||
|
|
||||||
|
fs_info = Post.objects.filter(slug='fachschaft-info').first()
|
||||||
|
|
||||||
context = {
|
context = {
|
||||||
"pinned_job_groups": pinned_job_groups,
|
"pinned_job_groups": pinned_job_groups,
|
||||||
"unpinned_job_groups": unpinned_job_groups,
|
"unpinned_job_groups": unpinned_job_groups,
|
||||||
"members": members,
|
"members": members,
|
||||||
|
"fs_info": fs_info,
|
||||||
}
|
}
|
||||||
|
|
||||||
return render(request, 'members/index.html', context)
|
return render(request, 'members/index.html', context)
|
||||||
@@ -111,52 +113,3 @@ def profile_view(request, member_id=None):
|
|||||||
}
|
}
|
||||||
|
|
||||||
return render(request, 'members/member.html', context)
|
return render(request, 'members/member.html', context)
|
||||||
|
|
||||||
|
|
||||||
class MemberViewSet(viewsets.ModelViewSet):
|
|
||||||
"""
|
|
||||||
API endpoint that allows users to be viewed or edited.
|
|
||||||
"""
|
|
||||||
queryset = Member.all_members.order_by('nickname')
|
|
||||||
serializer_class = MemberSerializer
|
|
||||||
|
|
||||||
#permission_classes = [permissions.IsAuthenticated]
|
|
||||||
filter_backends = [DjangoFilterBackend]
|
|
||||||
filterset_fields = ['nickname','mailaccount']
|
|
||||||
# lookup_field = 'name'
|
|
||||||
|
|
||||||
def pre_save(self, obj):
|
|
||||||
obj.image = self.request.FILES.get('image')
|
|
||||||
|
|
||||||
|
|
||||||
class JobGroupViewSet(viewsets.ModelViewSet):
|
|
||||||
"""
|
|
||||||
API endpoint that allows users to be viewed or edited.
|
|
||||||
"""
|
|
||||||
queryset = JobGroup.all_jobgroups.all()
|
|
||||||
serializer_class = JobGroupSerializer
|
|
||||||
|
|
||||||
filter_backends = [DjangoFilterBackend]
|
|
||||||
filterset_fields = ['name','slug']
|
|
||||||
#lookup_field = 'name'
|
|
||||||
# lookup_field = 'name'
|
|
||||||
|
|
||||||
class JobViewSet(viewsets.ModelViewSet):
|
|
||||||
"""
|
|
||||||
API endpoint that allows users to be viewed or edited.
|
|
||||||
"""
|
|
||||||
queryset = Job.objects.all()
|
|
||||||
serializer_class = JobSerializer
|
|
||||||
filter_backends = [DjangoFilterBackend]
|
|
||||||
filterset_fields = ['name','slug']
|
|
||||||
#lookup_field = 'slug'
|
|
||||||
|
|
||||||
class JobMemberViewSet(viewsets.ModelViewSet):
|
|
||||||
"""
|
|
||||||
API endpoint that allows users to be viewed or edited.
|
|
||||||
"""
|
|
||||||
queryset = JobMember.objects.all()
|
|
||||||
serializer_class = JobMemberSerializer
|
|
||||||
filter_backends = [DjangoFilterBackend]
|
|
||||||
filterset_fields = ['member','job','job_role','job_start']
|
|
||||||
#lookup_field = 'nickname'
|
|
||||||
55
fet2020/members/viewsets.py
Normal file
55
fet2020/members/viewsets.py
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
from django_filters.rest_framework import DjangoFilterBackend
|
||||||
|
from rest_framework import viewsets
|
||||||
|
|
||||||
|
from .models import Member, JobMember, JobGroup, Job
|
||||||
|
from .serializers import MemberSerializer, JobSerializer, JobGroupSerializer, JobMemberSerializer
|
||||||
|
|
||||||
|
|
||||||
|
class MemberViewSet(viewsets.ModelViewSet):
|
||||||
|
"""
|
||||||
|
API endpoint that allows users to be viewed or edited.
|
||||||
|
"""
|
||||||
|
queryset = Member.all_members.order_by('nickname')
|
||||||
|
serializer_class = MemberSerializer
|
||||||
|
|
||||||
|
#permission_classes = [permissions.IsAuthenticated]
|
||||||
|
filter_backends = [DjangoFilterBackend]
|
||||||
|
filterset_fields = ['nickname','mailaccount']
|
||||||
|
#lookup_field = 'name'
|
||||||
|
|
||||||
|
def pre_save(self, obj):
|
||||||
|
obj.image = self.request.FILES.get('image')
|
||||||
|
|
||||||
|
|
||||||
|
class JobGroupViewSet(viewsets.ModelViewSet):
|
||||||
|
"""
|
||||||
|
API endpoint that allows users to be viewed or edited.
|
||||||
|
"""
|
||||||
|
queryset = JobGroup.all_jobgroups.all()
|
||||||
|
serializer_class = JobGroupSerializer
|
||||||
|
|
||||||
|
filter_backends = [DjangoFilterBackend]
|
||||||
|
filterset_fields = ['name','slug']
|
||||||
|
#lookup_field = 'name'
|
||||||
|
|
||||||
|
|
||||||
|
class JobViewSet(viewsets.ModelViewSet):
|
||||||
|
"""
|
||||||
|
API endpoint that allows users to be viewed or edited.
|
||||||
|
"""
|
||||||
|
queryset = Job.objects.all()
|
||||||
|
serializer_class = JobSerializer
|
||||||
|
filter_backends = [DjangoFilterBackend]
|
||||||
|
filterset_fields = ['name','slug']
|
||||||
|
#lookup_field = 'slug'
|
||||||
|
|
||||||
|
|
||||||
|
class JobMemberViewSet(viewsets.ModelViewSet):
|
||||||
|
"""
|
||||||
|
API endpoint that allows users to be viewed or edited.
|
||||||
|
"""
|
||||||
|
queryset = JobMember.objects.all()
|
||||||
|
serializer_class = JobMemberSerializer
|
||||||
|
filter_backends = [DjangoFilterBackend]
|
||||||
|
filterset_fields = ['member','job','job_role','job_start']
|
||||||
|
#lookup_field = 'nickname'
|
||||||
@@ -1,13 +1,11 @@
|
|||||||
from collections import deque
|
from collections import deque
|
||||||
import logging
|
import logging
|
||||||
from rest_framework import viewsets
|
|
||||||
from taggit.models import Tag
|
from taggit.models import Tag
|
||||||
|
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from django.http import HttpResponse, JsonResponse, HttpResponseServerError
|
from django.http import HttpResponse, JsonResponse, HttpResponseServerError
|
||||||
from django.utils.text import slugify
|
from django.utils.text import slugify
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from django_filters.rest_framework import DjangoFilterBackend
|
|
||||||
|
|
||||||
from documents.api import get_pad_link
|
from documents.api import get_pad_link
|
||||||
from documents.etherpadlib import add_ep_cookie
|
from documents.etherpadlib import add_ep_cookie
|
||||||
@@ -15,7 +13,8 @@ from members.models import Member, JobMember
|
|||||||
|
|
||||||
|
|
||||||
from .models import Post, FetMeeting
|
from .models import Post, FetMeeting
|
||||||
from .serializers import PostSerializer
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
@@ -196,19 +195,3 @@ def get_next_dict(post=None):
|
|||||||
break
|
break
|
||||||
|
|
||||||
return d
|
return d
|
||||||
|
|
||||||
|
|
||||||
class PostViewSet(viewsets.ModelViewSet):
|
|
||||||
"""
|
|
||||||
API endpoint that allows users to be viewed or edited.
|
|
||||||
"""
|
|
||||||
|
|
||||||
queryset = Post.objects.all().order_by("-public_date")
|
|
||||||
serializer_class = PostSerializer
|
|
||||||
# permission_classes = [permissions.IsAuthenticated]
|
|
||||||
filter_backends = [DjangoFilterBackend]
|
|
||||||
filterset_fields = ["legacy_id", "slug", "legacy_rubrik_id"]
|
|
||||||
lookup_field = "slug"
|
|
||||||
|
|
||||||
def pre_save(self, obj):
|
|
||||||
obj.image = self.request.FILES.get("image")
|
|
||||||
|
|||||||
21
fet2020/posts/viewsets.py
Normal file
21
fet2020/posts/viewsets.py
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
from django_filters.rest_framework import DjangoFilterBackend
|
||||||
|
from rest_framework import viewsets
|
||||||
|
|
||||||
|
from .models import Post, FetMeeting
|
||||||
|
from .serializers import PostSerializer
|
||||||
|
|
||||||
|
|
||||||
|
class PostViewSet(viewsets.ModelViewSet):
|
||||||
|
"""
|
||||||
|
API endpoint that allows users to be viewed or edited.
|
||||||
|
"""
|
||||||
|
|
||||||
|
queryset = Post.objects.all().order_by("-public_date")
|
||||||
|
serializer_class = PostSerializer
|
||||||
|
# permission_classes = [permissions.IsAuthenticated]
|
||||||
|
filter_backends = [DjangoFilterBackend]
|
||||||
|
filterset_fields = ["legacy_id", "slug", "legacy_rubrik_id"]
|
||||||
|
lookup_field = "slug"
|
||||||
|
|
||||||
|
def pre_save(self, obj):
|
||||||
|
obj.image = self.request.FILES.get("image")
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
django==3.1.4
|
django==3.1.5
|
||||||
django-ckeditor==6.0.0
|
django-ckeditor==6.0.0
|
||||||
django-crontab==0.7.1
|
django-crontab==0.7.1
|
||||||
django-environ==0.4.5
|
django-environ==0.4.5
|
||||||
|
|||||||
@@ -58,7 +58,7 @@
|
|||||||
{% for post in events %}
|
{% for post in events %}
|
||||||
{% include 'posts/partials/_date_box.html' %}
|
{% include 'posts/partials/_date_box.html' %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<a href="{% url 'posts.calendar' %}">ICS Kalendar</a>
|
FET-Kalender abonnieren: <a href="{% url 'posts.calendar' %}">ICS Kalender</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ footer {
|
|||||||
{% if request.user.is_authenticated %}
|
{% if request.user.is_authenticated %}
|
||||||
<li><a href="{% url 'logout' %}">Logout</a></li>
|
<li><a href="{% url 'logout' %}">Logout</a></li>
|
||||||
{% else %}
|
{% else %}
|
||||||
<li><a href="{%url 'login'%}">Login</a></li>
|
<li><a href="{% url 'login' %}?next={{ request.path }}">Login</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -62,7 +62,9 @@
|
|||||||
{% if members %}
|
{% if members %}
|
||||||
<div class="grid-x">
|
<div class="grid-x">
|
||||||
<div class="cell padding-top-1 padding-left-1 padding-right-1" style="background-color: white; text-align: justify;">
|
<div class="cell padding-top-1 padding-left-1 padding-right-1" style="background-color: white; text-align: justify;">
|
||||||
Die Fachschaft Elektrotechnik (kurz: FET), ist die offizielle Vertretung aller Studierenden auf der Fakultät für Elektrotechnik und Informationstechnik. Ehrenamtliche engagierte Studierende unterstützen dich in Anliegen und Fragen zum und rund ums Studium. Wir vertreten eure Interessen in den offiziellen Gremien der Universität und arbeiten an Studienplänen mit. Außerdem bieten wir ein Rahmenprogramm zum Studium in Form von Veranstaltungen und Festln. Wir freuen uns über Feedback und Anregungen, insbesondere von jenen, die gleich Nägel mit Köpfen machen und unser Team verstärken wollen oder ihre Themen und Meinungen in eine unserer Sitzungen einbringen möchten.
|
{% if fs_info %}
|
||||||
|
{{ fs_info.body|safe }}
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ UID:{{event.id}}
|
|||||||
ORGANIZER;CN="Fachschaft Elektrotechnik":MAILTO:service@fet.at
|
ORGANIZER;CN="Fachschaft Elektrotechnik":MAILTO:service@fet.at
|
||||||
LOCATION:Vienna
|
LOCATION:Vienna
|
||||||
SUMMARY:{{ event.title }}
|
SUMMARY:{{ event.title }}
|
||||||
DESCRIPTION: {{ request.scheme }}://{{ request.get_host }}{{ event.url }} {{ even.title }}</a>
|
DESCRIPTION:{{ request.scheme }}://{{ request.get_host }}{{ event.url }} {{ even.title }}
|
||||||
CLASS:PUBLIC
|
CLASS:PUBLIC
|
||||||
DTSTART;TZID=Europe/Vienna:{{ event.event_start|date:'Ymd' }}T{{ event.event_start|time:'His' }}
|
DTSTART;TZID=Europe/Vienna:{{ event.event_start|date:'Ymd' }}T{{ event.event_start|time:'His' }}
|
||||||
DTEND;TZID=Europe/Vienna:{{ event.event_end|date:'Ymd' }}T{{ event.event_end|time:'His' }}
|
DTEND;TZID=Europe/Vienna:{{ event.event_end|date:'Ymd' }}T{{ event.event_end|time:'His' }}
|
||||||
|
|||||||
Reference in New Issue
Block a user