コード例 #1
0
ファイル: views_user.py プロジェクト: wormangel/bandontherun
def create_invited_user(request, key):
    context = {}
    context['key'] = key
    invitation = users_manager.get_invitation(key)

    if request.user.is_authenticated():
        return redirect('/user/dashboard')

    if request.method == 'POST':
        form = InvitedUserCreateForm(request.POST)
        if form.is_valid() and invitation != None:
            first_name = form.cleaned_data['first_name']
            last_name = form.cleaned_data['last_name']
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            phone = form.cleaned_data['phone']
            try:
                users_manager.create_user(first_name, last_name, username, password, invitation.email, phone)
                bands_manager.add_band_member(invitation.band.id, username)
                # authenticate and login
                user = authenticate(username=username, password=password)
                login_auth(request, user)
                return redirect('/user/dashboard')
            except Exception as exc:
                # 400
                form.errors['__all__'] = form.error_class(["Error: %s" % exc.message])
    elif invitation != None:
        form = InvitedUserCreateForm({'email': invitation.email})
    else:
        redirect('/404')

    # GET / POST with invalid input
    context['form'] = form
    return render_to_response('user/create.html', context, context_instance=RequestContext(request))
コード例 #2
0
ファイル: tasks.py プロジェクト: wormangel/bandontherun
 def run(self, email, inviter, band, **kwargs):
     try:
         key = hashlib.sha224(email).hexdigest()
         print key
         if users_manager.invitation_exists(key):
             invitation = users_manager.get_invitation(key)
         else:
             invitation = users_manager.create_invitation(email, key, band)
             invitation.save()
         link = "http://*****:*****@bandontherun.com', [email], fail_silently=False)
     except Exception, e:
         print e