The view of a single manager announcement.

def edit_announcement_view(request, announcement_pk):
    ''' The view of a single manager announcement. '''
    announce = get_object_or_404(Announcement, pk=announcement_pk)
    profile = UserProfile.objects.get(user=request.user)
    if not (announce.incumbent == profile or request.user.is_superuser):
        return HttpResponseRedirect(
            reverse('managers:view_announcement', kwargs={"announcement_pk": announcement_pk}),
            )
    page_name = "Edit Announcement"

    announcement_form = AnnouncementForm(
        request.POST or None,
        instance=announce,
        profile=profile,
        editing=True,
        )
    if announcement_form.is_valid():
        announcement_form.save(request)
        return HttpResponseRedirect(
            reverse('managers:view_announcement', kwargs={"announcement_pk": announcement_pk}),
            )

    return render_to_response('edit_announcement.html', {
        'page_name': page_name,
        'announcement_form': announcement_form,
        }, context_instance=RequestContext(request))