2
0
mirror of https://expo.survex.com/repositories/troggle/.git synced 2025-12-15 07:57:09 +00:00

wallets for just one cave

This commit is contained in:
Philip Sargent
2022-07-21 10:32:11 +03:00
parent 3e869ae76a
commit 8245ee103e
4 changed files with 60 additions and 7 deletions

View File

@@ -9,6 +9,7 @@ from django.shortcuts import render
from django.http import HttpResponse
from troggle.core.models.survex import Wallet, SingleScan
from troggle.core.models.caves import GetCaveLookup
from troggle.core.views.expo import getmimetype
#import parsers.surveys
@@ -47,10 +48,11 @@ def walletindex(request, path):
def scansingle(request, path, file):
'''sends a single binary file to the user for display - browser decides how using mimetype
'''
try:
wallet = Wallet.objects.get(walletname=urlunquote(path))
singlescan = SingleScan.objects.get(wallet=wallet, name=file)
# print(" - scansingle {}:{}:{}:".format(path, file, getmimetype(file)))
print(" - scansingle {}:{}:{}:".format(path, file, getmimetype(file)))
return HttpResponse(content=open(singlescan.ffile,"rb"), content_type=getmimetype(file)) # any type of image
except:
message = f'Scan folder or scan item error or not found \'{path}\' and \'{file}\'.'
@@ -66,3 +68,17 @@ def allwallets(request):
manywallets = Wallet.objects.all()
# manywallets = Wallet.objects.all().prefetch_related('singlescan') fails as the link is defined on 'singlescan' not on 'wallet'
return render(request, 'manywallets.html', { 'manywallets':manywallets, 'settings': settings })
def cavewallets(request, cave_id):
'''Returns all the wallets for just one cave,
'''
Gcavelookup = GetCaveLookup()
if cave_id in Gcavelookup:
cave = Gcavelookup[cave_id]
else:
return render(request,'errors/badslug.html', {'badslug': cave_id})
print(f'cavewallets {cave_id=} {cave=}')
manywallets = Wallet.objects.filter(survexblock__survexfile__cave=cave)
return render(request, 'cavewallets.html', { 'manywallets':manywallets, 'settings': settings })