def get_context(self, request, *args, **kwargs):
programs = Program.objects.filter(live=True).select_related('programpage').order_by("id")
js_settings = {
"gaTrackingID": settings.GA_TRACKING_ID,
"host": webpack_dev_server_host(request),
"environment": settings.ENVIRONMENT,
"sentry_dsn": sentry.get_public_dsn(),
"release_version": settings.VERSION
}
username = get_social_username(request.user)
context = super(HomePage, self).get_context(request)
def get_program_page(program):
"""Return a None if ProgramPage does not exist, to avoid template errors"""
try:
return program.programpage
except ProgramPage.DoesNotExist:
return
program_pairs = [(program, get_program_page(program)) for program in programs]
context["programs"] = program_pairs
context["is_public"] = True
context["has_zendesk_widget"] = False
context["google_maps_api"] = False
context["authenticated"] = not request.user.is_anonymous()
context["is_staff"] = has_role(request.user, [Staff.ROLE_ID, Instructor.ROLE_ID])
context["username"] = username
context["js_settings_json"] = json.dumps(js_settings)
context["title"] = self.title
context["ga_tracking_id"] = ""
context["coupon_code"] = get_coupon_code(request)
return context
评论列表
文章目录