40 lines
1.3 KiB
Python
40 lines
1.3 KiB
Python
from django.shortcuts import render, redirect
|
|
|
|
_SESSION_KEYS = [
|
|
'identify_matches', 'identify_image_paths', 'identify_selected',
|
|
'identify_vpc_results', 'identify_vpc_idx',
|
|
]
|
|
|
|
|
|
def _clear_session(request):
|
|
for key in _SESSION_KEYS:
|
|
request.session.pop(key, None)
|
|
|
|
|
|
def identify_upload(request):
|
|
if request.method == 'POST':
|
|
return redirect('identify_confirm')
|
|
return render(request, 'plants/identify_upload.html')
|
|
|
|
|
|
def identify_confirm(request):
|
|
if 'identify_matches' not in request.session:
|
|
return redirect('identify_upload')
|
|
if request.method == 'POST':
|
|
return redirect('identify_fields')
|
|
return render(request, 'plants/identify_confirm.html', {
|
|
'matches': request.session.get('identify_matches', []),
|
|
})
|
|
|
|
|
|
def identify_fields(request):
|
|
if 'identify_selected' not in request.session:
|
|
return redirect('identify_upload')
|
|
if request.method == 'POST':
|
|
_clear_session(request)
|
|
return redirect('plant_list')
|
|
return render(request, 'plants/identify_fields.html', {
|
|
'selected': request.session.get('identify_selected', {}),
|
|
'vpc_results': request.session.get('identify_vpc_results', []),
|
|
'vpc_idx': request.session.get('identify_vpc_idx', 0),
|
|
})
|