forked from expo/troggle
Bug fixing of cave and entrance forms removal of slugs
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
from troggle.core.models import CaveSlug, Cave, CaveAndEntrance, Survey, Expedition, QM, CaveDescription, EntranceSlug, Entrance, Area
|
||||
from troggle.core.forms import CaveForm, CaveAndEntranceFormSet, VersionControlCommentForm, EntranceForm
|
||||
from troggle.core.forms import CaveForm, CaveAndEntranceFormSet, VersionControlCommentForm, EntranceForm, EntranceLetterForm
|
||||
import troggle.core.models as models
|
||||
import troggle.settings as settings
|
||||
from troggle.helper import login_required_if_public
|
||||
@@ -104,11 +104,21 @@ def edit_cave(request, slug=None):
|
||||
versionControlForm = VersionControlCommentForm(request.POST)
|
||||
if form.is_valid() and ceFormSet.is_valid() and versionControlForm.is_valid():
|
||||
cave = form.save(commit = False)
|
||||
cave.filename = form.cleaned_data["slug"] + ".html"
|
||||
if slug is None:
|
||||
for a in form.cleaned_data["area"]:
|
||||
if a.kat_area():
|
||||
myArea = a.kat_area()
|
||||
if form.cleaned_data["kataster_number"]:
|
||||
myslug = "%s-%s" % (myArea, form.cleaned_data["kataster_number"])
|
||||
else:
|
||||
myslug = "%s-%s" % (myArea, form.cleaned_data["unofficial_number"])
|
||||
else:
|
||||
myslug = slug
|
||||
cave.filename = myslug + ".html"
|
||||
cave.save()
|
||||
form.save_m2m()
|
||||
if slug is None:
|
||||
cs = CaveSlug(cave = cave, slug = form.cleaned_data["slug"], primary = True)
|
||||
cs = CaveSlug(cave = cave, slug = myslug, primary = True)
|
||||
cs.save()
|
||||
ceinsts = ceFormSet.save(commit=False)
|
||||
for ceinst in ceinsts:
|
||||
@@ -129,7 +139,8 @@ def edit_cave(request, slug=None):
|
||||
})
|
||||
|
||||
@login_required_if_public
|
||||
def editEntrance(request, slug=None):
|
||||
def editEntrance(request, caveslug, slug=None):
|
||||
cave = Cave.objects.get(caveslug__slug = caveslug)
|
||||
if slug is not None:
|
||||
entrance = Entrance.objects.get(entranceslug__slug = slug)
|
||||
else:
|
||||
@@ -137,25 +148,38 @@ def editEntrance(request, slug=None):
|
||||
if request.POST:
|
||||
form = EntranceForm(request.POST, instance = entrance)
|
||||
versionControlForm = VersionControlCommentForm(request.POST)
|
||||
if form.is_valid() and versionControlForm.is_valid():
|
||||
if slug is None:
|
||||
entletter = EntranceLetterForm(request.POST)
|
||||
else:
|
||||
entletter = None
|
||||
if form.is_valid() and versionControlForm.is_valid() and (slug is not None or entletter.is_valid()):
|
||||
entrance = form.save(commit = False)
|
||||
entrance.filename = form.cleaned_data["slug"] + ".html"
|
||||
if slug is None:
|
||||
entrance.cached_primary_slug = form.cleaned_data["slug"]
|
||||
slugname = cave.slug() + entletter.cleaned_data["entrance_letter"]
|
||||
entrance.cached_primary_slug = slugname
|
||||
entrance.filename = slugname + ".html"
|
||||
entrance.save()
|
||||
if slug is None:
|
||||
es = EntranceSlug(entrance = entrance, slug = form.cleaned_data["slug"], primary = True)
|
||||
es.save()
|
||||
es = EntranceSlug(entrance = entrance, slug = slugname, primary = True)
|
||||
es.save()
|
||||
el = entletter.save(commit = False)
|
||||
el.cave = cave
|
||||
el.entrance = entrance
|
||||
el.save()
|
||||
entrance.writeDataFile()
|
||||
return HttpResponseRedirect("/" + entrance.url)
|
||||
return HttpResponseRedirect("/" + cave.url)
|
||||
else:
|
||||
form = EntranceForm(instance = entrance)
|
||||
versionControlForm = VersionControlCommentForm()
|
||||
|
||||
if slug is None:
|
||||
entletter = EntranceLetterForm(request.POST)
|
||||
else:
|
||||
entletter = None
|
||||
return render_with_context(request,
|
||||
'editentrance.html',
|
||||
{'form': form,
|
||||
'versionControlForm': versionControlForm
|
||||
'versionControlForm': versionControlForm,
|
||||
'entletter': entletter
|
||||
})
|
||||
|
||||
def qm(request,cave_id,qm_id,year,grade=None):
|
||||
|
||||
Reference in New Issue
Block a user