def check_key(request):
"""Check masterkey"""
if not settings.ENABLE_MASTERKEY:
return redirect('vaults:open_vault')
if not check_seal(request):
return redirect('vaults:new_key')
msg = ''
if request.method == "POST":
checkform = CheckKeyForm(request.POST)
if checkform.is_valid():
inputkey = checkform.save(commit=False)
key = Key.objects.filter(user=request.user).latest('created_at')
if check_password(inputkey.masterkey, key.masterkey):
key.expiry = timezone.now() + timezone.timedelta(
minutes=settings.MASTERKEY_SESSION_TIME)
key.save()
return redirect(key.get_absolute_url())
else:
msg = _('Wrong master key.')
elif request.method == "GET":
checkform = CheckKeyForm()
return render(
request,
"vaults/check_key.html",
{
'form': checkform,
'msg': msg,
}
)
评论列表
文章目录