mirror of
https://expo.survex.com/repositories/troggle/.git
synced 2025-12-18 04:07:10 +00:00
new entry deletuion capability
This commit is contained in:
@@ -3,9 +3,11 @@ import re
|
||||
from django.db.models import Q
|
||||
from django.shortcuts import render
|
||||
from django.views.generic.list import ListView
|
||||
from django.shortcuts import render, redirect
|
||||
|
||||
|
||||
import troggle.settings as settings
|
||||
from troggle.core.models.logbooks import LogbookEntry, PersonLogEntry, QM
|
||||
from troggle.core.models.logbooks import LogbookEntry, PersonLogEntry, QM, writelogbook
|
||||
from troggle.core.models.survex import SurvexBlock, SurvexFile
|
||||
from troggle.core.models.troggle import Expedition, Person
|
||||
from troggle.core.models.wallets import Wallet
|
||||
@@ -218,6 +220,31 @@ def personexpedition(request, slug="", year=""):
|
||||
print(msg)
|
||||
return render(request, "errors/generic.html", {"message": msg})
|
||||
|
||||
def logentrydelete(request, year):
|
||||
"""This only gets called by a POST from the logreport page
|
||||
|
||||
The function in memory of James Waite who managed to make so many duplicate logbook entries
|
||||
that we needed a sopecial mechanism to delete them.
|
||||
"""
|
||||
eslug = request.POST["entry_slug"]
|
||||
entry = LogbookEntry.objects.get(slug=eslug)
|
||||
# OK we delete it formt he db and then re-save logbook.html file
|
||||
# to ensure that the permanent record also has the entry deleted.
|
||||
entry.delete()
|
||||
|
||||
print(f"- Rewriting the entire {year} logbook to disc ")
|
||||
filename= "logbook.html"
|
||||
try:
|
||||
writelogbook(year, filename) # uses a template
|
||||
except:
|
||||
message = f'! - Logbook saving failed - \n!! Permissions failure ?! on attempting to save file "logbook.html"'
|
||||
print(message)
|
||||
return render(request, "errors/generic.html", {"message": message})
|
||||
|
||||
|
||||
return redirect(f"/logreport/{year}")
|
||||
|
||||
|
||||
def logreport(request, year=1999):
|
||||
"""
|
||||
Remember that 'personexpedition__expedition' is interpreted by Django to mean the
|
||||
@@ -231,7 +258,12 @@ def logreport(request, year=1999):
|
||||
expeditions = Expedition.objects.all() # top menu only, evaluated only when template renders
|
||||
dates = None
|
||||
dateditems = None
|
||||
logged_in = False
|
||||
|
||||
|
||||
if request.user.is_superuser: # expoadmin is both .is_staff and ._is_superuser
|
||||
logged_in = True
|
||||
|
||||
|
||||
try:
|
||||
expo = Expedition.objects.get(year=int(year))
|
||||
@@ -265,6 +297,7 @@ def logreport(request, year=1999):
|
||||
"settings": settings,
|
||||
"dateditems": dateditems,
|
||||
"dates": dates,
|
||||
"logged_in": logged_in,
|
||||
}
|
||||
# print(f"logreport(): rendering..")
|
||||
return render(request, "logreport.html", context)
|
||||
|
||||
Reference in New Issue
Block a user