Compare commits

..

No commits in common. "master" and "feature/highlight" have entirely different histories.

4 changed files with 18 additions and 39 deletions

View File

@ -22,8 +22,7 @@ class SnipController extends AbstractController
{ {
public function __construct( public function __construct(
private readonly SnipRepository $repository, private readonly SnipRepository $repository,
) { ) {}
}
#[Route('/', name: '_index')] #[Route('/', name: '_index')]
public function index(#[MapQueryCached] SnipFilterRequest $request): Response public function index(#[MapQueryCached] SnipFilterRequest $request): Response
@ -67,7 +66,8 @@ class SnipController extends AbstractController
->setVary(['Accept', 'Accept-Encoding']) ->setVary(['Accept', 'Accept-Encoding'])
->setEtag(md5($response->getContent())) ->setEtag(md5($response->getContent()))
->setTtl(3600) ->setTtl(3600)
->setClientTtl(300); ->setClientTtl(300)
;
if (!$request->isNoCache()) { if (!$request->isNoCache()) {
$response->isNotModified($request); $response->isNotModified($request);
@ -90,9 +90,11 @@ class SnipController extends AbstractController
$this->addFlash('error', 'Snip is not the latest version, changes will not be saved.'); $this->addFlash('error', 'Snip is not the latest version, changes will not be saved.');
} }
$form = $this->createForm(SnipType::class, $snip) $form = $this->createForm(SnipType::class, $snip);
->add('Save', SubmitType::class); $form->add('Save', SubmitType::class);
$form->get('content')->setData($snip->getActiveText()); if ($snip->getId()) {
$form->get('content')->setData($snip->getActiveText());
}
$form->handleRequest($request); $form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) { if ($form->isSubmitted() && $form->isValid()) {
@ -126,31 +128,10 @@ class SnipController extends AbstractController
{ {
$snip = new Snip(); $snip = new Snip();
$snip->setCreatedAtNow() $snip->setCreatedAtNow()
->setCreatedBy($this->getUser()); ->setCreatedBy($this->getUser())
;
$form = $this->createForm(SnipType::class, $snip); return $this->edit($snip, $request, $contentService);
$form->add('Create', SubmitType::class);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$this->repository->save($snip);
$contentService->update(
$snip,
$form->get('content')->getData(),
$form->get('contentName')->getData()
);
$this->addFlash('success', sprintf('Snip "%s" created', $snip));
return $this->redirectToRoute('snip_single', [
'snip' => $snip->getId(),
]);
}
return $this->render('snip/create.html.twig', [
'snip' => $snip,
'form' => $form->createView(),
]);
} }
#[Route('/delete/{snip}', name: '_delete')] #[Route('/delete/{snip}', name: '_delete')]

View File

@ -33,6 +33,7 @@ class MarkdownParser extends AbstractParser
], ],
Link::class => [ Link::class => [
'class' => 'btn btn-sm btn-secondary', 'class' => 'btn btn-sm btn-secondary',
'target' => '_blank',
], ],
], ],
]; ];
@ -61,7 +62,7 @@ class MarkdownParser extends AbstractParser
foreach ($linkNodes as $linkNode) { foreach ($linkNodes as $linkNode) {
$url = $linkNode->getUrl(); $url = $linkNode->getUrl();
if (!is_numeric($url)) { if (!is_int($url)) {
continue; continue;
} }

View File

@ -1,7 +0,0 @@
{% extends 'base/one.column.html.twig' %}
{% set title = 'Create Snip' %}
{% block body %}
{{ form(form) }}
{% endblock %}

View File

@ -1,6 +1,10 @@
{% extends 'snip/base.html.twig' %} {% extends 'snip/base.html.twig' %}
{% set title %}{{ snip }} - Edit{% endset %} {% if snip.id %}
{% set title %}{{ snip }} - Edit{% endset %}
{% else %}
{% set title = 'Create Snip' %}
{% endif %}
{% set active = 'edit' %} {% set active = 'edit' %}
{% block buttons %} {% block buttons %}