delete document test
This commit is contained in:
@@ -1,12 +0,0 @@
|
|||||||
from etherpad_lite import EtherpadLiteClient
|
|
||||||
from django.conf import settings
|
|
||||||
from datetime import datetime, timedelta
|
|
||||||
|
|
||||||
t=datetime.now() + timedelta(days=1)
|
|
||||||
|
|
||||||
with open("/srv/andis_test/etherpad-lite/etherpad-lite/APIKEY.txt","r") as f:
|
|
||||||
k=f.read()
|
|
||||||
epc=EtherpadLiteClient( base_params={'apikey':k,}, base_url="http://localhost:9001/api")
|
|
||||||
a=epc.createAuthorIfNotExistsFor(name="andis", authorMapper="andis")
|
|
||||||
g=epc.createGroupIfNotExistsFor(groupMapper="fet")
|
|
||||||
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
from django.contrib import admin
|
|
||||||
from .models import Document
|
|
||||||
from django.urls import path
|
|
||||||
from django.contrib.auth import views as auth_views
|
|
||||||
from django.shortcuts import render
|
|
||||||
|
|
||||||
|
|
||||||
@admin.register(Document)
|
|
||||||
class DocumentModelAdmin(admin.ModelAdmin):
|
|
||||||
def my_view(self,request, extra_context=None):
|
|
||||||
return render(request,"admin/documents/preview.html")
|
|
||||||
|
|
||||||
def get_urls(self):
|
|
||||||
urls = super().get_urls()
|
|
||||||
select_list_url = [ path("<int:id>/preview", self.admin_site.admin_view(self.my_view),
|
|
||||||
name='preview'),
|
|
||||||
path("preview", self.admin_site.admin_view(self.my_view),
|
|
||||||
name='preview')
|
|
||||||
|
|
||||||
]
|
|
||||||
return select_list_url #+ urls
|
|
||||||
|
|
||||||
#admin.site.register(Document,DocumentModelAdmin)
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
from django.apps import AppConfig
|
|
||||||
|
|
||||||
|
|
||||||
class DocumentsConfig(AppConfig):
|
|
||||||
name = 'documents'
|
|
||||||
from django.contrib.admin.apps import AdminConfig
|
|
||||||
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
from django.db import models
|
|
||||||
|
|
||||||
# Create your models here.
|
|
||||||
class Document(models.Model):
|
|
||||||
key = models.CharField(max_length=200, primary_key=True)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
from django.test import TestCase
|
|
||||||
|
|
||||||
# Create your tests here.
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
import documents.views as views
|
|
||||||
from django.urls import path
|
|
||||||
|
|
||||||
urlpatterns=[
|
|
||||||
path("document/<id>", views.document)
|
|
||||||
]
|
|
||||||
@@ -1,91 +0,0 @@
|
|||||||
from django.shortcuts import render
|
|
||||||
|
|
||||||
# Create your views here.
|
|
||||||
|
|
||||||
|
|
||||||
from django.http import HttpResponseRedirect
|
|
||||||
from django.template import RequestContext
|
|
||||||
from django.contrib.auth.decorators import login_required
|
|
||||||
from django.utils.translation import ugettext_lazy as _
|
|
||||||
import urllib
|
|
||||||
from urllib.parse import urlparse
|
|
||||||
from .models import Document
|
|
||||||
from documents import epc
|
|
||||||
from documents import g as group
|
|
||||||
SERVER_URL="http://etherpad.2020.fet.at/"
|
|
||||||
|
|
||||||
import datetime
|
|
||||||
@login_required
|
|
||||||
def document(request, id=None):
|
|
||||||
"""Create and session and display an embedded pad
|
|
||||||
"""
|
|
||||||
|
|
||||||
# Initialize some needed values
|
|
||||||
#pad = Document.objects.get(key=id)
|
|
||||||
padID=id
|
|
||||||
padLink = SERVER_URL + 'p/' + group["groupID"] + '$' + \
|
|
||||||
padID
|
|
||||||
server = urlparse(SERVER_URL)
|
|
||||||
author = epc.createAuthorIfNotExistsFor(name=str(request.user), authorMapper=str(request.user))['authorID']
|
|
||||||
|
|
||||||
|
|
||||||
# Create the session on the etherpad-lite side
|
|
||||||
expires = datetime.datetime.utcnow() + datetime.timedelta(
|
|
||||||
hours=3
|
|
||||||
)
|
|
||||||
epclient = epc
|
|
||||||
|
|
||||||
try:
|
|
||||||
result = epclient.createSession(
|
|
||||||
groupID=str(group['groupID']),
|
|
||||||
authorID=str(author),
|
|
||||||
validUntil=str(int(expires.timestamp()))
|
|
||||||
)
|
|
||||||
except Exception as e:
|
|
||||||
response = render(
|
|
||||||
'etherpad-lite/pad.html',
|
|
||||||
{
|
|
||||||
'pad': padID,
|
|
||||||
'link': padLink,
|
|
||||||
'server': str(server),
|
|
||||||
'uname': str(request.user),
|
|
||||||
'error': 'etherpad-lite session request returned:' +
|
|
||||||
'"' + str(e) + '"'
|
|
||||||
}
|
|
||||||
|
|
||||||
)
|
|
||||||
return response
|
|
||||||
|
|
||||||
# Set up the response
|
|
||||||
response = render(request,
|
|
||||||
'documents/pad.html',
|
|
||||||
{
|
|
||||||
'pad': padID,
|
|
||||||
'link': padLink,
|
|
||||||
'server': str(server),
|
|
||||||
'uname': str(request.user),
|
|
||||||
'error': False
|
|
||||||
}#, context=(request)
|
|
||||||
)
|
|
||||||
|
|
||||||
# Delete the existing session first
|
|
||||||
if ('padSessionID' in request.COOKIES):
|
|
||||||
epclient.deleteSession(request.COOKIES['sessionID'])
|
|
||||||
response.delete_cookie('sessionID', server.hostname)
|
|
||||||
response.delete_cookie('padSessionID')
|
|
||||||
|
|
||||||
# Set the new session cookie for both the server and the local site
|
|
||||||
response.set_cookie(
|
|
||||||
'sessionID',
|
|
||||||
value=result['sessionID'],
|
|
||||||
expires=expires,
|
|
||||||
domain=server.hostname,
|
|
||||||
httponly=False
|
|
||||||
)
|
|
||||||
response.set_cookie(
|
|
||||||
'padSessionID',
|
|
||||||
value=result['sessionID'],
|
|
||||||
expires=expires,
|
|
||||||
httponly=False
|
|
||||||
)
|
|
||||||
return response
|
|
||||||
@@ -35,7 +35,6 @@ CKEDITOR_UPLOAD_PATH = 'upload'
|
|||||||
INSTALLED_APPS = [
|
INSTALLED_APPS = [
|
||||||
'posts.apps.PostsConfig',
|
'posts.apps.PostsConfig',
|
||||||
'members.apps.MembersConfig',
|
'members.apps.MembersConfig',
|
||||||
'documents.apps.DocumentsConfig',
|
|
||||||
'django.contrib.admin',
|
'django.contrib.admin',
|
||||||
'django.contrib.auth',
|
'django.contrib.auth',
|
||||||
'django.contrib.contenttypes',
|
'django.contrib.contenttypes',
|
||||||
|
|||||||
@@ -28,8 +28,7 @@ router.register(r'members', MemberViewSet)
|
|||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('posts/', include('posts.urls')),
|
path('posts/', include('posts.urls')),
|
||||||
path('documents/', include('documents.urls')),
|
path('admin/doc/', include('django.contrib.admindocs.urls')),
|
||||||
path('admin/doc/', include('django.contrib.admindocs.urls')),
|
|
||||||
path('admin/', admin.site.urls),
|
path('admin/', admin.site.urls),
|
||||||
path('', views.index, name='home'),
|
path('', views.index, name='home'),
|
||||||
path('index.html', views.index, name='home'),
|
path('index.html', views.index, name='home'),
|
||||||
|
|||||||
Reference in New Issue
Block a user