Skip to content

Commit 85a5a44

Browse files
committed
Security: require document edit permission to create a document template
1 parent 3de0d06 commit 85a5a44

1 file changed

Lines changed: 9 additions & 7 deletions

File tree

src/CoreBundle/Controller/TemplateController.php

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,13 @@ public function createDocumentTemplate(Request $request, EntityManagerInterface
4040
return $this->json(['error' => 'No image provided.'], Response::HTTP_BAD_REQUEST);
4141
}
4242

43+
$document = $entityManager->getRepository(CDocument::class)->find($documentId);
44+
if (!$document) {
45+
return $this->json(['error' => 'Document not found.'], Response::HTTP_NOT_FOUND);
46+
}
47+
48+
$this->denyAccessUnlessGranted('EDIT', $document->getResourceNode());
49+
4350
$user = $userHelper->getCurrent();
4451
$course = null;
4552
if ($cid) {
@@ -62,13 +69,8 @@ public function createDocumentTemplate(Request $request, EntityManagerInterface
6269
$template->setImage($asset);
6370
$entityManager->persist($template);
6471

65-
$document = $entityManager->getRepository(CDocument::class)->find($documentId);
66-
if ($document) {
67-
$document->setTemplate(true);
68-
$entityManager->persist($document);
69-
} else {
70-
return $this->json(['error' => 'Document not found.'], Response::HTTP_NOT_FOUND);
71-
}
72+
$document->setTemplate(true);
73+
$entityManager->persist($document);
7274

7375
$entityManager->flush();
7476

0 commit comments

Comments
 (0)