2017-09-16 15:58:49 -04:00
from django . http import JsonResponse
2017-08-18 23:37:16 -04:00
from django . contrib import auth
2017-09-15 12:41:20 -04:00
from django . contrib . auth . models import User
2017-09-15 15:54:05 -04:00
from django . core import mail
2017-09-16 15:58:49 -04:00
from django . shortcuts import render , redirect
2017-08-17 13:20:57 -04:00
from charter_members . models import Attorney
2017-09-15 12:41:20 -04:00
from newsletters . models import Subscriber
2017-09-15 15:54:05 -04:00
from OACPL import settings
2017-08-17 13:20:57 -04:00
def index ( request ) :
attorneys = Attorney . objects . filter ( front_page = True )
return render ( request , ' index.html ' , { ' attorneys ' : attorneys } )
2017-08-18 23:37:16 -04:00
2017-09-16 15:58:49 -04:00
def contact ( request ) :
name = request . POST . get ( ' name ' )
email = request . POST . get ( ' email ' )
subject = request . POST . get ( ' subject ' )
body = request . POST . get ( ' body ' )
result = False
if name is not None and email is not None and subject is not None and body is not None :
result = mail . send_mail ( f ' OACPL CONTACT: { subject } ' , body , settings . EMAIL_HOST_USER , [ settings . EMAIL_CONTACT ] ,
html_message = f ' <strong>From:</strong> { name } ( { email } )<br><br> { body } ' )
return JsonResponse ( { ' success ' : True if result else False } )
2017-09-15 10:50:24 -04:00
def login ( request ) :
if request . method == ' POST ' :
2017-09-15 12:41:20 -04:00
if request . POST . get ( ' request ' ) == ' login ' :
user = auth . authenticate ( request , username = request . POST . get ( ' username ' ) , password = request . POST . get ( ' password ' ) )
if user :
auth . login ( request , user )
return redirect ( ' / ' )
else :
return render ( request , ' login.html ' , { ' navbar ' : False , ' footer ' : False , ' failed ' : True } )
elif request . POST . get ( ' request ' ) == ' register ' :
user = User . objects . create_user ( request . POST . get ( ' username ' ) ,
email = request . POST . get ( ' email ' ) ,
password = request . POST . get ( ' password ' ) )
user . save ( )
2017-09-15 15:54:05 -04:00
if settings . EMAIL_HOST :
mail . send_mail ( ' OACPL Registration ' , ' You have successfully registered to the Ontario Asscocaition of Child Protection Lawyers! ' , settings . EMAIL_HOST_USER , [ request . POST . get ( ' email ' ) ] )
2017-09-15 12:41:20 -04:00
if request . POST . get ( ' newsletter ' ) :
Subscriber . objects . create ( email = request . POST . get ( ' email ' ) )
# TODO: If Case law access was requested, send an email out to staff
auth . login ( request , user )
return redirect ( ' / ' )
elif request . POST . get ( ' request ' ) == ' reset ' :
# TODO: Reset password and send email
pass
2017-09-15 10:50:24 -04:00
else :
2017-09-15 12:41:20 -04:00
return render ( request , ' login.html ' , { ' navbar ' : False , ' footer ' : False } )
2017-09-15 10:50:24 -04:00
2017-08-18 23:37:16 -04:00
def logout ( request ) :
auth . logout ( request )
return redirect ( ' / ' )