Author: ornicar2
Date: 2010-02-11 22:19:48 +0100 (Thu, 11 Feb 2010)
New Revision: 27928

Modified:
   
plugins/diemPlugin/trunk/dmAdminPlugin/data/generator/dmAdminDoctrineModule/dmAdmin/template/templates/_form_field.php
   
plugins/diemPlugin/trunk/dmAdminPlugin/lib/generator/dmAdminDoctrineGenerator.php
   plugins/diemPlugin/trunk/dmAdminPlugin/web/css/form.css
Log:
[Diem]
- allowed to embed relations lists into admin forms

Modified: 
plugins/diemPlugin/trunk/dmAdminPlugin/data/generator/dmAdminDoctrineModule/dmAdmin/template/templates/_form_field.php
===================================================================
--- 
plugins/diemPlugin/trunk/dmAdminPlugin/data/generator/dmAdminDoctrineModule/dmAdmin/template/templates/_form_field.php
      2010-02-11 20:54:42 UTC (rev 27927)
+++ 
plugins/diemPlugin/trunk/dmAdminPlugin/data/generator/dmAdminDoctrineModule/dmAdmin/template/templates/_form_field.php
      2010-02-11 21:19:48 UTC (rev 27928)
@@ -50,16 +50,44 @@
 [?php else: //check if is a media view ?]
   <div class="[?php echo $divClass ?]">
     [?php
+    $found = false;
+    
     if ('dm_gallery' === $name)
     {
+      $found = true;
       include_partial('dmMedia/galleryMedium', array('record' => 
$form->getObject()));
     }
     elseif (substr($name, -5) === '_view')
     {
+      $found = true;
       include_partial('dmMedia/viewBig', array('object' => 
$form->getObject()->getDmMediaByColumnName(substr($name, 0, strlen($name)-5))));
     }
-    else
+    elseif (substr($name, -5) === '_list')
     {
+      if (!$relation = 
$form->getObject()->getTable()->getRelationHolder()->get($alias = 
dmString::camelize(substr($name, 0, strlen($name)-5))))
+      {
+        $relation = 
$form->getObject()->getTable()->getRelationHolder()->get($alias = substr($name, 
0, strlen($name)-5));
+      }
+      if ($relation)
+      {
+        echo '<div class="sf_admin_form_row_inner clearfix">';
+        echo '<div class="label_wrap">'.__($field->getConfig('label', '', 
true)).'</div>';
+        if($relation instanceof Doctrine_Relation_ForeignKey)
+        {
+          $found = true;
+          include_partial('dmAdminGenerator/relationForeign', array('record' 
=> $form->getObject(), 'alias' => $alias));
+        }
+        elseif ($relation instanceof Doctrine_Relation_Association)
+        {
+          $found = true;
+          include_partial('dmAdminGenerator/relationAssociation', 
array('record' => $form->getObject(), 'alias' => $alias));
+        }
+        echo '</div>';
+      }
+    }
+
+    if(!$found)
+    {
       if (sfConfig::get('sf_debug'))
       {
         throw new dmException($name.' is not a valid form field');

Modified: 
plugins/diemPlugin/trunk/dmAdminPlugin/lib/generator/dmAdminDoctrineGenerator.php
===================================================================
--- 
plugins/diemPlugin/trunk/dmAdminPlugin/lib/generator/dmAdminDoctrineGenerator.php
   2010-02-11 20:54:42 UTC (rev 27927)
+++ 
plugins/diemPlugin/trunk/dmAdminPlugin/lib/generator/dmAdminDoctrineGenerator.php
   2010-02-11 21:19:48 UTC (rev 27928)
@@ -184,7 +184,6 @@
       }
       if ($relation)
       {
-        
         if($relation instanceof Doctrine_Relation_ForeignKey)
         {
           $html = "get_partial('dmAdminGenerator/relationForeign', 
array('record' => $".$this->getSingularName().", 'alias' => '".$alias."'));";

Modified: plugins/diemPlugin/trunk/dmAdminPlugin/web/css/form.css
===================================================================
--- plugins/diemPlugin/trunk/dmAdminPlugin/web/css/form.css     2010-02-11 
20:54:42 UTC (rev 27927)
+++ plugins/diemPlugin/trunk/dmAdminPlugin/web/css/form.css     2010-02-11 
21:19:48 UTC (rev 27928)
@@ -78,7 +78,14 @@
   width: 98%;
 }
 
-.sf_admin_form div.sf_admin_form_row_inner {
+.sf_admin_form div.sf_admin_form_row div.dm_foreigns,
+.sf_admin_form div.sf_admin_form_row div.dm_associations {
+  margin-left: 20%;
+  padding: 10px;
+  -moz-box-shadow: 0 0 5px #aaa;
+  -webkit-box-shadow: 0 0 5px #aaa;
+  -moz-border-radius: 4px;
+  -webkit-border-radius: 4px;
 }
 
 .sf_admin_form div.sf_admin_form_row_inner div.label_wrap,

-- 
You received this message because you are subscribed to the Google Groups 
"symfony SVN" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/symfony-svn?hl=en.

Reply via email to