Shipping zones views and routes creation

This commit is contained in:
mespeche
2013-09-18 19:20:51 +02:00
parent 8841958646
commit 42ad62d2cd
4 changed files with 295 additions and 1 deletions

View File

@@ -401,7 +401,25 @@
<requirement key="country_id">\d+</requirement>
</route>
<!-- end countries routes management -->
<!-- end countries routes management -->
<!-- Shipping zones routes management -->
<route id="admin.configuration.shipping-zones.default" path="/admin/configuration/shipping-zones">
<default key="_controller">Thelia\Controller\Admin\ShippingZoneController::indexAction</default>
</route>
<route id="admin.configuration.shipping-zones.create" path="/admin/configuration/shipping-zones/create">
<default key="_controller">Thelia\Controller\Admin\ShippingZoneController::createAction</default>
</route>
<route id="admin.configuration.shipping-zones.update.view" path="/admin/configuration/shipping-zones/update/{shipping_zones_id}" methods="get">
<default key="_controller">Thelia\Controller\Admin\ShippingZoneController::updateAction</default>
<requirement key="country_id">\d+</requirement>
</route>
<!-- end shipping routes management -->
<!-- feature and features value management -->

View File

@@ -0,0 +1,46 @@
<?php
/*************************************************************************************/
/* */
/* Thelia */
/* */
/* Copyright (c) OpenStudio */
/* email : info@thelia.net */
/* web : http://www.thelia.net */
/* */
/* This program is free software; you can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation; either version 3 of the License */
/* */
/* This program is distributed in the hope that it will be useful, */
/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
/* GNU General Public License for more details. */
/* */
/* You should have received a copy of the GNU General Public License */
/* along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* */
/*************************************************************************************/
namespace Thelia\Controller\Admin;
/**
* Class FolderController
* @package Thelia\Controller\Admin
* @author Manuel Raynaud <mraynaud@openstudio.fr>
*/
class ShippingZoneController extends BaseAdminController
{
public function indexAction()
{
if (null !== $response = $this->checkAuth("admin.shipping-zones.view")) return $response;
return $this->render("shipping-zones", array("display_shipping_zone" => 20));
}
public function updateAction($shipping_zones_id)
{
return $this->render("shipping-zones-edit", array(
"shipping_zones_id" => $shipping_zones_id
));
}
}

View File

@@ -0,0 +1,111 @@
{extends file="admin-layout.tpl"}
{block name="page-title"}{intl l='Edit a shipping zone'}{/block}
{block name="check-permissions"}admin.configuration.shipping-zones.edit{/block}
{block name="main-content"}
<div class="shipping-zones edit-shipping-zones">
<div id="wrapper" class="container">
<ul class="breadcrumb">
<li><a href="{url path='/admin/home'}">{intl l="Home"}</a></li>
<li><a href="{url path='/admin/configuration'}">{intl l="Configuration"}</a></li>
<li><a href="{url path='/admin/configuration/shipping-zones'}">{intl l="Shipping zones"}</a></li>
<li>{intl l='Editing shipping zone "%name"' name="{$TITLE}"}</li>
</ul>
<div class="row">
<div class="col-md-12">
<div class="general-block-decorator">
<div class="col-md-12 title title-without-tabs">
{intl l='Edit shipping zone %title' title=$TITLE}
</div>
<div class="form-container clearfix">
<div class="col-md-4">
<form method="POST" action="">
<label class="control-label" for="">{intl l="Zones"}</label>
<div class="input-group">
<select name="" id="" class="form-control">
<option value="">1</option>
<option value="">2</option>
<option value="">3</option>
<option value="">4</option>
<option value="">5</option>
</select>
<span class="input-group-btn">
<button type="submit" class="btn btn-default btn-primary"><span class="glyphicon glyphicon-plus-sign"></span> {intl l="Add"}</button>
</span>
</div>
</form>
</div>
<div class="col-md-8">
<table class="table table-striped table-condensed">
<thead>
<tr>
<th>{intl l="Zones"}</th>
<th>{intl l="Actions"}</th>
</tr>
</thead>
<tbody>
<tr>
<td>France</td>
<td>
<a class="btn btn-default btn-xs" title="{intl l='Delete this zone'}" href="#delete_zone_dialog" data-id="{$ID}" data-toggle="modal">
<span class="glyphicon glyphicon-trash"></span>
</a>
</td>
</tr>
<tr>
<td>Zone 1</td>
<td>
<a class="btn btn-default btn-xs" title="{intl l='Delete this zone'}" href="#delete_zone_dialog" data-id="{$ID}" data-toggle="modal">
<span class="glyphicon glyphicon-trash"></span>
</a>
</td>
</tr>
<tr>
<td>Zone 2</td>
<td>
<a class="btn btn-default btn-xs" title="{intl l='Delete this zone'}" href="#delete_zone_dialog" data-id="{$ID}" data-toggle="modal">
<span class="glyphicon glyphicon-trash"></span>
</a>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{* Delete related content confirmation dialog *}
{capture "delete_zone_dialog"}
{/capture}
{include
file = "includes/generic-confirm-dialog.html"
dialog_id = "delete_zone_dialog"
dialog_title = {intl l="Remove zone"}
dialog_message = {intl l="Do you really want to remove this zone ?"}
form_action = {url path=''}
form_content = {$smarty.capture.delete_zone_dialog nofilter}
}
{/block}

View File

@@ -0,0 +1,119 @@
{extends file="admin-layout.tpl"}
{block name="page-title"}{intl l='Thelia Shipping zones'}{/block}
{block name="check-permissions"}admin.configuration.shipping-zones.view{/block}
{block name="main-content"}
<div class="shipping-zones">
<div id="wrapper" class="container">
<ul class="breadcrumb">
<li><a href="{url path='/admin/home'}">{intl l="Home"}</a></li>
<li><a href="{url path='/admin/configuration'}">{intl l="Configuration"}</a></li>
<li><a href="{url path='/admin/configuration/shipping-zones'}">{intl l="Shipping zones"}</a></li>
</ul>
{module_include location='shipping_zones_top'}
<div class="row">
<div class="col-md-12">
<div class="general-block-decorator">
<table class="table table-striped table-condensed table-left-aligned">
<caption>
{intl l='Thelia Shipping zones'}
</caption>
<thead>
<tr>
<th>{intl l="Name"}</th>
{module_include location='shipping_zones_table_header'}
<th>{intl l="Actions"}</th>
</tr>
</thead>
<tbody>
<tr>
<td>So Colissimo</td>
{module_include location='shipping_zones_table_row'}
<td>
{if ! $SECURED}
<div class="btn-group">
{loop type="auth" name="can_change" roles="ADMIN" permissions="admin.configuration.shipping-zones.change"}
<a class="btn btn-default btn-xs shipping-zones-change" title="{intl l='Change this shipping zone'}" href="{url path="/admin/configuration/shipping-zones/update/$ID"}"><i class="glyphicon glyphicon-edit"></i></a>
{/loop}
</div>
{else}
<i title="{intl l='This shipping zone could not be changed.'}" class="glyphicon glyphicon-ban-circle"></i>
{/if}
</td>
</tr>
<tr>
<td>Chronopost</td>
{module_include location='shipping_zones_table_row'}
<td>
{if ! $SECURED}
<div class="btn-group">
{loop type="auth" name="can_change" roles="ADMIN" permissions="admin.configuration.shipping-zones.change"}
<a class="btn btn-default btn-xs shipping-zones-change" title="{intl l='Change this shipping zone'}" href="{url path="/admin/configuration/shipping-zones/update/$ID"}"><i class="glyphicon glyphicon-edit"></i></a>
{/loop}
</div>
{else}
<i title="{intl l='This shipping zone could not be changed.'}" class="glyphicon glyphicon-ban-circle"></i>
{/if}
</td>
</tr>
<tr>
<td>Kiala</td>
{module_include location='shipping_zones_table_row'}
<td>
{if ! $SECURED}
<div class="btn-group">
{loop type="auth" name="can_change" roles="ADMIN" permissions="admin.configuration.shipping-zones.change"}
<a class="btn btn-default btn-xs shipping-zones-change" title="{intl l='Change this shipping zone'}" href="{url path="/admin/configuration/shipping-zones/update/$ID"}"><i class="glyphicon glyphicon-edit"></i></a>
{/loop}
</div>
{else}
<i title="{intl l='This shipping zone could not be changed.'}" class="glyphicon glyphicon-ban-circle"></i>
{/if}
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
{module_include location='shipping_zones_bottom'}
</div>
</div>
{* Delete confirmation dialog *}
{capture "delete_dialog"}
<input type="hidden" name="shipping_zones_id" id="shipping_zones_delete_id" value="" />
{module_include location='shipping_zones_delete_form'}
{/capture}
{include
file = "includes/generic-confirm-dialog.html"
dialog_id = "delete_dialog"
dialog_title = {intl l="Delete shipping zone"}
dialog_message = {intl l="Do you really want to delete this shipping zone ?"}
form_action = {url path='/admin/configuration/shipping-zones/delete'}
form_content = {$smarty.capture.delete_dialog nofilter}
}
{/block}