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 }