def create_job_offer(request): try: company = Company.objects.get(user=request.user) tech_skills = request.POST["tech_skills"] time_preferences = request.POST["time_preferences"] salary = request.POST["salary"] title = request.POST["title"] project_description = request.POST["project_description"] work_type = request.POST["work_type"] exp_level = request.POST["exp_level"] position = Position.objects.create( tech_skills=tech_skills, time_preferences=time_preferences, salary=salary, title=title, exp_level=exp_level, work_type=work_type, project_description=project_description, company_id=company.id) position.save() return HttpResponse("offer_created", content_type="text/html; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8")
def render_landing_page(request): try: all_posts = Post.objects.all().order_by("id") last_post_id = all_posts[len(all_posts) - 1].id if request.user.is_authenticated(): fb_user = Fb_user.objects.get(user=request.user.id) message = None duration = None if fb_user.last_post_id: last_post = Post.objects.filter(id=fb_user.last_post_id) duration = calculate_time_difference(last_post)[0] message = last_post[0].message return render_to_response('index.html', { "fb_user": fb_user, "user_last_post": message, "last_post_duration": duration, "last_post_id": last_post_id }, context_instance=RequestContext(request)) else: return render_to_response('index.html', {"last_post_id": last_post_id}, context_instance=RequestContext(request)) except: send_error_email(inspect.stack()[0][3]) return HttpResponse("error", content_type="text/html; charset=utf-8")
def save_new_post(request): if request.method == 'POST': if request.user.is_authenticated(): #try: user = Fb_user.objects.get(user=request.user.id) fb_id = user.fb_id name = user.fb_name rating = user.rating car_image = user.car_image phone_number = user.phone_number date = datetime.datetime.now() message = request.POST["message"] direction_from = request.POST["direction_from"] direction_to = request.POST["direction_to"] post = Post.objects.create(fb_id=fb_id, name=name, rating=rating, car_image=car_image, phone_number=phone_number, date=date, message=message, direction_from=direction_from, direction_to=direction_to) post.save() user.last_post_id = post.id user.save() return HttpResponse("post_saved", content_type="text/html; charset=utf-8") #except: #send_error_email(inspect.stack()[0][3]) #return HttpResponse("Error", content_type="text/html; charset=utf-8") else: send_error_email(inspect.stack()[0][3]) return HttpResponse("user_not_authenticated", content_type="text/html; charset=utf-8") else: send_error_email(inspect.stack()[0][3]) return HttpResponse("request_not_post", content_type="text/html; charset=utf-8")
def signup_company(request): try: company_name = request.POST["company_name"] email = request.POST["company_email"] user_name = request.POST["user_name"] location = request.POST["location"] password = request.POST["password"] try: User.objects.get(email=email) return HttpResponse("duplicated_email", content_type="text/html; charset=utf-8") except: company_user = User.objects.create_user(username=company_name,email=email,password=password) company_user.save() company = Company.objects.create(user=company_user, company_name=company_name, user_name=user_name, location=location) company.save() company_user.backend = 'django.contrib.auth.backends.ModelBackend' login(request, company_user) return HttpResponseRedirect("/company/edit/") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8")
def actualise_lastpostid(request): try: all_posts = Post.objects.all().order_by("id") last_post_id = all_posts[len(all_posts)-1].id return HttpResponse(last_post_id, content_type="text/html; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("error", content_type="text/html; charset=utf-8")
def actualise_lastpostid(request): try: all_posts = Post.objects.all().order_by("id") last_post_id = all_posts[len(all_posts) - 1].id return HttpResponse(last_post_id, content_type="text/html; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("error", content_type="text/html; charset=utf-8")
def get_name_results(request): try: name = request.POST["name"] users = Fb_user.objects.filter(fb_name__istartswith=name) data = serializers.serialize("json", users) return HttpResponse(data, content_type="application/json; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8")
def render_register_page(request): try: if request.user.is_authenticated(): return HttpResponseRedirect("/company/login/") else: return render_to_response('company_register.html', {}, context_instance=RequestContext(request)) except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8")
def get_comments(request): try: fb_id = request.POST["fb_id"] comments = Comment.objects.filter(fb_id=fb_id) if len(comments) == 0 : return HttpResponse("no_comments_yet", content_type="text/html; charset=utf-8") else: data = serializers.serialize("json", comments) return HttpResponse(data, content_type="application/json; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8")
def login_company(request): try: if request.user.is_authenticated(): if check_for_existing_company(request): return HttpResponseRedirect("/company/matches/") else: return render_to_response('signin_company.html', {}, context_instance=RequestContext(request)) else: return render_to_response('signin_company.html', {}, context_instance=RequestContext(request)) except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8")
def save_comment(request): try: if request.method == 'POST': if request.user.is_authenticated(): try: #assessment = request.POST["assessment"] comment = request.POST["comment"] user_fb_id = request.POST["user_fb_id"] from_user = Fb_user.objects.get(user=request.user.id) from_fb_id = from_user.fb_id from_fb_name = from_user.fb_name #update_rating(user_fb_id, assessment) new_comment = Comment.objects.create(fb_id=user_fb_id, comment=comment, from_fb_id=from_fb_id, from_fb_name=from_fb_name) new_comment.save() return HttpResponse("comment_saved", content_type="text/html; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8") else: send_error_email(inspect.stack()[0][3]) return HttpResponse("user_not_authenticated", content_type="text/html; charset=utf-8") else: send_error_email(inspect.stack()[0][3]) return HttpResponse("request_not_post", content_type="text/html; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8")
def get_comments(request): try: fb_id = request.POST["fb_id"] comments = Comment.objects.filter(fb_id=fb_id) if len(comments) == 0: return HttpResponse("no_comments_yet", content_type="text/html; charset=utf-8") else: data = serializers.serialize("json", comments) return HttpResponse(data, content_type="application/json; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8")
def facebook_login(request): try: if request.is_ajax(): if request.method == "POST": email = request.POST['email'] username = request.POST['username'] fb_id = request.POST['fb_id'] try: user = User.objects.get(id=Fb_user.objects.get( fb_email=email).user_id) except Fb_user.DoesNotExist: return register_user_with_fb(request, email, username, fb_id) if user is not None: user.backend = 'django.contrib.auth.backends.ModelBackend' login(request, user) return HttpResponse( "fblogin_complete", content_type="text/html; charset=utf-8") else: send_error_email(inspect.stack()[0][3]) return HttpResponse( "Cant authenticate", content_type="text/html; charset=utf-8") else: send_error_email(inspect.stack()[0][3]) return HttpResponse("request method is not POST", content_type="text/html; charset=utf-8") else: send_error_email(inspect.stack()[0][3]) return HttpResponse("not_ajax", content_type="text/html; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8")
def facebook_login(request): try: if request.is_ajax(): if request.method == "POST": email = request.POST['email'] username = request.POST['username'] fb_id = request.POST['fb_id'] try: user = User.objects.get(id=Fb_user.objects.get(fb_email=email).user_id) except Fb_user.DoesNotExist: return register_user_with_fb(request, email, username, fb_id) if user is not None: user.backend = 'django.contrib.auth.backends.ModelBackend' login(request, user) return HttpResponse("fblogin_complete", content_type="text/html; charset=utf-8") else: send_error_email(inspect.stack()[0][3]) return HttpResponse("Cant authenticate", content_type="text/html; charset=utf-8") else: send_error_email(inspect.stack()[0][3]) return HttpResponse("request method is not POST", content_type="text/html; charset=utf-8") else: send_error_email(inspect.stack()[0][3]) return HttpResponse("not_ajax", content_type="text/html; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8")
def inbox_messeges(request): try: if request.user.is_authenticated(): if check_for_existing_company(request): company = Company.objects.get(user=request.user.id) match_objects = Match.objects.filter(company_id=company.id) matches = get_match_data(match_objects) return HttpResponse(matches, content_type ="application/json; charset=utf-8") else: return HttpResponse("Company does not exist", content_type="text/html; charset=utf-8") else: return HttpResponse("User is not logged in", content_type="text/html; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8")
def get_positions(request): try: if request.user.is_authenticated(): if check_for_existing_company(request): company = Company.objects.get(user=request.user.id) positions = Position.objects.filter(company_id=company.pk) data = serializers.serialize("json", positions) return HttpResponse(data, content_type ="application/json; charset=utf-8") else: return HttpResponse("Company does not exist", content_type="text/html; charset=utf-8") else: return HttpResponse("User is not logged in", content_type="text/html; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8")
def render_matches_page(request): try: if request.user.is_authenticated(): if check_for_existing_company(request): if not company_profile_is_complete(request): return redirect_to_register_page(request) company = Company.objects.get(user=request.user.id) context = {"company":company} return render_to_response('matches.html', context, context_instance=RequestContext(request)) else: return render_to_response('signin_company.html', {}, context_instance=RequestContext(request)) else: return render_to_response('signin_company.html', {}, context_instance=RequestContext(request)) except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8")
def company_inbox(request): try: if request.user.is_authenticated(): if check_for_existing_company(request): if not company_profile_is_complete(request): return redirect_to_register_page(request) company = Company.objects.get(user=request.user.id) context = {"company":company, "reminder":"Hi, thank you for signing up. We have a few steps for you to complete which will take you less than 2 minutes."} return render_to_response('company_inbox.html', context, context_instance=RequestContext(request)) else: return render_to_response('signin_company.html', {}, context_instance=RequestContext(request)) else: return render_to_response('signin_company.html', {}, context_instance=RequestContext(request)) except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8")
def show_recent_posts(request): try: direction_from = request.POST["direction_from"] direction_to = request.POST["direction_to"] last_post_id = request.POST["last_post_id"] post_objects = Post.objects.filter(direction_from__exact=direction_from, direction_to__exact=direction_to, id__gt=last_post_id).order_by("-id") durations = calculate_time_difference(post_objects) posts = [(post.name, post.fb_id, post.car_image, post.phone_number, post.message, post.update, post.rating, post.direction_from, post.direction_to,duration) for post,duration in zip(post_objects,durations)] posts_json = simplejson.dumps({"posts" : posts}) return HttpResponse(posts_json, content_type ="application/json; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("error", content_type="text/html; charset=utf-8")
def show_company_profile(request): try: if request.user.is_authenticated(): if check_for_existing_company(request): if not company_profile_is_complete(request): return redirect_to_register_page(request) company = Company.objects.get(user=request.user.id) company_images = CompanyImages.objects.filter(company_id=company.id) context = {"company":company, "company_images":company_images, "reminder":"Company_profile 2.", "complete_profile":"complete"} return render_to_response('company_profile.html', context, context_instance=RequestContext(request)) else: return render_to_response('signin_company.html', {}, context_instance=RequestContext(request)) else: return render_to_response('signin_company.html', {}, context_instance=RequestContext(request)) except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8")
def company_batches(request): try: if request.user.is_authenticated(): if check_for_existing_company(request): company = Company.objects.get(user=request.user.id) now = datetime.datetime.now() batches = Batch.objects.filter(active=True, end_date__gte=now) companybatches = BatchCompany.objects.filter(company_id=company.id) data = chain(batches, companybatches) data = serializers.serialize("json", data) return HttpResponse(data, content_type ="application/json; charset=utf-8") else: return HttpResponse("Company does not exist", content_type="text/html; charset=utf-8") else: return HttpResponse("User is not logged in", content_type="text/html; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8")
def company_batch_application(request): try: if request.user.is_authenticated(): if check_for_existing_company(request): batch = Batch.objects.get(id=request.POST["batch_id"]) company = Company.objects.get(user=request.user.id) if already_applied(company, batch): return HttpResponse("Already applied", content_type="text/html; charset=utf-8") application = BatchCompany.objects.create(batch_id=batch.id, company_id=company.id, approved=False) application.save() send_approval_request_email(company, batch) return HttpResponse("successful_application", content_type="text/html; charset=utf-8") else: return HttpResponse("Talent does not exist", content_type="text/html; charset=utf-8") else: return HttpResponse("User not authenticated", content_type="text/html; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8")
def show_recent_posts(request): try: direction_from = request.POST["direction_from"] direction_to = request.POST["direction_to"] last_post_id = request.POST["last_post_id"] post_objects = Post.objects.filter( direction_from__exact=direction_from, direction_to__exact=direction_to, id__gt=last_post_id).order_by("-id") durations = calculate_time_difference(post_objects) posts = [(post.name, post.fb_id, post.car_image, post.phone_number, post.message, post.update, post.rating, post.direction_from, post.direction_to, duration) for post, duration in zip(post_objects, durations)] posts_json = simplejson.dumps({"posts": posts}) return HttpResponse(posts_json, content_type="application/json; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("error", content_type="text/html; charset=utf-8")
def publish_position(request): try: if request.user.is_authenticated(): if check_for_existing_company(request): company = Company.objects.get(user=request.user.id) if company_can_publish(company): position_id = int(request.POST["position_id"]) position = Position.objects.get(id=position_id) position.purpose = "outside_batch" position.save() find_match_for_company(request) return HttpResponse("publish_successful", content_type="text/html; charset=utf-8") else: return HttpResponse("cannot_publish", content_type="text/html; charset=utf-8") else: return HttpResponse("Company does not exist", content_type="text/html; charset=utf-8") else: return HttpResponse("User is not logged in", content_type="text/html; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8")
def render_landing_page(request): try: all_posts = Post.objects.all().order_by("id") last_post_id = all_posts[len(all_posts)-1].id if request.user.is_authenticated(): fb_user = Fb_user.objects.get(user=request.user.id) message = None duration = None if fb_user.last_post_id: last_post = Post.objects.filter(id=fb_user.last_post_id) duration = calculate_time_difference(last_post)[0] message = last_post[0].message return render_to_response('index.html', {"fb_user":fb_user, "user_last_post":message, "last_post_duration": duration, "last_post_id":last_post_id}, context_instance=RequestContext(request)) else: return render_to_response('index.html',{"last_post_id":last_post_id},context_instance=RequestContext(request)) except: send_error_email(inspect.stack()[0][3]) return HttpResponse("error", content_type="text/html; charset=utf-8")
def signin_company(request): try: email = request.POST["email"] password = request.POST["password"] try: company_user = User.objects.get(email=email) company = Company.objects.get(user=company_user.id) username = company_user.username except: return HttpResponse("user_does_not_exist", content_type="text/html; charset=utf-8") user = authenticate(username=username, password=password) if user is None: return HttpResponse("user_does_not_exist", content_type="text/html; charset=utf-8") user.backend = 'django.contrib.auth.backends.ModelBackend' login(request, user) return HttpResponse("successful_login", content_type="text/html; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8")
def save_comment(request): try: if request.method == 'POST': if request.user.is_authenticated(): try: #assessment = request.POST["assessment"] comment = request.POST["comment"] user_fb_id = request.POST["user_fb_id"] from_user = Fb_user.objects.get(user=request.user.id) from_fb_id = from_user.fb_id from_fb_name = from_user.fb_name #update_rating(user_fb_id, assessment) new_comment = Comment.objects.create( fb_id=user_fb_id, comment=comment, from_fb_id=from_fb_id, from_fb_name=from_fb_name) new_comment.save() return HttpResponse( "comment_saved", content_type="text/html; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse( "Error", content_type="text/html; charset=utf-8") else: send_error_email(inspect.stack()[0][3]) return HttpResponse("user_not_authenticated", content_type="text/html; charset=utf-8") else: send_error_email(inspect.stack()[0][3]) return HttpResponse("request_not_post", content_type="text/html; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8")
def save_phone_number(request): if request.method == 'POST': if request.user.is_authenticated(): try: user = Fb_user.objects.get(user=request.user.id) user.phone_number = request.POST["phone_number"] user.save() return HttpResponse("phone_number_uploaded", content_type="text/html; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8") else: send_error_email(inspect.stack()[0][3]) return HttpResponse("user_not_authenticated", content_type="text/html; charset=utf-8") else: send_error_email(inspect.stack()[0][3]) return HttpResponse("request_not_post", content_type="text/html; charset=utf-8")
def upload_car_image(request): if request.method == 'POST': if request.user.is_authenticated(): try: user = Fb_user.objects.get(user=request.user.id) user.car_image = request.FILES["car_image"] user.save() return HttpResponse("Image_uploaded", content_type="text/html; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8") else: send_error_email(inspect.stack()[0][3]) return HttpResponse("user_not_authenticated", content_type="text/html; charset=utf-8") else: send_error_email(inspect.stack()[0][3]) return HttpResponse("request_not_post", content_type="text/html; charset=utf-8")
def update_post(request): if request.method == 'POST': if request.user.is_authenticated(): try: user = Fb_user.objects.get(user=request.user.id) last_post = Post.objects.get(id=user.last_post_id) last_post.update = request.POST["update_text"] last_post.save() return HttpResponse("update_saved", content_type="text/html; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8") else: send_error_email(inspect.stack()[0][3]) return HttpResponse("user_not_authenticated", content_type="text/html; charset=utf-8") else: send_error_email(inspect.stack()[0][3]) return HttpResponse("request_not_post", content_type="text/html; charset=utf-8")
def edit_company(request): try: company_name = request.POST["company_name"] email = request.POST["company_email"] user_name = request.POST["user_name"] location = request.POST["location"] short_description = request.POST["short_description"] company_size = request.POST["company_size"] website_url = request.POST["website_url"] foundation_year = request.POST["foundation_year"] tech_stack = request.POST["tech_stack"] industry = request.POST["industry"] software_used = request.POST["software_used"] funding = request.POST["funding"] investors = request.POST["investors"] annual_salary = request.POST["annual_salary"] perks = request.POST["perks"] video_url = request.POST["video_url"] crunch_base_url = request.POST["crunch_base_url"] angel_list_url = request.POST["angel_list_url"] fb_page_url = request.POST["fb_page_url"] twitter_page_url = request.POST["twitter_page_url"] youtube_channel_url = request.POST["youtube_channel_url"] long_description = request.POST["long_description"] company_user = User.objects.get(id=request.user.id) company_user.email = email company_user.username = company_name company_user.save() company = Company.objects.get(user=request.user.id) if "profile_picture" in request.FILES: company.profile_picture=request.FILES["profile_picture"] company.company_name=company_name company.user_name=user_name company.location=location company.short_description=short_description company.company_size=company_size company.website_url=website_url company.foundation_year=foundation_year company.tech_stack=tech_stack company.industry=industry company.software_used=software_used company.funding=funding company.investors=investors company.annual_salary=annual_salary company.perks=perks company.video_url=video_url company.crunch_base_url=crunch_base_url company.angel_list_url=angel_list_url company.fb_page_url=fb_page_url company.twitter_page_url=twitter_page_url company.youtube_channel_url=youtube_channel_url company.long_description=long_description company.save() if "image_0" in request.FILES: for i in range(0,len(request.FILES)): image_str = "image_"+str(i) if image_str in request.FILES: image = CompanyImages.objects.create(company_id=company.id, company_name=company_name, image=request.FILES[image_str]) return HttpResponse("edit_successful", content_type="text/html; charset=utf-8") except: send_error_email(inspect.stack()[0][3]) return HttpResponse("Error", content_type="text/html; charset=utf-8")