2
0
mirror of https://expo.survex.com/repositories/troggle/.git synced 2025-12-17 08:37:26 +00:00

trying to isolate bug in letter setting on ents

This commit is contained in:
2023-08-03 16:11:46 +03:00
parent 0dfe9d94b2
commit e101f4ed2f
8 changed files with 68 additions and 35 deletions

View File

@@ -442,7 +442,7 @@ def edit_entrance(request, path="", caveslug=None, entslug=None):
entrance = None
if entslug:
# print(f"{caveslug=} {entslug=} {path=}")
print(f"{caveslug=} {entslug=} {path=}")
caveAndEntrance = CaveAndEntrance.objects.get(entrance=entrance, cave=cave)
entlettereditable = False
else:
@@ -450,15 +450,17 @@ def edit_entrance(request, path="", caveslug=None, entslug=None):
entlettereditable = True
if request.POST:
print(f"Online edit of entrance {entrance.slug}")
form = EntranceForm(request.POST, instance=entrance)
entletter = EntranceLetterForm(request.POST, instance=caveAndEntrance)
if form.is_valid() and entletter.is_valid():
entrance = form.save(commit=False)
entrance_letter = entletter.save(commit=False)
# print(f"- POST {caveslug=} {entslug=} {path=}")
entranceletter = entletter.save(commit=False)
print(f"- POST {caveslug=} {entslug=} {entranceletter=} {entletter.cleaned_data['entranceletter']=} {path=}")
if entslug is None:
if entletter.cleaned_data["entrance_letter"]:
slugname = cave.slug() + entletter.cleaned_data["entrance_letter"]
if entletter.cleaned_data["entranceletter"]:
slugname = cave.slug() + entletter.cleaned_data["entranceletter"]
print(f"- POST letter {entletter.cleaned_data['entranceletter']=}")
else:
slugname = cave.slug()
entrance.slug = slugname
@@ -469,26 +471,31 @@ def edit_entrance(request, path="", caveslug=None, entslug=None):
entrance.cached_primary_slug = entslug
entrance.filename = entslug + ".html"
entrance.save()
entrance_letter.entrance = entrance
entrance_letter.save()
entranceletter.entrance = entrance
entranceletter.save()
entrance_file = entrance.file_output()
# print(f"Online edit of entrance {entrance.slug}")
cave_file = cave.file_output()
print(f"- POST WRITE letter {entranceletter}")
write_and_commit([entrance_file, cave_file], f"Online edit of entrance {entrance.slug}")
return HttpResponseRedirect("/" + cave.url)
else: # GET the page, not POST, or if either of the forms were invalid when POSTed
print(f"ENTRANCE in db: entranceletter = '{caveAndEntrance.entranceletter}'")
if entrance:
# re-read entrance data from file.
filename = str(entrance.slug +".html")
read_entrance(filename, ent=entrance)
ent = read_entrance(filename, ent=entrance)
print(f"ENTRANCE from file: entranceletter = '{caveAndEntrance.entranceletter}'")
form = EntranceForm(instance=entrance)
if entslug is None:
entletter = EntranceLetterForm()
print(f" Getting entletter from EntranceLetterForm")
else:
entletter = caveAndEntrance.entrance_letter
entletter = caveAndEntrance.entranceletter
print(f"{entletter=}")
else:
form = EntranceForm()
entletter = EntranceLetterForm()
@@ -508,14 +515,14 @@ def edit_entrance(request, path="", caveslug=None, entslug=None):
def ent(request, cave_id, ent_letter):
cave = Cave.objects.filter(kataster_number=cave_id)[0]
cave_and_ent = CaveAndEntrance.objects.filter(cave=cave).filter(entrance_letter=ent_letter)[0]
cave_and_ent = CaveAndEntrance.objects.filter(cave=cave).filter(entranceletter=ent_letter)[0]
return render(
request,
"entrance.html",
{
"cave": cave,
"entrance": cave_and_ent.entrance,
"letter": cave_and_ent.entrance_letter,
"letter": cave_and_ent.entranceletter,
},
)