Author: Jonathan.Wage
Date: 2010-01-29 19:25:37 +0100 (Fri, 29 Jan 2010)
New Revision: 27309

Added:
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/lib/form/sfSympalAdminContentSlotForm.class.php
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/actions/
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/actions/actions.class.php
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/config/
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/config/generator.yml
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/config/security.yml
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/config/view.yml
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/lib/
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/lib/Basesympal_content_slotsActions.class.php
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/lib/sympal_content_slotsGeneratorConfiguration.class.php
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/lib/sympal_content_slotsGeneratorHelper.class.php
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/templates/
Modified:
   plugins/sfSympalPlugin/trunk/config/app.yml
   plugins/sfSympalPlugin/trunk/config/doctrine/schema.yml
   
plugins/sfSympalPlugin/trunk/lib/filter/doctrine/PluginsfSympalContentSlotFormFilter.class.php
   
plugins/sfSympalPlugin/trunk/lib/form/doctrine/PluginsfSympalContentSlotForm.class.php
   plugins/sfSympalPlugin/trunk/lib/form/sfSympalForm.class.php
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/config/routing.yml
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/config/sfSympalAdminPluginConfiguration.class.php
   plugins/sfSympalPlugin/trunk/lib/util/sfSympalFormToolkit.class.php
Log:
[1.4][sfSympalPlugin][1.0] Adding sympal_content_slots admin generator


Modified: plugins/sfSympalPlugin/trunk/config/app.yml
===================================================================
--- plugins/sfSympalPlugin/trunk/config/app.yml 2010-01-29 18:12:00 UTC (rev 
27308)
+++ plugins/sfSympalPlugin/trunk/config/app.yml 2010-01-29 18:25:37 UTC (rev 
27309)
@@ -12,6 +12,7 @@
       sympal_admin: ~
       sympal_config: ~
       sympal_content: ~
+      sympal_content_slots: ~
       sympal_content_menu_item: ~
       sympal_content_types: ~
       sympal_dashboard: ~

Modified: plugins/sfSympalPlugin/trunk/config/doctrine/schema.yml
===================================================================
--- plugins/sfSympalPlugin/trunk/config/doctrine/schema.yml     2010-01-29 
18:12:00 UTC (rev 27308)
+++ plugins/sfSympalPlugin/trunk/config/doctrine/schema.yml     2010-01-29 
18:25:37 UTC (rev 27309)
@@ -150,9 +150,6 @@
 
 sfSympalContentSlot:
   actAs: [sfSympalRecordTemplate]
-  options:
-    symfony:
-      filter: false
   columns:
     is_column:
       type: boolean

Modified: 
plugins/sfSympalPlugin/trunk/lib/filter/doctrine/PluginsfSympalContentSlotFormFilter.class.php
===================================================================
--- 
plugins/sfSympalPlugin/trunk/lib/filter/doctrine/PluginsfSympalContentSlotFormFilter.class.php
      2010-01-29 18:12:00 UTC (rev 27308)
+++ 
plugins/sfSympalPlugin/trunk/lib/filter/doctrine/PluginsfSympalContentSlotFormFilter.class.php
      2010-01-29 18:25:37 UTC (rev 27309)
@@ -9,4 +9,18 @@
  */
 abstract class PluginsfSympalContentSlotFormFilter extends 
BasesfSympalContentSlotFormFilter
 {
+  public function setup()
+  {
+    parent::setup();
+
+    sfSympalFormToolkit::changeContentSlotTypeWidget($this, true);
+  }
+
+  public function addTypeColumnQuery(Doctrine_Query $query, $field, $value)
+  {
+    if ($value)
+    {
+      $query->andWhere('type = ?', $value);
+    }
+  }
 }
\ No newline at end of file

Modified: 
plugins/sfSympalPlugin/trunk/lib/form/doctrine/PluginsfSympalContentSlotForm.class.php
===================================================================
--- 
plugins/sfSympalPlugin/trunk/lib/form/doctrine/PluginsfSympalContentSlotForm.class.php
      2010-01-29 18:12:00 UTC (rev 27308)
+++ 
plugins/sfSympalPlugin/trunk/lib/form/doctrine/PluginsfSympalContentSlotForm.class.php
      2010-01-29 18:25:37 UTC (rev 27309)
@@ -20,15 +20,8 @@
       $this['content_list']
     );
 
-    $slotTypes = (sfSympalConfig::get('content_slot_types', null, array()));
-    $choices = array();
-    foreach ($slotTypes as $key => $value)
-    {
-      $choices[$key] = $value['label'];
-    }
-    $this->widgetSchema['type'] = new sfWidgetFormChoice(array('choices' => 
$choices));
-    $this->validatorSchema['type'] = new sfValidatorChoice(array('choices' => 
array_keys($choices)));
-    
+    sfSympalFormToolkit::changeContentSlotTypeWidget($this);
+
     $this->setupValueField();
   }
   

Modified: plugins/sfSympalPlugin/trunk/lib/form/sfSympalForm.class.php
===================================================================
--- plugins/sfSympalPlugin/trunk/lib/form/sfSympalForm.class.php        
2010-01-29 18:12:00 UTC (rev 27308)
+++ plugins/sfSympalPlugin/trunk/lib/form/sfSympalForm.class.php        
2010-01-29 18:25:37 UTC (rev 27309)
@@ -67,14 +67,14 @@
       sfSympalFormToolkit::changeThemeWidget($form);
     }
 
-    if (isset($form['content_id']))
+    if (isset($form['module']))
     {
-      sfSympalFormToolkit::changeContentIdWidget($form);
+      sfSympalFormToolkit::changeModuleWidget($form);
     }
 
-    if (isset($form['module']))
+    if (isset($form['content_id']) || isset($form['content_list']))
     {
-      sfSympalFormToolkit::changeModuleWidget($form);
+      sfSympalFormToolkit::changeContentWidget($form);
     }
 
     foreach ($form as $name => $field)

Modified: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/config/routing.yml
===================================================================
--- 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/config/routing.yml 
    2010-01-29 18:12:00 UTC (rev 27308)
+++ 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/config/routing.yml 
    2010-01-29 18:25:37 UTC (rev 27309)
@@ -38,6 +38,14 @@
     prefix_path:          admin/content/types
     with_wildcard_routes: true
 
+sympal_content_slots:
+  class:                  sfDoctrineRouteCollection
+  options:
+    model:                sfSympalContentSlot
+    module:               sympal_content_slots
+    prefix_path:          admin/content/slots
+    with_wildcard_routes: true
+
 sympal_sites:
   class:                  sfDoctrineRouteCollection
   options:

Modified: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/config/sfSympalAdminPluginConfiguration.class.php
===================================================================
--- 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/config/sfSympalAdminPluginConfiguration.class.php
      2010-01-29 18:12:00 UTC (rev 27308)
+++ 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/config/sfSympalAdminPluginConfiguration.class.php
      2010-01-29 18:25:37 UTC (rev 27309)
@@ -22,6 +22,8 @@
       $manageContent->addChild($contentType->getLabel(), 
'@sympal_content_list_type?type='.$contentType->getId());
     }
 
+    $manageContent->addChild('Slots', '@sympal_content_slots');
+
     $siteAdministration = $menu->getChild('Site Administration');
 
     $siteAdministration

Added: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/lib/form/sfSympalAdminContentSlotForm.class.php
===================================================================
--- 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/lib/form/sfSympalAdminContentSlotForm.class.php
                                (rev 0)
+++ 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/lib/form/sfSympalAdminContentSlotForm.class.php
        2010-01-29 18:25:37 UTC (rev 27309)
@@ -0,0 +1,12 @@
+<?php
+
+class sfSympalAdminContentSlotForm extends PluginsfSympalContentSlotForm
+{
+  public function configure()
+  {
+    parent::configure();
+    unset($this['value']);
+
+    sfSympalFormToolkit::changeContentWidget($this, 'content_list');
+  }
+}
\ No newline at end of file

Added: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/actions/actions.class.php
===================================================================
--- 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/actions/actions.class.php
                         (rev 0)
+++ 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/actions/actions.class.php
 2010-01-29 18:25:37 UTC (rev 27309)
@@ -0,0 +1,17 @@
+<?php
+
+require_once 
dirname(__FILE__).'/../lib/Basesympal_content_slotsActions.class.php';
+require_once 
dirname(__FILE__).'/../lib/sympal_content_slotsGeneratorConfiguration.class.php';
+require_once 
dirname(__FILE__).'/../lib/sympal_content_slotsGeneratorHelper.class.php';
+
+/**
+ * sympal_content_slots actions.
+ *
+ * @package    sympal
+ * @subpackage sympal_content_slots
+ * @author     Your name here
+ * @version    SVN: $Id: actions.class.php 12474 2008-10-31 10:41:27Z jwage $
+ */
+class sympal_content_slotsActions extends Basesympal_content_slotsActions
+{
+}
\ No newline at end of file


Property changes on: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/actions/actions.class.php
___________________________________________________________________
Added: svn:executable
   + *

Added: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/config/generator.yml
===================================================================
--- 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/config/generator.yml
                              (rev 0)
+++ 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/config/generator.yml
      2010-01-29 18:25:37 UTC (rev 27309)
@@ -0,0 +1,23 @@
+generator:
+  class:                   <?php echo sfSympalConfig::getAdminGeneratorClass() 
?> 
+  param:
+    model_class:           sfSympalContentSlot
+    theme:                 <?php echo sfSympalConfig::getAdminGeneratorTheme() 
?> 
+    non_verbose_templates: true
+    with_show:             false
+    singular:              ~
+    plural:                ~
+    route_prefix:          sympal_content_slots
+    with_doctrine_route:     1
+
+    config:
+      actions: ~
+      fields:  ~
+      list:
+        display: [=name, type]
+      filter:
+        display: [name, type, content_list]
+      form:
+        class: sfSympalAdminContentSlotForm
+      edit:    ~
+      new:     ~
\ No newline at end of file


Property changes on: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/config/generator.yml
___________________________________________________________________
Added: svn:executable
   + *

Added: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/config/security.yml
===================================================================
--- 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/config/security.yml
                               (rev 0)
+++ 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/config/security.yml
       2010-01-29 18:25:37 UTC (rev 27309)
@@ -0,0 +1,3 @@
+all:
+  is_secure: on
+  credentials: [ManageContent]
\ No newline at end of file


Property changes on: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/config/security.yml
___________________________________________________________________
Added: svn:executable
   + *

Added: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/config/view.yml
===================================================================
--- 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/config/view.yml
                           (rev 0)
+++ 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/config/view.yml
   2010-01-29 18:25:37 UTC (rev 27309)
@@ -0,0 +1,3 @@
+default:
+  metas:
+    title: Sympal Admin / Content Slots
\ No newline at end of file


Property changes on: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/config/view.yml
___________________________________________________________________
Added: svn:executable
   + *

Added: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/lib/Basesympal_content_slotsActions.class.php
===================================================================
--- 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/lib/Basesympal_content_slotsActions.class.php
                             (rev 0)
+++ 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/lib/Basesympal_content_slotsActions.class.php
     2010-01-29 18:25:37 UTC (rev 27309)
@@ -0,0 +1,5 @@
+<?php
+
+class Basesympal_content_slotsActions extends autoSympal_content_slotsActions
+{
+}
\ No newline at end of file


Property changes on: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/lib/Basesympal_content_slotsActions.class.php
___________________________________________________________________
Added: svn:executable
   + *

Added: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/lib/sympal_content_slotsGeneratorConfiguration.class.php
===================================================================
--- 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/lib/sympal_content_slotsGeneratorConfiguration.class.php
                          (rev 0)
+++ 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/lib/sympal_content_slotsGeneratorConfiguration.class.php
  2010-01-29 18:25:37 UTC (rev 27309)
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * sympal_content_slots module configuration.
+ *
+ * @package    sympal
+ * @subpackage sympal_content_slots
+ * @author     Your name here
+ * @version    SVN: $Id: configuration.php 12474 2008-10-31 10:41:27Z jwage $
+ */
+class sympal_content_slotsGeneratorConfiguration extends 
BaseSympal_content_slotsGeneratorConfiguration
+{
+}
\ No newline at end of file


Property changes on: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/lib/sympal_content_slotsGeneratorConfiguration.class.php
___________________________________________________________________
Added: svn:executable
   + *

Added: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/lib/sympal_content_slotsGeneratorHelper.class.php
===================================================================
--- 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/lib/sympal_content_slotsGeneratorHelper.class.php
                         (rev 0)
+++ 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/lib/sympal_content_slotsGeneratorHelper.class.php
 2010-01-29 18:25:37 UTC (rev 27309)
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * sympal_content_slots module helper.
+ *
+ * @package    sympal
+ * @subpackage sympal_content_slots
+ * @author     Your name here
+ * @version    SVN: $Id: helper.php 12474 2008-10-31 10:41:27Z jwage $
+ */
+class sympal_content_slotsGeneratorHelper extends 
BaseSympal_content_slotsGeneratorHelper
+{
+}
\ No newline at end of file


Property changes on: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/modules/sympal_content_slots/lib/sympal_content_slotsGeneratorHelper.class.php
___________________________________________________________________
Added: svn:executable
   + *

Modified: plugins/sfSympalPlugin/trunk/lib/util/sfSympalFormToolkit.class.php
===================================================================
--- plugins/sfSympalPlugin/trunk/lib/util/sfSympalFormToolkit.class.php 
2010-01-29 18:12:00 UTC (rev 27308)
+++ plugins/sfSympalPlugin/trunk/lib/util/sfSympalFormToolkit.class.php 
2010-01-29 18:25:37 UTC (rev 27309)
@@ -19,19 +19,51 @@
     }
   }
 
-  public static function changeContentIdWidget(sfForm $form)
+  public static function changeContentSlotTypeWidget(sfForm $form, $blank = 
false)
   {
     $widgetSchema = $form->getWidgetSchema();
-    if ($widgetSchema['content_id'] instanceof sfWidgetFormDoctrineChoice)
+    $validatorSchema = $form->getValidatorSchema();
+    $slotTypes = (sfSympalConfig::get('content_slot_types', null, array()));
+    $choices = array();
+    if ($blank)
     {
+      $choices[''] = '';
+    }
+    foreach ($slotTypes as $key => $value)
+    {
+      $choices[$key] = $value['label'];
+    }
+    $widgetSchema['type'] = new sfWidgetFormChoice(array('choices' => 
$choices));
+    $validatorSchema['type'] = new sfValidatorChoice(array('required' => 
false, 'choices' => array_keys($choices)));
+  }
+
+  public static function changeContentWidget(sfForm $form, $add = null)
+  {
+    $widgetSchema = $form->getWidgetSchema();
+    $validatorSchema = $form->getValidatorSchema();
+    if (is_null($add))
+    {
+      $key = isset($widgetSchema['content_id']) ? 'content_id' : 
'content_list';
+    } else {
+      $key = $add;
+    }
+    if (isset($widgetSchema[$key]) || $add)
+    {
       $q = Doctrine_Core::getTable('sfSympalContent')
         ->createQuery('c')
         ->leftJoin('c.Type t')
         ->leftJoin('c.MenuItem m')
         ->where('c.site_id = ?', 
sfSympalContext::getInstance()->getSite()->getId())
         ->orderBy('m.root_id, m.lft');
-      $widgetSchema['content_id']->setOption('query', $q);
-      $widgetSchema['content_id']->setOption('method', 'getIndented');
+
+      if ($add)
+      {
+        $widgetSchema[$key] = new sfWidgetFormDoctrineChoice(array('multiple' 
=> true, 'model' => 'sfSympalContent'));
+        $validatorSchema[$key] = new 
sfValidatorDoctrineChoice(array('multiple' => true, 'model' => 
'sfSympalContent', 'required' => false));
+      }
+
+      $widgetSchema[$key]->setOption('query', $q);
+      $widgetSchema[$key]->setOption('method', 'getIndented');
     }
   }
 

-- 
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