def index(request): data = wrap_data_forum(request) site = data['site'] forums = site.forums.all() data['forums'] = forums response = _r('forum/index.html', data) return response
def register_social_login(request): data = wrap_data_accounts(request) email = request.session.get(SOCIAL_REGISTRATION_SETTING_EMAIL) data['email'] = email data.update(csrf(request)) success = False if request.method == 'POST': auth_form = SocialRegistrationAuthenticationForm(email, request.POST) if auth_form.is_valid(): user = auth_form.get_user() login(request, user) success = True else: for error in auth_form.non_field_errors(): data['errors'].append(error) auth_user = auth_form.get_user() if auth_user and not auth_user.is_active: data['errors'].append('Have you confirmed your email address yet? <a href="%s">Resend confirmation</a>.' % reverse('account_resend_confirmation')) else: auth_form = SocialRegistrationAuthenticationForm(email) if success: response = redirect_to_social_auth_complete(request) else: data['auth_form'] = auth_form response = _r('account/register_social_login.html', data) return response
def register(request): data = wrap_data_accounts(request) data.update(csrf(request)) success = False if request.method == 'POST': reg_form = UserRegistrationForm(request.POST) if reg_form.is_valid(): domain = request.get_host() new_user = reg_form.save(domain) #username = user.username #password = reg_form.cleaned_data.get('password1') # user.password is a hashed value #auth_user = authenticate(username=username, password=password) #login(request, auth_user) success = True else: for error in reg_form.non_field_errors(): data['errors'].append(error) else: reg_form = UserRegistrationForm() data['reg_form'] = reg_form destination = None if success: destination = redirect(reverse('account_register_done')) else: destination = _r('account/register.html', data) return destination
def register_social_email(request): data = wrap_data_accounts(request) data.update(csrf(request)) email = None success = False if request.method == 'POST': email_form = SocialRegistrationEmailForm(request.POST) if email_form.is_valid(): email = email_form.save(request) success = True else: for error in email_form.non_field_errors(): data['errors'].append(error) else: email_form = SocialRegistrationEmailForm(None) if success: user = get_user_by_email(email) if user: # a user is already associated with this email response = redirect('account_register_social_login') else: response = redirect_to_social_auth_complete(request) else: data['email_form'] = email_form response = _r('account/register_social_email.html', data) return response
def login_view(request): data = wrap_data_accounts(request) data.update(csrf(request)) next_view = None success = False if request.method == 'POST': auth_form = UsernameEmailAuthenticationForm(None, request.POST) if auth_form.is_valid(): user = auth_form.get_user() login(request, user) success = True user.profile.update_locale_info_by_ip_from_request(request) next_view = request.GET.get('next', reverse('account_home')) else: for error in auth_form.non_field_errors(): data['errors'].append(error) auth_user = auth_form.get_user() if auth_user and not auth_user.is_active: data['errors'].append('Have you confirmed your email address yet? <a href="%s">Resend confirmation</a>.' % reverse('account_resend_confirmation')) else: auth_form = UsernameEmailAuthenticationForm(None) if success: response = redirect(next_view) else: data['next'] = next_view data['auth_form'] = auth_form response = _r('account/login.html', data) return response
def prelaunch(request): if is_prelaunch_mode(): data = get_view_context(request) data.update(csrf(request)) success = False if request.method == 'POST': prelaunch_signup_form = PrelaunchSignupForm(request.POST) if prelaunch_signup_form.is_valid(): try: site = get_current_site(request) except Exception: site = None prelaunch_signup = prelaunch_signup_form.save(site) success = True else: for error in prelaunch_signup_form.non_field_errors(): data['errors'].append(error) else: prelaunch_signup_form = PrelaunchSignupForm() data['prelaunch_signup_form'] = prelaunch_signup_form data['success'] = success prelaunch_template = htk_setting('HTK_PRELAUNCH_TEMPLATE', HTK_PRELAUNCH_TEMPLATE) response = _r(request, prelaunch_template, data) else: response = redirect(htk_setting('HTK_INDEX_URL_NAME')) return response
def index(request): data = wrap_data_forum(request) site = data["site"] forums = site.forums.all() data["forums"] = forums response = _r("forum/index.html", data) return response
def resend_confirmation(request): data = wrap_data_accounts(request) data.update(csrf(request)) if request.method == 'POST': resend_confirmation_form = ResendConfirmationForm(request.POST) if resend_confirmation_form.is_valid(): email = resend_confirmation_form.cleaned_data.get('email') user_emails = UserEmail.objects.filter(email=email) num_confirmed_user_emails = user_emails.filter(is_confirmed=True).count() if num_confirmed_user_emails == 1: data['already_active'] = True elif num_confirmed_user_emails > 1: raise NonUniqueEmail(email) else: unconfirmed_user_emails = user_emails.filter(is_confirmed=False) for unconfirmed in unconfirmed_user_emails: unconfirmed.send_activation_email(domain=request.get_host(), resend=True) data['success'] = True else: for error in resend_confirmation_form.non_field_errors(): data['errors'].append(error) else: resend_confirmation_form = ResendConfirmationForm() data['resend_confirmation_form'] = resend_confirmation_form response = _r('account/resend_confirmation.html', data) return response
def thread(request, tid=None): thread = get_object_or_404(ForumThread, id=tid) data = wrap_data_forum(request) data.update(csrf(request)) message_creation_form = MessageCreationForm() data['message_creation_form'] = message_creation_form data['thread'] = thread response = _r('forum/thread.html', data) return response
def thread(request, tid=None): thread = get_object_or_404(ForumThread, id=tid) data = wrap_data_forum(request) data.update(csrf(request)) message_creation_form = MessageCreationForm() data["message_creation_form"] = message_creation_form data["thread"] = thread response = _r("forum/thread.html", data) return response
def forum(request, fid): data = wrap_data_forum(request) forum = get_object_or_404(Forum, id=fid) data.update(csrf(request)) data['forum'] = forum thread_creation_form = ThreadCreationForm() data['thread_creation_form'] = thread_creation_form data['threads'] = forum.threads.order_by('sticky', '-updated') response = _r('forum/forum.html', data) return response
def forum(request, fid): data = wrap_data_forum(request) forum = get_object_or_404(Forum, id=fid) data.update(csrf(request)) data["forum"] = forum thread_creation_form = ThreadCreationForm() data["thread_creation_form"] = thread_creation_form data["threads"] = forum.threads.order_by("sticky", "-updated") response = _r("forum/forum.html", data) return response
def reset_password(request): """ View that checks the hash in a password reset link and presents a form for entering a new password. Based off of django.contrib.auth.views.password_reset_confirm Need to customize error display """ data = wrap_data_accounts(request) uidb36 = request.GET.get('u', None) token = request.GET.get('t', None) token_generator = default_token_generator success = False destination = None if uidb36 and token: try: uid_int = base36_to_int(uidb36) user = User.objects.get(id=uid_int) except (ValueError, User.DoesNotExist): user = None if user is not None and token_generator.check_token(user, token): validlink = True if request.method == 'POST': form = SetPasswordForm(user, request.POST) if form.is_valid(): form.save() success = True else: form = SetPasswordForm(None) else: validlink = False form = None data['form'] = form data['validlink'] = validlink else: data['validlink'] = False if success: destination = redirect(reverse('account_password_reset_success')) else: if not data['validlink']: data['errors'].append('Invalid Link.') data['forgot_password_link'] = reverse('account_forgot_password') destination = _r('account/reset_password.html', data) return destination
def emails(request): data = wrap_data_accounts(request) user = data['user'] data.update(csrf(request)) add_email_form = None success = False if request.method == 'POST': if 'add_email' in request.POST: add_email_form = AddEmailForm(request.POST) if add_email_form.is_valid(): domain = request.get_host() user_email = add_email_form.save(user=user, domain=domain) success = True else: for error in add_email_form.non_field_errors(): data['errors'].append(error) elif 'primary_email' in request.POST: email = request.POST.get('primary_email') user_email = get_object_or_404(UserEmail, user=user, email=email) user = user_email.set_primary_email() if user: # update cached user object data['user'] = user success = True elif 'delete_email' in request.POST: email = request.POST.get('delete_email') user_email = get_object_or_404(UserEmail, user=user, email=email) if user_email.delete(): success = True else: # unknown POST raise Http404 else: # just render the page if it is not a post pass # will need to display AddEmailForm regardless of result # reset the form to allow adding another email if not add_email_form: add_email_form = AddEmailForm() data['add_email_form'] = add_email_form response = _r('account/emails.html', data) return response
def password(request): data = wrap_data_accounts(request) user = data['user'] data.update(csrf(request)) success = False if request.method == 'POST': password_form = SetPasswordForm(user, request.POST) if password_form.is_valid(): password_form.save() success = True else: password_form = SetPasswordForm(None) data['password_form'] = password_form if success: response = redirect(reverse('account_settings')) else: response = _r('account/password.html', data) return response
def settings(request): data = wrap_data_accounts(request) data.update(csrf(request)) user = data['user'] data['social_auths_status'] = get_social_auths_status(user) data['user_update_forms'] = get_user_update_forms(user) if request.method == 'POST': user_update_form_class = get_user_update_form(request) user_update_form = user_update_form_class(user, request.POST) if user_update_form.is_valid(): success = True result = user_update_form.save() response = json_response_okay() else: response = json_response_error() else: response = _r('account/settings.html', data) return response
def register_social_email(request, data=None, template='account/register_social_email.html', renderer=_r): from htk.apps.accounts.forms.auth import SocialRegistrationEmailForm if data is None: data = wrap_data(request) email = None success = False if request.method == 'POST': email_form = SocialRegistrationEmailForm(request.POST) if email_form.is_valid(): email = email_form.save(request) success = True else: for error in email_form.non_field_errors(): data['errors'].append(error) else: email_form = SocialRegistrationEmailForm(None) if success: user = get_user_by_email(email) if user: # a user is already associated with this email if user.has_usable_password(): # user should log into the existing account with a password url_name = htk_setting( 'HTK_ACCOUNTS_REGISTER_SOCIAL_LOGIN_URL_NAME') else: # no password was set, so user must log in with another social auth account url_name = htk_setting( 'HTK_ACCOUNTS_REGISTER_SOCIAL_ALREADY_LINKED_URL_NAME') response = redirect(url_name) else: response = redirect_to_social_auth_complete(request) else: data['email_form'] = email_form response = _r(template, data) return response
def register_social_email( request, data=None, template='account/register_social_email.html', renderer=_r ): from htk.apps.accounts.forms.auth import SocialRegistrationEmailForm if data is None: data = wrap_data(request) email = None success = False if request.method == 'POST': email_form = SocialRegistrationEmailForm(request.POST) if email_form.is_valid(): email = email_form.save(request) success = True else: for error in email_form.non_field_errors(): data['errors'].append(error) else: email_form = SocialRegistrationEmailForm(None) if success: user = get_user_by_email(email) if user: # a user is already associated with this email if user.has_usable_password(): # user should log into the existing account with a password url_name = htk_setting('HTK_ACCOUNTS_REGISTER_SOCIAL_LOGIN_URL_NAME') else: # no password was set, so user must log in with another social auth account url_name = htk_setting('HTK_ACCOUNTS_REGISTER_SOCIAL_ALREADY_LINKED_URL_NAME') response = redirect(url_name) else: response = redirect_to_social_auth_complete(request) else: data['email_form'] = email_form response = _r(template, data) return response
def confirm_email(request, activation_key): data = wrap_data_accounts(request) user = data['user'] user_email = get_object_or_404(UserEmail, activation_key=activation_key) if user and user != user_email.user: # for a mismatched user, force logout logout(request) user = None data['user'] = None # attempt to confirm if user_email.key_expires < utcnow(): data['expired'] = True else: was_activated = user_email.confirm_and_activate_account() data['was_activated'] = was_activated data['success'] = True response = _r('account/confirm_email.html', data) return response
def timezone(request): data = wrap_data_accounts(request) user = data['user'] data.update(csrf(request)) success = False if request.method == 'POST': timezone_form = TimezoneForm(request.POST) if timezone_form.is_valid(): timezone = timezone_form.save(user, request) success = True else: for error in timezone_form.non_field_errors(): data['errors'].append(error) else: timezone_form = TimezoneForm(instance=user.profile) if success: response = redirect('account_settings') else: data['timezone_form'] = timezone_form response = _r('account/timezone.html', data) return response
def thread_create(request, fid=None): forum = get_object_or_404(Forum, id=fid) data = wrap_data_forum(request) user = data['user'] data.update(csrf(request)) data['forum'] = forum success = False if request.method == 'POST': thread_creation_form = ThreadCreationForm(request.POST) if thread_creation_form.is_valid(): thread = thread_creation_form.save(author=user, forum=forum) success = True else: for error in thread_creation_form.non_field_errors(): data['errors'].append(error) else: thread_creation_form = ThreadCreationForm(None) if success: response = redirect(reverse('forum_thread', args=(thread.id, ))) else: data['forms'].append(thread_creation_form) data['thread_creation_form'] = thread_creation_form response = _r('forum/thread_create.html', data) return response
def message_create(request, tid=None): thread = get_object_or_404(ForumThread, id=tid) data = wrap_data_forum(request) data['thread'] = thread user = data['user'] data.update(csrf(request)) success = False if request.method == 'POST': message_creation_form = MessageCreationForm(request.POST) if message_creation_form.is_valid(): message = message_creation_form.save(author=user, thread=thread) success = True else: for error in auth_form.non_field_errors(): data['errors'].append(error) else: message_creation_form = MessageCreationForm(None) if success: response = redirect(reverse('forum_thread', args=(thread.id, ))) else: data['message_creation_form'] = message_creation_form response = _r('forum/message_create.html', data) return response
def message_create(request, tid=None): thread = get_object_or_404(ForumThread, id=tid) data = wrap_data_forum(request) data["thread"] = thread user = data["user"] data.update(csrf(request)) success = False if request.method == "POST": message_creation_form = MessageCreationForm(request.POST) if message_creation_form.is_valid(): message = message_creation_form.save(author=user, thread=thread) success = True else: for error in auth_form.non_field_errors(): data["errors"].append(error) else: message_creation_form = MessageCreationForm(None) if success: response = redirect(reverse("forum_thread", args=(thread.id,))) else: data["message_creation_form"] = message_creation_form response = _r("forum/message_create.html", data) return response
def prelaunch(request): if is_prelaunch_mode(): data = get_view_context(request) data.update(csrf(request)) success = False if request.method == 'POST': prelaunch_signup_form = PrelaunchSignupForm(request.POST) if prelaunch_signup_form.is_valid(): site = get_current_site(request) prelaunch_signup = prelaunch_signup_form.save(site) success = True else: for error in prelaunch_signup_form.non_field_errors(): data['errors'].append(error) else: prelaunch_signup_form = PrelaunchSignupForm() data['prelaunch_signup_form'] = prelaunch_signup_form data['success'] = success prelaunch_template = htk_setting('HTK_PRELAUNCH_TEMPLATE', HTK_PRELAUNCH_TEMPLATE) response = _r(prelaunch_template, data) else: response = redirect(htk_setting('HTK_INDEX_URL_NAME')) return response
def thread_create(request, fid=None): forum = get_object_or_404(Forum, id=fid) data = wrap_data_forum(request) user = data["user"] data.update(csrf(request)) data["forum"] = forum success = False if request.method == "POST": thread_creation_form = ThreadCreationForm(request.POST) if thread_creation_form.is_valid(): thread = thread_creation_form.save(author=user, forum=forum) success = True else: for error in thread_creation_form.non_field_errors(): data["errors"].append(error) else: thread_creation_form = ThreadCreationForm(None) if success: response = redirect(reverse("forum_thread", args=(thread.id,))) else: data["forms"].append(thread_creation_form) data["thread_creation_form"] = thread_creation_form response = _r("forum/thread_create.html", data) return response
def index(request): data = wrap_data(request) data['tools'] = YAHOO_SPORTS_FANTASY_TOOLS response = _r('htk/lib/yahoo/sports/fantasy/index.html', data) return response
def register_done(request): data = wrap_data_accounts(request) response = _r('account/register_done.html', data) return response
def password_reset_success(request): data = wrap_data_accounts(request) response = _r('account/password_reset_success.html', data) return response
def index(request): response = _r('htkadmin/index.html') return response
def home(request): data = wrap_data(request) response = _r('home.html', data) return response
def about(request): data = wrap_data(request) response = _r('about.html', data) return response
def help(request): data = wrap_data(request) response = _r('help.html', data) return response
def error404(request): response = _r('404.html') return response
def error500(request): response = _r('500.html') return response
def privacy(request): data = wrap_data(request) response = _r('privacy.html', data) return response
def tos(request): data = wrap_data(request) response = _r('tos.html', data) return response