def application_unauthenticated(request, token, state=None, label=None): """ An unauthenticated user is trying to access an application. """ application = base.get_application(secret_token=token, expires__gt=datetime.datetime.now()) # redirect user to real url if possible. if request.user.is_authenticated(): if request.user == application.applicant: url = base.get_url(request, application, {"is_applicant": True}, label) return HttpResponseRedirect(url) state_machine = base.get_state_machine(application) return state_machine.process(request, application, state, label, {"is_applicant": True})
def invitation_token(request, token, state=None, label=None): """An authenticated user is trying to access an application using a token.""" application = base.get_application( secret_token=token, expires__gt=datetime.datetime.now()) # If the applicant is a real Person, don't allow the application # to be stolen. if application.content_type.model != 'applicant': return redirect('index') # redirect user to real url if possible. if request.user.is_authenticated(): if request.user == application.applicant: url = base.get_url(request, application, {'is_applicant': True}, label) return HttpResponseRedirect(url) state_machine = base.get_state_machine(application) return state_machine.process(request, application, state, label, {'is_applicant': True})
def application_detail(request, application_id, state=None, label=None): """ An authenticated admin is trying to access an application. """ application = base.get_application(pk=application_id) state_machine = base.get_state_machine(application) return state_machine.process(request, application, state, label, { 'is_admin': True })