From dbd186e299fecd8f10f3dca0a88b78f842b0c59b Mon Sep 17 00:00:00 2001 From: Philip Sargent Date: Fri, 23 Apr 2021 03:07:21 +0100 Subject: make ?reload private and clean old error msgs --- core/views/logbooks.py | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to 'core/views/logbooks.py') 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?! -- cgit v1.2.3