Ojs\ApiBundle\Controller\Admin\AnnouncementRestController::patchAnnouncementAction PHP Method

patchAnnouncementAction() public method

Update existing announcement from the submitted data or create a new announcement at a specific location.
public patchAnnouncementAction ( Request $request, integer $id ) : Symfony\Component\Form\FormTypeInterface | FOS\RestBundle\Controller\Annotations\View
$request Symfony\Component\HttpFoundation\Request the request object
$id integer the announcement id
return Symfony\Component\Form\FormTypeInterface | FOS\RestBundle\Controller\Annotations\View
    public function patchAnnouncementAction(Request $request, $id)
    {
        try {
            $entity = $this->container->get('ojs_api.announcement.handler')->patch($this->getOr404($id), $request->request->all());
            if (!$this->isGranted('EDIT', $entity)) {
                throw new AccessDeniedException();
            }
            $routeOptions = array('id' => $entity->getId(), '_format' => $request->get('_format'));
            return $this->routeRedirectView('api_1_get_announcement', $routeOptions, Codes::HTTP_NO_CONTENT);
        } catch (InvalidFormException $exception) {
            return $exception->getForm();
        }
    }