Commit 80bdafe4 authored by dj3c1t's avatar dj3c1t

Page : attr user

parent 0dd9c277
Pipeline #57 skipped
......@@ -17,6 +17,10 @@ class AdminController extends Controller {
if(substr($path, 0, 1) !== '/') {
$path = "/".$path;
}
$user = null;
if($this->get('security.authorization_checker')->isGranted('IS_AUTHENTICATED_FULLY')) {
$user = $this->getUser();
}
$dm = $this->container->get('doctrine_phpcr.odm.default_document_manager');
$pm = $this->container->get('dj3c1t_cms.page_manager');
$page = new Page();
......@@ -26,6 +30,7 @@ class AdminController extends Controller {
$page,
array(
'pageManager' => $pm,
'user' => $user,
)
);
$form->handleRequest($request);
......@@ -56,6 +61,10 @@ class AdminController extends Controller {
if(substr($path, 0, 1) !== '/') {
$path = "/".$path;
}
$user = null;
if($this->get('security.authorization_checker')->isGranted('IS_AUTHENTICATED_FULLY')) {
$user = $this->getUser();
}
$dm = $this->container->get('doctrine_phpcr.odm.default_document_manager');
$pm = $this->container->get('dj3c1t_cms.page_manager');
$cms_config = $this->container->get('dj3c1t_cms.config');
......@@ -66,6 +75,7 @@ class AdminController extends Controller {
$page,
array(
'pageManager' => $pm,
'user' => $user,
)
);
$form->handleRequest($request);
......
......@@ -24,6 +24,11 @@ class Page {
protected $id;
/**
* @PHPCR\Field(type="long", nullable=true)
*/
protected $user;
/**
* @PHPCR\ParentDocument()
*/
protected $parentDocument;
......@@ -103,6 +108,16 @@ class Page {
$this->order = $order;
}
public function getUser()
{
return $this->user;
}
public function setUser($user)
{
$this->user = $user;
}
public function getPath() {
return substr($this->id, strlen(self::CMS_PATH.self::PAGES_PATH) + 1);
}
......
......@@ -8,6 +8,8 @@ use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
use Dj3c1t\CmsBundle\Document\Page;
......@@ -15,8 +17,11 @@ class PageType extends AbstractType {
protected $pm;
protected $user;
public function buildForm(FormBuilderInterface $builder, array $options) {
$this->pm = $options['pageManager'];
$this->user = $options['user'];
$page = $builder->getData();
if($page && $page->getId() !== null && $page->getId() !== Page::CMS_PATH.Page::PAGES_PATH) {
$builder->add(
......@@ -54,6 +59,17 @@ class PageType extends AbstractType {
'label' => 'Content'
)
);
$builder->addEventListener(
FormEvents::SUBMIT,
function(FormEvent $event) {
if($this->user) {
$page = $event->getData();
if(!$page->getUser()) {
$page->setUser($this->user->getId());
}
}
}
);
}
public function configureOptions(OptionsResolver $resolver) {
......@@ -62,6 +78,7 @@ class PageType extends AbstractType {
'data_class' => 'Dj3c1t\CmsBundle\Document\Page',
'translation_domain' => 'cms',
'pageManager' => null,
'user' => null,
)
);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment