示例#1
0
def handle(request): 
    try:
        logged_in_type = siteaction.getLoggedInAccountType(request)
        rcvr_usrname = dataplus.dictGetVal(request.REQUEST,'sendTo')
        
        if logged_in_type == 'U':
            myself = siteaction.getLoggedInUser(request)
        elif logged_in_type == 'R':
            myself = siteaction.getLoggedInRecruiter(request)
        else:
            return ajaxian.getFailureResp('not_logged_in')
        
        rcvr_account = models.Account.objects.get(username=dataplus.dictGetVal(request.REQUEST,'sendTo'))
        text_message = dataplus.dictGetSafeVal(request.REQUEST,'text')
        html_message = dataplus.replaceHtmlLineBreaks(text_message)
        subject = dataplus.dictGetSafeVal(request.REQUEST,'subject')
        
        def internalSender(rcvr_accounts):
            mailman.sendMessage(myself.username, [rcvr.username for rcvr in rcvr_accounts], subject, html_message)
        
        def externalSender(rcvr_accounts):
            sender = '"' + myself.name + '" <' + myself.username + '*****@*****.**>'
            receivers = ['"' + rcvr.name + '" <' + rcvr.email + '>'  for rcvr in rcvr_accounts]
            mailman.sendMail(sender, receivers, subject, html_message, None, None, text_message, reply_to=myself.email)
            
        mailman.sendBySettings([rcvr_account], internalSender, externalSender, 'TextMessage')
                
        return ajaxian.getSuccessResp('')
    except:
        return ajaxian.getFailureResp('unknown')
示例#2
0
def handle(request):
    logged_in_type = siteaction.getLoggedInAccountType(request)
    
    if logged_in_type == 'U':
        myself = siteaction.getLoggedInUser(request)
        html_file = 'me/sentitems.htm'
    elif logged_in_type == 'R':
        myself = siteaction.getLoggedInRecruiter(request)
        html_file = 'recruiters/sentitems.htm'
    else:
        return HttpResponseRedirect('/login.htm')
        
    if request.method == 'POST':
        if dataplus.dictGetVal(request.REQUEST, 'action', '') == 'delete':
            deleteMessages(request, myself)
            return HttpResponseRedirect('/mailbox/sentitems.htm?flashId=msg_del');
        
    action_result = ''
    if dataplus.dictGetVal(request.REQUEST, 'flashId'):
        action_result = dataplus.dictGetVal(statix.action_messages, dataplus.dictGetVal(request.REQUEST, 'flashId'), '')
        
    return siteaction.render_to_response(html_file,
                              { 'message_box_html': getMessageBoxHtml(request, myself),
                                'action_result':action_result,
                                'myself': myself    })
示例#3
0
def handle(request):
    logged_in_type = siteaction.getLoggedInAccountType(request)
    if logged_in_type == 'U':
        myself = siteaction.getLoggedInUser(request)
        mru_data = models.UserMRUData.objects.get(user__id=myself.id)
        html_file = 'me/inbox.htm'
    elif logged_in_type == 'R':
        myself = siteaction.getLoggedInRecruiter(request)
        mru_data = models.RecruiterMRUData.objects.get(recruiter__id=myself.id)
        html_file = 'recruiters/inbox.htm'
    else:
        return HttpResponseRedirect('/login.htm')
    
    if request.method == 'POST':
        if dataplus.dictGetVal(request.REQUEST, 'action', '') == 'delete':
            deleteMessages(request, myself)
            return HttpResponseRedirect('/mailbox/?flashId=msg_del');
        
    new_msgs_count = models.Message.objects.filter(account__id=myself.account.id, folder='inbox', 
            sent_at__gte=mru_data.last_accessed_time).count()
        
    action_result = ''
    if dataplus.dictGetVal(request.REQUEST, 'flashId'):
        action_result = dataplus.dictGetVal(statix.action_messages, dataplus.dictGetVal(request.REQUEST, 'flashId'), '')
    
    return siteaction.render_to_response(html_file,
                              { 'message_box_html': getMessageBoxHtml(request, myself),
                                'new_msgs_count': new_msgs_count,
                                'action_result':action_result,
                                'myself': myself    })
示例#4
0
def handle(request, username):
    
    username = username.lower()
    #if there is no logged in user, handle the request here.
    #otherwise, just pass it on to the handler in 'users' or 'recruiters'
    user_type = siteaction.getLoggedInAccountType(request)
    if user_type == 'U':
        return me_viewprofile.handle(request, username)
##    if user_type == 'R':
##        return recruiters_viewprofile.handle(request, username)
    else:
        #this is an anoynymous request, we have to handle
        user = get_object_or_404(models.User, username=username)
        
        settings = models.UserSettings.objects.get(user=user)
        if settings.resume_visibility != 'everyone':
            return siteaction.render_to_response('showmessage.htm', {'msg_heading':'Private Profile', 
                'msg_html':'The user\'s privacy settings do not allow you to view this page. Please <a href="/login.htm">login</a>.'})

        online_status = chat.getOnlineStatus(request, [user.username])
        online_status_html = '<img class="img_online_status" '
        if online_status[user.username] == 'online':
            online_status_html += 'alt="online" title="Online Now" src="' + config.static_server_base_url + '/site/images/common/livestatus-online-white-bg.gif" /> Online Now'
        elif online_status[user.username] == 'away':
            online_status_html += 'alt="away" title="Away" src="' + config.static_server_base_url + '/site/images/common/livestatus-away-white-bg.gif" /> Away'
        else:
            online_status_html += 'alt="offline" title="Offline" src="' + config.static_server_base_url + '/site/images/common/livestatus-offline-white-bg.gif" /> Offline'
                
        dial_now_number = ''
        skype_username = ''
        yahoo_username = ''
        if settings.enable_voip_dial:   dial_now_number = user.phone
        for msnger in models.WebMessenger.objects.filter(account=user.account):
            if msnger.provider == 'skype':  skype_username = msnger.username
            elif msnger.provider == 'yahoo':  yahoo_username = msnger.username
        
        masked = False
        if settings.phone_num_visibility != 'everyone':
            masked = True
        return siteaction.render_to_response('profiles/show.htm',
                            { 'user': user,
                            'online_status_html':online_status_html,
                            'dial_now_number':dial_now_number,
                            'skype_username':skype_username,
                            'yahoo_username':yahoo_username,
                            'personal_desc' : dataplus.replaceHtmlLineBreaks(user.personal_desc),
                            'resume_contents' : codejar_resume.getResumeText(user, masked),
                            'resume_style_sheet' : codejar_resume.getResumeStyleSheet(user),
                            'user_image': dataplus.getStaticUrl(user.image_size3_file_path),
                            'user_original_image': dataplus.getStaticUrl(user.image_file_path),
                            'testimonials': me_viewprofile.getTestimonials(user),
                            'resume_questions': me_viewprofile.getResumeQuestions(user),
                            'interest_in_new_job':settings.interest_in_new_job,
                            })
def handle(request, comm_id):    
    community = models.Community.objects.get(id=comm_id)
    
    logged_in_type = siteaction.getLoggedInAccountType(request)
    if logged_in_type == 'U':
        myself = siteaction.getLoggedInUser(request)
        is_owner = (community.owner_username == myself.username)
        html_file = 'communities/members.htm'
    elif logged_in_type == 'R':
        myself = siteaction.getLoggedInRecruiter(request)
        html_file = 'communities/members.htm'
    else:
        return HttpResponseRedirect('/login.htm')

    page = dataplus.dictGetVal(request.REQUEST, 'page', 0, string.atoi)
    start_member_num = page * config.community_members_per_page
    last_member_num = start_member_num + config.community_members_per_page
    
    total_members = community.members.all().count()
    members = community.members.select_related().order_by('-last_access_time')[start_member_num:last_member_num]

    html = ''
    for member in members:
        html += codejar_network.getCommunityMemberThumb(member, community, is_owner)
    
    if total_members == 0:
        showing_howmany = '0 of 0 members'
    else:
        showing_howmany = str(page*config.community_members_per_page + 1) + '-' +  str(members.count()) + ' of ' + str(total_members)
    
    prev_btn = ''
    next_btn = ''
    if page != 0:
        prev_btn = '<td><a href="members.htm?page=' + str(page-1) + '">PREV</a></td>'
    if last_member_num < total_members:
        next_btn = '<td><a href="members.htm?page=' + str(page+1) + '">NEXT</a></td>'

    buttons = ''
    if prev_btn or next_btn:
        buttons = '<table class="button-box"><tr>' + prev_btn + next_btn + '</tr><table>'
    
    return siteaction.render_to_response(html_file,
                              { 'community': community,
                                'members_html': html,
                                'showing_howmany': showing_howmany,
                                'buttons': buttons,
                                'myself' : myself })
示例#6
0
def handle(request):  
    account = siteaction.getLoggedInAccount(request)
    if not account:
        return HttpResponseRedirect('/login.htm')
    
    #TODO: notify user about success, success_page will change
    logged_in_type = siteaction.getLoggedInAccountType(request)
    if logged_in_type == 'U':
        entry_page = 'me/changeemail.htm'
        success_page = '/me/editsettings.htm?flashId=email_chnged'
        error_page = 'me/showmessage.htm'
        myself = siteaction.getLoggedInUser(request)
    elif logged_in_type == 'R':
        entry_page = 'recruiters/changeemail.htm'    
        success_page = '/recruiters/'
        error_page = 'recruiters/showmessage.htm'
        myself = siteaction.getLoggedInRecruiter(request)
    
    if request.method == 'GET':
        return siteaction.render_to_response(entry_page, {'myself':myself})

    elif request.method == 'POST':
        #Password Check
        if (siteaction.validatePassword(myself.account.id, dataplus.dictGetVal(request.REQUEST, 'password'))):
            
            result, errMsg = codejar_validation.validateEmail(dataplus.dictGetVal(request.REQUEST,'email'))
            if not result:
                return siteaction.render_to_response(error_page, {'myself':myself, 'msg_heading':'Error', 'msg_html':'Invalid user input.'})
            
            email_address = dataplus.dictGetSafeVal(request.REQUEST, 'email')
            account.email = email_address
            account.save()
            myself.email = email_address
            myself.save()
            return HttpResponseRedirect(success_page)
        else:
            return siteaction.render_to_response(entry_page, 
                {'error_html': '<p class="error-note">Password was incorrect. Try again.</p>'})
示例#7
0
def handle(request):
    myself = siteaction.getLoggedInAccount(request)
    if not myself:
        return HttpResponseRedirect('/login.htm')

    #TODO: notify user about success, success_page will change
    logged_in_type = siteaction.getLoggedInAccountType(request)
    if logged_in_type == 'U':
        pwd_page = 'me/changepassword.htm'
        success_page = '/me/editsettings.htm?flashId=pwd_chnged'
    elif logged_in_type == 'R':
        pwd_page = 'recruiters/changepassword.htm'    
        success_page = '/recruiters/'
    
    if request.method == 'GET':
        return siteaction.render_to_response(pwd_page, {'myself':myself})

    elif request.method == 'POST':

        #Password length >= 6 and <=12
        valid, invalid_msg = dataplus.isLengthValid(dataplus.dictGetVal(request.REQUEST, 'password1'), 6, 12, 'Password')
        if not valid:
            return siteaction.render_to_response(pwd_page, 
                {'error_html': '<p class="error-note">' + invalid_msg + '</p>'})   
        
        #Passwords should match
        if dataplus.dictGetVal(request.REQUEST, 'password1') != dataplus.dictGetVal(request.REQUEST, 'password2'):
            return siteaction.render_to_response(pwd_page, 
                {'error_html': '<p class="error-note">Passwords do not match.</p>'})
        
        #Is the Old Password Check
        if (siteaction.validatePassword(myself.id, dataplus.dictGetVal(request.REQUEST, 'oldpassword'))):
            myself.password = dataplus.hash(dataplus.dictGetVal(request.REQUEST, 'password1'))
            myself.save()            
            return HttpResponseRedirect(success_page)
        else:
            return siteaction.render_to_response(pwd_page, 
                {'error_html': '<p class="error-note">Old password was incorrect. Try again.</p>'})
def handle(request):
    try:
        logged_in_type = siteaction.getLoggedInAccountType(request)
        if logged_in_type == "U":
            myself = siteaction.getLoggedInUser(request)
        elif logged_in_type == "R":
            myself = siteaction.getLoggedInRecruiter(request)
        else:
            return ajaxian.getFailureResp("not_logged_in")

        quest_to_user = dataplus.dictGetVal(request.REQUEST, "questToUser")
        question_text = dataplus.dictGetSafeVal(request.REQUEST, "question")

        question = models.ResumeQuestion()
        question.sender = myself.account
        question.receiver = models.User.objects.get(username=quest_to_user)
        question.question = question_text
        question.answer = ""
        question.is_answered = False
        question.is_public = False
        question.sent_at = datetime.datetime.utcnow()
        question.save()

        html_message = (
            myself.name
            + ' wants to know more about your resume and has asked this question, <strong>"'
            + question_text
            + '"</strong><br /><br />You may want to <a href="'
            + config.server_base_url
            + "/me/answerresumequestion.htm?qid="
            + str(question.id)
            + '">Answer this question</a>'
        )

        text_message = (
            myself.name
            + ' wants to know more about your resume and has asked this question, "'
            + question_text
            + '"\r\n\r\nYou can answer this question by visiting this url: '
            + config.server_base_url
            + "/me/answerresumequestion.htm?qid="
            + str(question.id)
        )

        def internalSender(rcvr_accounts):
            mailman.sendToInbox(
                myself.username, rcvr_accounts[0].username, "A question for you!", html_message, "TM", "H"
            )

        def externalSender(rcvr_accounts):
            sender = '"' + myself.name + '" <' + myself.username + "*****@*****.**>"
            receivers = ['"' + rcvr.name + '" <' + rcvr.email + ">" for rcvr in rcvr_accounts]
            mailman.sendMail(
                sender, receivers, "A question for you!", html_message, None, None, text_message, reply_to=myself.email
            )

        mailman.sendBySettings([question.receiver.account], internalSender, externalSender, "ResumeQuestion")

        return ajaxian.getSuccessResp("")
    except:
        return ajaxian.getFailureResp("unknown")