summaryrefslogtreecommitdiffstats
path: root/core/views_other.py
diff options
context:
space:
mode:
authorPhilip Sargent <philip.sargent@klebos.com>2021-03-31 21:51:17 +0100
committerPhilip Sargent <philip.sargent@klebos.com>2021-03-31 21:51:17 +0100
commit7cccf4daf15f16f3b7b4dc7909862fc2839caf4f (patch)
treec7d01dc580db7d1ce7adce46b3ee172ae645558a /core/views_other.py
parente1cf43c260c75b3e047d02c49d8e26b2bb14e153 (diff)
downloadtroggle-7cccf4daf15f16f3b7b4dc7909862fc2839caf4f.tar.gz
troggle-7cccf4daf15f16f3b7b4dc7909862fc2839caf4f.tar.bz2
troggle-7cccf4daf15f16f3b7b4dc7909862fc2839caf4f.zip
move *_views files to /views/*
Diffstat (limited to 'core/views_other.py')
-rw-r--r--core/views_other.py197
1 files changed, 0 insertions, 197 deletions
diff --git a/core/views_other.py b/core/views_other.py
deleted file mode 100644
index 5b9303c..0000000
--- a/core/views_other.py
+++ /dev/null
@@ -1,197 +0,0 @@
-import re
-
-from django import forms
-from django.conf import settings
-from django.urls import reverse
-from django.db.models import Q
-from django.http import HttpResponse, HttpResponseRedirect
-from django.shortcuts import render
-from django.template import Context, loader
-
-import troggle.parsers.imports
-from troggle.core.models import Expedition, Person, PersonExpedition
-from troggle.core.models_caves import LogbookEntry, QM, Cave, PersonTrip
-from troggle.helper import login_required_if_public
-from troggle.core.forms import UploadFileForm
-
-print("** importing troggle/core/views_other.py")
-
-"""Utility functions and code to serve the control panel and individual user's
-progress and task list (deprecated as we do not have individual user login).
-
-Also has code to download a logbook in a choice of formats (why?!) and to
-download all QMs (not working)
-"""
-
-def troggle404(request): # cannot get this to work. Handler404 in urls.py not right syntax
- '''Custom 404 page to be used even when Debug=True
- https://blog.juanwolf.fr/posts/programming/how-to-create-404-page-django/
- '''
- context = RequestContext(request)
- #context['caves'] = Cave.objects.all()
- return render(request, ('404.html', context.flatten()))
-
-def showrequest(request):
- return HttpResponse(request.GET)
-
-def frontpage(request):
- '''never seen in practice'''
- # bthe messages system does a popup on this page if there is a recent message, e.g. from the admin site actions.
- # via django.contrib.messages.middleware.MessageMiddleware
- # this is set in the templates.
- if request.user.is_authenticated():
- return render(request,'tasks.html')
-
- expeditions = Expedition.objects.order_by("-year")
- logbookentry = LogbookEntry
- cave = Cave
- #from django.contrib.admin.templatetags import log
- return render(request,'frontpage.html', locals())
-
-
-def controlPanel(request):
- jobs_completed=[]
- if request.method=='POST':
- if request.user.is_superuser:
- # NONE of this works now that databaseReset (now parsers.imports) has been so extensively rewritten
- reinit_db()
- import_caves()
- import_people()
- import_surveyscans()
- import_logbooks()
- import_QMs()
- import_tunnelfiles()
- import_survexblks()
- import_survexpos()
- else:
- if request.user.is_authenticated(): #The user is logged in, but is not a superuser.
- return render(request,'controlPanel.html', {'caves':Cave.objects.all(),'error':'You must be a superuser to use that feature.'})
- else:
- return HttpResponseRedirect(reverse('auth_login'))
-
- return render(request,'controlPanel.html', {'caves':Cave.objects.all(),'expeditions':Expedition.objects.all(),'jobs_completed':jobs_completed})
-
-
-def downloadLogbook(request,year=None,extension=None,queryset=None):
-
- if year:
- current_expedition=Expedition.objects.get(year=year)
- logbook_entries=LogbookEntry.objects.filter(expedition=current_expedition)
- filename='logbook'+year
- elif queryset:
- logbook_entries=queryset
- filename='logbook'
- else:
- response = HttpResponse(content_type='text/plain')
- return response(r"Error: Logbook downloader doesn't know what year you want")
-
- if 'year' in request.GET:
- year=request.GET['year']
- if 'extension' in request.GET:
- extension=request.GET['extension']
-
- if extension =='txt':
- response = HttpResponse(content_type='text/plain')
- style='2008'
- elif extension == 'html':
- response = HttpResponse(content_type='text/html')
- style='2005'
-
- template='logbook'+style+'style.'+extension
- response['Content-Disposition'] = 'attachment; filename='+filename+'.'+extension
- t=loader.get_template(template)
- c=Context({'logbook_entries':logbook_entries})
- response.write(t.render(c))
- return response
-
-
-def downloadQMs(request):
- # Note to self: use get_cave method for the below
- if request.method=='GET':
- try:
- cave=Cave.objects.get(kataster_number=request.GET['cave_id'])
- except Cave.DoesNotExist:
- cave=Cave.objects.get(name=request.GET['cave_id'])
-
- from export import toqms
-
- response = HttpResponse(content_type='text/csv')
- response['Content-Disposition'] = 'attachment; filename=qm.csv'
- toqms.writeQmTable(response,cave)
- return response
-
-def ajax_test(request):
- post_text = request.POST['post_data']
- return HttpResponse("{'response_text': '"+post_text+" recieved.'}",
- content_type="application/json")
-
-def eyecandy(request):
- return
-
-def ajax_QM_number(request):
- res=""
- if request.method=='POST':
- cave=Cave.objects.get(id=request.POST['cave'])
- print(cave)
- exp=Expedition.objects.get(pk=request.POST['year'])
- print(exp)
- res=cave.new_QM_number(exp.year)
-
- return HttpResponse(res)
-
-
-print(" - newFile() is next in troggle/core/views_other.py")
-
-@login_required_if_public
-def newFile(request, pslug = None):
- if pslug:
- previousfile = LogbookEntry.objects.get(slug = pslug, date = previousdate, expedition = expedition)
- #assert previousfile.filename
- if request.method == 'POST': # If the form has been submitted...
- tripForm = TripForm(request.POST) # A form bound to the POST data
- personTripFormSet = PersonTripFormSet(request.POST)
- if tripForm.is_valid() and personTripFormSet.is_valid(): # All validation rules pass
- dateStr = tripForm.cleaned_data["date"].strftime("%Y-%m-%d")
- directory = os.path.join(settings.EXPOWEB,
- "years",
- expedition.year,
- "autologbook")
- filename = os.path.join(directory,
- dateStr + "." + slugify(tripForm.cleaned_data["title"])[:50] + ".html")
- if not os.path.isdir(directory):
- os.mkdir(directory)
- if pslug and pdate:
- delLogbookEntry(previouslbe)
- f = open(filename, "w")
- template = loader.get_template('dataformat/logbookentry.html')
- context = Context({'trip': tripForm.cleaned_data,
- 'persons': personTripFormSet.cleaned_data,
- 'date': dateStr,
- 'expeditionyear': expeditionyear})
- f.write(template.render(context))
- f.close()
- print(logbookparsers.parseAutoLogBookEntry(filename))
- return HttpResponseRedirect(reverse('expedition', args=[expedition.year])) # Redirect after POST
- else:
- if pslug:
- pass
- else:
- fileform = UploadFileForm() # An unbound form
-
- return render(request, 'editfile.html', {'fileForm': fileform, })
-
-@login_required_if_public
-def deleteFile(request, expeditionyear, date = None, slug = None):
- expedition = Expedition.objects.get(year=expeditionyear)
- previousdate = datetime.date(*[int(x) for x in date.split("-")])
- previouslbe = LogbookEntry.objects.get(slug = slug, date = previousdate, expedition = expedition)
- delLogbookEntry(previouslbe)
- return HttpResponseRedirect(reverse('expedition', args=[expedition.year])) # Redirect after POST
-
-def delFile(f):
- for pt in lbe.persontrip_set.all():
- pt.delete()
- lbe.delete()
- os.remove(lbe.filename)
-
-print("** Finished importing troggle/core/views_other.py") \ No newline at end of file