Ejemplo n.º 1
0
def register(request):
    client_sub_domain = CLIENT_SUB_DOMAIN
    if request.user.is_authenticated():
        return HttpResponseRedirect("/")
    form = UserCreationForm()
    if request.method == 'POST':
        data = request.POST.copy()
        print request.POST['username']
        data = {'username':request.POST['username'],
                'password1':request.POST['password1'],
                'password2':request.POST['password1']
                }
        form = UserCreationForm(data)
        print form        
        if form.is_valid():
            print "valid"
            formcd = form.cleaned_data
            if formcd['password1'] == formcd['password2']:
                user = User.objects.create_user(formcd['username'],'',formcd['password1'])
                user.save()
                user_in_db = authenticate(username=formcd['username'],password=formcd['password1'])
                login(request,user_in_db)

                try: 
                    #if user uses an e-mail address to sign up
                    #send an e-mail right away
                    validate_email ( formcd['username'] )
                except:
                    #can fail silently, because then everything is just normal 
                    pass
                else:
                    user_in_db.email = formcd['username']
                    user_in_db.save()
                    helpers.send_verify_email(formcd['username'], user, request)
                return HttpResponseRedirect("/")

    else:
        data, errors = {}, {}

    return render_to_response("main/register.html", locals(),
            context_instance=RequestContext(request))
Ejemplo n.º 2
0
def splash(request,show=''):
    is_splash = "splash"
    client_sub_domain = CLIENT_SUB_DOMAIN
    if not request.user.is_authenticated():
        form = AuthenticationForm()
        registerForm = UserCreationForm()
        if request.method=="POST":
            register(request)
            return HttpResponseRedirect("/")
        else:
            recent_ideas = Idea.objects.exclude(private=True).order_by('?')[:6]
            return render_to_response("main/splash.html", locals(),
                    context_instance=RequestContext(request))

    #
    # else there is a user and we can just show the general page
    #


    else:
        user = request.user
        #if user.has_perm(app.idea.can_add):
        #    post_idea = True
        #else:
        #    post_idea = False
        if request.method == 'POST': #If something has been submitted
            if 'vote' in request.POST:
                voteForm = VoteForm(request.POST)
                if voteForm.is_valid():
                    helpers.vote(voteForm,request.user)
            if 'submit_email' in request.POST:
                emailForm = EmailForm(request.POST)
                if emailForm.is_valid():

                    clean = emailForm.cleaned_data
                    exists = User.objects.filter(email=clean['email'])
                    if len(exists) > 0:
                        messages.error(request, (
                            "That e-mail address is "
                            "already in use, have you signed up before "
                            "using a different username?"))
                        return HttpResponseRedirect("/")

                    user.email = clean['email']

                    helpers.send_verify_email(clean['email'],user,request)

                    user.save()
            if 'submit_idea' in request.POST:
                idea = helpers.add_idea(request)
            if 'submit_idea_elaborate' in request.POST:
                idea = helpers.add_idea(request)
                if idea:
                    return HttpResponseRedirect(reverse('edit-idea', args=[idea.id]))

        voteUpForm = VoteForm({'vote':'+'})
        voteDownForm = VoteForm({'vote':'-'})
        ideaForm = IdeaForm()
        searchForm = SearchForm() 
        emailForm = EmailForm({'email':user.email})
        all_ideas = Idea.objects.exclude(private=True).annotate(votes=Count('vote_on'))
        if show == 'started':
            all_ideas = Idea.objects.filter(started=True).exclude(private=True).annotate(votes=Count('vote_on'))
        elif show == 'not-started':
            all_ideas = Idea.objects.exclude(started=True).exclude(private=True).annotate(votes=Count('vote_on'))
        if show == 'top':
            all_ideas = all_ideas.order_by('-votes')
        else:
            all_ideas = all_ideas.order_by('-date')
        all_ideas = helpers.process_ideas(user, all_ideas)
        return render_to_response("main/home.html",locals(),
                context_instance=RequestContext(request))