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): 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): myself = siteaction.getLoggedInRecruiter(request) if not myself: return HttpResponseRedirect('/login.htm') if request.method == 'GET': return render_to_response('recruiters/resumesearch.htm', { 'myself':myself, }) elif request.method == 'POST': srch_query = models.ResumeSearchQuery() srch_query.recruiter = myself industry_id = dataplus.dictGetVal(request.REQUEST,'industry_category', 0, string.atoi) if industry_id > 0: srch_query.industry_category = models.IndustryCategory.objects.get(id=industry_id) srch_query.designation = dataplus.dictGetVal(request.REQUEST,'designation',escapeHtml=True) srch_query.mandatory_skills = dataplus.dictGetVal(request.REQUEST,'mandatory_skills',escapeHtml=True) srch_query.desired_skills = dataplus.dictGetVal(request.REQUEST,'desired_skills',escapeHtml=True) srch_query.location = dataplus.dictGetVal(request.REQUEST,'location',escapeHtml=True) srch_query.min_exp_years = dataplus.dictGetVal(request.REQUEST,'min_exp_years') srch_query.educational_qualifications = dataplus.dictGetVal(request.REQUEST,'qualifications',escapeHtml=True) srch_query.save() excess = myself.search_queries.count() - 5 if excess > 0: for query in myself.search_queries.order_by('searched_at')[excess]: query.delete() return render_to_response('recruiters/resumesearch.htm', { '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, comm_id): myself = siteaction.getLoggedInRecruiter(request) if not myself: return HttpResponseRedirect('/login.htm') community = models.Community.objects.select_related().get(id=comm_id) members = community.members.all().order_by('-last_update_time')[:12] return render_to_response('communities/recruitersshow.htm', { 'myself': myself, 'community': community, 'community_info_html': getCommunityInfoHtml(community), 'member_list_html':getMemberThumbnailsHtml(members), })
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): myself = siteaction.getLoggedInRecruiter(request) if not myself: return HttpResponseRedirect('/login.htm') if request.method == 'GET': #no one should be doing a GET to this page!! return HttpResponseRedirect('/login.htm') elif request.method == 'POST': query = extractQueryFromRequest(myself, request) resetRecentQueries(myself, query) #we have a valid user. need to update the mru_data mru_data = models.RecruiterMRUData.objects.get(recruiter__id=myself.id) return render_to_response('recruiters/searchresults.htm', { 'myself' : myself, 'matching_users' : getMatchingUsers()})
def handle(request): myself = siteaction.getLoggedInRecruiter(request) if not myself: return HttpResponseRedirect('/login.htm') if request.method == 'GET': #we have a valid user. need to update the mru_data mru_data = models.RecruiterMRUData.objects.get(recruiter__id=myself.id) #get number of messages new_msgs_count = models.Message.objects.filter(account__id=myself.account.id, folder='inbox', sent_at__gte=mru_data.last_accessed_time).count() return render_to_response('recruiters/index.htm', { 'saved_resumes_html': getSavedResumesHtml(), 'recent_tags_html': getRecentTagsHtml(), 'posted_jobs_box_html' : getPostedJobsHtml(myself), 'recent_search_queries_box_html' : getRecentSearchQueriesHtml(myself), 'industry_categories_html' : getIndustryCategoriesHtml(mru_data), 'message_box_html': getMessageBoxHtml(myself), 'new_msgs_count': str(new_msgs_count), '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, username): myself = siteaction.getLoggedInRecruiter(request) if not myself: return HttpResponseRedirect('/login.htm') user = models.User.objects.get(account__username=username) resume_contents = codejar_resume.getResumeText(user) testimonials = user.testimonials_for_me.all() return render_to_response('recruiters/viewprofile.htm', { 'username': user.username, 'user_full_name': user.name, 'user_description': user.personal_desc, 'resume_contents' : resume_contents, 'userid': user.id, 'user_image': dataplus.getStaticUrl(user.image_size3_file_path), 'testimonials': testimonials, 'users_friends': getFriends(user), 'users_communities': getCommunities(user), 'myself': myself })
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")
def handle(request): myself = siteaction.getLoggedInRecruiter(request) if not myself: return HttpResponseRedirect('/login.htm') if request.method == 'GET': #there cannot be get requests to this page..... return render_to_response('recruiters/showmessage.htm', {'msg_heading': 'Error', 'msg_html': 'Invalid URL'}) elif request.method == 'POST': if (dataplus.dictGetVal(request.REQUEST,'action') == 'page2'): industry_cat = dataplus.dictGetVal(request.REQUEST,'industry_category') designations = models.Designation.objects.filter(industry_category__name=industry_cat) return render_to_response('recruiters/jobwiz2.htm', {'industry_category': dataplus.dictGetVal(request.REQUEST,'industry_category'), 'company': dataplus.dictGetVal(request.REQUEST,'company'), 'location': dataplus.dictGetVal(request.REQUEST,'location'), 'email': dataplus.dictGetVal(request.REQUEST,'email'), 'phone': dataplus.dictGetVal(request.REQUEST,'phone'), 'designations': designations}) elif (dataplus.dictGetVal(request.REQUEST,'action') == 'save'): job_pos = models.JobPosition() job_pos.posted_by = myself job_pos.company_name = dataplus.dictGetVal(request.REQUEST,'company',escapeHtml=True) industry_category = models.IndustryCategory.objects.get(name=dataplus.dictGetVal(request.REQUEST,'industry_category')) job_pos.industry_category = industry_category job_pos.designation = dataplus.dictGetVal(request.REQUEST,'designation',escapeHtml=True) job_pos.job_description = dataplus.dictGetVal(request.REQUEST,'jobdescription',escapeHtml=True) job_pos.num_positions = 1 #one for now. job_pos.location = dataplus.dictGetVal(request.REQUEST,'location',escapeHtml=True) exact_salary = string.atoi(dataplus.dictGetVal(request.REQUEST,'exact_salary')) if exact_salary > 0: job_pos.min_compensation = exact_salary job_pos.max_compensation = exact_salary else: #salary in the format 'min_salary-max_salary' #this string needs to be split into min and max sal = string.split(dataplus.dictGetVal(request.REQUEST,'salary_range'),'-') job_pos.min_compensation = string.atoi(sal[0]) job_pos.max_compensation = string.atoi(sal[1]) job_pos.min_exp_years = dataplus.dictGetVal(request.REQUEST,'min_exp_years') job_pos.mandatory_skills = dataplus.dictGetVal(request.REQUEST,'mandatory_skills',escapeHtml=True) job_pos.desired_skills = dataplus.dictGetVal(request.REQUEST,'desired_skills',escapeHtml=True) job_pos.educational_qualifications = dataplus.dictGetVal(request.REQUEST,'edu_qualifications',escapeHtml=True) job_pos.contact_email = dataplus.dictGetVal(request.REQUEST,'email',escapeHtml=True) job_pos.contact_phone = dataplus.dictGetVal(request.REQUEST,'phone',escapeHtml=True) if dataplus.dictGetVal(request.REQUEST,'title') != '': job_pos.title = dataplus.dictGetVal(request.REQUEST,'title',escapeHtml=True) else: job_pos.title = (job_pos.designation + ' - ' + job_pos.mandatory_skills + ' (' + str(job_pos.min_exp_years) + ' years)')[:30] + '...' job_pos.save() return render_to_response('showmessage.htm', {'msg_heading': 'Saved Job', 'msg_html': 'The Job, Saved. TODO://Change'})