Cleaned the mess of Shipping zones, which is Shipping configuration...

This commit is contained in:
Franck Allimant
2014-04-15 20:11:33 +02:00
parent 449bbdd67d
commit 123280f4d4
8 changed files with 96 additions and 35 deletions

View File

@@ -771,9 +771,9 @@
<default key="_controller">Thelia\Controller\Admin\ShippingZoneController::indexAction</default>
</route>
<route id="admin.configuration.shipping-zones.update.view" path="/admin/configuration/shipping_zones/update/{shipping_zones_id}" methods="get">
<route id="admin.configuration.shipping-zones.update.view" path="/admin/configuration/shipping_zones/update/{delivery_module_id}" methods="get">
<default key="_controller">Thelia\Controller\Admin\ShippingZoneController::updateAction</default>
<requirement key="shipping_zones_id">\d+</requirement>
<requirement key="delivery_module_id">\d+</requirement>
</route>
<route id="admin.configuration.shipping-zones.area.add" path="/admin/configuration/shipping_zones/area/add" methods="post">

View File

@@ -46,11 +46,11 @@ class ShippingZoneController extends BaseAdminController
return $this->render("shipping-zones", array("display_shipping_zone" => 20));
}
public function updateAction($shipping_zones_id)
public function updateAction($delivery_module_id)
{
if (null !== $response = $this->checkAuth(AdminResources::SHIPPING_ZONE, array(), AccessManager::VIEW)) return $response;
return $this->render("shipping-zones-edit", array(
"shipping_zones_id" => $shipping_zones_id
"delivery_module_id" => $delivery_module_id
));
}
@@ -133,13 +133,13 @@ class ShippingZoneController extends BaseAdminController
protected function renderEditionTemplate()
{
return $this->render("shipping-zones-edit", array(
"shipping_zones_id" => $this->getShippingZoneId()
"delivery_module_id" => $this->getDeliveryModuleId()
));
}
protected function getShippingZoneId()
protected function getDeliveryModuleId()
{
return $this->getRequest()->get('shipping_zone_id', 0);
return $this->getRequest()->get('delivery_module_id', 0);
}
}

View File

@@ -77,7 +77,8 @@ class Area extends BaseLoop implements PropelSearchLoopInterface
return new ArgumentCollection(
Argument::createIntListTypeArgument('id'),
Argument::createIntTypeArgument('with_zone'),
Argument::createIntTypeArgument('without_zone')
Argument::createIntTypeArgument('without_zone'),
Argument::createBooleanOrBothTypeArgument('unassigned')
);
}
@@ -106,6 +107,14 @@ class Area extends BaseLoop implements PropelSearchLoopInterface
->where('`without_zone`.delivery_module_id '.Criteria::ISNULL);
}
$notAssigned = $this->getUnassigned();
if ($notAssigned) {
$search
->joinAreaDeliveryModule('unassigned', Criteria::LEFT_JOIN)
->where('`unassigned`.delivery_module_id ' . Criteria::ISNULL);
}
return $search;
}

View File

@@ -65,7 +65,7 @@ class ShippingZoneAddArea extends BaseForm
new GreaterThan(array('value' => 0))
),
'label_attr' => array('for' => 'shipping_area'),
'label' => Translator::getInstance()->trans('Area')
'label' => Translator::getInstance()->trans('Available shipping zones')
))
->add('shipping_zone_id', 'integer', array(
'constraints' => array(