Browse Source

cleanup a bit

Thomas Rabaix 14 years ago
parent
commit
8db54aec40

+ 1 - 31
Builder/ORM/FormContractor.php

@@ -35,36 +35,6 @@ class FormContractor implements FormContractorInterface
         $this->formFactory = $formFactory;
     }
 
-    /**
-     * Returns the field associated to a FieldDescriptionInterface
-     *   ie : build the embedded form from the related AdminInterface instance
-     *
-     * @throws RuntimeException
-     * @param \Symfony\Component\Form\FormBuilder $formBuilder
-     * @param \Sonata\AdminBundle\Admin\FieldDescriptionInterface $fieldDescription
-     * @param null $fieldName
-     * @return FieldGroup
-     */
-    protected function defineChildFormBuilder(FormBuilder $formBuilder, FieldDescriptionInterface $fieldDescription, $fieldName = null)
-    {
-//        $fieldName = $fieldName ?: $fieldDescription->getFieldName();
-//
-//        $associatedAdmin = $fieldDescription->getAssociationAdmin();
-//
-//        if (!$associatedAdmin) {
-//            throw new \RuntimeException(sprintf('inline mode for field `%s` required an Admin definition', $fieldName));
-//        }
-//
-//        // retrieve the related object
-//        $childBuilder = $formBuilder->create($fieldName, 'sonata_type_admin', array(
-//            'field_description' => $fieldDescription
-//        ));
-//
-//        $formBuilder->add($childBuilder);
-//
-//        $associatedAdmin->defineFormBuilder($childBuilder);
-    }
-
     /**
      * Returns an OneToOne associated field
      *
@@ -137,7 +107,7 @@ class FormContractor implements FormContractorInterface
         $options = array();
 
         if (!$fieldDescription->hasAssociationAdmin()) {
-            return array();
+            return $options;
         }
 
         if ($type == 'sonata_type_model') {

+ 0 - 81
Form/FormMapper.php

@@ -34,87 +34,6 @@ class FormMapper
         $this->admin            = $admin;
     }
 
-//    /**
-//     * The method add a new field to the provided FormBuilder, there are 4 ways to add new field :
-//     *
-//     *   - if $name is a string with no related FieldDescription, then the form will use the FormFactory
-//     *     to instantiate a new Field
-//     *   - if $name is a FormDescription, the method uses information defined in the FormDescription to
-//     *     instantiate a new Field
-//     *   - if $name is a FormBuilder, then a FieldDescriptionInterface is created, the FormBuilder is added to
-//     *     the form
-//     *   - if $name is a string with a related FieldDescription, then the method uses information defined in the
-//     *     FormDescription to instantiate a new Field
-//     *
-//     * @throws \RuntimeException
-//     * @param string $name
-//     * @param array $fieldOptions
-//     * @param array $fieldDescriptionOptions
-//     * @return \Symfony\Component\Form\FieldInterface|void
-//     */
-//    public function add($name, array $fieldOptions = array(), array $fieldDescriptionOptions = array())
-//    {
-//        $fieldType = false;
-//        if ($name instanceof FieldDescriptionInterface) {
-//
-//            $fieldDescription = $name;
-//            $fieldDescription->mergeOptions($fieldDescriptionOptions);
-//
-//        } else if ($name instanceof FormBuilder) {
-//
-//            $fieldType   = $name;
-//
-//            $fieldDescription = $this->admin->getModelManager()->getNewFieldDescriptionInstance(
-//                $this->admin->getClass(),
-//                $fieldType->getName(),
-//                $fieldDescriptionOptions
-//            );
-//
-//            $this->formContractor->fixFieldDescription($this->admin, $fieldDescription, $fieldDescriptionOptions);
-//
-//            $this->admin->addFormFieldDescription($fieldType->getName(), $fieldDescription);
-//
-//        } else if (is_string($name) && !$this->admin->hasFormFieldDescription($name)) {
-//
-//            $fieldDescription = $this->admin->getModelManager()->getNewFieldDescriptionInstance(
-//                $this->admin->getClass(),
-//                $name,
-//                $fieldDescriptionOptions
-//            );
-//
-//            // set default configuration
-//            $this->formContractor->fixFieldDescription($this->admin, $fieldDescription, $fieldDescriptionOptions);
-//
-//            // add the FieldDescription
-//            $this->admin->addFormFieldDescription($name, $fieldDescription);
-//
-//        } else if (is_string($name) && $this->admin->hasFormFieldDescription($name)) {
-//            $fieldDescription = $this->admin->getFormFieldDescription($name);
-//
-//            // update configuration
-//            $this->formContractor->fixFieldDescription($this->admin, $fieldDescription, $fieldDescriptionOptions);
-//
-//        } else {
-//
-//            throw new \RuntimeException('invalid state');
-//        }
-//
-//        $fieldDescription->mergeOption('form_field_options', $fieldOptions);
-//
-//        // nothing to build as a Field is provided
-//        if ($fieldType) {
-//            $this->formBuilder->add($fieldType);
-//        }
-//
-//        // add the field with the FormBuilder
-//        $this->formContractor->addField(
-//            $this->formBuilder,
-//            $fieldDescription
-//        );
-//
-//        return $this;
-//    }
-
     /**
      * @param string $name
      * @param string $type

+ 4 - 4
Resources/views/CRUD/edit_orm_many_to_one.html.twig

@@ -11,7 +11,7 @@ file that was distributed with this source code.
 
 {% if not sonata_admin.field_description.hasassociationadmin%}
     {{ value|render_relation_element(sonata_admin.field_description) }}
-{% elseif sonata_admin.field_description.options.edit == 'inline' %}
+{% elseif sonata_admin.edit == 'inline' %}
     {% for field_description in sonata_admin.field_description.associationadmin.formfielddescriptions %}
         {{ form_row(form.getChild(field_description.name))}}
     {% endfor %}
@@ -20,13 +20,13 @@ file that was distributed with this source code.
 
     <div id="field_container_{{ id }}">
 
-        {% if sonata_admin.field_description.options.edit == 'list' %}
+        {% if sonata_admin.edit == 'list' %}
             <span id="field_widget_{{ id }}" >
                 {% if sonata_admin.admin.id(value) %}
                     {% render 'SonataAdminBundle:Helper:getShortObjectDescription' with {}, {
                         'query': {
                             'code':     sonata_admin.field_description.associationadmin.code,
-                            'objectId': sonata_admin.admin.id(value),
+                            'objectId': sonata_admin.field_description.associationadmin.id(sonata_admin.value),
                             'uniqid':   sonata_admin.field_description.associationadmin.uniqid
                         }
                     }%}
@@ -43,7 +43,7 @@ file that was distributed with this source code.
 
         <span id="field_actions_{{ id }}" >
 
-            {% if sonata_admin.field_description.options.edit == 'list' %}
+            {% if sonata_admin.edit == 'list' %}
                 <a  href="{{ sonata_admin.field_description.associationadmin.generateUrl('list') }}"
                     onclick="start_field_dialog_form_list_{{ id }}(event)"
                     class="sonata-ba-action"

+ 20 - 33
Resources/views/CRUD/edit_orm_one_to_many.html.twig

@@ -14,22 +14,17 @@ file that was distributed with this source code.
         {{ element|render_relation_element(sonata_admin.field_description) }}
     {% endfor %}
 {% else %}
-    <div id="field_container_{{ form.vars.id }}">
-        <span id="field_widget_{{ form.vars.id }}" >
-            {% if sonata_admin.field_description.options.edit == 'inline' %}
-                {% if sonata_admin.field_description.options.inline == 'table' %}
+    <div id="field_container_{{ id }}">
+        <span id="field_widget_{{ id }}" >
+            {% if sonata_admin.edit == 'inline' %}
+                {% if sonata_admin.inline == 'table' %}
                     <table>
                         <tbody class="sonata-ba-tbody">
                             {% for nested_group_field_name, nested_group_field in form.children %}
                                 <tr>
                                     {% for field_name, nested_field in nested_group_field.children %}
-                                        <td class="sonata-ba-td-{{ form.vars.id }}-{{ field_name  }}">
+                                        <td class="sonata-ba-td-{{ id }}-{{ field_name  }}">
                                             {% if sonata_admin.field_description.associationadmin.formfielddescriptions[field_name] is defined %}
-                                                {#{{ sonata_admin.field_description.associationadmin.formfielddescriptions[field_name]|render_form_element(#}
-                                                    {#nested_group_field,#}
-                                                    {#value[nested_group_field_name]#}
-                                                {#) }}#}
-
                                                 {{ form_widget(nested_field) }}
 
                                                 {% set dummy = nested_group_field.setrendered %}
@@ -51,14 +46,6 @@ file that was distributed with this source code.
                                         'inline': 'natural',
                                         'edit'  : 'inline'
                                     }) }}
-                                    {#{{ sonata_admin.field_description.associationadmin.formfielddescriptions[field_name]|render_form_element(#}
-                                        {#nested_group_field,#}
-                                        {#value, {#}
-                                            {#'inline': 'natural',#}
-                                            {#'edit'  : 'inline'#}
-                                        {#}#}
-                                    {#) }}#}
-
                                     {% set dummy = nested_group_field.setrendered %}
                                 {% else %}
                                     {{ form_widget(nested_field) }}
@@ -73,11 +60,11 @@ file that was distributed with this source code.
 
         </span>
 
-        {% if sonata_admin.field_description.options.edit == 'inline' %}
-            <span id="field_actions_{{ form.vars.id }}" >
+        {% if sonata_admin.edit == 'inline' %}
+            <span id="field_actions_{{ id }}" >
                 <a
                     href="{{ sonata_admin.field_description.associationadmin.generateUrl('create') }}"
-                    onclick="start_field_retrieve_{{ form.vars.id }}(event)"
+                    onclick="start_field_retrieve_{{ id }}(event)"
                     class="sonata-ba-action"
                     style="{% if not sonata_admin.field_description.associationadmin.isGranted('CREATE')%}display:none{% endif %}"
                     >
@@ -91,34 +78,34 @@ file that was distributed with this source code.
             {# add code for the sortable options #}
             {% if sonata_admin.field_description.options.sortable is defined %}
                 <script>
-                    jQuery('div#field_container_{{ form.vars.id }} tbody.sonata-ba-tbody').sortable({
+                    jQuery('div#field_container_{{ id }} tbody.sonata-ba-tbody').sortable({
                         axis: 'y',
                         opacity: 0.6,
                         items: 'tr',
-                        stop: apply_position_value_{{ form.vars.id }}
+                        stop: apply_position_value_{{ id }}
                     });
 
-                    function apply_position_value_{{ form.vars.id }}() {
+                    function apply_position_value_{{ id }}() {
                         // update the input value position
-                        jQuery('div#field_container_{{ form.vars.id }} tbody.sonata-ba-tbody td.sonata-ba-td-{{ form.vars.id }}-position').each(function(index, element) {
+                        jQuery('div#field_container_{{ id }} tbody.sonata-ba-tbody td.sonata-ba-td-{{ id }}-position').each(function(index, element) {
                             // remove the sortable handler and put it back
                             jQuery('span.sonata-ba-sortable-handler', element).remove();
                             jQuery(element).append('<span class="sonata-ba-sortable-handler ui-icon ui-icon-grip-solid-horizontal"></span>');
                             jQuery('input', element).hide();
                         });
 
-                        jQuery('div#field_container_{{ form.vars.id }} tbody.sonata-ba-tbody td.sonata-ba-td-{{ form.vars.id }}-position input').each(function(index, value) {
+                        jQuery('div#field_container_{{ id }} tbody.sonata-ba-tbody td.sonata-ba-td-{{ id }}-position input').each(function(index, value) {
                             jQuery(value).val(index + 1);
                         });
                     }
 
                     // refresh the sortable option when a new element is added
-                    jQuery('#sonata-ba-field-container-{{ form.vars.id }}').bind('sonata.add_element', function() {
-                        apply_position_value_{{ form.vars.id }}();
-                        jQuery('div#field_container_{{ form.vars.id }} tbody.sonata-ba-tbody').sortable('refresh');
+                    jQuery('#sonata-ba-field-container-{{ id }}').bind('sonata.add_element', function() {
+                        apply_position_value_{{ id }}();
+                        jQuery('div#field_container_{{ id }} tbody.sonata-ba-tbody').sortable('refresh');
                     });
 
-                    apply_position_value_{{ form.vars.id }}();
+                    apply_position_value_{{ id }}();
 
                 </script>
             {% endif %}
@@ -127,10 +114,10 @@ file that was distributed with this source code.
             {% include 'SonataAdminBundle:CRUD:edit_orm_one_association_script.html.twig' %}
 
         {% else %}
-            <span id="field_actions_{{ form.vars.id }}" >
+            <span id="field_actions_{{ id }}" >
                 <a
                     href="{{ sonata_admin.field_description.associationadmin.generateUrl('create') }}"
-                    onclick="start_field_dialog_form_add_{{ form.vars.id }}(event)"
+                    onclick="start_field_dialog_form_add_{{ id }}(event)"
                     class="sonata-ba-action"
                     style="{% if not sonata_admin.field_description.associationadmin.isGranted('CREATE')%}display:none{% endif %}"
                     >
@@ -141,7 +128,7 @@ file that was distributed with this source code.
                 </a>
             </span>
 
-            <div style="display: none" id="field_dialog_{{ form.vars.id }}">
+            <div style="display: none" id="field_dialog_{{ id }}">
 
             </div>
 

+ 3 - 3
Resources/views/CRUD/edit_orm_one_to_one.html.twig

@@ -11,13 +11,13 @@ file that was distributed with this source code.
 
 {% if not sonata_admin.field_description.hasassociationadmin%}
     {{ value|render_relation_element(sonata_admin.field_description) }}
-{% elseif sonata_admin.field_description.options.edit == 'inline' %}
+{% elseif sonata_admin.edit == 'inline' %}
     {% for field_description in sonata_admin.field_description.associationadmin.formfielddescriptions %}
         {{ form_row(form.getChild(field_description.name)) }}
     {% endfor %}
 {% else %}
     <div id="field_container_{{ id }}">
-        {% if sonata_admin.field_description.options.edit == 'list' %}
+        {% if sonata_admin.edit == 'list' %}
             <span id="field_widget_{{ id }}" >
                 {% if sonata_admin.field_description.associationadmin.id(sonata_admin.value) %}
                     {% render 'SonataAdminBundle:Helper:getShortObjectDescription' with {}, {
@@ -39,7 +39,7 @@ file that was distributed with this source code.
         {% endif %}
         <span id="field_actions_{{ id }}" >
 
-            {% if sonata_admin.field_description.options.edit == 'list' %}
+            {% if sonata_admin.edit == 'list' %}
                 <a  href="{{ sonata_admin.field_description.associationadmin.generateUrl('list') }}"
                     onclick="start_field_dialog_form_list_{{ id }}(event)"
                     class="sonata-ba-action"

+ 3 - 4
Resources/views/Form/admin_fields.html.twig

@@ -17,7 +17,7 @@ file that was distributed with this source code.
     {% if not sonata_admin.field_description %}
         {{ parent() }}
     {% else %}
-        <div id="sonata-ba-field-container-{{ form.vars.id }}" style="border: 1px solid red">
+        <div id="sonata-ba-field-container-{{ id }}" style="border: 1px solid red">
             {% block label %}
                 {% if sonata_admin.field_description.options.name is defined %}
                     {{ form_label(form, sonata_admin.field_description.options.name) }}
@@ -27,7 +27,7 @@ file that was distributed with this source code.
                 <br />
             {% endblock %}
 
-            <div class="sonata-ba-field sonata-ba-field-{{ sonata_admin.edit }}-{{ sonata_admin.inline }} {% if form.vars.errors|length > 0 %}sonata-ba-field-error{% endif %}">
+            <div class="sonata-ba-field sonata-ba-field-{{ sonata_admin.edit }}-{{ sonata_admin.inline }} {% if errors|length > 0 %}sonata-ba-field-error{% endif %}">
 
                 {{ form_widget(form) }}
 
@@ -35,7 +35,7 @@ file that was distributed with this source code.
                     <em class="sonata-ba-field-help">{{ sonata_admin.field_description.help }}</em>
                 {% endif %}
 
-                {% if form.vars.errors|length > 0 %}
+                {% if errors|length > 0 %}
                     <div class="sonata-ba-field-error-messages">
                         {{ form_errors(form) }}
                     </div>
@@ -70,7 +70,6 @@ file that was distributed with this source code.
     {% if sonata_admin.field_description.mappingtype == 2 %}
         w-o-t-o
         {{ block('sonata_admin_orm_one_to_one_widget') }}
-
     {% elseif sonata_admin.field_description.mappingtype == 8 %}
         w-m-t-m
         {{ block('sonata_admin_orm_many_to_many_widget') }}