docs: def manage_view(request, semester, profile=None):
      """
      View all members' preferences. This view also includes forms to create an
      entire semester's worth of weekly workshifts.
      """
      page_name = "Manage Workshift"
      pools = WorkshiftPool.objects.filter(semester=semester)
      full_management = utils.can_manage(request.user, semester=semester)
      edit_semester_form = None
      close_semester_form = None
      open_semester_form = None
  
      if not full_management:
          pools = pools.filter(managers__incumbent__user=request.user)
          if not pools.count():
              messages.add_message(request, messages.ERROR,
                                   MESSAGES["ADMINS_ONLY"])
              return HttpResponseRedirect(semester.get_view_url())
      else:
          edit_semester_form = FullSemesterForm(
              data=request.POST if "edit_semester" in request.POST else None,
              instance=semester,
          )
          if semester.current:
              close_semester_form = CloseSemesterForm(
                  data=request.POST if "close_semester" in request.POST else None,
                  semester=semester,
              )
          else:
              open_semester_form = OpenSemesterForm(
                  data=request.POST if "open_semester" in request.POST else None,
                  semester=semester
              )
  
      if edit_semester_form and edit_semester_form.is_valid():
          semester = edit_semester_form.save()
          messages.add_message(
              request,
              messages.INFO,
              "Semester successfully updated.",
          )
          return HttpResponseRedirect(wurl(
              "workshift:manage",
              sem_url=semester.sem_url,
          ))
  
      if close_semester_form and close_semester_form.is_valid():
          close_semester_form.save()
          messages.add_message(request, messages.INFO, "Semester closed.")
          return HttpResponseRedirect(wurl(
              "workshift:manage",
              sem_url=semester.sem_url,
          ))
  
      if open_semester_form and open_semester_form.is_valid():
          open_semester_form.save()
          messages.add_message(request, messages.INFO, "Semester reopened.")
          return HttpResponseRedirect(wurl(
              "workshift:manage",
              sem_url=semester.sem_url,
          ))
  
      pools = pools.order_by("-is_primary", "title")
      workshifters = WorkshiftProfile.objects.filter(semester=semester)
      pool_hours = [
          [
              workshifter.pool_hours.get(pool=pool)
              for pool in pools
          ]
          for workshifter in workshifters
      ]
  
      return render_to_response("manage.html", {
          "page_name": page_name,
          "pools": pools,
          "full_management": full_management,
          "edit_semester_form": edit_semester_form,
          "close_semester_form": close_semester_form,
          "open_semester_form": open_semester_form,
          "workshifters": zip(workshifters, pool_hours),
      }, context_instance=RequestContext(request))