Forráskód Böngészése

fix admin loading in CoreController

Thomas 14 éve
szülő
commit
d7b77a21b4

+ 12 - 4
Controller/CoreController.php

@@ -31,8 +31,10 @@ class CoreController extends Controller
     {
         $code = $this->get('request')->get('code');
         $elementId = $this->get('request')->get('elementId');
+
+        $admin = $this->getAdmin($code);
         
-        $form = $this->getForm($code);
+        $form = $this->getForm($admin, $code);
 
         $form->bind($this->get('request'));
         
@@ -47,7 +49,7 @@ class CoreController extends Controller
         return $this->createResponse($extension->renderField($field_element));
     }
 
-    public function getForm($code)
+    public function getAdmin($code)
     {
         // todo : refactor the code into inside the admin
         $admin = $this->container
@@ -58,6 +60,12 @@ class CoreController extends Controller
             $admin->setUniqid($this->container->get('request')->get('uniqid'));
         }
 
+        return $admin;
+    }
+    
+    public function getForm($admin, $code)
+    {
+
         if (is_numeric($this->get('request')->get('object_id'))) {
             $object = $admin->getObject($this->get('request')->get('object_id'));
         } else {
@@ -102,10 +110,10 @@ class CoreController extends Controller
         //        only for direct FieldDescription (not nested one)
 
         // retrieve the admin
-        $admin            = $this->container->get('base_application.admin.pool')->getInstance($code);
+        $admin            = $this->getAdmin($code);
         
         // retrieve the subject
-        $form = $this->getForm($code);
+        $form = $this->getForm($admin, $code);
 
         // get the field element
         $field_element = $this->getFieldElement($form, $elementId);

+ 1 - 0
Form/FormMapper.php

@@ -59,6 +59,7 @@ class FormMapper
             $fieldDescription->setName($field->getKey());
 
             $this->formBuilder->fixFieldDescription($this->admin, $fieldDescription, $fieldDescriptionOptions);
+
             $this->admin->addFormFieldDescription($field->getKey(), $fieldDescription);
 
         } else if (is_string($name) && !$this->admin->hasFormFieldDescription($name)) {

+ 1 - 1
Twig/Extension/BaseApplicationExtension.php

@@ -177,7 +177,7 @@ class BaseApplicationExtension extends \Twig_Extension
         }
 
         $template = $this->environment->loadTemplate($fieldDescription->getTemplate());
-        
+
         return $this->output($fieldDescription, $template->render(array_merge($params, array(
             'admin'             => $fieldDescription->getAdmin(),
             'object'            => $object,