瀏覽代碼

fix missing admin_code from parent

Thomas Rabaix 10 年之前
父節點
當前提交
123d6062ca
共有 2 個文件被更改,包括 9 次插入4 次删除
  1. 6 2
      Admin/Admin.php
  2. 3 2
      Datagrid/DatagridMapper.php

+ 6 - 2
Admin/Admin.php

@@ -25,8 +25,10 @@ use Sonata\AdminBundle\Form\FormMapper;
 use Sonata\AdminBundle\Datagrid\ListMapper;
 use Sonata\AdminBundle\Datagrid\ListMapper;
 use Sonata\AdminBundle\Datagrid\DatagridMapper;
 use Sonata\AdminBundle\Datagrid\DatagridMapper;
 use Sonata\AdminBundle\Show\ShowMapper;
 use Sonata\AdminBundle\Show\ShowMapper;
-use Sonata\AdminBundle\Validator\ErrorElement;
-use Sonata\AdminBundle\Validator\Constraints\InlineConstraint;
+
+use Sonata\CoreBundle\Validator\ErrorElement;
+use Sonata\CoreBundle\Validator\Constraints\InlineConstraint;
+
 use Sonata\AdminBundle\Translator\LabelTranslatorStrategyInterface;
 use Sonata\AdminBundle\Translator\LabelTranslatorStrategyInterface;
 use Sonata\AdminBundle\Builder\FormContractorInterface;
 use Sonata\AdminBundle\Builder\FormContractorInterface;
 use Sonata\AdminBundle\Builder\ListBuilderInterface;
 use Sonata\AdminBundle\Builder\ListBuilderInterface;
@@ -892,6 +894,8 @@ abstract class Admin implements AdminInterface, DomainObjectInterface
                     'model_manager' => $this->getModelManager(),
                     'model_manager' => $this->getModelManager(),
                 ),
                 ),
                 'operator_type' => 'hidden',
                 'operator_type' => 'hidden',
+            ), null, null, array(
+                'admin_code' => $this->getParent()->getCode()
             ));
             ));
         }
         }
 
 

+ 3 - 2
Datagrid/DatagridMapper.php

@@ -42,10 +42,11 @@ class DatagridMapper extends BaseMapper
      * @param array  $filterOptions
      * @param array  $filterOptions
      * @param string $fieldType
      * @param string $fieldType
      * @param array  $fieldOptions
      * @param array  $fieldOptions
+     * @param array  $fieldDescriptionOptions
      *
      *
      * @return DatagridMapper
      * @return DatagridMapper
      */
      */
-    public function add($name, $type = null, array $filterOptions = array(), $fieldType = null, $fieldOptions = null)
+    public function add($name, $type = null, array $filterOptions = array(), $fieldType = null, $fieldOptions = null, array $fieldDescriptionOptions = array())
     {
     {
         if (is_array($fieldOptions)) {
         if (is_array($fieldOptions)) {
             $filterOptions['field_options'] = $fieldOptions;
             $filterOptions['field_options'] = $fieldOptions;
@@ -70,7 +71,7 @@ class DatagridMapper extends BaseMapper
             $fieldDescription = $this->admin->getModelManager()->getNewFieldDescriptionInstance(
             $fieldDescription = $this->admin->getModelManager()->getNewFieldDescriptionInstance(
                 $this->admin->getClass(),
                 $this->admin->getClass(),
                 $name,
                 $name,
-                $filterOptions
+                array_merge($filterOptions, $fieldDescriptionOptions)
             );
             );
         } else {
         } else {
             throw new \RuntimeException('Unknown field name in datagrid mapper. Field name should be either of FieldDescriptionInterface interface or string.');
             throw new \RuntimeException('Unknown field name in datagrid mapper. Field name should be either of FieldDescriptionInterface interface or string.');