def help_center(request, extra_context = None): context = {} tutorials = Tutorial.objects.filter(display=True) if request.user.is_anonymous or request.user.is_recruiter: recruiter_audience = [core_enums.ALL, core_enums.AUTHENTICATED, core_enums.ANONYMOUS_AND_EMPLOYERS, core_enums.EMPLOYER, core_enums.CAMPUS_ORGS_AND_EMPLOYERS] try: context['recruiter_student_discovery_tutorials'] = tutorials.filter(audience__in = recruiter_audience, topic=Topic.objects.get(name="Student Discovery")).order_by("sort_order") except Topic.DoesNotExist: pass try: context['recruiter_subscription_tutorials'] = tutorials.filter(audience__in = recruiter_audience, topic=Topic.objects.get(name="Subscriptions")).order_by("sort_order") except Topic.DoesNotExist: pass try: context['recruiter_event_and_deadline_tutorials'] = tutorials.filter(audience__in = recruiter_audience, topic=Topic.objects.get(name="Events & Deadlines")).order_by("sort_order") except Topic.DoesNotExist: pass try: context['recruiter_account_management_tutorials'] = tutorials.filter(audience__in = recruiter_audience, topic=Topic.objects.get(name="Account Management")).order_by("sort_order") except Topic.DoesNotExist: pass if request.user.is_anonymous or request.user.is_student: student_audience = [core_enums.ALL, core_enums.AUTHENTICATED, core_enums.ANONYMOUS_AND_STUDENTS, core_enums.STUDENT] try: context['student_student_discovery_tutorials'] = tutorials.filter(audience__in = student_audience, topic=Topic.objects.get(name="Student Discovery")).order_by("sort_order") except Topic.DoesNotExist: pass try: context['student_subscription_tutorials'] = tutorials.filter(audience__in = student_audience, topic=Topic.objects.get(name="Subscriptions")).order_by("sort_order") except Topic.DoesNotExist: pass try: context['student_event_and_deadline_tutorials'] = tutorials.filter(audience__in = student_audience, topic=Topic.objects.get(name="Events & Deadlines")).order_by("sort_order") except Topic.DoesNotExist: pass try: context['student_account_management_tutorials'] = tutorials.filter(audience__in = student_audience, topic=Topic.objects.get(name="Account Management")).order_by("sort_order") except Topic.DoesNotExist: pass if request.user.is_anonymous or request.user.is_campus_org: campus_org_audience = [core_enums.ALL, core_enums.AUTHENTICATED, core_enums.ANONYMOUS_AND_CAMPUS_ORGS, core_enums.CAMPUS_ORG, core_enums.CAMPUS_ORGS_AND_EMPLOYERS] try: context['campus_org_student_discovery_tutorials'] = tutorials.filter(audience__in = campus_org_audience, topic=Topic.objects.get(name="Student Discovery")).order_by("sort_order") except Topic.DoesNotExist: pass try: context['campus_org_subscription_tutorials'] = tutorials.filter(audience__in = campus_org_audience, topic=Topic.objects.get(name="Subscriptions")).order_by("sort_order") except Topic.DoesNotExist: pass try: context['campus_org_event_and_deadline_tutorials'] = tutorials.filter(audience__in = campus_org_audience, topic=Topic.objects.get(name="Events & Deadlines")).order_by("sort_order") except Topic.DoesNotExist: pass try: context['campus_org_account_management_tutorials'] = tutorials.filter(audience__in = campus_org_audience, topic=Topic.objects.get(name="Account Management")).order_by("sort_order") except Topic.DoesNotExist: pass context['top_questions'] = filter_faq_questions(request.user, Question.objects.visible()).order_by("-click_count")[:s.TOP_QUESTIONS_NUM] context.update(extra_context or {}) return context
def faq(request, extra_context = None): if request.method == "POST": if not request.POST.has_key("question_id"): raise Http400("Request POST is missing 'question_id'.") q = Question.objects.get(id=request.POST["question_id"]) q.click_count += 1 q.save() return HttpResponse() else: context = {'topics':[]} for topic in Topic.objects.all(): questions = filter_faq_questions(request.user, topic.question_set.visible()) if questions: context['topics'].append({'name': topic, 'questions':questions}) context.update(extra_context or {}) return context
def faq(request, extra_context=None): if request.method == "POST": if not request.POST.has_key("question_id"): raise Http400("Request POST is missing 'question_id'.") q = Question.objects.get(id=request.POST["question_id"]) q.click_count += 1 q.save() return HttpResponse() else: context = {'topics': []} for topic in Topic.objects.all(): questions = filter_faq_questions(request.user, topic.question_set.visible()) if questions: context['topics'].append({ 'name': topic, 'questions': questions }) context.update(extra_context or {}) return context
def help_center(request, extra_context=None): context = {} tutorials = Tutorial.objects.filter(display=True) if request.user.is_anonymous or request.user.is_recruiter: recruiter_audience = [ core_enums.ALL, core_enums.AUTHENTICATED, core_enums.ANONYMOUS_AND_EMPLOYERS, core_enums.EMPLOYER, core_enums.CAMPUS_ORGS_AND_EMPLOYERS ] try: context[ 'recruiter_student_discovery_tutorials'] = tutorials.filter( audience__in=recruiter_audience, topic=Topic.objects.get( name="Student Discovery")).order_by("sort_order") except Topic.DoesNotExist: pass try: context['recruiter_subscription_tutorials'] = tutorials.filter( audience__in=recruiter_audience, topic=Topic.objects.get( name="Subscriptions")).order_by("sort_order") except Topic.DoesNotExist: pass try: context[ 'recruiter_event_and_deadline_tutorials'] = tutorials.filter( audience__in=recruiter_audience, topic=Topic.objects.get( name="Events & Deadlines")).order_by("sort_order") except Topic.DoesNotExist: pass try: context[ 'recruiter_account_management_tutorials'] = tutorials.filter( audience__in=recruiter_audience, topic=Topic.objects.get( name="Account Management")).order_by("sort_order") except Topic.DoesNotExist: pass if request.user.is_anonymous or request.user.is_student: student_audience = [ core_enums.ALL, core_enums.AUTHENTICATED, core_enums.ANONYMOUS_AND_STUDENTS, core_enums.STUDENT ] try: context['student_student_discovery_tutorials'] = tutorials.filter( audience__in=student_audience, topic=Topic.objects.get( name="Student Discovery")).order_by("sort_order") except Topic.DoesNotExist: pass try: context['student_subscription_tutorials'] = tutorials.filter( audience__in=student_audience, topic=Topic.objects.get( name="Subscriptions")).order_by("sort_order") except Topic.DoesNotExist: pass try: context['student_event_and_deadline_tutorials'] = tutorials.filter( audience__in=student_audience, topic=Topic.objects.get( name="Events & Deadlines")).order_by("sort_order") except Topic.DoesNotExist: pass try: context['student_account_management_tutorials'] = tutorials.filter( audience__in=student_audience, topic=Topic.objects.get( name="Account Management")).order_by("sort_order") except Topic.DoesNotExist: pass if request.user.is_anonymous or request.user.is_campus_org: campus_org_audience = [ core_enums.ALL, core_enums.AUTHENTICATED, core_enums.ANONYMOUS_AND_CAMPUS_ORGS, core_enums.CAMPUS_ORG, core_enums.CAMPUS_ORGS_AND_EMPLOYERS ] try: context[ 'campus_org_student_discovery_tutorials'] = tutorials.filter( audience__in=campus_org_audience, topic=Topic.objects.get( name="Student Discovery")).order_by("sort_order") except Topic.DoesNotExist: pass try: context['campus_org_subscription_tutorials'] = tutorials.filter( audience__in=campus_org_audience, topic=Topic.objects.get( name="Subscriptions")).order_by("sort_order") except Topic.DoesNotExist: pass try: context[ 'campus_org_event_and_deadline_tutorials'] = tutorials.filter( audience__in=campus_org_audience, topic=Topic.objects.get( name="Events & Deadlines")).order_by("sort_order") except Topic.DoesNotExist: pass try: context[ 'campus_org_account_management_tutorials'] = tutorials.filter( audience__in=campus_org_audience, topic=Topic.objects.get( name="Account Management")).order_by("sort_order") except Topic.DoesNotExist: pass context['top_questions'] = filter_faq_questions( request.user, Question.objects.visible()).order_by( "-click_count")[:s.TOP_QUESTIONS_NUM] context.update(extra_context or {}) return context