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)
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("")
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)