diff --git a/core/forms.py b/core/forms.py index a7b000f..7816014 100644 --- a/core/forms.py +++ b/core/forms.py @@ -73,6 +73,7 @@ class EntranceLetterForm(ModelForm): model = CaveAndEntrance exclude = ('cave', 'entrance') +#This was all commneted out by Martin Green in 2012 ! #class PersonForm(ModelForm): # class Meta: # model = Person diff --git a/core/views_logbooks.py b/core/views_logbooks.py index 31b046e..92be4cc 100644 --- a/core/views_logbooks.py +++ b/core/views_logbooks.py @@ -85,7 +85,6 @@ def get_absolute_url(self): return ('expedition', (expedition.year)) class ExpeditionListView(ListView): - model = Expedition def get_context_data(self, **kwargs): @@ -93,7 +92,6 @@ class ExpeditionListView(ListView): context['now'] = timezone.now() return context - def person(request, first_name='', last_name='', ): this_person = Person.objects.get(first_name = first_name, last_name = last_name) @@ -168,82 +166,83 @@ def personForm(request,pk): form=PersonForm(instance=person) return render(request,'personform.html', {'form':form,}) -@login_required_if_public -def newLogbookEntry(request, expeditionyear, pdate = None, pslug = None): - expedition = Expedition.objects.get(year=expeditionyear) - PersonTripFormSet, TripForm = getTripForm(expedition) - if pslug and pdate: - previousdate = datetime.date(*[int(x) for x in pdate.split("-")]) - previouslbe = LogbookEntry.objects.get(slug = pslug, date = previousdate, expedition = expedition) - assert previouslbe.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 and pdate: - 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: - tripForm = TripForm() # An unbound form - personTripFormSet = PersonTripFormSet() +# tried to delete all this, and the reference in urls.py, but got impenetrable django error message +# @login_required_if_public +# def newLogbookEntry(request, expeditionyear, pdate = None, pslug = None): + # expedition = Expedition.objects.get(year=expeditionyear) + # PersonTripFormSet, TripForm = getTripForm(expedition) + # if pslug and pdate: + # previousdate = datetime.date(*[int(x) for x in pdate.split("-")]) + # previouslbe = LogbookEntry.objects.get(slug = pslug, date = previousdate, expedition = expedition) + # assert previouslbe.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 and pdate: + # 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: + # tripForm = TripForm() # An unbound form + # personTripFormSet = PersonTripFormSet() - return render(request, 'newlogbookentry.html', { - 'tripForm': tripForm, - 'personTripFormSet': personTripFormSet, + # return render(request, 'newlogbookentry.html', { + # 'tripForm': tripForm, + # 'personTripFormSet': personTripFormSet, - }) + # }) -@login_required_if_public -def deleteLogbookEntry(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 +# @login_required_if_public +# def deleteLogbookEntry(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 delLogbookEntry(lbe): - for pt in lbe.persontrip_set.all(): - pt.delete() - lbe.delete() - os.remove(lbe.filename) +# def delLogbookEntry(lbe): + # for pt in lbe.persontrip_set.all(): + # pt.delete() + # lbe.delete() + # os.remove(lbe.filename) def get_people(request, expeditionslug): exp = Expedition.objects.get(year = expeditionslug) diff --git a/templates/expedition.html b/templates/expedition.html index b5b58a8..a93215b 100644 --- a/templates/expedition.html +++ b/templates/expedition.html @@ -63,7 +63,7 @@ an "S" for a survey trip. The colours are the same for people on the same trip.

Logbooks and survey trips per day

-New logbook entry + {% regroup dateditems|dictsort:"date" by date as dates %} diff --git a/urls.py b/urls.py index bf0646e..74b0064 100644 --- a/urls.py +++ b/urls.py @@ -47,7 +47,7 @@ actualurlpatterns = [ url(r'^expeditions/?$', views_logbooks.ExpeditionListView.as_view(), name="expeditions"), url(r'^personexpedition/(?P[A-Z]*[a-z&;]*)[^a-zA-Z]*(?P[A-Z]*[a-zA-Z&;]*)/(?P\d+)/?$', views_logbooks.personexpedition, name="personexpedition"), url(r'^logbookentry/(?P.*)/(?P.*)/?$', views_logbooks.logbookentry,name="logbookentry"), - url(r'^newlogbookentry/(?P.*)$', views_logbooks.newLogbookEntry, name="newLogBookEntry"), # Needed ! +# url(r'^newlogbookentry/(?P.*)$', views_logbooks.newLogbookEntry, name="newLogBookEntry"), # Needed ! # url(r'^editlogbookentry/(?P[^/]*)/(?P[^/]*)/(?P[^/]*)/$', views_logbooks.newLogbookEntry, name="editLogBookEntry"), # working ! # url(r'^deletelogbookentry/(?P[^/]*)/(?P[^/]*)/(?P[^/]*)/$', views_logbooks.deleteLogbookEntry, name="deleteLogBookEntry"), url(r'^newfile', views_other.newFile, name="newFile"), # oddly broken, needs investigating more
DateLogged tripsSurveys