From f318105a9bed2792fa3cab017bb6a2d5c8204284 Mon Sep 17 00:00:00 2001 From: Martin Green Date: Thu, 2 Jun 2011 19:16:16 +0100 Subject: Added editing of flat pages. Added slugfields to models to refer to them. --- core/views_other.py | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 76 insertions(+), 1 deletion(-) (limited to 'core/views_other.py') diff --git a/core/views_other.py b/core/views_other.py index 3acb87d..d840a30 100644 --- a/core/views_other.py +++ b/core/views_other.py @@ -1,4 +1,5 @@ from troggle.core.models import Cave, Expedition, Person, LogbookEntry, PersonExpedition, PersonTrip, DPhoto, QM +from troggle.core.forms import UploadFileForm from django.conf import settings from django import forms from django.template import loader, Context @@ -9,6 +10,7 @@ from django.http import HttpResponse, HttpResponseRedirect from django.core.urlresolvers import reverse from utils import render_with_context from core.models import * +from troggle.helper import login_required_if_public def showrequest(request): return HttpResponse(request.GET) @@ -204,4 +206,77 @@ def logbook_entry_suggestions(request): { 'unwiki_QMs':unwiki_QMs, 'any_suggestions':any_suggestions - }) \ No newline at end of file + }) + +@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 +# if previouslbe.cave: +# tripForm = TripForm(initial={"date": previousdate, +# "title": previouslbe.title, +# "cave": previouslbe.cave.reference(), +# "location": None, +# "caveOrLocation": "cave", +# "html": previouslbe.text}) +# else: +# tripForm = TripForm(initial={"date": previousdate, +# "title": previouslbe.title, +# "cave": None, +# "location": previouslbe.place, +# "caveOrLocation": "location", +# "html": previouslbe.text}) +# personTripFormSet = PersonTripFormSet(initial=[{"name": get_name(py.personexpedition), +# "TU": py.time_underground, +# "author": py.is_logbook_entry_author} +# for py in previouslbe.persontrip_set.all()]) + else: + fileform = UploadFileForm() # An unbound form + + return render_with_context(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) -- cgit v1.2.3