def post(self, request: HttpRequest, *args, **kwargs) -> HttpResponseRedirect:
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(username=username, password=password)
if user is not None:
if not user.is_active:
messages.error(request, _('User account is deactivated.'))
return redirect('desk:login')
session = user.get_current_session()
if session is None:
messages.error(request, _('You do not have an active session.'))
return redirect('desk:login')
if session.cashdesk != self.cashdesk:
messages.error(request, _('Your session is scheduled for a different cashdesk. Please go to '
'{desk}').format(desk=str(session.cashdesk)))
return redirect('desk:login')
login(request, user)
session.cashdesk.signal_next()
return redirect('desk:main')
else:
messages.error(request, _('No user account matches the entered credentials.'))
return redirect('desk:login')
评论列表
文章目录