fix payment and delivery form. Fix #434

This commit is contained in:
Manuel Raynaud
2014-06-05 10:29:27 +02:00
parent 84c97e80ea
commit 86c34f589c
4 changed files with 36 additions and 17 deletions

View File

@@ -60,7 +60,20 @@ class Content extends BaseI18nLoop implements PropelSearchLoopInterface
new Argument(
'order',
new TypeCollection(
new Type\EnumListType(array('alpha', 'alpha-reverse', 'manual', 'manual_reverse', 'random', 'given_id', 'created', 'created_reverse', 'updated', 'updated_reverse'))
new Type\EnumListType(
array(
'alpha',
'alpha-reverse',
'manual',
'manual_reverse',
'random',
'given_id',
'created',
'created_reverse',
'updated',
'updated_reverse'
)
)
),
'alpha'
),

View File

@@ -66,19 +66,15 @@ class OrderDelivery extends BaseForm
public function verifyDeliveryModule($value, ExecutionContextInterface $context)
{
$module = ModuleQuery::create()
->filterByType(BaseModule::DELIVERY_MODULE_TYPE)
->filterByActivate(1)
->filterById($value)
->filterActivatedByTypeAndId(BaseModule::DELIVERY_MODULE_TYPE, $value)
->findOne();
if (null === $module) {
$context->addViolation(Translator::getInstance()->trans("Delivery module ID not found"));
} else {
if (! $module->isDeliveryModule()) {
$context->addViolation(
sprintf(Translator::getInstance()->trans("delivery module %s is not a Thelia\Module\DeliveryModuleInterface"), $module->getCode())
);
}
} elseif (! $module->isDeliveryModule()) {
$context->addViolation(
sprintf(Translator::getInstance()->trans("delivery module %s is not a Thelia\Module\DeliveryModuleInterface"), $module->getCode())
);
}
}

View File

@@ -66,16 +66,12 @@ class OrderPayment extends BaseForm
public function verifyPaymentModule($value, ExecutionContextInterface $context)
{
$module = ModuleQuery::create()
->filterByType(BaseModule::PAYMENT_MODULE_TYPE)
->filterByActivate(1)
->filterById($value)
->filterActivatedByTypeAndId(BaseModule::PAYMENT_MODULE_TYPE, $value)
->findOne();
if (null === $module) {
$context->addViolation("Payment module ID not found");
}
if (! $module->isPayementModule()) {
} elseif (! $module->isPayementModule()) {
$context->addViolation(
sprintf(Translator::getInstance()->trans("payment module %s is not a Thelia\Module\PaymentModuleInterface"), $module->getCode())
);

View File

@@ -3,6 +3,7 @@
namespace Thelia\Model;
use Thelia\Model\Base\ModuleQuery as BaseModuleQuery;
use Thelia\Module\BaseModule;
/**
* Skeleton subclass for performing query and update operations on the 'module' table.
@@ -24,7 +25,7 @@ class ModuleQuery extends BaseModuleQuery
{
if (null === self::$activated) {
self::$activated = self::create()
->filterByActivate(1)
->filterByActivate(BaseModule::IS_ACTIVATED)
->orderByPosition()
->find();
}
@@ -37,4 +38,17 @@ class ModuleQuery extends BaseModuleQuery
self::$activated = null;
}
/**
* @param int $moduleType the module type : classic, payment or delivery. Use BaseModule constant here.
* @param int $id the module id
* @return ModuleQuery
*/
public function filterActivatedByTypeAndId($moduleType, $id)
{
return $this
->filterByType($moduleType)
->filterByActivate(BaseModule::IS_ACTIVATED)
->filterById($id);
}
} // ModuleQuery