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')
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 })
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 })
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 })
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>'})
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")