Author: Kris.Wallsmith
Date: 2010-02-08 19:18:44 +0100 (Mon, 08 Feb 2010)
New Revision: 27748
Modified:
branches/1.3/lib/plugins/sfDoctrinePlugin/lib/form/sfFormFilterDoctrine.class.php
branches/1.3/lib/plugins/sfDoctrinePlugin/test/unit/form/sfFormFilterDoctrineTest.php
branches/1.3/lib/plugins/sfPropelPlugin/lib/form/sfFormFilterPropel.class.php
branches/1.4/lib/plugins/sfDoctrinePlugin/lib/form/sfFormFilterDoctrine.class.php
branches/1.4/lib/plugins/sfDoctrinePlugin/test/unit/form/sfFormFilterDoctrineTest.php
branches/1.4/lib/plugins/sfPropelPlugin/lib/form/sfFormFilterPropel.class.php
Log:
[1.3, 1.4] fixed form filtering by 0 on a number column (closes #8175)
Modified:
branches/1.3/lib/plugins/sfDoctrinePlugin/lib/form/sfFormFilterDoctrine.class.php
===================================================================
---
branches/1.3/lib/plugins/sfDoctrinePlugin/lib/form/sfFormFilterDoctrine.class.php
2010-02-08 18:02:19 UTC (rev 27747)
+++
branches/1.3/lib/plugins/sfDoctrinePlugin/lib/form/sfFormFilterDoctrine.class.php
2010-02-08 18:18:44 UTC (rev 27748)
@@ -243,7 +243,7 @@
{
$query->addWhere(sprintf('%s.%s IS NULL', $query->getRootAlias(),
$fieldName));
}
- else if (is_array($values) && isset($values['text']) && '' !=
$values['text'])
+ else if (is_array($values) && isset($values['text']) && '' !==
$values['text'])
{
$query->addWhere(sprintf('%s.%s = ?', $query->getRootAlias(),
$fieldName), $values['text']);
}
Modified:
branches/1.3/lib/plugins/sfDoctrinePlugin/test/unit/form/sfFormFilterDoctrineTest.php
===================================================================
---
branches/1.3/lib/plugins/sfDoctrinePlugin/test/unit/form/sfFormFilterDoctrineTest.php
2010-02-08 18:02:19 UTC (rev 27747)
+++
branches/1.3/lib/plugins/sfDoctrinePlugin/test/unit/form/sfFormFilterDoctrineTest.php
2010-02-08 18:18:44 UTC (rev 27748)
@@ -3,7 +3,7 @@
$app = 'frontend';
include dirname(__FILE__).'/../../bootstrap/functional.php';
-$t = new lime_test(10);
+$t = new lime_test(12);
class TestFormFilter extends ArticleFormFilter
{
@@ -15,12 +15,14 @@
'name' => new sfWidgetFormInputText(),
'nomethod_bc' => new sfWidgetFormInputText(),
'nomethod' => new sfWidgetFormInputText(),
+ 'author_id' => new sfWidgetFormInputText(),
));
$this->setValidators(array(
'name' => new sfValidatorPass(),
'nomethod_bc' => new sfValidatorPass(),
'nomethod' => new sfValidatorPass(),
+ 'author_id' => new sfValidatorPass(),
));
}
@@ -34,6 +36,7 @@
return array_merge(parent::getFields(), array(
'body' => 'Invalid',
'nomethod_bc' => 'Text',
+ 'author_id' => 'Number',
));
}
}
@@ -96,6 +99,13 @@
$filter->getQuery();
$t->is_deeply($filter->processedFields, array('name'), '->getQuery() processes
fields not specified in getFields()');
+// pass 0 to number filter
+$filter = new TestFormFilter();
+$filter->bind(array('author_id' => array('text' => 0)));
+$query = $filter->getQuery();
+$t->is(trim($query->getDql()), 'FROM Article r WHERE r.author_id = ?',
'->getQuery() filters by a 0 number');
+$t->is($query->getFlattenedParams(), array(0), '->getQuery() filters by a 0
number');
+
$t->diag('->setTableMethod()');
$filter = new ArticleFormFilter();
Modified:
branches/1.3/lib/plugins/sfPropelPlugin/lib/form/sfFormFilterPropel.class.php
===================================================================
---
branches/1.3/lib/plugins/sfPropelPlugin/lib/form/sfFormFilterPropel.class.php
2010-02-08 18:02:19 UTC (rev 27747)
+++
branches/1.3/lib/plugins/sfPropelPlugin/lib/form/sfFormFilterPropel.class.php
2010-02-08 18:18:44 UTC (rev 27748)
@@ -213,7 +213,7 @@
$criterion->addOr($criteria->getNewCriterion($colname, null,
Criteria::ISNULL));
$criteria->add($criterion);
}
- else if (is_array($values) && isset($values['text']) && '' !=
$values['text'])
+ else if (is_array($values) && isset($values['text']) && '' !==
$values['text'])
{
$criteria->add($colname, $values['text']);
}
Modified:
branches/1.4/lib/plugins/sfDoctrinePlugin/lib/form/sfFormFilterDoctrine.class.php
===================================================================
---
branches/1.4/lib/plugins/sfDoctrinePlugin/lib/form/sfFormFilterDoctrine.class.php
2010-02-08 18:02:19 UTC (rev 27747)
+++
branches/1.4/lib/plugins/sfDoctrinePlugin/lib/form/sfFormFilterDoctrine.class.php
2010-02-08 18:18:44 UTC (rev 27748)
@@ -243,7 +243,7 @@
{
$query->addWhere(sprintf('%s.%s IS NULL', $query->getRootAlias(),
$fieldName));
}
- else if (is_array($values) && isset($values['text']) && '' !=
$values['text'])
+ else if (is_array($values) && isset($values['text']) && '' !==
$values['text'])
{
$query->addWhere(sprintf('%s.%s = ?', $query->getRootAlias(),
$fieldName), $values['text']);
}
Modified:
branches/1.4/lib/plugins/sfDoctrinePlugin/test/unit/form/sfFormFilterDoctrineTest.php
===================================================================
---
branches/1.4/lib/plugins/sfDoctrinePlugin/test/unit/form/sfFormFilterDoctrineTest.php
2010-02-08 18:02:19 UTC (rev 27747)
+++
branches/1.4/lib/plugins/sfDoctrinePlugin/test/unit/form/sfFormFilterDoctrineTest.php
2010-02-08 18:18:44 UTC (rev 27748)
@@ -3,7 +3,7 @@
$app = 'frontend';
include dirname(__FILE__).'/../../bootstrap/functional.php';
-$t = new lime_test(10);
+$t = new lime_test(12);
class TestFormFilter extends ArticleFormFilter
{
@@ -15,12 +15,14 @@
'name' => new sfWidgetFormInputText(),
'nomethod_bc' => new sfWidgetFormInputText(),
'nomethod' => new sfWidgetFormInputText(),
+ 'author_id' => new sfWidgetFormInputText(),
));
$this->setValidators(array(
'name' => new sfValidatorPass(),
'nomethod_bc' => new sfValidatorPass(),
'nomethod' => new sfValidatorPass(),
+ 'author_id' => new sfValidatorPass(),
));
}
@@ -34,6 +36,7 @@
return array_merge(parent::getFields(), array(
'body' => 'Invalid',
'nomethod_bc' => 'Text',
+ 'author_id' => 'Number',
));
}
}
@@ -96,6 +99,13 @@
$filter->getQuery();
$t->is_deeply($filter->processedFields, array('name'), '->getQuery() processes
fields not specified in getFields()');
+// pass 0 to number filter
+$filter = new TestFormFilter();
+$filter->bind(array('author_id' => array('text' => 0)));
+$query = $filter->getQuery();
+$t->is(trim($query->getDql()), 'FROM Article r WHERE r.author_id = ?',
'->getQuery() filters by a 0 number');
+$t->is($query->getFlattenedParams(), array(0), '->getQuery() filters by a 0
number');
+
$t->diag('->setTableMethod()');
$filter = new ArticleFormFilter();
Modified:
branches/1.4/lib/plugins/sfPropelPlugin/lib/form/sfFormFilterPropel.class.php
===================================================================
---
branches/1.4/lib/plugins/sfPropelPlugin/lib/form/sfFormFilterPropel.class.php
2010-02-08 18:02:19 UTC (rev 27747)
+++
branches/1.4/lib/plugins/sfPropelPlugin/lib/form/sfFormFilterPropel.class.php
2010-02-08 18:18:44 UTC (rev 27748)
@@ -213,7 +213,7 @@
$criterion->addOr($criteria->getNewCriterion($colname, null,
Criteria::ISNULL));
$criteria->add($criterion);
}
- else if (is_array($values) && isset($values['text']) && '' !=
$values['text'])
+ else if (is_array($values) && isset($values['text']) && '' !==
$values['text'])
{
$criteria->add($colname, $values['text']);
}
--
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.