浏览代码

Fix datagrid builder

Thomas Rabaix 13 年之前
父节点
当前提交
5fd1eaa187
共有 2 个文件被更改,包括 5 次插入6 次删除
  1. 3 4
      Admin/Admin.php
  2. 2 2
      Datagrid/DatagridMapper.php

+ 3 - 4
Admin/Admin.php

@@ -581,14 +581,11 @@ abstract class Admin implements AdminInterface, DomainObjectInterface
             $this->filterFieldDescriptions[$this->getParentAssociationMapping()] = $fieldDescription;
         }
 
-        foreach ($this->filterFieldDescriptions as $fieldDescription) {
-            $this->getDatagridBuilder()->fixFieldDescription($this, $fieldDescription);
-        }
-
         $parameters = $this->getFilterParameters();
 
         // initialize the datagrid
         $this->datagrid = $this->getDatagridBuilder()->getBaseDatagrid($this, $parameters);
+
         $this->datagrid->getPager()->setMaxPerPage($this->maxPerPage);
 
         $mapper = new DatagridMapper($this->getDatagridBuilder(), $this->datagrid, $this);
@@ -1434,6 +1431,8 @@ abstract class Admin implements AdminInterface, DomainObjectInterface
      */
     public function getFilterFieldDescriptions()
     {
+        $this->buildDatagrid();
+
         return $this->filterFieldDescriptions;
     }
 

+ 2 - 2
Datagrid/DatagridMapper.php

@@ -52,7 +52,7 @@ class DatagridMapper
         if ($name instanceof FieldDescriptionInterface) {
             $fieldDescription = $name;
             $fieldDescription->mergeOptions($fieldDescriptionOptions);
-        } else if (is_string($name) && !$this->admin->hasFormFieldDescription($name)) {
+        } else if (is_string($name) && !$this->admin->hasFilterFieldDescription($name)) {
             $fieldDescription = $this->admin->getModelManager()->getNewFieldDescriptionInstance(
                 $this->admin->getClass(),
                 $name,
@@ -69,7 +69,7 @@ class DatagridMapper
     }
 
     /**
-     * @param $name
+     * @param string $name
      * @return
      */
     public function get($name)