r28974 - in branches: 1.3/lib/plugins/sfDoctrinePlugin/lib/task 1.3/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/config/doctrine 1.3/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/data/sql 1.4/lib/plugins/sfDoctrinePlugin/lib/task 1.4/lib/plugins/sfDoctrinePlugin/test/functional 1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/config/doctrine 1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/data/sql 1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/filter/doctrine 1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/filter/doctrine/SettingsPlugin 1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/filter/doctrine/SettingsPlugin/base 1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/form/doctrine 1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/form/doctrine/SettingsPlugin 1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/form/doctrine/SettingsPlugin/base 1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/model/doctrine 1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/model/doctrine/SettingsPlugin 1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/model/doctrine/SettingsPlugin/base 1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins 1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin 1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/config 1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/config/doctrine 1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib 1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/filter 1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/filter/doctrine 1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/form 1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/form/doctrine 1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/model 1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/model/doctrine

Sun, 04 Apr 2010 16:00:00 -0700

Author: Kris.Wallsmith
Date: 2010-04-05 00:59:54 +0200 (Mon, 05 Apr 2010)
New Revision: 28974

Added:
   branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/SchemaMergeTest.php
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/filter/doctrine/SettingsPlugin/
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/filter/doctrine/SettingsPlugin/SettingFormFilter.class.php
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/filter/doctrine/SettingsPlugin/base/
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/filter/doctrine/SettingsPlugin/base/BaseSettingFormFilter.class.php
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/form/doctrine/SettingsPlugin/
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/form/doctrine/SettingsPlugin/SettingForm.class.php
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/form/doctrine/SettingsPlugin/base/
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/form/doctrine/SettingsPlugin/base/BaseSettingForm.class.php
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/model/doctrine/SettingsPlugin/
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/model/doctrine/SettingsPlugin/Setting.class.php
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/model/doctrine/SettingsPlugin/SettingTable.class.php
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/model/doctrine/SettingsPlugin/base/
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/model/doctrine/SettingsPlugin/base/BaseSetting.class.php
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/config/
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/config/doctrine/
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/config/doctrine/schema.yml
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/filter/
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/filter/doctrine/
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/filter/doctrine/PluginSettingFormFilter.class.php
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/form/
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/form/doctrine/
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/form/doctrine/PluginSettingForm.class.php
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/model/
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/model/doctrine/
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/model/doctrine/PluginSetting.class.php
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/model/doctrine/PluginSettingTable.class.php
Modified:
   
branches/1.3/lib/plugins/sfDoctrinePlugin/lib/task/sfDoctrineBaseTask.class.php
   
branches/1.3/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/config/doctrine/schema.yml
   
branches/1.3/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/data/sql/schema.sql
   
branches/1.4/lib/plugins/sfDoctrinePlugin/lib/task/sfDoctrineBaseTask.class.php
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/config/doctrine/schema.yml
   
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/data/sql/schema.sql
Log:
[1.3, 1.4] fixed merging of short syntax model definitions (refs #8449)

Modified: 
branches/1.3/lib/plugins/sfDoctrinePlugin/lib/task/sfDoctrineBaseTask.class.php
===================================================================
--- 
branches/1.3/lib/plugins/sfDoctrinePlugin/lib/task/sfDoctrineBaseTask.class.php 
    2010-04-04 14:04:53 UTC (rev 28973)
+++ 
branches/1.3/lib/plugins/sfDoctrinePlugin/lib/task/sfDoctrineBaseTask.class.php 
    2010-04-04 22:59:54 UTC (rev 28974)
@@ -144,7 +144,10 @@
 
         foreach ($pluginModels as $model => $definition)
         {
-          // merge globals
+          // canonicalize this definition
+          $definition = $this->canonicalizeModelDefinition($model, 
$definition);
+
+          // merge in the globals
           $definition = array_merge($globals, $definition);
 
           // merge this model into the schema
@@ -172,7 +175,13 @@
 
       foreach ($projectModels as $model => $definition)
       {
+        // canonicalize this definition
+        $definition = $this->canonicalizeModelDefinition($model, $definition);
+
+        // merge in the globals
         $definition = array_merge($globals, $definition);
+
+        // merge this model into the schema
         $models[$model] = isset($models[$model]) ? 
sfToolkit::arrayDeepMerge($models[$model], $definition) : $definition;
       }
     }
@@ -210,4 +219,55 @@
 
     return $globals;
   }
+
+  /**
+   * Canonicalizes a model definition in preparation for merging.
+   * 
+   * @param string $model      The model name
+   * @param array  $definition The model definition
+   * 
+   * @return array The canonicalized model definition
+   */
+  protected function canonicalizeModelDefinition($model, $definition)
+  {
+    // expand short "type" syntax
+    if (isset($definition['columns']))
+    {
+      foreach ($definition['columns'] as $key => $value)
+      {
+        if (!is_array($value))
+        {
+          $definition['columns'][$key] = array('type' => $value);
+          $value = $definition['columns'][$key];
+        }
+
+        // expand short type(length, scale) syntax
+        if (isset($value['type']) && preg_match('/ *(\w+) *\( *(\d+)(?: *, 
*(\d+))? *\)/', $value['type'], $match))
+        {
+          $definition['columns'][$key]['type'] = $match[1];
+          $definition['columns'][$key]['length'] = $match[2];
+
+          if (isset($match[3]))
+          {
+            $definition['columns'][$key]['scale'] = $match[3];
+          }
+        }
+      }
+    }
+
+    // expand short "actAs" syntax
+    if (isset($definition['actAs']))
+    {
+      foreach ($definition['actAs'] as $key => $value)
+      {
+        if (is_numeric($key))
+        {
+          $definition['actAs'][$value] = array();
+          unset($definition['actAs'][$key]);
+        }
+      }
+    }
+
+    return $definition;
+  }
 }

Modified: 
branches/1.3/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/config/doctrine/schema.yml
===================================================================
--- 
branches/1.3/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/config/doctrine/schema.yml
       2010-04-04 14:04:53 UTC (rev 28973)
+++ 
branches/1.3/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/config/doctrine/schema.yml
       2010-04-04 22:59:54 UTC (rev 28974)
@@ -218,3 +218,15 @@
       values: [type1, type2, type3]
       primary: true
     name: string(255)
+
+# tests merge from plugin schema
+Setting:
+  actAs:
+    Timestampable:
+      updated:
+        disabled: true
+  columns:
+    name:
+      notnull: true
+    weight:
+      scale: 4

Modified: 
branches/1.3/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/data/sql/schema.sql
===================================================================
--- 
branches/1.3/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/data/sql/schema.sql
      2010-04-04 14:04:53 UTC (rev 28973)
+++ 
branches/1.3/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/data/sql/schema.sql
      2010-04-04 22:59:54 UTC (rev 28974)
@@ -14,6 +14,7 @@
 CREATE TABLE permission (id INTEGER PRIMARY KEY AUTOINCREMENT, name 
VARCHAR(255));
 CREATE TABLE profile (id INTEGER PRIMARY KEY AUTOINCREMENT, user_id INTEGER, 
first_name VARCHAR(255), last_name VARCHAR(255));
 CREATE TABLE resource_type (id VARCHAR(255), name VARCHAR(255), PRIMARY 
KEY(id));
+CREATE TABLE setting (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(255) 
NOT NULL, value TEXT, weight DOUBLE, created_at DATETIME NOT NULL);
 CREATE TABLE unique_test (id INTEGER PRIMARY KEY AUTOINCREMENT, unique_test1 
VARCHAR(255) UNIQUE, unique_test2 VARCHAR(255), unique_test3 VARCHAR(255), 
unique_test4 VARCHAR(255));
 CREATE TABLE user (id INTEGER PRIMARY KEY AUTOINCREMENT, username VARCHAR(255) 
UNIQUE, password VARCHAR(255), test VARCHAR(255));
 CREATE TABLE user_group (user_id INTEGER, group_id INTEGER, PRIMARY 
KEY(user_id, group_id));

Modified: 
branches/1.4/lib/plugins/sfDoctrinePlugin/lib/task/sfDoctrineBaseTask.class.php
===================================================================
--- 
branches/1.4/lib/plugins/sfDoctrinePlugin/lib/task/sfDoctrineBaseTask.class.php 
    2010-04-04 14:04:53 UTC (rev 28973)
+++ 
branches/1.4/lib/plugins/sfDoctrinePlugin/lib/task/sfDoctrineBaseTask.class.php 
    2010-04-04 22:59:54 UTC (rev 28974)
@@ -144,7 +144,10 @@
 
         foreach ($pluginModels as $model => $definition)
         {
-          // merge globals
+          // canonicalize this definition
+          $definition = $this->canonicalizeModelDefinition($model, 
$definition);
+
+          // merge in the globals
           $definition = array_merge($globals, $definition);
 
           // merge this model into the schema
@@ -172,7 +175,13 @@
 
       foreach ($projectModels as $model => $definition)
       {
+        // canonicalize this definition
+        $definition = $this->canonicalizeModelDefinition($model, $definition);
+
+        // merge in the globals
         $definition = array_merge($globals, $definition);
+
+        // merge this model into the schema
         $models[$model] = isset($models[$model]) ? 
sfToolkit::arrayDeepMerge($models[$model], $definition) : $definition;
       }
     }
@@ -210,4 +219,55 @@
 
     return $globals;
   }
+
+  /**
+   * Canonicalizes a model definition in preparation for merging.
+   * 
+   * @param string $model      The model name
+   * @param array  $definition The model definition
+   * 
+   * @return array The canonicalized model definition
+   */
+  protected function canonicalizeModelDefinition($model, $definition)
+  {
+    // expand short "type" syntax
+    if (isset($definition['columns']))
+    {
+      foreach ($definition['columns'] as $key => $value)
+      {
+        if (!is_array($value))
+        {
+          $definition['columns'][$key] = array('type' => $value);
+          $value = $definition['columns'][$key];
+        }
+
+        // expand short type(length, scale) syntax
+        if (isset($value['type']) && preg_match('/ *(\w+) *\( *(\d+)(?: *, 
*(\d+))? *\)/', $value['type'], $match))
+        {
+          $definition['columns'][$key]['type'] = $match[1];
+          $definition['columns'][$key]['length'] = $match[2];
+
+          if (isset($match[3]))
+          {
+            $definition['columns'][$key]['scale'] = $match[3];
+          }
+        }
+      }
+    }
+
+    // expand short "actAs" syntax
+    if (isset($definition['actAs']))
+    {
+      foreach ($definition['actAs'] as $key => $value)
+      {
+        if (is_numeric($key))
+        {
+          $definition['actAs'][$value] = array();
+          unset($definition['actAs'][$key]);
+        }
+      }
+    }
+
+    return $definition;
+  }
 }

Added: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/SchemaMergeTest.php
===================================================================
--- 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/SchemaMergeTest.php   
                            (rev 0)
+++ 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/SchemaMergeTest.php   
    2010-04-04 22:59:54 UTC (rev 28974)
@@ -0,0 +1,37 @@
+<?php
+
+/*
+ * This file is part of the symfony package.
+ * (c) Fabien Potencier <[email protected]>
+ * 
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+$app = 'frontend';
+require_once dirname(__FILE__).'/../bootstrap/functional.php';
+
+$t = new lime_test(3);
+
+$table = Doctrine_Core::getTable('Setting');
+
+// columns
+$t->diag('columns');
+
+$t->is_deeply($table->getColumnDefinition('name'), array(
+  'type'    => 'string',
+  'length'  => 255,
+  'notnull' => true,
+), 'the short "type" syntax is expanded');
+
+$t->is_deeply($table->getColumnDefinition('weight'), array(
+  'type'   => 'float',
+  'length' => 4,
+  'scale'  => 4,
+), 'the short "type(length, scale)" syntax is expanded');
+
+// actAs
+$t->diag('actAs');
+
+$options = $table->getTemplate('Timestampable')->getOptions();
+$t->is($options['updated']['disabled'], true, 'the short "actAs" syntax is 
expanded');


Property changes on: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/SchemaMergeTest.php
___________________________________________________________________
Added: svn:keywords
   + Id
Added: svn:eol-style
   + native

Modified: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/config/doctrine/schema.yml
===================================================================
--- 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/config/doctrine/schema.yml
       2010-04-04 14:04:53 UTC (rev 28973)
+++ 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/config/doctrine/schema.yml
       2010-04-04 22:59:54 UTC (rev 28974)
@@ -218,3 +218,15 @@
       values: [type1, type2, type3]
       primary: true
     name: string(255)
+
+# tests merge from plugin schema
+Setting:
+  actAs:
+    Timestampable:
+      updated:
+        disabled: true
+  columns:
+    name:
+      notnull: true
+    weight:
+      scale: 4

Modified: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/data/sql/schema.sql
===================================================================
--- 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/data/sql/schema.sql
      2010-04-04 14:04:53 UTC (rev 28973)
+++ 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/data/sql/schema.sql
      2010-04-04 22:59:54 UTC (rev 28974)
@@ -14,6 +14,7 @@
 CREATE TABLE permission (id INTEGER PRIMARY KEY AUTOINCREMENT, name 
VARCHAR(255));
 CREATE TABLE profile (id INTEGER PRIMARY KEY AUTOINCREMENT, user_id INTEGER, 
first_name VARCHAR(255), last_name VARCHAR(255));
 CREATE TABLE resource_type (id VARCHAR(255), name VARCHAR(255), PRIMARY 
KEY(id));
+CREATE TABLE setting (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(255) 
NOT NULL, value TEXT, weight DOUBLE, created_at DATETIME NOT NULL);
 CREATE TABLE unique_test (id INTEGER PRIMARY KEY AUTOINCREMENT, unique_test1 
VARCHAR(255) UNIQUE, unique_test2 VARCHAR(255), unique_test3 VARCHAR(255), 
unique_test4 VARCHAR(255));
 CREATE TABLE user (id INTEGER PRIMARY KEY AUTOINCREMENT, username VARCHAR(255) 
UNIQUE, password VARCHAR(255), test VARCHAR(255));
 CREATE TABLE user_group (user_id INTEGER, group_id INTEGER, PRIMARY 
KEY(user_id, group_id));

Added: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/filter/doctrine/SettingsPlugin/SettingFormFilter.class.php
===================================================================
--- 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/filter/doctrine/SettingsPlugin/SettingFormFilter.class.php
                           (rev 0)
+++ 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/filter/doctrine/SettingsPlugin/SettingFormFilter.class.php
   2010-04-04 22:59:54 UTC (rev 28974)
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * Setting filter form.
+ *
+ * @package    symfony12
+ * @subpackage filter
+ * @author     Your name here
+ * @version    SVN: $Id$
+ */
+class SettingFormFilter extends PluginSettingFormFilter
+{
+  public function configure()
+  {
+  }
+}


Property changes on: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/filter/doctrine/SettingsPlugin/SettingFormFilter.class.php
___________________________________________________________________
Added: svn:keywords
   + Id
Added: svn:eol-style
   + native

Added: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/filter/doctrine/SettingsPlugin/base/BaseSettingFormFilter.class.php
===================================================================
--- 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/filter/doctrine/SettingsPlugin/base/BaseSettingFormFilter.class.php
                          (rev 0)
+++ 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/filter/doctrine/SettingsPlugin/base/BaseSettingFormFilter.class.php
  2010-04-04 22:59:54 UTC (rev 28974)
@@ -0,0 +1,53 @@
+<?php
+
+/**
+ * Setting filter form base class.
+ *
+ * @package    symfony12
+ * @subpackage filter
+ * @author     Your name here
+ * @version    SVN: $Id$
+ */
+abstract class BaseSettingFormFilter extends BaseFormFilterDoctrine
+{
+  public function setup()
+  {
+    $this->setWidgets(array(
+      'name'       => new sfWidgetFormFilterInput(array('with_empty' => 
false)),
+      'value'      => new sfWidgetFormFilterInput(),
+      'weight'     => new sfWidgetFormFilterInput(),
+      'created_at' => new sfWidgetFormFilterDate(array('from_date' => new 
sfWidgetFormDate(), 'to_date' => new sfWidgetFormDate(), 'with_empty' => 
false)),
+    ));
+
+    $this->setValidators(array(
+      'name'       => new sfValidatorPass(array('required' => false)),
+      'value'      => new sfValidatorPass(array('required' => false)),
+      'weight'     => new sfValidatorSchemaFilter('text', new 
sfValidatorNumber(array('required' => false))),
+      'created_at' => new sfValidatorDateRange(array('required' => false, 
'from_date' => new sfValidatorDateTime(array('required' => false, 
'datetime_output' => 'Y-m-d 00:00:00')), 'to_date' => new 
sfValidatorDateTime(array('required' => false, 'datetime_output' => 'Y-m-d 
23:59:59')))),
+    ));
+
+    $this->widgetSchema->setNameFormat('setting_filters[%s]');
+
+    $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
+
+    $this->setupInheritance();
+
+    parent::setup();
+  }
+
+  public function getModelName()
+  {
+    return 'Setting';
+  }
+
+  public function getFields()
+  {
+    return array(
+      'id'         => 'Number',
+      'name'       => 'Text',
+      'value'      => 'Text',
+      'weight'     => 'Number',
+      'created_at' => 'Date',
+    );
+  }
+}


Property changes on: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/filter/doctrine/SettingsPlugin/base/BaseSettingFormFilter.class.php
___________________________________________________________________
Added: svn:keywords
   + Id
Added: svn:eol-style
   + native

Added: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/form/doctrine/SettingsPlugin/SettingForm.class.php
===================================================================
--- 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/form/doctrine/SettingsPlugin/SettingForm.class.php
                           (rev 0)
+++ 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/form/doctrine/SettingsPlugin/SettingForm.class.php
   2010-04-04 22:59:54 UTC (rev 28974)
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * Setting form.
+ *
+ * @package    symfony12
+ * @subpackage form
+ * @author     Your name here
+ * @version    SVN: $Id$
+ */
+class SettingForm extends PluginSettingForm
+{
+  public function configure()
+  {
+  }
+}


Property changes on: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/form/doctrine/SettingsPlugin/SettingForm.class.php
___________________________________________________________________
Added: svn:keywords
   + Id
Added: svn:eol-style
   + native

Added: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/form/doctrine/SettingsPlugin/base/BaseSettingForm.class.php
===================================================================
--- 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/form/doctrine/SettingsPlugin/base/BaseSettingForm.class.php
                          (rev 0)
+++ 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/form/doctrine/SettingsPlugin/base/BaseSettingForm.class.php
  2010-04-04 22:59:54 UTC (rev 28974)
@@ -0,0 +1,47 @@
+<?php
+
+/**
+ * Setting form base class.
+ *
+ * @method Setting getObject() Returns the current form's model object
+ *
+ * @package    symfony12
+ * @subpackage form
+ * @author     Your name here
+ * @version    SVN: $Id$
+ */
+abstract class BaseSettingForm extends BaseFormDoctrine
+{
+  public function setup()
+  {
+    $this->setWidgets(array(
+      'id'         => new sfWidgetFormInputHidden(),
+      'name'       => new sfWidgetFormInputText(),
+      'value'      => new sfWidgetFormTextarea(),
+      'weight'     => new sfWidgetFormInputText(),
+      'created_at' => new sfWidgetFormDateTime(),
+    ));
+
+    $this->setValidators(array(
+      'id'         => new sfValidatorDoctrineChoice(array('model' => 
$this->getModelName(), 'column' => 'id', 'required' => false)),
+      'name'       => new sfValidatorString(array('max_length' => 255)),
+      'value'      => new sfValidatorString(array('required' => false)),
+      'weight'     => new sfValidatorNumber(array('required' => false)),
+      'created_at' => new sfValidatorDateTime(),
+    ));
+
+    $this->widgetSchema->setNameFormat('setting[%s]');
+
+    $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
+
+    $this->setupInheritance();
+
+    parent::setup();
+  }
+
+  public function getModelName()
+  {
+    return 'Setting';
+  }
+
+}


Property changes on: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/form/doctrine/SettingsPlugin/base/BaseSettingForm.class.php
___________________________________________________________________
Added: svn:keywords
   + Id
Added: svn:eol-style
   + native

Added: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/model/doctrine/SettingsPlugin/Setting.class.php
===================================================================
--- 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/model/doctrine/SettingsPlugin/Setting.class.php
                              (rev 0)
+++ 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/model/doctrine/SettingsPlugin/Setting.class.php
      2010-04-04 22:59:54 UTC (rev 28974)
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * Setting
+ * 
+ * This class has been auto-generated by the Doctrine ORM Framework
+ * 
+ * @package    symfony12
+ * @subpackage model
+ * @author     Your name here
+ * @version    SVN: $Id$
+ */
+class Setting extends PluginSetting
+{
+}


Property changes on: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/model/doctrine/SettingsPlugin/Setting.class.php
___________________________________________________________________
Added: svn:keywords
   + Id
Added: svn:eol-style
   + native

Added: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/model/doctrine/SettingsPlugin/SettingTable.class.php
===================================================================
--- 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/model/doctrine/SettingsPlugin/SettingTable.class.php
                         (rev 0)
+++ 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/model/doctrine/SettingsPlugin/SettingTable.class.php
 2010-04-04 22:59:54 UTC (rev 28974)
@@ -0,0 +1,11 @@
+<?php
+
+
+class SettingTable extends PluginSettingTable
+{
+    
+    public static function getInstance()
+    {
+        return Doctrine_Core::getTable('Setting');
+    }
+}
\ No newline at end of file


Property changes on: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/model/doctrine/SettingsPlugin/SettingTable.class.php
___________________________________________________________________
Added: svn:keywords
   + Id
Added: svn:eol-style
   + native

Added: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/model/doctrine/SettingsPlugin/base/BaseSetting.class.php
===================================================================
--- 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/model/doctrine/SettingsPlugin/base/BaseSetting.class.php
                             (rev 0)
+++ 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/model/doctrine/SettingsPlugin/base/BaseSetting.class.php
     2010-04-04 22:59:54 UTC (rev 28974)
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * BaseSetting
+ * 
+ * This class has been auto-generated by the Doctrine ORM Framework
+ * 
+ * @property string $name
+ * @property string $value
+ * @property float $weight
+ * 
+ * @method string  getName()   Returns the current record's "name" value
+ * @method string  getValue()  Returns the current record's "value" value
+ * @method float   getWeight() Returns the current record's "weight" value
+ * @method Setting setName()   Sets the current record's "name" value
+ * @method Setting setValue()  Sets the current record's "value" value
+ * @method Setting setWeight() Sets the current record's "weight" value
+ * 
+ * @package    symfony12
+ * @subpackage model
+ * @author     Your name here
+ * @version    SVN: $Id$
+ */
+abstract class BaseSetting extends myDoctrineRecord
+{
+    public function setTableDefinition()
+    {
+        $this->setTableName('setting');
+        $this->hasColumn('name', 'string', 255, array(
+             'type' => 'string',
+             'length' => 255,
+             'notnull' => true,
+             ));
+        $this->hasColumn('value', 'string', null, array(
+             'type' => 'string',
+             ));
+        $this->hasColumn('weight', 'float', 4, array(
+             'type' => 'float',
+             'length' => 4,
+             'scale' => 4,
+             ));
+    }
+
+    public function setUp()
+    {
+        parent::setUp();
+        $timestampable0 = new Doctrine_Template_Timestampable(array(
+             'updated' => 
+             array(
+              'disabled' => true,
+             ),
+             ));
+        $this->actAs($timestampable0);
+    }
+}
\ No newline at end of file


Property changes on: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/model/doctrine/SettingsPlugin/base/BaseSetting.class.php
___________________________________________________________________
Added: svn:keywords
   + Id
Added: svn:eol-style
   + native

Added: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/config/doctrine/schema.yml
===================================================================
--- 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/config/doctrine/schema.yml
                                (rev 0)
+++ 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/config/doctrine/schema.yml
        2010-04-04 22:59:54 UTC (rev 28974)
@@ -0,0 +1,6 @@
+Setting:
+  actAs: [Timestampable]
+  columns:
+    name:   string(255)
+    value:  string
+    weight: float(4,2)


Property changes on: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/config/doctrine/schema.yml
___________________________________________________________________
Added: svn:keywords
   + Id
Added: svn:eol-style
   + native

Added: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/filter/doctrine/PluginSettingFormFilter.class.php
===================================================================
--- 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/filter/doctrine/PluginSettingFormFilter.class.php
                             (rev 0)
+++ 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/filter/doctrine/PluginSettingFormFilter.class.php
     2010-04-04 22:59:54 UTC (rev 28974)
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * PluginSetting form.
+ *
+ * @package    ##PROJECT_NAME##
+ * @subpackage filter
+ * @author     ##AUTHOR_NAME##
+ * @version    SVN: $Id$
+ */
+abstract class PluginSettingFormFilter extends BaseSettingFormFilter
+{
+}


Property changes on: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/filter/doctrine/PluginSettingFormFilter.class.php
___________________________________________________________________
Added: svn:keywords
   + Id
Added: svn:eol-style
   + native

Added: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/form/doctrine/PluginSettingForm.class.php
===================================================================
--- 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/form/doctrine/PluginSettingForm.class.php
                             (rev 0)
+++ 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/form/doctrine/PluginSettingForm.class.php
     2010-04-04 22:59:54 UTC (rev 28974)
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * PluginSetting form.
+ *
+ * @package    ##PROJECT_NAME##
+ * @subpackage form
+ * @author     ##AUTHOR_NAME##
+ * @version    SVN: $Id$
+ */
+abstract class PluginSettingForm extends BaseSettingForm
+{
+}


Property changes on: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/form/doctrine/PluginSettingForm.class.php
___________________________________________________________________
Added: svn:keywords
   + Id
Added: svn:eol-style
   + native

Added: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/model/doctrine/PluginSetting.class.php
===================================================================
--- 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/model/doctrine/PluginSetting.class.php
                                (rev 0)
+++ 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/model/doctrine/PluginSetting.class.php
        2010-04-04 22:59:54 UTC (rev 28974)
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * PluginSetting
+ * 
+ * This class has been auto-generated by the Doctrine ORM Framework
+ * 
+ * @package    ##PACKAGE##
+ * @subpackage ##SUBPACKAGE##
+ * @author     ##NAME## <##EMAIL##>
+ * @version    SVN: $Id$
+ */
+abstract class PluginSetting extends BaseSetting
+{
+
+}
\ No newline at end of file


Property changes on: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/model/doctrine/PluginSetting.class.php
___________________________________________________________________
Added: svn:keywords
   + Id
Added: svn:eol-style
   + native

Added: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/model/doctrine/PluginSettingTable.class.php
===================================================================
--- 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/model/doctrine/PluginSettingTable.class.php
                           (rev 0)
+++ 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/model/doctrine/PluginSettingTable.class.php
   2010-04-04 22:59:54 UTC (rev 28974)
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * PluginSettingTable
+ * 
+ * This class has been auto-generated by the Doctrine ORM Framework
+ */
+class PluginSettingTable extends Doctrine_Table
+{
+    /**
+     * Returns an instance of this class.
+     *
+     * @return object PluginSettingTable
+     */
+    public static function getInstance()
+    {
+        return Doctrine_Core::getTable('PluginSetting');
+    }
+}
\ No newline at end of file


Property changes on: 
branches/1.4/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/plugins/SettingsPlugin/lib/model/doctrine/PluginSettingTable.class.php
___________________________________________________________________
Added: svn:keywords
   + Id
Added: svn:eol-style
   + native

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