Преглед на файлове

Fix wrong test with getType and getMappingType

Thomas Rabaix преди 14 години
родител
ревизия
ee7c0987f6
променени са 5 файла, в които са добавени 44 реда и са изтрити 36 реда
  1. 2 11
      Builder/ORM/DatagridBuilder.php
  2. 17 6
      Builder/ORM/FormContractor.php
  3. 8 8
      Builder/ORM/ListBuilder.php
  4. 8 8
      Builder/ORM/ShowBuilder.php
  5. 9 3
      Datagrid/DatagridMapper.php

+ 2 - 11
Builder/ORM/DatagridBuilder.php

@@ -78,10 +78,6 @@ class DatagridBuilder implements DatagridBuilderInterface
             }
         }
 
-        if (!$fieldDescription->getType()) {
-            throw new \RuntimeException(sprintf('Please define a type for field `%s` in `%s`', $fieldDescription->getName(), get_class($admin)));
-        }
-
         $fieldDescription->setOption('code', $fieldDescription->getOption('code', $fieldDescription->getName()));
         $fieldDescription->setOption('label', $fieldDescription->getOption('label', $fieldDescription->getName()));
         $fieldDescription->setOption('filter_value', $fieldDescription->getOption('filter_value', null));
@@ -89,19 +85,14 @@ class DatagridBuilder implements DatagridBuilderInterface
         $fieldDescription->setOption('filter_field_options', $fieldDescription->getOption('filter_field_options', null));
         $fieldDescription->setOption('name', $fieldDescription->getOption('name', $fieldDescription->getName()));
 
-        // set the default type if none is set
-        if (!$fieldDescription->getType()) {
-            $fieldDescription->setType('string');
-        }
-
         if (!$fieldDescription->getTemplate()) {
             $fieldDescription->setTemplate(sprintf('SonataAdminBundle:CRUD:filter_%s.html.twig', $fieldDescription->getType()));
 
-            if ($fieldDescription->getType() == ClassMetadataInfo::MANY_TO_ONE) {
+            if ($fieldDescription->getMappingType() == ClassMetadataInfo::MANY_TO_ONE) {
                 $fieldDescription->setTemplate('SonataAdminBundle:CRUD:filter_many_to_one.html.twig');
             }
 
-            if ($fieldDescription->getType() == ClassMetadataInfo::MANY_TO_MANY) {
+            if ($fieldDescription->getMappingType() == ClassMetadataInfo::MANY_TO_MANY) {
                 $fieldDescription->setTemplate('SonataAdminBundle:CRUD:filter_many_to_many.html.twig');
             }
         }

+ 17 - 6
Builder/ORM/FormContractor.php

@@ -30,6 +30,9 @@ class FormContractor implements FormContractorInterface
 {
     protected $fieldFactory;
 
+    /**
+     * @param \Symfony\Component\Form\FormFactoryInterface $formFactory
+     */
     public function __construct(FormFactoryInterface $formFactory)
     {
         $this->formFactory = $formFactory;
@@ -38,9 +41,9 @@ class FormContractor implements FormContractorInterface
     /**
      * Returns an OneToOne associated field
      *
-     * @param \Sonata\AdminBundle\Admin\FieldDescriptionInterface $fieldDescription
      * @param string
-     * @return array();
+     * @param \Sonata\AdminBundle\Admin\FieldDescriptionInterface $fieldDescription
+     * @return array
      */
     protected function getOneToOneFieldOptions($type, FieldDescriptionInterface $fieldDescription)
     {
@@ -61,8 +64,7 @@ class FormContractor implements FormContractorInterface
             return $options;
         }
 
-        if ($fieldDescription->getOption('edit') == 'standard')
-        {
+        if ($fieldDescription->getOption('edit') == 'standard') {
             return $options;
         }
 
@@ -79,7 +81,7 @@ class FormContractor implements FormContractorInterface
     /**
      * Returns the OneToMany associated field
      *
-     * @param \Symfony\Component\Form\FormBuilder $formBuilder
+     * @param string
      * @param \Sonata\AdminBundle\Admin\FieldDescriptionInterface $fieldDescription
      * @return array
      */
@@ -108,8 +110,8 @@ class FormContractor implements FormContractorInterface
     }
 
     /**
-     * @param \Symfony\Component\Form\FormBuilder $formBuilder
      * @param string
+     * @param \Sonata\AdminBundle\Admin\FieldDescriptionInterface $fieldDescription
      * @return array
      */
     protected function getManyToManyFieldOptions($type, FieldDescriptionInterface $fieldDescription)
@@ -168,6 +170,9 @@ class FormContractor implements FormContractorInterface
         }
     }
 
+    /**
+     * @return \Symfony\Component\Form\FormFactoryInterface
+     */
     public function getFormFactory()
     {
         return $this->formFactory;
@@ -183,6 +188,12 @@ class FormContractor implements FormContractorInterface
         return $this->getFormFactory()->createNamedBuilder('form', $name, null, $options);
     }
 
+    /**
+     * @param $type
+     * @param \Sonata\AdminBundle\Admin\FieldDescriptionInterface $fieldDescription
+     * @param array $options
+     * @return array
+     */
     public function getDefaultOptions($type, FieldDescriptionInterface $fieldDescription, array $options = array())
     {
         $options['sonata_field_description'] = $fieldDescription;

+ 8 - 8
Builder/ORM/ListBuilder.php

@@ -85,36 +85,36 @@ class ListBuilder implements ListBuilderInterface
 
             $fieldDescription->setTemplate(sprintf('SonataAdminBundle:CRUD:list_%s.html.twig', $fieldDescription->getType()));
 
-            if ($fieldDescription->getType() == ClassMetadataInfo::MANY_TO_ONE) {
+            if ($fieldDescription->getMappingType() == ClassMetadataInfo::MANY_TO_ONE) {
                 $fieldDescription->setTemplate('SonataAdminBundle:CRUD:list_orm_many_to_one.html.twig');
             }
 
-            if ($fieldDescription->getType() == ClassMetadataInfo::ONE_TO_ONE) {
+            if ($fieldDescription->getMappingType() == ClassMetadataInfo::ONE_TO_ONE) {
                 $fieldDescription->setTemplate('SonataAdminBundle:CRUD:list_orm_one_to_one.html.twig');
             }
 
-            if ($fieldDescription->getType() == ClassMetadataInfo::ONE_TO_MANY) {
+            if ($fieldDescription->getMappingType() == ClassMetadataInfo::ONE_TO_MANY) {
                 $fieldDescription->setTemplate('SonataAdminBundle:CRUD:list_orm_one_to_many.html.twig');
             }
 
-            if ($fieldDescription->getType() == ClassMetadataInfo::MANY_TO_MANY) {
+            if ($fieldDescription->getMappingType() == ClassMetadataInfo::MANY_TO_MANY) {
                 $fieldDescription->setTemplate('SonataAdminBundle:CRUD:list_orm_many_to_many.html.twig');
             }
         }
 
-        if ($fieldDescription->getType() == ClassMetadataInfo::MANY_TO_ONE) {
+        if ($fieldDescription->getMappingType() == ClassMetadataInfo::MANY_TO_ONE) {
             $admin->attachAdminClass($fieldDescription);
         }
 
-        if ($fieldDescription->getType() == ClassMetadataInfo::ONE_TO_ONE) {
+        if ($fieldDescription->getMappingType() == ClassMetadataInfo::ONE_TO_ONE) {
             $admin->attachAdminClass($fieldDescription);
         }
 
-        if ($fieldDescription->getType() == ClassMetadataInfo::ONE_TO_MANY) {
+        if ($fieldDescription->getMappingType() == ClassMetadataInfo::ONE_TO_MANY) {
             $admin->attachAdminClass($fieldDescription);
         }
 
-        if ($fieldDescription->getType() == ClassMetadataInfo::MANY_TO_MANY) {
+        if ($fieldDescription->getMappingType() == ClassMetadataInfo::MANY_TO_MANY) {
             $admin->attachAdminClass($fieldDescription);
         }
     }

+ 8 - 8
Builder/ORM/ShowBuilder.php

@@ -84,36 +84,36 @@ class ShowBuilder implements ShowBuilderInterface
 
             $fieldDescription->setTemplate(sprintf('SonataAdminBundle:CRUD:show_%s.html.twig', $fieldDescription->getType()));
 
-            if ($fieldDescription->getType() == ClassMetadataInfo::MANY_TO_ONE) {
+            if ($fieldDescription->getMappingType() == ClassMetadataInfo::MANY_TO_ONE) {
                 $fieldDescription->setTemplate('SonataAdminBundle:CRUD:show_orm_many_to_one.html.twig');
             }
 
-            if ($fieldDescription->getType() == ClassMetadataInfo::ONE_TO_ONE) {
+            if ($fieldDescription->getMappingType() == ClassMetadataInfo::ONE_TO_ONE) {
                 $fieldDescription->setTemplate('SonataAdminBundle:CRUD:show_orm_one_to_one.html.twig');
             }
 
-            if ($fieldDescription->getType() == ClassMetadataInfo::ONE_TO_MANY) {
+            if ($fieldDescription->getMappingType() == ClassMetadataInfo::ONE_TO_MANY) {
                 $fieldDescription->setTemplate('SonataAdminBundle:CRUD:show_orm_one_to_many.html.twig');
             }
 
-            if ($fieldDescription->getType() == ClassMetadataInfo::MANY_TO_MANY) {
+            if ($fieldDescription->getMappingType() == ClassMetadataInfo::MANY_TO_MANY) {
                 $fieldDescription->setTemplate('SonataAdminBundle:CRUD:show_orm_many_to_many.html.twig');
             }
         }
 
-        if ($fieldDescription->getType() == ClassMetadataInfo::MANY_TO_ONE) {
+        if ($fieldDescription->getMappingType() == ClassMetadataInfo::MANY_TO_ONE) {
             $admin->attachAdminClass($fieldDescription);
         }
 
-        if ($fieldDescription->getType() == ClassMetadataInfo::ONE_TO_ONE) {
+        if ($fieldDescription->getMappingType() == ClassMetadataInfo::ONE_TO_ONE) {
             $admin->attachAdminClass($fieldDescription);
         }
 
-        if ($fieldDescription->getType() == ClassMetadataInfo::ONE_TO_MANY) {
+        if ($fieldDescription->getMappingType() == ClassMetadataInfo::ONE_TO_MANY) {
             $admin->attachAdminClass($fieldDescription);
         }
 
-        if ($fieldDescription->getType() == ClassMetadataInfo::MANY_TO_MANY) {
+        if ($fieldDescription->getMappingType() == ClassMetadataInfo::MANY_TO_MANY) {
             $admin->attachAdminClass($fieldDescription);
         }
     }

+ 9 - 3
Datagrid/DatagridMapper.php

@@ -28,6 +28,11 @@ class DatagridMapper
 
     protected $admin;
 
+    /**
+     * @param \Sonata\AdminBundle\Builder\DatagridBuilderInterface $datagridBuilder
+     * @param DatagridInterface $datagrid
+     * @param \Sonata\AdminBundle\Admin\AdminInterface $admin
+     */
     public function __construct(DatagridBuilderInterface $datagridBuilder, DatagridInterface $datagrid, AdminInterface $admin)
     {
         $this->datagridBuilder  = $datagridBuilder;
@@ -37,9 +42,10 @@ class DatagridMapper
 
     /**
      * @throws \RuntimeException
-     * @param string $name
+     * @param $name
+     * @param null $type
      * @param array $fieldDescriptionOptions
-     * @return \Sonata\AdminBundle\Datagrid\DatagridMapper
+     * @return DatagridMapper
      */
     public function add($name, $type = null, array $fieldDescriptionOptions = array())
     {
@@ -66,7 +72,7 @@ class DatagridMapper
     }
 
     /**
-     * @param string $name
+     * @param $name
      * @return
      */
     public function get($name)