public function postVisibility(Request $request, Page $page)
    {
        $this->authorize('publish', $page);

        $wasVisible = $page->isVisible();

        $page->setVisibleAtAnyTime($request->input('visible'));

        if ($page->isVisibleAtAnyTime()) {
            if ($request->has('visible_from')) {
                $page->setVisibleFrom(new DateTime($request->input('visible_from')));
            }

            $visibleTo = ($request->has('toggle_visible_to')) ?
                new DateTime($request->input('visible_to'))
                : null;

            $page->setVisibleTo($visibleTo);
        }

        PageFacade::save($page);

        if (!$wasVisible && $page->isVisible()) {
            Event::fire(new Events\PageWasMadeVisible($page, auth()->user()));
        }

        return (int) $page->isVisible();
    }