def create_account(request): if request.method == "POST": first_name = request.POST["first_name"] last_name = request.POST["last_name"] username = request.POST["username"] email = request.POST["email"] password = request.POST["password"] confirmation_password = request.POST["confirmation_password"] if not _account.is_password_confirmation_password( password, confirmation_password): _messages.error(request, "Passwords do not match") return _redirect("create-account") if _account.username_exists(username): _messages.error(request, "Username is already in use") return _redirect("create-account") if _account.email_exists(email): _messages.error(request, "Email is already in use") return _redirect("create-account") user = _account.create_user(username, password, email, first_name, last_name) _auth.login(request, user) return _redirect("index") return _render( request, "pages/authentication/create_account.html", {"form": _forms.CreateAccoutForm()}, )
def login(request): if request.method == "POST": username = request.POST["username"] password = request.POST["password"] user = _auth.authenticate(username=username, password=password) if user is not None: _auth.login(request, user) return _redirect("index") else: _messages.error(request, "Invalid Credentials") return _redirect("login") return _render(request, "pages/authentication/login.html", {"form": _forms.LoginForm()})
def redirect(request, hash): """ """ try: l = Link() url = l.resolve(hash) except NotFound as e: raise Http404 return _redirect(url, permanent=False)
def redirect(view_name, *args, **kwargs): """ Imitate django redirect() within our app context """ try: return _redirect(reverse(view_name, *args, **kwargs)) except NoReverseMatch: return _redirect(view_name, *args, **kwargs)
def logout(request): if request.method == "POST": _auth.logout(request) return _redirect("index")
def redirect(*args, **kwargs): """ Convenient wrapper around redirect shortcut with optional query_string parameter. """ return _redirect(reverse(*args, **kwargs))
def view(request): return _redirect(to, *args, permanent=True, **kwargs)