Skip to content

Commit

Permalink
Merge 65c124e into 765dfb3
Browse files Browse the repository at this point in the history
  • Loading branch information
alterphp committed Dec 13, 2018
2 parents 765dfb3 + 65c124e commit 2534537
Show file tree
Hide file tree
Showing 71 changed files with 655 additions and 705 deletions.
9 changes: 5 additions & 4 deletions .php_cs
Expand Up @@ -12,11 +12,12 @@ return PhpCsFixer\Config::create()
->setUsingCache(true)
->setRiskyAllowed(true)
->setFinder($finder)
->setRules(array(
->setRules([
'@Symfony' => true,
'binary_operator_spaces' => array(
'array_syntax' => ['syntax' => 'short'],
'binary_operator_spaces' => [
'align_double_arrow' => false,
),
],
'combine_consecutive_unsets' => true,
'no_useless_else' => true,
'no_useless_return' => true,
Expand All @@ -25,5 +26,5 @@ return PhpCsFixer\Config::create()
'phpdoc_summary' => false,
'strict_comparison' => false,
'native_function_invocation'=> true
))
])
;
13 changes: 0 additions & 13 deletions .travis.yml
Expand Up @@ -30,19 +30,6 @@ matrix:
env:
- SYMFONY_VERSION="4.1.*"
- TWIG_VERSION="^2.4"
# Symfony 4
- php: 7.1
env:
- SYMFONY_VERSION="4.0.*"
- STABILITY=beta
# Deprecations breaks CI (sensio frameworkextrabundle + sf 4.1)
# - SYMFONY_DEPRECATIONS_HELPER="strict"
# Symfony 3 LTS
- php: 7.0
env:
- SYMFONY_VERSION="3.4.*"
- TWIG_VERSION="1.x-dev"
# Only 7.0 php images on Travis have xdebug enabled
- ENABLE_CODE_COVERAGE="true"
allow_failures:
# code coverage is very slow; allow a failure to get the Travis result early
Expand Down
6 changes: 6 additions & 0 deletions TODO-UPGRADE-EAB2.md
@@ -0,0 +1,6 @@
- Loading Bootstrap with required 4 plugins (https://github.com/EasyCorp/EasyAdminBundle/compare/1.x...master#diff-d61a48328b309920085232ff9a96fbd9)
- Services id from class names
- Config for Travis CI (https://github.com/EasyCorp/EasyAdminBundle/compare/1.x...master#diff-354f30a63fb0907d4ad57269548329e3)
- Upgrade to Bootstrap 4

- Début modif templates : https://github.com/EasyCorp/EasyAdminBundle/compare/1.x...master#diff-f79d865e04c5546d92f8fcec7ae94b19
2 changes: 1 addition & 1 deletion composer.json
Expand Up @@ -17,7 +17,7 @@
"doctrine/common": "^2.4",
"doctrine/doctrine-bundle": "~1.2",
"doctrine/orm": "~2.3",
"easycorp/easyadmin-bundle": "^1.17",
"easycorp/easyadmin-bundle": "^2.0",
"symfony/config": "~3.0|^4.0",
"symfony/dependency-injection": "~3.0|^4.0",
"symfony/event-dispatcher": "~3.0|^4.0",
Expand Down
4 changes: 2 additions & 2 deletions src/Configuration/EmbeddedListViewConfigPass.php
Expand Up @@ -61,9 +61,9 @@ private function processSortingConfig(array $backendConfig)
}

if (\is_string($sortConfig)) {
$sortConfig = array('field' => $sortConfig, 'direction' => 'DESC');
$sortConfig = ['field' => $sortConfig, 'direction' => 'DESC'];
} else {
$sortConfig = array('field' => $sortConfig[0], 'direction' => \strtoupper($sortConfig[1]));
$sortConfig = ['field' => $sortConfig[0], 'direction' => \strtoupper($sortConfig[1])];
}

$backendConfig['entities'][$entityName]['embeddedList']['sort'] = $sortConfig;
Expand Down
2 changes: 1 addition & 1 deletion src/Configuration/ExcludeFieldsConfigPass.php
Expand Up @@ -34,7 +34,7 @@ public function process(array $backendConfig): array
}

foreach ($backendConfig['entities'] as $entityName => $entityConfig) {
foreach (array('form', 'edit', 'new') as $section) {
foreach (['form', 'edit', 'new'] as $section) {
if (!isset($entityConfig[$section]['exclude_fields'])) {
continue;
}
Expand Down
34 changes: 17 additions & 17 deletions src/Configuration/ListFormFiltersConfigPass.php
Expand Up @@ -37,7 +37,7 @@ public function process(array $backendConfig): array
continue;
}

$formFilters = array();
$formFilters = [];

foreach ($entityConfig['list']['form_filters'] as $i => $formFilter) {
// Detects invalid config node
Expand All @@ -52,7 +52,7 @@ public function process(array $backendConfig): array

// Key mapping
if (\is_string($formFilter)) {
$filterConfig = array('property' => $formFilter);
$filterConfig = ['property' => $formFilter];
} else {
if (!\array_key_exists('property', $formFilter)) {
throw new \RuntimeException(
Expand Down Expand Up @@ -121,22 +121,22 @@ private function configureFieldFilter(string $entityClass, array $fieldMapping,
switch ($fieldMapping['type']) {
case 'boolean':
$filterConfig['type'] = ChoiceType::class;
$defaultFilterConfigTypeOptions = array(
'choices' => array(
$defaultFilterConfigTypeOptions = [
'choices' => [
'list_form_filters.default.boolean.true' => true,
'list_form_filters.default.boolean.false' => false,
),
],
'choice_translation_domain' => 'EasyAdminBundle',
);
];
break;
case 'string':
$filterConfig['type'] = ChoiceType::class;
$defaultFilterConfigTypeOptions = array(
$defaultFilterConfigTypeOptions = [
'multiple' => true,
'choices' => $this->getChoiceList($entityClass, $filterConfig['property'], $filterConfig),
'attr' => array('data-widget' => 'select2'),
'attr' => ['data-widget' => 'select2'],
'choice_translation_domain' => $translationDomain,
);
];
break;
default:
return;
Expand All @@ -146,7 +146,7 @@ private function configureFieldFilter(string $entityClass, array $fieldMapping,
if (null !== $defaultFilterConfigTypeOptions) {
$filterConfig['type_options'] = \array_merge(
$defaultFilterConfigTypeOptions,
$filterConfig['type_options'] ?? array()
$filterConfig['type_options'] ?? []
);
}
}
Expand All @@ -157,12 +157,12 @@ private function configureAssociationFilter(string $entityClass, array $associat
if ($associationMapping['type'] & ClassMetadataInfo::TO_ONE) {
$filterConfig['type'] = EasyAdminAutocompleteType::class;
$filterConfig['type_options'] = \array_merge(
array(
[
'class' => $associationMapping['targetEntity'],
'multiple' => true,
'attr' => array('data-widget' => 'select2'),
),
$filterConfig['type_options'] ?? array()
'attr' => ['data-widget' => 'select2'],
],
$filterConfig['type_options'] ?? []
);
}
}
Expand All @@ -186,11 +186,11 @@ private function getChoiceList(string $entityClass, string $property, array &$fi
);
}

$callableParams = array();
$callableParams = [];
if (\is_string($filterConfig['type_options']['choices_static_callback'])) {
$callable = array($entityClass, $filterConfig['type_options']['choices_static_callback']);
$callable = [$entityClass, $filterConfig['type_options']['choices_static_callback']];
} else {
$callable = array($entityClass, $filterConfig['type_options']['choices_static_callback'][0]);
$callable = [$entityClass, $filterConfig['type_options']['choices_static_callback'][0]];
$callableParams = $filterConfig['type_options']['choices_static_callback'][1];
}
unset($filterConfig['type_options']['choices_static_callback']);
Expand Down
16 changes: 8 additions & 8 deletions src/Configuration/ShortFormTypeConfigPass.php
Expand Up @@ -5,7 +5,7 @@
use AlterPHP\EasyAdminExtensionBundle\Form\Type\EasyAdminEmbeddedListType;
use AlterPHP\EasyAdminExtensionBundle\Form\Type\Security\AdminRolesType;
use EasyCorp\Bundle\EasyAdminBundle\Configuration\ConfigPassInterface;
use EasyCorp\Bundle\EasyAdminBundle\Form\Util\LegacyFormHelper;
use EasyCorp\Bundle\EasyAdminBundle\Form\Util\FormTypeHelper;
use Symfony\Component\PropertyAccess\PropertyAccess;

/**
Expand All @@ -17,15 +17,15 @@
*/
class ShortFormTypeConfigPass implements ConfigPassInterface
{
private $customFormTypes = array();
private $customFormTypes = [];

private static $configWithFormPaths = array('[form][fields]', '[edit][fields]', '[new][fields]', '[list][form_filters]');
private static $nativeShortFormTypes = array(
private static $configWithFormPaths = ['[form][fields]', '[edit][fields]', '[new][fields]', '[list][form_filters]'];
private static $nativeShortFormTypes = [
'embedded_list' => EasyAdminEmbeddedListType::class,
'admin_roles' => AdminRolesType::class,
);
];

public function __construct(array $customFormTypes = array())
public function __construct(array $customFormTypes = [])
{
$this->customFormTypes = $customFormTypes;
}
Expand Down Expand Up @@ -70,7 +70,7 @@ private function replaceShortFormTypesInObjectConfig(array $objectConfig)
if (\array_key_exists($field['type'], $shortFormTypes)) {
$configPathItem[$name]['type'] = $shortFormTypes[$field['type']];
} elseif (self::isLegacyEasyAdminFormShortType($field['type'])) {
$configPathItem[$name]['type'] = LegacyFormHelper::getType($field['type']);
$configPathItem[$name]['type'] = FormTypeHelper::getTypeClass($field['type']);
}
}

Expand All @@ -85,7 +85,7 @@ private function replaceShortFormTypesInObjectConfig(array $objectConfig)

private static function isLegacyEasyAdminFormShortType(string $shortType)
{
$legacyEasyAdminMatchingType = LegacyFormHelper::getType($shortType);
$legacyEasyAdminMatchingType = FormTypeHelper::getTypeClass($shortType);

return \class_exists($legacyEasyAdminMatchingType);
}
Expand Down
4 changes: 2 additions & 2 deletions src/Configuration/ShowViewConfigPass.php
Expand Up @@ -17,11 +17,11 @@ class ShowViewConfigPass implements ConfigPassInterface
*/
private $embeddedListHelper;

private static $mapTypeToTemplates = array(
private static $mapTypeToTemplates = [
// Use EasyAdminExtension namespace because EasyAdminTwigExtension checks namespaces
// to detect custom templates.
'embedded_list' => '@EasyAdminExtension/default/field_embedded_list.html.twig',
);
];

/**
* ShowViewConfigPass constructor.
Expand Down
22 changes: 13 additions & 9 deletions src/Controller/AdminController.php
Expand Up @@ -2,26 +2,32 @@

namespace AlterPHP\EasyAdminExtensionBundle\Controller;

use EasyCorp\Bundle\EasyAdminBundle\Controller\AdminController as BaseAdminController;
use AlterPHP\EasyAdminExtensionBundle\Security\AdminAuthorizationChecker;
use EasyCorp\Bundle\EasyAdminBundle\Controller\EasyAdminController;
use EasyCorp\Bundle\EasyAdminBundle\Event\EasyAdminEvents;
use Symfony\Component\HttpFoundation\JsonResponse;

class AdminController extends BaseAdminController
class AdminController extends EasyAdminController
{
public static function getSubscribedServices(): array
{
return \array_merge(parent::getSubscribedServices(), [AdminAuthorizationChecker::class]);
}

protected function embeddedListAction()
{
$this->dispatch(EasyAdminEvents::PRE_LIST);

$fields = $this->entity['list']['fields'];
$paginator = $this->findAll($this->entity['class'], $this->request->query->get('page', 1), $this->config['list']['max_results'], $this->request->query->get('sortField'), $this->request->query->get('sortDirection'));

$this->dispatch(EasyAdminEvents::POST_LIST, array('paginator' => $paginator));
$this->dispatch(EasyAdminEvents::POST_LIST, ['paginator' => $paginator]);

return $this->render('@EasyAdminExtension/default/embedded_list.html.twig', array(
return $this->render('@EasyAdminExtension/default/embedded_list.html.twig', [
'paginator' => $paginator,
'fields' => $fields,
'masterRequest' => $this->get('request_stack')->getMasterRequest(),
));
]);
}

/**
Expand Down Expand Up @@ -49,9 +55,7 @@ protected function isActionAllowed($actionName)
// Get item for edit/show or custom actions => security voters may apply
$easyadmin = $this->request->attributes->get('easyadmin');
$subject = $easyadmin['item'] ?? null;
$this->get('alterphp.easyadmin_extension.admin_authorization_checker')->checksUserAccess(
$this->entity, $actionName, $subject
);
$this->get(AdminAuthorizationChecker::class)->checksUserAccess($this->entity, $actionName, $subject);

return parent::isActionAllowed($actionName);
}
Expand All @@ -66,7 +70,7 @@ protected function newAjaxAction()
$this->dispatch(EasyAdminEvents::PRE_NEW);

$entity = $this->executeDynamicMethod('createNew<EntityName>Entity');
$easyadmin = \array_merge($this->request->attributes->get('easyadmin'), array('item' => $entity));
$easyadmin = \array_merge($this->request->attributes->get('easyadmin'), ['item' => $entity]);
$this->request->attributes->set('easyadmin', $easyadmin);

$fields = $this->entity['new']['fields'];
Expand Down
4 changes: 2 additions & 2 deletions src/DependencyInjection/Compiler/TwigPathPass.php
Expand Up @@ -21,7 +21,7 @@ public function process(ContainerBuilder $container)
$easyAdminExtensionTwigPath = $easyAdminExtensionBundlePath.'/Resources/views';
$twigLoaderFilesystemDefinition->addMethodCall(
'prependPath',
array($easyAdminExtensionTwigPath, 'EasyAdmin')
[$easyAdminExtensionTwigPath, 'EasyAdmin']
);
}

Expand All @@ -32,7 +32,7 @@ public function process(ContainerBuilder $container)
// Defines a namespace from native EasyAdmin templates
$twigLoaderFilesystemDefinition->addMethodCall(
'addPath',
array($nativeEasyAdminTwigPath, 'BaseEasyAdmin')
[$nativeEasyAdminTwigPath, 'BaseEasyAdmin']
);
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/EasyAdminExtensionBundle.php
Expand Up @@ -37,9 +37,9 @@ private function addRegisterMappingsPass(ContainerBuilder $container)
$easyAdminExtensionBundlePath = \dirname((string) $easyAdminExtensionBundleRefl->getFileName());
$easyAdminExtensionDoctrineMapping = $easyAdminExtensionBundlePath.'/Resources/config/doctrine-mapping';

$mappings = array(
$mappings = [
\realpath($easyAdminExtensionDoctrineMapping) => 'AlterPHP\EasyAdminExtensionBundle\Model',
);
];
if (\class_exists(DoctrineOrmMappingsPass::class)) {
$container->addCompilerPass(DoctrineOrmMappingsPass::createXmlMappingDriver($mappings));
}
Expand Down
18 changes: 9 additions & 9 deletions src/EventListener/PostQueryBuilderSubscriber.php
Expand Up @@ -3,8 +3,8 @@
namespace AlterPHP\EasyAdminExtensionBundle\EventListener;

use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\QueryBuilder;
use Doctrine\ORM\Query\QueryException;
use Doctrine\ORM\QueryBuilder;
use EasyCorp\Bundle\EasyAdminBundle\Event\EasyAdminEvents;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\EventDispatcher\GenericEvent;
Expand Down Expand Up @@ -34,10 +34,10 @@ public function __construct($listFormFiltersHelper)
*/
public static function getSubscribedEvents()
{
return array(
EasyAdminEvents::POST_LIST_QUERY_BUILDER => array('onPostListQueryBuilder'),
EasyAdminEvents::POST_SEARCH_QUERY_BUILDER => array('onPostSearchQueryBuilder'),
);
return [
EasyAdminEvents::POST_LIST_QUERY_BUILDER => ['onPostListQueryBuilder'],
EasyAdminEvents::POST_SEARCH_QUERY_BUILDER => ['onPostSearchQueryBuilder'],
];
}

/**
Expand All @@ -51,7 +51,7 @@ public function onPostListQueryBuilder(GenericEvent $event)

// Request filters
if ($event->hasArgument('request')) {
$this->applyRequestFilters($queryBuilder, $event->getArgument('request')->get('filters', array()));
$this->applyRequestFilters($queryBuilder, $event->getArgument('request')->get('filters', []));
}

// List form filters
Expand All @@ -76,7 +76,7 @@ public function onPostSearchQueryBuilder(GenericEvent $event)
$queryBuilder = $event->getArgument('query_builder');

if ($event->hasArgument('request')) {
$this->applyRequestFilters($queryBuilder, $event->getArgument('request')->get('filters', array()));
$this->applyRequestFilters($queryBuilder, $event->getArgument('request')->get('filters', []));
}
}

Expand All @@ -86,7 +86,7 @@ public function onPostSearchQueryBuilder(GenericEvent $event)
* @param QueryBuilder $queryBuilder
* @param array $filters
*/
protected function applyRequestFilters(QueryBuilder $queryBuilder, array $filters = array())
protected function applyRequestFilters(QueryBuilder $queryBuilder, array $filters = [])
{
foreach ($filters as $field => $value) {
// Empty string and numeric keys is considered as "not applied filter"
Expand All @@ -112,7 +112,7 @@ protected function applyRequestFilters(QueryBuilder $queryBuilder, array $filter
* @param QueryBuilder $queryBuilder
* @param array $filters
*/
protected function applyFormFilters(QueryBuilder $queryBuilder, array $filters = array())
protected function applyFormFilters(QueryBuilder $queryBuilder, array $filters = [])
{
foreach ($filters as $field => $value) {
$value = $this->filterEasyadminAutocompleteValue($value);
Expand Down
2 changes: 1 addition & 1 deletion src/Form/Transformer/RestoreRolesTransformer.php
Expand Up @@ -37,7 +37,7 @@ public function __construct(EditableRolesHelper $rolesBuilder)
*/
public function setOriginalRoles(array $originalRoles = null)
{
$this->originalRoles = $originalRoles ?: array();
$this->originalRoles = $originalRoles ?: [];
}

/**
Expand Down
2 changes: 1 addition & 1 deletion src/Form/Type/EasyAdminEmbeddedListType.php
Expand Up @@ -82,7 +82,7 @@ public function configureOptions(OptionsResolver $resolver)
{
$resolver
->setDefault('entity', null)
->setDefault('filters', array())
->setDefault('filters', [])
->setDefault('sort', null)
->setAllowedTypes('entity', ['null', 'string'])
->setAllowedTypes('filters', ['array'])
Expand Down

0 comments on commit 2534537

Please sign in to comment.