Skip to content

Commit

Permalink
custom id if not setted
Browse files Browse the repository at this point in the history
  • Loading branch information
RobinDev committed Mar 16, 2022
1 parent 5ea7f13 commit 4d046fb
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 4 deletions.
6 changes: 5 additions & 1 deletion packages/admin/src/FormField/HostField.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,17 @@ public function formField(FormMapper $form): FormMapper

if ('' === $this->admin->getSubject()->getHost()) {
$this->admin->getSubject()->setHost($this->getDefaultHost());

return $form;
}

return $form;
/*
return $form->add('host', ChoiceType::class, [
'choices' => \Safe\array_combine($this->getHosts(), $this->getHosts()),
'required' => false,
'label' => 'admin.page.host.label',
]);
]);*/
}

private function getDefaultHost(): string
Expand Down
7 changes: 5 additions & 2 deletions packages/admin/src/FormField/PageParentPageField.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,12 @@ public function formField(FormMapper $form): FormMapper
'label' => 'admin.page.parentPage.label',
'required' => false,
],
(null !== $this->admin->getSubject()->getId() ? ['query_builder' => fn (PageRepository $er): QueryBuilder => $er->createQueryBuilder('p')
['query_builder' => fn (PageRepository $er): QueryBuilder => $er->createQueryBuilder('p')
->andWhere('p.id != :id')
->setParameter('id', $this->admin->getSubject()->getId()), ] : [])
->andWhere('p.host = :host')
->setParameter('id', (int) $this->admin->getSubject()->getId())
->setParameter('host', $this->admin->getSubject()->getHost()),
]
)
);
}
Expand Down
2 changes: 1 addition & 1 deletion packages/admin/src/FormField/PageSlugField.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ protected function getSlugHelp(): string
/** @param PageInterface $page */
$page = $this->admin->getSubject();

$url = $this->admin->getRouter()->generate('pushword_page', ['slug' => $page->getRealSlug()]);
$url = $page->getHost().$this->admin->getRouter()->generate('pushword_page', ['slug' => $page->getRealSlug()]);
$liveUrl = '' !== $page->getHost() ?
$this->admin->getRouter()->generate(
'custom_host_pushword_page',
Expand Down
8 changes: 8 additions & 0 deletions packages/core/src/EventListener/PageListener.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ public function preRemove(PageInterface $page): void

public function prePersist(PageInterface $page): void
{
$this->setIdAsSlugIfNotDefined($page);
$this->updatePageEditor($page);
}

Expand Down Expand Up @@ -69,4 +70,11 @@ private function updatePageEditor(PageInterface $page): void
// $page->addPageHasEditor($pageHasEditor);
// $this->entityManager->flush();
}

public function setIdAsSlugIfNotDefined(PageInterface $page): void
{
if ('' === $page->getSlug()) {
$page->setSlug(substr(sha1(uniqid().rand()), 0, 8));
}
}
}
Binary file modified packages/skeleton/var/app.db
Binary file not shown.

0 comments on commit 4d046fb

Please sign in to comment.