headers->get('x-auth-token'); $security->isGranted('MAESTRO_PROJECT_PROJECTS_UPDATE', $token); $data = json_decode($request->getContent(), true); $nbElement = isset($data['nbProducts']) ? (int) $data['nbProducts'] : 0; $nbSelectedElement = isset($data['elements']) ? count($data['elements']) : 0; $isExportBooklet = isset($data['isExportBooklet']) ? $data['isExportBooklet'] : false; $method = 'addPage'; $key = 'page'; if (0 !== $nbElement && $nbSelectedElement > $nbElement && !$isExportBooklet) { throw new InternalServerErrorMaestroException('The number of selected elements exceed the maximum elements defined', $key, 'elementExceed'); } $view = new PageCreateView( $id_cdf, isset($data['nbPages']) && $data['nbPages'] > 0 ? (int) $data['nbPages'] : 1, $nbElement, isset($data['name']) ? (string) $data['name'] : '', isset($data['templateId']) ? (int) $data['templateId'] : null, isset($data['elements']) ? (string) json_encode($data['elements']) : '[]', $nbSelectedElement ); $result = $page->addPage([$view], $pageOptionId); $page = reset($result); if ($page->getId()) { //DELETE THE CACHE IF WE HAVE, BECAUSE THE VALUE WAS CHANGED $cache = new FilesystemAdapter(); $cache->clear(); //END DELETING CACHE return $respond->statusOK()->createBodyObject(new CommonResponseView($page->getId(), $method, $key, 'success'))->respond(); } else { throw new UnprocessableEntityMaestroException('Page hasn\'t been created', $key, $method); } } }