示例#1
0
def makeFriendsListHtml(friends, request):
    friends_usernames = [user.username for user in friends]
    online_status = chat.getOnlineStatus(request, friends_usernames, 'friend')
    html = '<tr>'
    for friend in friends:
        friend_url = config.profiles_url + '/' + friend.account.username
    
        html += '<td class="section-col"><table width="100%">'
        
        #show line 1: photos
        html += '<tr><td><div align="center">' + \
            '<a href="' + friend_url + '"><img src="' + \
            dataplus.getStaticUrl(friend.image_size1_file_path) + '" alt="' + friend.name + '" /></a>' + \
            '</div></td></tr>'
        
        #show line 2: name + url
        html += '<tr><td><div class="small-text" style="line-height:14px;vertical-align:top;text-align:center;">'
        html += '<a href="' + friend_url + '">' + friend.name + '</a> '
        #html += '<img class="img_online_status" id="online_status_' + friend.username + \
        #        '" style="cursor:pointer;" onclick="javascript:openChatWindow(\'' +friend.username + '\');" '
        #if online_status[friend.username] == 'online':
        #    html += 'alt="online" title="Click to chat now" src="' + config.static_server_base_url + '/site/images/common/livestatus-online.gif" />'
        #elif online_status[friend.username] == 'away':
        #    html += 'alt="away" title="Away" src="' + config.static_server_base_url + '/site/images/common/livestatus-away.gif" />'
        #else:
        #    html += 'alt="offline" title="Offline" src="' + config.static_server_base_url + '/site/images/common/livestatus-offline.gif" />'
        html += '</div></td></tr>'
        
        html += '</table></td>'            
        
    for i in range(0, 3 - len(friends)):
        html += '<td class="section-col"/>'
    html += '</tr>'
    return html
示例#2
0
def handle(request):
    myself = siteaction.getLoggedInUser(request)
    if not myself:
        return HttpResponseRedirect('/login.htm')

    username = dataplus.dictGetVal(request.REQUEST, 'user')
    if username and username != myself.username:
        user = dataplus.returnIfExists(models.User.objects.filter(username=username))
        if not user:
            return siteaction.render_to_response('me/showmessage.htm', 
                        {'myself':myself,
                        'msg_heading':'Error',
                        'msg_html':'Invalid Request'})
        heading = user.name + '\'s Friends'
    else:
        user = myself
        heading = ''

    page = dataplus.dictGetVal(request.REQUEST, 'page', 0, string.atoi)
    start_friend_num = page * config.friends_per_page
    last_friend_num = start_friend_num + config.friends_per_page
    
    total_friends = user.friends.count()
    friends = user.friends.all().order_by('-last_access_time')[start_friend_num:last_friend_num]

    html = ''
    if user == myself:
        friends_usernames = [user.username for user in friends]
        online_status = chat.getOnlineStatus(request, friends_usernames, 'friend')
        for friend in friends:
            html += codejar_network.getDescriptiveThumb(friend, True, online_status[friend.username])
    else:
        for friend in friends:
            html += codejar_network.getDescriptiveThumb(friend)
    
    if total_friends == 0:
        showing_howmany = '0 of 0 friends'
    else:
        showing_howmany = str(page*config.friends_per_page + 1) + '-' +  str(page*config.friends_per_page + friends.count()) + ' of ' + str(total_friends)
    
    prev_btn = ''
    next_btn = ''
    page_url = 'friends.htm?'
    if username:    page_url = 'friends.htm?user='******'&'
    if page != 0:
        prev_btn = '<input class="medium-btn" type="button" name="prev-button" value="PREV" onclick="javascript:window.location.href=\'' + page_url + 'page=' + str(page-1) + '\'" />'
    if last_friend_num < total_friends:
        next_btn = '<input class="medium-btn" type="button" name="next-button" value="NEXT" onclick="javascript:window.location.href=\'' + page_url + 'page=' + str(page+1) + '\'" />'

    buttons = prev_btn + next_btn
  
    return siteaction.render_to_response('me/friends.htm',
                              { 'friends_html': html,
                                'showing_howmany': showing_howmany,
                                'heading': heading,
                                'buttons': buttons,
                                'myself' : myself })
示例#3
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,
                            })
示例#4
0
def handle(request, username):
    action_result = ''
    if dataplus.dictGetVal(request.REQUEST, 'flashId'):
        action_result = dataplus.dictGetVal(statix.action_messages, dataplus.dictGetVal(request.REQUEST, 'flashId'), '')
    
    myself = siteaction.getLoggedInUser(request)
    if not myself:
        return HttpResponseRedirect('/login.htm')
    
    user = get_object_or_404(models.User, username=username)
    settings = models.UserSettings.objects.get(user=user)
    
    online_status_html = ''
    if (user.username == myself.username):
        is_myself = True
    else:
        is_myself = False
        visible = True
        add_btn_visible = False
        if settings.resume_visibility == 'friends' and (user.friends.filter(id=myself.id).count() == 0):
                visible = False
                err_msg = 'This user only allows friends to view the complete profile.'
                add_btn_visible = True
        elif settings.resume_visibility == 'nobody':
            visible = False
            err_msg = 'The privacy settings of this user does not allow you to see the complete profile.'
        
        if not is_myself:
            if user.visits.filter(visitor_username=myself.username, visited_on__gte=(datetime.datetime.utcnow() - datetime.timedelta(days=1))).count() == 0:
                user.visits.add(models.ProfileVisit(visitor_username=myself.username, visitor_name=myself.name, visitor_type=myself.account.account_type))
            
            online_status = chat.getOnlineStatus(request, [user.username])
            online_status_html = '' #disable chat.
	    #online_status_html = '<a href="javascript:openChatWindow(\'' + user.username + '\');" ><img class="img_online_status" id="online_status_' + user.username + '" '
            #if online_status[user.username] == 'online':
            #    online_status_html += 'alt="online" title="Click to chat now" src="' + config.static_server_base_url + '/site/images/common/livestatus-online-white-bg.gif" /> Chat Now</a>'
            #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</a>'
            #else:
            #    online_status_html += 'alt="offline" title="Offline" src="' + config.static_server_base_url + '/site/images/common/livestatus-offline-white-bg.gif" /> Offline</a>'
        
        if not visible:
            return siteaction.render_to_response('me/privateprofile.htm', {'user': user,
                                        'user_image': dataplus.getStaticUrl(user.image_size3_file_path),
                                        'user_original_image': dataplus.getStaticUrl(user.image_file_path),
                                        'small_desc': user.small_desc,
                                        'bread_crumb_html': getBreadCrumb(user, myself),
                                        'err_msg': err_msg,
                                        'add_btn_visible': add_btn_visible,
                                        'online_status_html':online_status_html,
                                        'interest_in_new_job':settings.interest_in_new_job,
                                        'myself': myself})        
        
            
    formatting_issue_resolving_url = getFormatResolvingUrl(myself, settings)
    
    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
    
    mask_required = False
    if not is_myself:
        if settings.phone_num_visibility == 'nobody':
            mask_required = True
        if settings.phone_num_visibility == 'friends':
            if user.friends.filter(id=myself.id).count() == 0:
                mask_required = True        
    
    return siteaction.render_to_response('me/viewprofile.htm',
                        {   'user': user,
                            'personal_desc' : dataplus.replaceHtmlLineBreaks(user.personal_desc),
                            'dial_now_number':dial_now_number,
                            'skype_username':skype_username,
                            'yahoo_username':yahoo_username,
                            'resume_contents' : codejar_resume.getResumeText(user, mask_required),
                            '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': getTestimonials(user),
                            'resume_questions': getResumeQuestions(user),
                            'users_friends': getFriends(user),
                            'users_communities': getCommunities(user),
                            'videos_html':getVideosHtml(user),
                            'bread_crumb_html': getBreadCrumb(user, myself),
                            'formatting_issue_resolving_url':formatting_issue_resolving_url,
                            'myself': myself,
                            'is_friend': (myself.friends.filter(id=user.id).count() > 0),
                            'online_status_html':online_status_html,
                            'action_result':action_result,
                            'interest_in_new_job':settings.interest_in_new_job,
                            'is_myself': is_myself
                        })