コード例 #1
0
def handle(request):
    import website.bigfoot.models as models
    zoomo_id = dataplus.dictGetVal(request.REQUEST, 'zid')
    hresume_contents = get_object_or_404(models.HResumeContents, zoomo_id=zoomo_id)
    
    if request.method == 'GET':      
        return render_to_response('resumitypublish.htm', 
            {'zid':zoomo_id})
    
    #Handles only post requests
    elif request.method == 'POST':
        html = hresume_contents.resume
        
        action = dataplus.dictGetSafeVal(request.REQUEST, 'action')
        user = None
        from website.bigfoot.utils import siteaction, codejar_resume, sessions_client, livewire_client
        if action == 'new_publish':
            username = dataplus.dictGetSafeVal(request.REQUEST, 'new_username')
            password1 = dataplus.dictGetSafeVal(request.REQUEST, 'password1')
            password2 = dataplus.dictGetSafeVal(request.REQUEST, 'password2')
            industry_category = hresume_contents.industry_category.name
            posted_data = simplejson.loads(base64.b64decode(hresume_contents.post_dict))
            experience = calculateExperience(posted_data)
            country = models.Country.objects.get(name=hresume_contents.country)
            
            full_name = (hresume_contents.fname + ' ' + hresume_contents.lname).strip()
            
            user = siteaction.createUser(username, full_name, password1, hresume_contents.email, country.code, industry_category, experience)
            session_id = sessions_client.query('addNewSession', [user.username])
        elif action == 'login_publish':
            username = dataplus.dictGetSafeVal(request.REQUEST, 'username')
            password = dataplus.dictGetSafeVal(request.REQUEST, 'password')
            success, session_id, url, info = siteaction.doAjaxLogin(username, password)
            if not success:
                return render_to_response('resumitypublish.htm', 
                    {'zid':zoomo_id,
                    'error_text': info})
            else:
                user = models.User.objects.get(username=username)
                
        html_body = html[html.index('<body>')+len('<body>'):html.index('</body>')]
        codejar_resume.saveResume(user, html_body)
        useraccount = user.account
        
        hresume_contents = models.HResumeContents.objects.get(zoomo_id=zoomo_id)
        hresume_contents.account = useraccount
        hresume_contents.save()

        if session_id:
            chat_settings = models.ChatSettings.objects.get(account=useraccount)
            livewire_client.command('updateUserSession', [session_id, useraccount.username, useraccount.name, chat_settings.online_status, 
                chat_settings.custom_message, chat_settings.invite_preference, chat_settings.ignore_list, 
                dataplus.getSocialrayStaticUrl(chat_settings.image_size1_file_path), dataplus.getSocialrayStaticUrl(chat_settings.image_size2_file_path), 
                dataplus.getSocialrayStaticUrl(chat_settings.image_size3_file_path)])
        
        return siteaction.redirectWithCookie('/me/', 'session_id', session_id)
コード例 #2
0
ファイル: login.py プロジェクト: TayebJa3ba/socialray
def handle(request): 
    try:
        username = dataplus.dictGetVal(request.REQUEST, 'username')
        password = dataplus.dictGetVal(request.REQUEST, 'password')
        if not (username and password):
            return ajaxian.getFailureResp('Error: Invalid username or password.')

        success, session_id, redirect_url, error_message = siteaction.doAjaxLogin(username, password)
        if success:
            response = ajaxian.getSuccessResp(redirect_url)
            response.set_cookie('session_id', session_id)
            return response
        else:
            return ajaxian.getFailureResp(error_message)
    except:
        return ajaxian.getFailureResp('unknown')