def home(request): if request.user.is_authenticated(): matches = Match.objects.get_matches_with_percent(request.user)[:6] positions = PositionMatch.objects.filter(user=request.user)[:6] if positions.count() > 0: positions[0].check_update(20) locations = LocationMatch.objects.filter(user=request.user)[:6] employers = EmployerMatch.objects.filter(user=request.user)[:5] mutual_likes = UserLike.objects.get_all_mutual_likes(request.user, 4) new_user = False if len(mutual_likes) == 0 and len(matches) == 0: new_user = True # for match in matches: # job_set=match[0].userjob_set.all() # if job_set.count() > 0: # for job in job_set: # if job.position not in positions: # positions.append(job.position) # the_job=Job.objects.get(text__iexact=job.position) # jobmatch, created=PositionMatch.objects.get_or_create(user=request.user,job=the_job) # try: # the_job=Job.objects.get(text__iexact=job.position) # jobmatch, created=JobMatch.objects.get_or_create(user=request.user,job=the_job) # except: # pass # if job.location not in locations: # locations.append(job.location) # try: # the_loc=Location.objects.get(name__iexact=job.location) # locmatch, created=LocationMatch.objects.get_or_create(user=request.user,location=the_loc) # print(locmatch) # except: # pass # if job.employer_name not in employers: # employers.append(job.employer_name) # try: # the_employer=Employer.objects.get(name__iexact=job.employer_name) # empymatch, created=EmployerMatch.objects.get_or_create(user=request.user,employer=the_employer) # print(empymatch) # except: # pass question_instance = None queryset = Question.objects.get_unanswered( request.user).order_by('-timestamp') if queryset.count() > 0: question_instance = queryset.order_by("?").first() question_form = UserResponseForm() context = { "queryset": queryset, "matches": matches, "positions": positions, "locations": locations, "employers": employers, "mutual_likes": mutual_likes, "new_user": new_user, "question_form": question_form, "question_instance": question_instance } return render(request, "dashboard/home.html", context) return render(request, "home.html", {})
def question_home(request): if request.user.is_authenticated(): form = UserResponseForm(request.POST or None) print(form.is_valid()) if form.is_valid(): print(form.cleaned_data) question_id = form.cleaned_data.get("question_id") answer_id = form.cleaned_data.get("answer_id") question_instance = Question.objects.get(id=question_id) answer_instance = Answer.objects.get(id=answer_id) print(answer_instance.text, question_instance.text) queryset = Question.objects.all().order_by("-timestamp") instance = queryset[1] context = { "instance": instance, "form": form, } return render(request, "questions/home.html", context) else: raise Http404
def home(request): if request.user.is_authenticated(): #PositionMatch.objects.update_top_suggestions(request.user, 20) matches = Match.objects.get_matches_with_percent(request.user)[:6] positions = PositionMatch.objects.filter(user=request.user)[:6] if positions.count() > 0: positions[0].check_update(20) #20 matches total locations = LocationMatch.objects.filter(user=request.user)[:6] employers = EmployerMatch.objects.filter(user=request.user)[:6] mutual_likes = UserLike.objects.get_all_mutual_likes(request.user, 4) new_user = False if len(mutual_likes) == 0 and len(matches) == 0: new_user = True question_instance = None queryset = Question.objects.get_unanswered(request.user).order_by('-timestamp') if queryset.count() > 0: question_instance = queryset.order_by("?").first() question_form = UserResponseForm() context = { "queryset": queryset, "matches": matches, "positions": positions, "locations": locations, "employers": employers, "mutual_likes": mutual_likes, "new_user": new_user, "question_form": question_form, "question_instance": question_instance, } return render(request, "dashboard/home.html", context) context = { } return render(request, "home.html", context)
def dashboard_view(request): if request.user.is_authenticated(): PositionMatch.objects.update_top_suggestions(request.user, 20) matches = Match.objects.get_matches_with_percent(request.user)[:6] positions = PositionMatch.objects.filter(user=request.user)[:6] if positions.count() > 0: positions[0].check_update(20) #20 matches total locations = LocationMatch.objects.filter(user=request.user)[:6] employers = EmployerMatch.objects.filter(user=request.user)[:6] mutual_likes = UserLike.objects.get_all_mutual_likes(request.user, 6) new_user = False if len(mutual_likes) == 0 and len(matches) == 0: new_user = True question_instance = None queryset = Question.objects.get_unanswered( request.user).order_by('-timestamp') if queryset.count() > 0: question_instance = queryset.order_by('?').first() question_form = UserResponseForm() template = "dashboard/dashboard.html" context = { 'queryset': queryset, 'matches': matches, 'positions': positions, 'locations': locations, 'employers': employers, 'mutual_likes': mutual_likes, 'new_user': new_user, 'question_form': question_form, 'question_instance': question_instance, } return render(request, template, context) template = "dashboard/home.html" context = {} return render(request, template, context)
def question_single(request, id): if request.user.is_authenticated(): queryset = Question.objects.all().order_by("-timestamp") instance = get_object_or_404(Question, id=id) try: user_answer = UserAnswer.objects.get(user=request.user, question=instance) updated_q = True except UserAnswer.DoesNotExist: user_answer = UserAnswer() updated_q = False except UserAnswer.MultipleObjectsReturned: user_answer = UserAnswer.objects.get(user=request.user, question=instance)[0] updated_q = True except: user_answer = UserAnswer() updated_q = False form = UserResponseForm(request.POST or None) if form.is_valid(): question_id = form.cleaned_data.get("question_id") answer_id = form.cleaned_data.get("answer_id") their_answer_id = form.cleaned_data.get("their_answer_id") importance_level = form.cleaned_data.get("importance_level") their_importance_level = form.cleaned_data.get("their_importance_level") question_instance = Question.objects.get(id=question_id) answer_instance = Answer.objects.get(id=answer_id) user_answer.user = request.user user_answer.question = question_instance user_answer.my_answer = answer_instance user_answer.my_answer_importance = importance_level if their_answer_id != -1: their_answer_instance = Answer.objects.get(id=their_answer_id) user_answer.their_answer = their_answer_instance user_answer.their_importance = their_importance_level else: user_answer.their_answer = None user_answer.their_importance = "Not Important" user_answer.save() user_matches_update.send(user=request.user, sender=user_answer.__class__) if updated_q: messages.success(request, "Your response was updated successfully") else: messages.success(request, "Your response was saved successfully") next_q = Question.objects.get_unanswered(request.user).order_by("?") if next_q.count() > 0: next_q_instance = next_q.first() return redirect("question_single", id=next_q_instance.id) else: return redirect("home") context = { "instance": instance, "form": form, "user_answer": user_answer, } return render(request, "questions/single.html", context) else: raise Http404
def question_single(request, id): if request.user.is_authenticated(): queryset = Question.objects.all().order_by("-timestamp") instance = get_object_or_404(Question, id=id) try: user_answer = UserAnswer.objects.get(user=request.user, question=instance) updated_q = True except UserAnswer.DoesNotExist: user_answer = UserAnswer() updated_q = False except UserAnswer.MultipleObjectsReturned: user_answer = UserAnswer.objects.get(user=request.user, question=instance)[0] updated_q = True except: user_answer = UserAnswer() updated_q = False form = UserResponseForm(request.POST or None) if form.is_valid(): question_id = form.cleaned_data.get("question_id") answer_id = form.cleaned_data.get("answer_id") their_answer_id = form.cleaned_data.get("their_answer_id") importance_level = form.cleaned_data.get("importance_level") their_importance_level = form.cleaned_data.get( "their_importance_level") question_instance = Question.objects.get(id=question_id) answer_instance = Answer.objects.get(id=answer_id) user_answer.user = request.user user_answer.question = question_instance user_answer.my_answer = answer_instance user_answer.my_answer_importance = importance_level if their_answer_id != -1: their_answer_instance = Answer.objects.get(id=their_answer_id) user_answer.their_answer = their_answer_instance user_answer.their_importance = their_importance_level else: user_answer.their_answer = None user_answer.their_importance = "Not Important" user_answer.save() user_matches_update.send(user=request.user, sender=user_answer.__class__) if updated_q: messages.success(request, "Your response was updated successfully") else: messages.success(request, "Your response was saved successfully") next_q = Question.objects.get_unanswered( request.user).order_by("?") if next_q.count() > 0: next_q_instance = next_q.first() return redirect("question_single", id=next_q_instance.id) else: return redirect("home") context = { "instance": instance, "form": form, "user_answer": user_answer, } return render(request, "questions/single.html", context) else: raise Http404