Skip to content
This repository was archived by the owner on Sep 16, 2021. It is now read-only.

Commit eeb7471

Browse files
authored
Merge pull request #43 from symfony-cmf/issue-4/use-tabs
Use Sonata admin tabs
2 parents 5b83d67 + 7167998 commit eeb7471

File tree

52 files changed

+6996
-399
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+6996
-399
lines changed

src/Admin/Block/AbstractBlockAdmin.php

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@
1111

1212
namespace Symfony\Cmf\Bundle\SonataAdminIntegrationBundle\Admin\Block;
1313

14+
use Sonata\AdminBundle\Form\FormMapper;
1415
use Sonata\DoctrinePHPCRAdminBundle\Admin\Admin;
16+
use Sonata\DoctrinePHPCRAdminBundle\Form\Type\TreeModelType;
17+
use Symfony\Component\Form\Extension\Core\Type\TextType;
1518

1619
/**
1720
* @author Nicolas Bastien <[email protected]>
@@ -21,7 +24,7 @@ abstract class AbstractBlockAdmin extends Admin
2124
/**
2225
* @var string
2326
*/
24-
protected $translationDomain = 'CmfBlockBundle';
27+
protected $translationDomain = 'CmfSonataAdminIntegrationBundle';
2528

2629
/**
2730
* {@inheritdoc}
@@ -30,4 +33,23 @@ public function getExportFormats()
3033
{
3134
return array();
3235
}
36+
37+
/**
38+
* {@inheritdoc}
39+
*/
40+
protected function configureFormFields(FormMapper $formMapper)
41+
{
42+
$formMapper
43+
->tab('form.tab_general')
44+
->with('form.group_location', ['class' => 'col-md-3'])
45+
->add(
46+
'parentDocument',
47+
TreeModelType::class,
48+
['root_node' => $this->getRootPath(), 'choice_list' => array(), 'select_root_node' => true]
49+
)
50+
->add('name', TextType::class)
51+
->end()
52+
->end()
53+
;
54+
}
3355
}

src/Admin/Block/ActionBlockAdmin.php

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
use Sonata\AdminBundle\Datagrid\DatagridMapper;
1616
use Sonata\AdminBundle\Datagrid\ListMapper;
1717
use Symfony\Component\Form\Extension\Core\Type\TextType;
18-
use Sonata\DoctrinePHPCRAdminBundle\Form\Type\TreeModelType;
1918

2019
/**
2120
* @author Lukas Kahwe Smith <[email protected]>
@@ -39,11 +38,13 @@ protected function configureListFields(ListMapper $listMapper)
3938
*/
4039
protected function configureFormFields(FormMapper $formMapper)
4140
{
41+
parent::configureFormFields($formMapper);
42+
4243
$formMapper
43-
->with('form.group_general')
44-
->add('parentDocument', TreeModelType::class, array('root_node' => $this->getRootPath(), 'choice_list' => array(), 'select_root_node' => true))
45-
->add('name', TextType::class)
46-
->add('actionName', TextType::class)
44+
->tab('form.tab_general')
45+
->with('form.group_block', ['class' => 'col-md-9'])
46+
->add('actionName', TextType::class)
47+
->end()
4748
->end()
4849
;
4950
}

src/Admin/Block/ContainerBlockAdmin.php

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@
1414
use Sonata\AdminBundle\Datagrid\DatagridMapper;
1515
use Sonata\AdminBundle\Datagrid\ListMapper;
1616
use Sonata\AdminBundle\Form\FormMapper;
17-
use Symfony\Component\Form\Extension\Core\Type\TextType;
18-
use Sonata\DoctrinePHPCRAdminBundle\Form\Type\TreeModelType;
1917

2018
/**
2119
* @author Lukas Kahwe Smith <[email protected]>
@@ -38,12 +36,7 @@ protected function configureListFields(ListMapper $listMapper)
3836
*/
3937
protected function configureFormFields(FormMapper $formMapper)
4038
{
41-
$formMapper
42-
->with('form.group_general')
43-
->add('parentDocument', TreeModelType::class, array('root_node' => $this->getRootPath(), 'choice_list' => array(), 'select_root_node' => true))
44-
->add('name', TextType::class)
45-
->end()
46-
;
39+
parent::configureFormFields($formMapper);
4740
}
4841

4942
/**

src/Admin/Block/Extension/BlockCacheExtension.php

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,37 @@
2222
*/
2323
class BlockCacheExtension extends AbstractAdminExtension
2424
{
25+
private $formGroup;
26+
private $formTab;
27+
28+
public function __construct($formGroup = 'form.group_metadata', $formTab = 'form.tab_general')
29+
{
30+
$this->formGroup = $formGroup;
31+
$this->formTab = $formTab;
32+
}
33+
2534
/**
2635
* Configure form fields.
2736
*
2837
* @param FormMapper $formMapper
2938
*/
3039
public function configureFormFields(FormMapper $formMapper)
3140
{
41+
if ($formMapper->hasOpenTab()) {
42+
$formMapper->end();
43+
}
44+
3245
$formMapper
33-
->with('form.group_metadata', array('translation_domain' => 'CmfBlockBundle'))
34-
->add('ttl', TextType::class)
46+
->tab($this->formTab, 'form.tab_general' === $this->formtab
47+
? ['translation_domain' => 'CmfSonataAdminIntegrationBundle']
48+
: []
49+
)
50+
->with($this->formGroup, 'form.group_metadata' === $this->formGroup
51+
? ['translation_domain' => 'CmfSonataAdminIntegrationBundle']
52+
: []
53+
)
54+
->add('ttl', TextType::class)
55+
->end()
3556
->end()
3657
;
3758
}

src/Admin/Block/Imagine/ImagineBlockAdmin.php

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
use Symfony\Cmf\Bundle\MediaBundle\Form\Type\ImageType;
1919
use Symfony\Component\Form\Extension\Core\Type\TextType;
2020
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
21-
use Sonata\DoctrinePHPCRAdminBundle\Form\Type\TreeModelType;
2221

2322
/**
2423
* @author Horner
@@ -42,32 +41,28 @@ protected function configureListFields(ListMapper $listMapper)
4241
*/
4342
protected function configureFormFields(FormMapper $formMapper)
4443
{
45-
parent::configureFormFields($formMapper);
46-
4744
// image is only required when creating a new item
4845
// TODO: sonata is not using one admin instance per object, so this doesn't really work - https://github.com/symfony-cmf/BlockBundle/issues/151
4946
$imageRequired = ($this->getSubject() && $this->getSubject()->getParentDocument()) ? false : true;
5047

5148
if (null === $this->getParentFieldDescription()) {
52-
$formMapper
53-
->with('form.group_general')
54-
->add(
55-
'parentDocument',
56-
TreeModelType::class,
57-
array('root_node' => $this->getRootPath(), 'choice_list' => array(), 'select_root_node' => true)
58-
)
59-
->add('name', TextType::class)
60-
->end();
49+
parent::configureFormFields($formMapper);
6150
}
6251

6352
$formMapper
64-
->with('form.group_general')
65-
->add('label', TextType::class, array('required' => false))
66-
->add('linkUrl', TextType::class, array('required' => false))
67-
->add('filter', TextType::class, array('required' => false))
68-
->add('image', ImageType::class, array('required' => $imageRequired))
69-
->add('position', HiddenType::class, array('mapped' => false))
70-
->end();
53+
->tab('form.tab_general')
54+
->with('form.group_block', null === $this->getParentFieldDescription()
55+
? ['class' => 'col-md-9']
56+
: []
57+
)
58+
->add('label', TextType::class, array('required' => false))
59+
->add('linkUrl', TextType::class, array('required' => false))
60+
->add('filter', TextType::class, array('required' => false))
61+
->add('image', ImageType::class, array('required' => $imageRequired))
62+
->add('position', HiddenType::class, array('mapped' => false))
63+
->end()
64+
->end()
65+
;
7166
}
7267

7368
public function toString($object)

src/Admin/Block/Imagine/SlideshowBlockAdmin.php

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
use Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\SlideshowBlock;
1818
use Symfony\Component\Form\Extension\Core\Type\TextType;
1919
use Sonata\CoreBundle\Form\Type\CollectionType;
20-
use Sonata\DoctrinePHPCRAdminBundle\Form\Type\TreeModelType;
2120

2221
/**
2322
* @author Horner
@@ -58,32 +57,28 @@ protected function configureListFields(ListMapper $listMapper)
5857
*/
5958
protected function configureFormFields(FormMapper $formMapper)
6059
{
61-
parent::configureFormFields($formMapper);
60+
if (null === $this->getParentFieldDescription()) {
61+
parent::configureFormFields($formMapper);
62+
}
6263

6364
$formMapper
64-
->with('form.group_general')
65-
->add('title', TextType::class, array('required' => false))
66-
->end()
67-
->with('Items')
68-
->add('children', CollectionType::class,
69-
array(),
70-
array(
71-
'edit' => 'inline',
72-
'inline' => 'table',
73-
'admin_code' => $this->embeddedAdminCode,
74-
'sortable' => 'position',
75-
))
65+
->tab('form.tab_general')
66+
->with('form.group_block', null === $this->getParentFieldDescription()
67+
? ['class' => 'col-md-9']
68+
: []
69+
)
70+
->add('title', TextType::class, array('required' => false))
71+
->add('children', CollectionType::class,
72+
array(),
73+
array(
74+
'edit' => 'inline',
75+
'inline' => 'table',
76+
'admin_code' => $this->embeddedAdminCode,
77+
'sortable' => 'position',
78+
))
79+
->end()
7680
->end()
7781
;
78-
79-
if (null === $this->getParentFieldDescription()) {
80-
$formMapper
81-
->with('form.group_general')
82-
->add('parentDocument', TreeModelType::class, array('root_node' => $this->getRootPath(), 'choice_list' => array(), 'select_root_node' => true))
83-
->add('name', TextType::class)
84-
->end()
85-
;
86-
}
8782
}
8883

8984
/**

src/Admin/Block/MenuBlockAdmin.php

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
use Sonata\AdminBundle\Datagrid\DatagridMapper;
1515
use Sonata\AdminBundle\Datagrid\ListMapper;
1616
use Sonata\AdminBundle\Form\FormMapper;
17-
use Symfony\Component\Form\Extension\Core\Type\TextType;
1817
use Sonata\DoctrinePHPCRAdminBundle\Form\Type\TreeModelType;
1918

2019
/**
@@ -41,11 +40,17 @@ protected function configureListFields(ListMapper $listMapper)
4140
*/
4241
protected function configureFormFields(FormMapper $formMapper)
4342
{
43+
parent::configureFormFields($formMapper);
44+
4445
$formMapper
45-
->with('form.group_general')
46-
->add('parentDocument', TreeModelType::class, array('root_node' => $this->getRootPath(), 'choice_list' => array(), 'select_root_node' => true))
47-
->add('name', TextType::class)
48-
->add('menuNode', TreeModelType::class, array('choice_list' => array(), 'required' => true, 'root_node' => $this->menuPath))
46+
->tab('form.tab_general')
47+
->with('form.group_block', ['class' => 'col-md-9'])
48+
->add(
49+
'menuNode',
50+
TreeModelType::class,
51+
['choice_list' => [], 'required' => true, 'root_node' => $this->menuPath]
52+
)
53+
->end()
4954
->end()
5055
;
5156
}

src/Admin/Block/ReferenceBlockAdmin.php

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
use Sonata\AdminBundle\Datagrid\DatagridMapper;
1515
use Sonata\AdminBundle\Datagrid\ListMapper;
1616
use Sonata\AdminBundle\Form\FormMapper;
17-
use Symfony\Component\Form\Extension\Core\Type\TextType;
1817
use Sonata\DoctrinePHPCRAdminBundle\Form\Type\TreeModelType;
1918

2019
/**
@@ -38,11 +37,17 @@ protected function configureListFields(ListMapper $listMapper)
3837
*/
3938
protected function configureFormFields(FormMapper $formMapper)
4039
{
40+
parent::configureFormFields($formMapper);
41+
4142
$formMapper
42-
->with('form.group_general')
43-
->add('parentDocument', TreeModelType::class, array('root_node' => $this->getRootPath(), 'choice_list' => array(), 'select_root_node' => true))
44-
->add('name', TextType::class)
45-
->add('referencedBlock', TreeModelType::class, array('choice_list' => array(), 'required' => false, 'root_node' => $this->getRootPath()))
43+
->tab('form.tab_general')
44+
->with('form.group_block', ['class' => 'col-md-9'])
45+
->add(
46+
'referencedBlock',
47+
TreeModelType::class,
48+
['choice_list' => [], 'required' => false, 'root_node' => $this->getRootPath()]
49+
)
50+
->end()
4651
->end()
4752
;
4853
}

src/Admin/Block/SimpleBlockAdmin.php

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
use Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\SimpleBlock;
1818
use Symfony\Component\Form\Extension\Core\Type\TextType;
1919
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
20-
use Sonata\DoctrinePHPCRAdminBundle\Form\Type\TreeModelType;
2120

2221
/**
2322
* @author Lukas Kahwe Smith <[email protected]>
@@ -40,12 +39,14 @@ protected function configureListFields(ListMapper $listMapper)
4039
*/
4140
protected function configureFormFields(FormMapper $formMapper)
4241
{
42+
parent::configureFormFields($formMapper);
43+
4344
$formMapper
44-
->with('form.group_general')
45-
->add('parentDocument', TreeModelType::class, array('root_node' => $this->getRootPath(), 'choice_list' => array(), 'select_root_node' => true))
46-
->add('name', TextType::class)
47-
->add('title', TextType::class)
48-
->add('body', TextareaType::class)
45+
->tab('form.tab_general')
46+
->with('form.group_block', ['class' => 'col-md-9'])
47+
->add('title', TextType::class)
48+
->add('body', TextareaType::class)
49+
->end()
4950
->end()
5051
;
5152
}

src/Admin/Block/StringBlockAdmin.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,7 @@
1414
use Sonata\AdminBundle\Form\FormMapper;
1515
use Sonata\AdminBundle\Datagrid\DatagridMapper;
1616
use Sonata\AdminBundle\Datagrid\ListMapper;
17-
use Symfony\Component\Form\Extension\Core\Type\TextType;
1817
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
19-
use Sonata\DoctrinePHPCRAdminBundle\Form\Type\TreeModelType;
2018

2119
/**
2220
* @author Daniel Leech <[email protected]>
@@ -36,11 +34,13 @@ protected function configureListFields(ListMapper $listMapper)
3634
*/
3735
protected function configureFormFields(FormMapper $formMapper)
3836
{
37+
parent::configureFormFields($formMapper);
38+
3939
$formMapper
40-
->with('form.group_general')
41-
->add('parentDocument', TreeModelType::class, array('root_node' => $this->getRootPath(), 'choice_list' => array(), 'select_root_node' => true))
42-
->add('name', TextType::class)
43-
->add('body', TextareaType::class)
40+
->tab('form.tab_general')
41+
->with('form.group_block', ['class' => 'col-md-9'])
42+
->add('body', TextareaType::class)
43+
->end()
4444
->end()
4545
;
4646
}

0 commit comments

Comments
 (0)