Пример #1
0
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
Пример #2
0
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
Пример #3
0
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
Пример #4
0
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
Пример #5
0
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
Пример #6
0
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
Пример #7
0
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
Пример #8
0
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
Пример #9
0
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
Пример #10
0
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
Пример #11
0
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
Пример #12
0
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
Пример #13
0
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
Пример #14
0
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
Пример #15
0
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
Пример #16
0
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
Пример #17
0
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
Пример #18
0
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
Пример #19
0
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
Пример #20
0
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
Пример #21
0
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
Пример #22
0
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
Пример #23
0
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
Пример #24
0
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
Пример #25
0
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
Пример #26
0
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
Пример #27
0
def register_done(request):
    data = wrap_data_accounts(request)
    response = _r('account/register_done.html', data)
    return response
Пример #28
0
def password_reset_success(request):
    data = wrap_data_accounts(request)
    response = _r('account/password_reset_success.html', data)
    return response
Пример #29
0
def index(request):
    response = _r('htkadmin/index.html')
    return response
Пример #30
0
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
Пример #31
0
def home(request):
    data = wrap_data(request)
    response = _r('home.html', data)
    return response
Пример #32
0
def about(request):
    data = wrap_data(request)
    response = _r('about.html', data)
    return response
Пример #33
0
def help(request):
    data = wrap_data(request)
    response = _r('help.html', data)
    return response
Пример #34
0
def error404(request):
    response = _r('404.html')
    return response
Пример #35
0
def error500(request):
    response = _r('500.html')
    return response
Пример #36
0
def privacy(request):
    data = wrap_data(request)
    response = _r('privacy.html', data)
    return response
Пример #37
0
def tos(request):
    data = wrap_data(request)
    response = _r('tos.html', data)
    return response