Пример #1
0
def handle(request):
    token_value = dataplus.dictGetSafeVal(request.REQUEST, 'key', '')
    if token_value:
        token = dataplus.returnIfExists(
            models.Token.objects.filter(value=token_value))

    if not token:
        return HttpResponseRedirect('/?flashId=malformed_url')

    if request.method == 'GET':
        return codejar.actions.render(request, 'recruiters/signup.htm',
                                      {'token': token})

    elif request.method == 'POST':
        name = dataplus.dictGetSafeVal(request.REQUEST, 'name', '').strip()
        email = dataplus.dictGetSafeVal(request.REQUEST, 'email', '').strip()
        password = dataplus.dictGetSafeVal(request.REQUEST, 'password',
                                           '').strip()
        password2 = dataplus.dictGetSafeVal(request.REQUEST, 'password2',
                                            '').strip()
        organization = dataplus.dictGetSafeVal(request.REQUEST, 'organization',
                                               '').strip()
        telephone = dataplus.dictGetSafeVal(request.REQUEST, 'telephone',
                                            '').strip()

        errors = validateSignup(name, email, password, password2, telephone,
                                organization)
        if not errors and dataplus.returnIfExists(
                models.Account.objects.filter(username=email)):
            errors.append('You already have an account with the same email.')

        if errors:
            return codejar.actions.render(
                request, 'recruiters/signup.htm', {
                    'name': name,
                    'email': email,
                    'organization': organization,
                    'telephone': telephone,
                    'flash_alerts': errors
                })

        email_verified = (email == token.tag)
        rec = addRecruiter(email, password, name, organization, telephone,
                           token, email_verified)
        subs = addDefaultSubscriptions(rec)

        #send activation email if sign up is not through an invite
        if not (email_verified):
            verify_token = models.Token.getNew(str(rec.account.id), email,
                                               'VerifyEmail')
            params = {'recruiter_key': verify_token}
            mailer.sendActivationLink(email, params)

        return codejar.auth.login(request, email, password)
Пример #2
0
def handle(request):
    try:
        rec = codejar.auth.getLoggedInRecruiter(request)
        if rec:
            token = dataplus.returnIfExists(models.Token.objects.filter(owner=rec.email, type="VerifyEmail"))
            if not token:
                token = models.Token.getNew(rec.account.id, rec.email, "VerifyEmail")
            else:
                token = token.value
            params = {"recruiter_key": token}
            mailer.sendActivationLink(rec.email, params)
            return codejar.ajaxian.getSuccessResp(True)
        else:
            return codejar.ajaxian.getFailureResp("not_logged_in")
    except:
        return codejar.ajaxian.getFailureResp("")
Пример #3
0
def handle(request):
    token_value = dataplus.dictGetSafeVal(request.REQUEST, 'key', '')
    if token_value:
        token = dataplus.returnIfExists(models.Token.objects.filter(value=token_value))
    
    if not token:
        return HttpResponseRedirect('/?flashId=malformed_url')
        
    if request.method == 'GET':
        return codejar.actions.render(request, 'recruiters/signup.htm' , {'token': token})

    elif request.method == 'POST':
        name = dataplus.dictGetSafeVal(request.REQUEST, 'name', '').strip()
        email = dataplus.dictGetSafeVal(request.REQUEST, 'email', '').strip()
        password = dataplus.dictGetSafeVal(request.REQUEST, 'password', '').strip()
        password2 = dataplus.dictGetSafeVal(request.REQUEST, 'password2', '').strip()
        organization = dataplus.dictGetSafeVal(request.REQUEST, 'organization', '').strip()
        telephone = dataplus.dictGetSafeVal(request.REQUEST, 'telephone', '').strip()

        errors = validateSignup(name, email, password, password2, telephone, organization)
        if not errors and dataplus.returnIfExists(models.Account.objects.filter(username=email)):
            errors.append('You already have an account with the same email.')

        if errors:
            return codejar.actions.render(request, 'recruiters/signup.htm', {'name':name, 'email':email, 'organization':organization,
                                                                'telephone':telephone, 'flash_alerts':errors})
        
        email_verified = (email == token.tag)
        rec = addRecruiter(email, password, name, organization, telephone, token, email_verified)
        subs = addDefaultSubscriptions(rec)
        
        #send activation email if sign up is not through an invite
        if not (email_verified):
            verify_token = models.Token.getNew(str(rec.account.id), email, 'VerifyEmail')
            params = {'recruiter_key':verify_token}
            mailer.sendActivationLink(email, params)
            
        return codejar.auth.login(request, email, password)