summaryrefslogtreecommitdiffstats
path: root/core/views/logbooks.py
diff options
context:
space:
mode:
Diffstat (limited to 'core/views/logbooks.py')
-rw-r--r--core/views/logbooks.py25
1 files changed, 19 insertions, 6 deletions
diff --git a/core/views/logbooks.py b/core/views/logbooks.py
index 05faa64..454483c 100644
--- a/core/views/logbooks.py
+++ b/core/views/logbooks.py
@@ -57,9 +57,22 @@ def expedition(request, expeditionname):
By specifying a '0' for the expected number of entries in the logbook cache, this forces the parser to
re-parse the original logbook HTML file.
'''
- if "reload" in request.GET:
- this_expedition = Expedition.objects.get(year=int(expeditionname))
- LoadLogbookForExpedition(this_expedition, 0) # 0 means re-parse
+ if request.user.is_authenticated:
+ if "reload" in request.GET:
+ this_expedition = Expedition.objects.get(year=int(expeditionname))
+ # Need to delete the exisitng entries or we get duplicaiton
+ entries = this_expedition.logbookentry_set.all()
+ print(f'! - expo {expeditionname} {len(entries)} entries')
+ for entry in entries:
+ print(f'! - delete entry: "{entry}"')
+ entry.delete()
+ entries = this_expedition.logbookentry_set.all()
+ print(f'! - expo {expeditionname} {len(entries)} entries')
+ LoadLogbookForExpedition(this_expedition, 0) # 0 means re-parse
+ logged_in = True
+ else:
+ logged_in = False
+
ts = TROG['pagecache']['expedition']
if settings.CACHEDPAGES:
@@ -67,7 +80,7 @@ def expedition(request, expeditionname):
#print(f'! - expo {expeditionname} CACHEDPAGES {nexpos} expo pages in cache.')
if expeditionname in ts:
#print('! - expo {expeditionanme} using cached page')
- return render(request,'expedition.html', ts[expeditionname] )
+ return render(request,'expedition.html', { **ts[expeditionname], 'logged_in' : logged_in })
this_expedition = Expedition.objects.get(year=int(expeditionname))
@@ -88,11 +101,11 @@ def expedition(request, expeditionname):
ts[expeditionname] = {'expedition': this_expedition, 'expeditions':expeditions,
'personexpeditiondays':personexpeditiondays, 'settings':settings,
- 'dateditems': dateditems }
+ 'dateditems': dateditems}
TROG['pagecache']['expedition'][expeditionname] = ts[expeditionname]
nexpos = len( TROG['pagecache']['expedition'])
#print(f'! - expo {expeditionname} pre-render N expos:{nexpos}')
- return render(request,'expedition.html', ts[expeditionname] )
+ return render(request,'expedition.html', { **ts[expeditionname], 'logged_in' : logged_in } )
# def get_absolute_url(self): # seems to have come seriously adrift. This should be in a class?!