code: def add_widgets_context(request, context):
      
  
      user = context["user"]
      if context["is_student"] or context["eighth_sponsor"]:
          num_blocks = 6
          surrounding_blocks = EighthBlock.objects.get_upcoming_blocks(num_blocks)
  
      if context["is_student"]:
          schedule, no_signup_today = gen_schedule(user, num_blocks, surrounding_blocks)
          context.update({
              "schedule": schedule,
              "last_displayed_block": schedule[-1] if schedule else None,
              "no_signup_today": no_signup_today,
              "senior_graduation": settings.SENIOR_GRADUATION,
              "senior_graduation_year": settings.SENIOR_GRADUATION_YEAR
          })
  
      if context["eighth_sponsor"]:
          sponsor_date = request.GET.get("sponsor_date", None)
          if sponsor_date:
              sponsor_date = decode_date(sponsor_date)
              if sponsor_date:
                  block = EighthBlock.objects.filter(date__gte=sponsor_date).first()
                  if block:
                      surrounding_blocks = [block] + list(block.next_blocks(num_blocks - 1))
                  else:
                      surrounding_blocks = []
  
          sponsor_sch = gen_sponsor_schedule(user, context["eighth_sponsor"], num_blocks, surrounding_blocks, sponsor_date)
          context.update(sponsor_sch)
          # "sponsor_schedule", "no_attendance_today", "num_attendance_acts",
          # "sponsor_schedule_cur_date", "sponsor_schedule_prev_date", "sponsor_schedule_next_date"
  
      birthdays = find_birthdays(request)
      context["birthdays"] = find_visible_birthdays(request, birthdays)
  
      sched_ctx = schedule_context(request)
      context.update(sched_ctx)
  
      return context
docs: WIDGETS:
      * Eighth signup (STUDENT)
      * Eighth attendance (TEACHER or ADMIN)
      * Bell schedule (ALL)
      * Birthdays (ALL)
      * Administration (ADMIN)
      * Links (ALL)
      * Seniors (STUDENT; graduation countdown if senior, link to destinations otherwise)