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
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 })
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, 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 })