mirror of
https://github.com/bodyrep/bodyrep-sandpit.git
synced 2026-01-26 14:51:44 +00:00
114 lines
3.5 KiB
Python
114 lines
3.5 KiB
Python
import datetime
|
|
import time
|
|
import sys
|
|
from django.shortcuts import get_object_or_404
|
|
from django.shortcuts import render, render_to_response
|
|
from django.contrib.auth.decorators import login_required
|
|
from django.template.loader import render_to_string
|
|
from django.db import IntegrityError
|
|
from django.views.decorators.cache import never_cache
|
|
from django.core.urlresolvers import reverse
|
|
from django.contrib.auth import login as login_user
|
|
from django.contrib.auth import logout as logout_user
|
|
from django.contrib.auth.models import User
|
|
from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidden, Http404
|
|
from django.conf import settings
|
|
from django.core.mail import mail_admins
|
|
from django.core.validators import email_re
|
|
from django.core.mail import EmailMultiAlternatives
|
|
from django.contrib.sites.models import Site
|
|
from neh.app.forms import LoginForm, EditProfileForm
|
|
from django.core.context_processors import csrf
|
|
from django.template import RequestContext
|
|
from annoying.decorators import render_to, ajax_request
|
|
|
|
from app.models import Members
|
|
|
|
from utils.user_functions import get_user, ajax_login_required
|
|
from utils.view_functions import get_argument_or_404, render_to, is_true
|
|
#from utils.ratelimit import ratelimit
|
|
|
|
@render_to('app/landing.html')
|
|
def index(request):
|
|
return {}
|
|
|
|
@render_to('app/member.html')
|
|
def mprofile(request):
|
|
if request.user.is_anonymous():
|
|
return login(request)
|
|
else:
|
|
member = Members.objects.get(username=request.user.username)
|
|
return {'member': member}
|
|
|
|
@render_to('app/profile.html')
|
|
def vprofile(request, username):
|
|
member = Members.objects.get(username=username)
|
|
|
|
if request.user.is_anonymous():
|
|
return login(request)
|
|
else:
|
|
return { 'user': request.user, 'member': member }
|
|
|
|
@never_cache
|
|
@render_to('auth/login.html')
|
|
def login(request):
|
|
if not request.user.is_anonymous():
|
|
return HttpResponseRedirect(reverse('mprofile'))
|
|
|
|
if request.method == "POST":
|
|
if request.POST.get('submit', '').startswith('log'):
|
|
login_form = LoginForm(request.POST, prefix='login')
|
|
else:
|
|
login_form = LoginForm(prefix='login')
|
|
else:
|
|
login_form = LoginForm(prefix='login')
|
|
|
|
|
|
return {'login_form':login_form}
|
|
|
|
|
|
@never_cache
|
|
def dologin(request):
|
|
code = -1
|
|
message = ""
|
|
if request.method == "POST":
|
|
form = LoginForm(request.POST, prefix='login')
|
|
if form.is_valid():
|
|
login_user(request, form.get_user())
|
|
return HttpResponseRedirect(reverse('mprofile'))
|
|
else:
|
|
message = form.errors.items()[0][1][0]
|
|
|
|
@never_cache
|
|
def logout(request):
|
|
logout_user(request)
|
|
|
|
if request.GET.get('api'):
|
|
return HttpResponse(json.encode(dict(code=1)), mimetype='application/json')
|
|
else:
|
|
return HttpResponseRedirect(reverse('index'))
|
|
|
|
|
|
@ajax_request
|
|
@render_to('app/editProfile.html')
|
|
def edit(request):
|
|
if request.user.is_anonymous():
|
|
return login(request)
|
|
else:
|
|
|
|
member = Members.objects.get(username=request.user.username)
|
|
|
|
mdata = {'firstname': member.firstname, 'lastname': member.lastname }
|
|
|
|
edit_form = EditProfileForm(initial=mdata, prefix='edit')
|
|
return { 'edit_form': edit_form }
|
|
|
|
@ajax_request
|
|
def save(request):
|
|
edit_form = EditProfileForm(data=request.POST,prefix = 'edit')
|
|
if edit_form.is_valid():
|
|
edit_form.save(request.user.username)
|
|
return { 'result': 1 }
|
|
else:
|
|
return { 'result': 0 }
|