From a9b7ca5faead194ba253fadc59f6f1d83a8e5bc1 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 26 Aug 2020 09:39:11 +0000 Subject: [PATCH] delete app accounts because it is not ready for master, make master pep8-ready again --- fet2020/accounts/__init__.py | 0 fet2020/accounts/admin.py | 3 - fet2020/accounts/apps.py | 5 -- fet2020/accounts/authentications.py | 27 ------ fet2020/accounts/decorators.py | 11 --- fet2020/accounts/models.py | 3 - fet2020/accounts/tests.py | 3 - fet2020/accounts/urls.py | 8 -- fet2020/accounts/views.py | 40 --------- fet2020/documents/__init__.py | 54 ++++++----- fet2020/fet2020/settings.py | 3 +- fet2020/fet2020/urls.py | 2 - fet2020/members/views.py | 20 ----- fet2020/posts/views.py | 30 +++++-- fet2020/templates/accounts/login.html | 123 -------------------------- 15 files changed, 56 insertions(+), 276 deletions(-) delete mode 100644 fet2020/accounts/__init__.py delete mode 100644 fet2020/accounts/admin.py delete mode 100644 fet2020/accounts/apps.py delete mode 100644 fet2020/accounts/authentications.py delete mode 100644 fet2020/accounts/decorators.py delete mode 100644 fet2020/accounts/models.py delete mode 100644 fet2020/accounts/tests.py delete mode 100644 fet2020/accounts/urls.py delete mode 100644 fet2020/accounts/views.py delete mode 100644 fet2020/templates/accounts/login.html diff --git a/fet2020/accounts/__init__.py b/fet2020/accounts/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/fet2020/accounts/admin.py b/fet2020/accounts/admin.py deleted file mode 100644 index 4185d360..00000000 --- a/fet2020/accounts/admin.py +++ /dev/null @@ -1,3 +0,0 @@ -# from django.contrib import admin - -# Register your models here. diff --git a/fet2020/accounts/apps.py b/fet2020/accounts/apps.py deleted file mode 100644 index 9b3fc5a4..00000000 --- a/fet2020/accounts/apps.py +++ /dev/null @@ -1,5 +0,0 @@ -from django.apps import AppConfig - - -class AccountsConfig(AppConfig): - name = 'accounts' diff --git a/fet2020/accounts/authentications.py b/fet2020/accounts/authentications.py deleted file mode 100644 index cf928a75..00000000 --- a/fet2020/accounts/authentications.py +++ /dev/null @@ -1,27 +0,0 @@ -import ldap3 - - -def authentication(username, password): - # no empty passwords - if password is None or password.strip() == "": - # messages.info("username:%s Login denied for blank password", username) - return None - - # username format - new_username = 'uid={username}, cn=users, cn=accounts, dc=demo1, dc=freeipa, dc=org' - userdn = new_username.format(username=username) - - server_uri = 'ipa.demo1.freeipa.org' - server = ldap3.Server(server_uri, get_info=ldap3.ALL) - - try: - ldap3.Connection( - server, - userdn, - password, - auto_bind=True, - ) - except ldap3.core.exceptions.LDAPBindError: - username = None - - return username diff --git a/fet2020/accounts/decorators.py b/fet2020/accounts/decorators.py deleted file mode 100644 index db0e0b60..00000000 --- a/fet2020/accounts/decorators.py +++ /dev/null @@ -1,11 +0,0 @@ -from django.shortcuts import redirect - - -def unauthenticated_user(view_func): - def wrapper_func(request, *args, **kwargs): - if request.user.is_authenticated: - return redirect('home') - else: - return view_func(request, *args, **kwargs) - - return wrapper_func diff --git a/fet2020/accounts/models.py b/fet2020/accounts/models.py deleted file mode 100644 index 0b4331b3..00000000 --- a/fet2020/accounts/models.py +++ /dev/null @@ -1,3 +0,0 @@ -# from django.db import models - -# Create your models here. diff --git a/fet2020/accounts/tests.py b/fet2020/accounts/tests.py deleted file mode 100644 index a79ca8be..00000000 --- a/fet2020/accounts/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -# from django.test import TestCase - -# Create your tests here. diff --git a/fet2020/accounts/urls.py b/fet2020/accounts/urls.py deleted file mode 100644 index 7c084c15..00000000 --- a/fet2020/accounts/urls.py +++ /dev/null @@ -1,8 +0,0 @@ -from django.urls import path -from . import views - - -urlpatterns = [ - path('login/', views.loginPage, name="login"), - path('logout/', views.logoutUser, name="logout"), -] diff --git a/fet2020/accounts/views.py b/fet2020/accounts/views.py deleted file mode 100644 index 7ec72d10..00000000 --- a/fet2020/accounts/views.py +++ /dev/null @@ -1,40 +0,0 @@ -from django.shortcuts import render, redirect -from django.contrib.auth import login, logout -from django.contrib import messages -from django.contrib.auth.models import User - -from .authentications import authentication -# from .decorators import unauthenticated_user - - -# @unauthenticated_user -def loginPage(request): - """ - if request.user.is_authenticated: - return redirect('home') - else: - """ - if request.method == 'POST': - username = request.POST.get('username') - password = request.POST.get('password') - - auth_user = authentication(username, password) - - if auth_user is not None: - try: - user = User.objects.get(username=username) - except User.DoesNotExist: - user = User.objects.create_user(auth_user) - - login(request, user) - return redirect('home') - else: - messages.info(request, 'username OR password is incorrect') - - context = {} - return render(request, 'accounts/login.html', context) - - -def logoutUser(request): - logout(request) - return redirect('home') diff --git a/fet2020/documents/__init__.py b/fet2020/documents/__init__.py index 47b229c3..4221a7c1 100644 --- a/fet2020/documents/__init__.py +++ b/fet2020/documents/__init__.py @@ -3,23 +3,29 @@ from etherpad_lite import EtherpadLiteClient from datetime import datetime, timedelta from django.utils.text import slugify import urllib.parse -t=datetime.now() + timedelta(days=1) +t = datetime.now() + timedelta(days=1) -SERVER_URL="https://etherpad2.2020.fet.at/etherpad/" +SERVER_URL = "https://etherpad2.2020.fet.at/etherpad/" -with open("/srv/andis_test/etherpad_test2/etherpad-lite/APIKEY.txt","r") as f: - k=f.read() - epc=EtherpadLiteClient( base_params={'apikey':k,}, base_url=urllib.parse.urljoin("http://localhost:9003","api")) - a=epc.createAuthorIfNotExistsFor(name="andis", authorMapper="andis") - g=epc.createGroupIfNotExistsFor(groupMapper="fet") +with open("/srv/andis_test/etherpad_test2/etherpad-lite/APIKEY.txt", "r") as f: + k = f.read() + epc = EtherpadLiteClient( + base_params={'apikey': k, }, + base_url=urllib.parse.urljoin("http://localhost:9003", "api") + ) + a = epc.createAuthorIfNotExistsFor(name="andis", authorMapper="andis") + g = epc.createGroupIfNotExistsFor(groupMapper="fet") def get_ep_sessionid(request): if request.user is None: return "NoUser", None - server = SERVER_URL - author = epc.createAuthorIfNotExistsFor(name=str(request.user), authorMapper=str(request.user))['authorID'] + # server = SERVER_URL + author = epc.createAuthorIfNotExistsFor( + name=str(request.user), + authorMapper=str(request.user) + )['authorID'] expires = datetime.utcnow() + timedelta( hours=3 ) @@ -32,38 +38,42 @@ def get_ep_sessionid(request): except Exception as e: raise e return None, None - - return result['sessionID'],expires + + return result['sessionID'], expires + def get_pad_link(padID): - return urllib.parse.urljoin(SERVER_URL,'p/'+g["groupID"] + '$' + slugify(padID)) + return urllib.parse.urljoin(SERVER_URL, 'p/' + g["groupID"] + '$' + slugify(padID)) + def add_ep_to_response(request, response): if request.user is None: return response - padID=id + # padID = id server = SERVER_URL - #padLink = urllib.parse.urljoin(SERVER_URL , 'p/' + g["groupID"] + '$' + padID) - author = epc.createAuthorIfNotExistsFor(name=str(request.user), authorMapper=str(request.user))['authorID'] - expires = datetime.utcnow() + timedelta( - hours=3 - ) + # padLink = urllib.parse.urljoin(SERVER_URL , 'p/' + g["groupID"] + '$' + padID) + author = epc.createAuthorIfNotExistsFor( + name=str(request.user), + authorMapper=str(request.user) + )['authorID'] + expires = datetime.utcnow() + timedelta(hours=3) try: - result = epclient.createSession( + result = epc.createSession( groupID=str(g['groupID']), authorID=str(author), validUntil=str(int(expires.timestamp())) ) except Exception as e: + print(e) return response - + if ('padSessionID' in request.COOKIES): - epclient.deleteSession(request.COOKIES['sessionID']) + # TODO - fix it: epclient.deleteSession(request.COOKIES['sessionID']) response.delete_cookie('sessionID', server.hostname) response.delete_cookie('padSessionID') - response=response.set_cookie( + response = response.set_cookie( 'sessionID', value=result['sessionID'], expires=expires, diff --git a/fet2020/fet2020/settings.py b/fet2020/fet2020/settings.py index 2a03ec44..493c24f0 100644 --- a/fet2020/fet2020/settings.py +++ b/fet2020/fet2020/settings.py @@ -32,7 +32,7 @@ LOGGING = { # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -#SESSION_COOKIE_DOMAIN = ".2020.fet.at" +# SESSION_COOKIE_DOMAIN = ".2020.fet.at" # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/ @@ -64,7 +64,6 @@ INSTALLED_APPS = [ 'rest_framework', 'django_filters', 'django_static_jquery_ui', - 'accounts.apps.AccountsConfig', 'posts.apps.PostsConfig', 'members.apps.MembersConfig', 'documents.apps.DocumentsConfig', diff --git a/fet2020/fet2020/urls.py b/fet2020/fet2020/urls.py index 7e33c346..fb8164f1 100644 --- a/fet2020/fet2020/urls.py +++ b/fet2020/fet2020/urls.py @@ -35,6 +35,4 @@ urlpatterns = [ path('ckeditor/', include('ckeditor_uploader.urls')), path('api/', include(router.urls)), path('members/', include('members.urls'), name='members'), - path('accounts/', include('accounts.urls')), - ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/fet2020/members/views.py b/fet2020/members/views.py index be7af2ce..be26658b 100644 --- a/fet2020/members/views.py +++ b/fet2020/members/views.py @@ -39,26 +39,6 @@ def index(request, slug=None, filter=None): return render(request, 'members/index.html', context) - -def show_job(request, slug=None): - job=Job.objects.get(slug=slug) - return render(request, 'members/show_job.html', {"job": job}) - -def show_member(request, slug=None): - member=Member.objects.get() - return render(request, 'members/show_member.html', {"member": member}) - -def list(request, filter=None): - """ - View for a list of members filtered or not - """ - if filter is None: - members = deque(Member.all_members.all()) - if filter in Member.role_choices: - members=deque(Member.all_members.filter(role=filter).all()) - - return render(request, 'members/list.html',{"members": members}) - class MemberViewSet(viewsets.ModelViewSet): """ API endpoint that allows users to be viewed or edited. diff --git a/fet2020/posts/views.py b/fet2020/posts/views.py index 07ca66db..ad6f1f5e 100644 --- a/fet2020/posts/views.py +++ b/fet2020/posts/views.py @@ -10,7 +10,8 @@ from rest_framework import viewsets # from rest_framework import permissions from .models import Post, PostSerializer -from documents import add_ep_to_response, get_ep_sessionid, get_pad_link +# from documents import add_ep_to_response +from documents import get_ep_sessionid, get_pad_link from collections import deque @@ -44,14 +45,28 @@ def show(request, id=None): "post": p, "next": get_next_dict().get(p.slug, None), "related_posts": p.tags.similar_objects(), - "ep_link": get_pad_link(p.slug+"-agenda") + "ep_link": get_pad_link(p.slug + "-agenda") } - response=render(request, 'posts/show.html', context) + response = render(request, 'posts/show.html', context) response.set_cookie("HelloWorld", "TestWert", domain="https://etherpad2.2020.fet.at") - ep_sessid, expires=get_ep_sessionid(request) - response.set_cookie("sessionID",ep_sessid,expires=expires, domain=".2020.fet.at", path="/etherpad") - #response.set_cookie("express_sid",ep_sessid,expires=expires, domain="https://andis.2020.fet.at",path="/etherpad") - #response=add_ep_to_response(request, response ) + ep_sessid, expires = get_ep_sessionid(request) + response.set_cookie( + "sessionID", + ep_sessid, + expires=expires, + domain=".2020.fet.at", + path="/etherpad" + ) + ''' + response.set_cookie( + "express_sid", + ep_sessid, + expires=expires, + domain="https://andis.2020.fet.at", + path="/etherpad" + ) + ''' + # response=add_ep_to_response(request, response ) return response @@ -59,6 +74,7 @@ def show(request, id=None): # HELPERS # ########### + def slug_calc(request): """ Ajax function that is called to calculate a slug from the title diff --git a/fet2020/templates/accounts/login.html b/fet2020/templates/accounts/login.html deleted file mode 100644 index 85620a87..00000000 --- a/fet2020/templates/accounts/login.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - Login - - - - - - - - - -
-
-
-
- - -

LOGIN

-
-
-
- {% csrf_token %} -
-
- -
- - -
- -
-
- -
- - -
- - -
- -
- - {% for message in messages %} -

{{message}}

- {% endfor %} - -
-
-
- - - - \ No newline at end of file