Adds new combined login & signup view

This commit is contained in:
Christopher Neugebauer 2017-08-18 08:46:51 -07:00
parent ce77ac6b5c
commit a6cf86f826
4 changed files with 80 additions and 0 deletions

View file

@ -261,6 +261,8 @@ EMAIL_HOST_PASSWORD = os.environ.get("DJANGO_EMAIL_HOST_PASSWORD", "")
EMAIL_USE_TLS = bool(int(os.environ.get("DJANGO_EMAIL_USE_TLS", "0"))) EMAIL_USE_TLS = bool(int(os.environ.get("DJANGO_EMAIL_USE_TLS", "0")))
EMAIL_USE_SSL = bool(int(os.environ.get("DJANGO_EMAIL_USE_SSL", "0"))) EMAIL_USE_SSL = bool(int(os.environ.get("DJANGO_EMAIL_USE_SSL", "0")))
ACCOUNT_LOGIN_URL = "nbpy_login"
LOGIN_URL = "nbpy_login"
# We need to explicitly switch on signups. # We need to explicitly switch on signups.
ACCOUNT_OPEN_SIGNUP = bool(int(os.environ.get("DJANGO_ACCOUNT_OPEN_SIGNUP", "0"))) ACCOUNT_OPEN_SIGNUP = bool(int(os.environ.get("DJANGO_ACCOUNT_OPEN_SIGNUP", "0")))

View file

@ -0,0 +1,59 @@
{% extends "page_with_title_and_lede.html" %}
{% load bootstrap %}
{% load i18n %}
{% block head_title %}Log In{% endblock %}
{% block heading %}Log In or Sign Up{% endblock %}
{% block body_class %}login{% endblock %}
{% block content %}
<div class="container">
<div class="row">
<div class="col-md-4">
<form action="{% url 'account_login' %}" method="POST">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">
Log into an existing account
</h3>
</div>
<div class="panel-body">
{% csrf_token %}
{{ login_form| bootstrap }}
</div>
<div class="panel-footer">
<button role="submit" class="btn btn-primary">Log In</button>
</div>
</div>
</form>
</div>
{% if signup_open %}
<div class="col-md-4">
<form action="{% url 'account_signup' %}" method="POST">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">
Sign up for a new account
</h3>
</div>
<div class="panel-body">
{% csrf_token %}
{{ signup_form|bootstrap }}
</div>
<div class="panel-footer">
<button role="submit" class="btn btn-primary">Sign Up</button>
</div>
</div>
</form>
</div>
{% endif %}
</div>
</div>
{% endblock %}

View file

@ -52,6 +52,7 @@ urlpatterns = [
url(r"^admin/", include(admin.site.urls)), url(r"^admin/", include(admin.site.urls)),
url(r"^login$", views.account_login, name="nbpy_login"),
url(r"^account/", include("account.urls")), url(r"^account/", include("account.urls")),
url(r"^dashboard/", symposion.views.dashboard, name="dashboard"), url(r"^dashboard/", symposion.views.dashboard, name="dashboard"),

View file

@ -1,9 +1,27 @@
from django.conf import settings
from django.http import HttpResponseServerError from django.http import HttpResponseServerError
from django.shortcuts import render
from django.template import RequestContext from django.template import RequestContext
from django.template import Template from django.template import Template
from django.template.loader import get_template from django.template.loader import get_template
from django.views import defaults from django.views import defaults
from account.forms import LoginEmailForm, LoginUsernameForm, SignupForm
def server_error(request, template_name=defaults.ERROR_500_TEMPLATE_NAME): def server_error(request, template_name=defaults.ERROR_500_TEMPLATE_NAME):
t = Template("{%% include '%s' %%}" % template_name) t = Template("{%% include '%s' %%}" % template_name)
return HttpResponseServerError(t.render(RequestContext(request))) return HttpResponseServerError(t.render(RequestContext(request)))
def account_login(request):
d = {
"login_form": LoginEmailForm(),
"signup_form": SignupForm(),
"signup_open": getattr(settings, "ACCOUNT_OPEN_SIGNUP", True),
}
print d["signup_open"], settings.ACCOUNT_OPEN_SIGNUP
return render(request, "account_login.html", d)