On avance sur LivraisonParSecteurs

This commit is contained in:
2021-02-09 22:29:25 +01:00
parent 6fe5c77c92
commit d60cc44eb1
6 changed files with 128 additions and 106 deletions

View File

@@ -76,6 +76,11 @@ class BackOfficeController extends BaseAdminController
$error_msg = $this->createStandardFormValidationErrorMessage($ex); $error_msg = $this->createStandardFormValidationErrorMessage($ex);
} }
return $this->render("deliveryarea-edit", Array($error_msg)); /* Laurent : à faire --> changer le redirect si "Enregistrer et fermer" */
if ($this->getRequest()->get('save_mode') == 'stay')
return $this->render("deliveryarea-edit");
return $this->render("deliveryarea-list");
} }
} }

View File

@@ -19,14 +19,18 @@ class CitiesForm extends BaseForm
{ {
$this->formBuilder $this->formBuilder
->add( ->add(
'price', "area_id",
'number', "integer",
[
"required" => true,
"constraints" => [new Constraints\NotBlank()]
])
->add(
'zipcode',
'integer',
[ [
'constraints' => [new Constraints\NotBlank()], 'constraints' => [new Constraints\NotBlank()],
'required' => true, 'label' => $this->translator->trans('Delivery price', [], LivraisonParSecteurs::DOMAIN_NAME)
'label' => $this->translator->trans('Delivery price', [], LivraisonParSecteurs::DOMAIN_NAME),
'label_attr' => ['for' => 'price'],
'attr' => array()
]); ]);
} }
@@ -35,6 +39,6 @@ class CitiesForm extends BaseForm
*/ */
public function getName() public function getName()
{ {
return "lps-area-cities.update"; return "lps-area-cities-update";
} }
} }

View File

@@ -0,0 +1,65 @@
<?php
namespace LivraisonParSecteurs\Loop;
use LivraisonParSecteurs\Model\LpsAreaCityQuery;
use Thelia\Core\Template\Element\BaseLoop;
use Thelia\Core\Template\Element\LoopResult;
use Thelia\Core\Template\Element\LoopResultRow;
use Thelia\Core\Template\Element\PropelSearchLoopInterface;
use Thelia\Core\Template\Loop\Argument\Argument;
use Thelia\Core\Template\Loop\Argument\ArgumentCollection;
/**
* Class AreaCitiesLoop
* @package LivraisonParSecteurs\Loop
*/
class AreaCitiesLoop extends BaseLoop implements PropelSearchLoopInterface
{
public $countable = false;
public $timestampable = false;
public $versionable = false;
/**
* @param LoopResult $loopResult
*
* @return LoopResult
*/
public function parseResults(LoopResult $loopResult)
{
foreach ($loopResult->getResultDataCollection() as $lps_area_cities) {
$loopResultRow = new LoopResultRow($lps_area_cities);
$loopResultRow
->set("ID", $lps_area_cities->getId())
->set("ZIPCODE", $lps_area_cities->getZipcode())
;
$loopResult->addRow($loopResultRow);
}
return $loopResult;
}
/**
* @inheritdoc
*/
protected function getArgDefinitions()
{
return new ArgumentCollection(
Argument::createIntListTypeArgument('area_id')
);
}
/**
* @inheritdoc
*/
public function buildModelCriteria()
{
$query = LpsAreaCityQuery::create();
if (null != $id = $this->getAreaId()) {
$query->filterByIdArea($id);
}
return $query->orderByZipcode();
}
}

View File

@@ -35,12 +35,12 @@
{/loop} {/loop}
{loop name="auth-schedule-tab" type="auth" role="ADMIN" resource="admin.schedule" access="VIEW" module="LivraisonParSecteurs"} {loop name="auth-schedule-tab" type="auth" role="ADMIN" resource="admin.schedule" access="VIEW" module="LivraisonParSecteurs"}
<div class="tab-pane fade" id="schedule"> <div class="tab-pane fade" id="schedule">
{* {include file="includes/area-schedule.html"} *} {include file="includes/area-schedule.html"}
</div> </div>
{/loop} {/loop}
{loop name="auth-cities-tab" type="auth" role="ADMIN" resource="admin.cities" access="VIEW" module="LivraisonParSecteurs"} {loop name="auth-cities-tab" type="auth" role="ADMIN" resource="admin.cities" access="VIEW" module="LivraisonParSecteurs"}
<div class="tab-pane fade" id="cities"> <div class="tab-pane fade" id="cities">
{* {include file="includes/area-cities.html"} *} {include file="includes/area-cities.html"}
</div> </div>
{/loop} {/loop}
</div> </div>

View File

@@ -1,88 +1,37 @@
<div class="row"> {form name='lps-area-cities-update'}
<div class="col-md-12"> <div class="form-container">
<table class="table table-striped table-condensed">
<caption class="clearfix">
{loop name="auth-create" type="auth" role="ADMIN" resource="admin.livraisonparsecteurs.schedules" access="CREATE" module="LivraisonParSecteurs"}
<div class="pull-right">
<a class="btn btn-default btn-primary dealer-schedules-default"
title="{intl l='Create a new Default Schedules' d='livraisonparsecteurs'}"
data-target="#dealer-schedules-create" data-toggle="modal">
<i class="glyphicon glyphicon-plus-sign"></i>
</a>
</div>
{/loop}
<h4>{intl l="Default Schedules" d="livraisonparsecteurs"}</h4>
</caption>
<thead> {if $form_error}
<tr> <div class="alert alert-danger">{$form_error_message}</div>
<th> {/if}
{intl l="Day" d="livraisonparsecteurs"}
</th>
<th>
{intl l="Begin" d="livraisonparsecteurs"}
</th>
<th>
{intl l="End" d="livraisonparsecteurs"}
</th>
<th>
{intl l="Actions" d="livraisonparsecteurs"}
</th>
</tr>
</thead>
<tbody> {loop name="area" type="lps_area" id="$area_id"}
{loop name="dealer-schedules-defaults" type="dealer_schedules" dealer_id=$smarty.get.dealer_id default_period=true order="day,begin"} <form action="{url path='/admin/module/LivraisonParSecteurs/edit' area_id={$area_id}}" method="POST" class="clearfix" {form_enctype form=$form}>
<tr> {form_hidden_fields form=$form}
<td>
{$DAY_LABEL} {include
</td> file = "includes/inner-form-toolbar.html"
<td> hide_flags = true
{format_date date=$BEGIN format="H:i"} hide_submit_buttons = false
</td> page_url = "{url path='/admin/module/LivraisonParSecteurs/edit' area_id=$area_id}"
<td> close_url = "{url path='/admin/module/LivraisonParSecteurs'}"
{format_date date=$END format="H:i"} current_tab = "general"
</td> }
{* Actions *}
<td> {form_field form=$form field="area_id"}
<div class="btn-group"> <input type="hidden" name="{$name}" value="{$area_id}"/>
{loop name="auth-edit" type="auth" role="ADMIN" resource="admin.dealer.schedules" access="UPDATE" module="Dealer"} {/form_field}
<a class="btn btn-default btn-xs dealer-schedules-update-default"
title="{intl l='Modify this Schedule' d='livraisonparsecteurs'}" <table>
data-target="#dealer-schedules-update" data-toggle="modal" data-id="{$ID}" <thead></thead>
data-day="{$DAY}" data-begin="{format_date date=$BEGIN format="H:i"}" <tbody>
data-end="{format_date date=$END format="H:i"}"> {loop name="cities" type="lps_area_cities" area_id="$area_id"}
<i class="glyphicon glyphicon-edit"></i> <tr><td>{$ZIPCODE}</td></tr>
</a> {/loop}
{/loop} </tbody>
{loop name="auth-edit" type="auth" role="ADMIN" resource="admin.dealer.schedules" access="CREATE" module="Dealer"} </table>
<a class="btn btn-default btn-xs dealer-schedules-clone"
title="{intl l='Clone this Schedule' d='livraisonparsecteurs'}" </form>
data-target="#dealer-schedules-clone" data-toggle="modal" data-id="{$ID}"> {/loop}
<i class="glyphicon glyphicon-plus-sign"></i>
</a>
{/loop}
{loop name="auth-delete" type="auth" role="ADMIN" resource="admin.dealer.schedules" access="DELETE" module="Dealer"}
<a class="btn btn-default btn-xs dealer-schedules-delete"
title="{intl l='Delete this Schedule' d='livraisonparsecteurs'}"
data-target="#dealer-schedules-delete" data-toggle="modal" data-id="{$ID}">
<i class="glyphicon glyphicon-trash"></i>
</a>
{/loop}
</div>
</td>
</tr>
{/loop}
{elseloop rel="dealer-schedules-defaults"}
<tr>
<td colspan="1000">
<div class="alert alert-info">
{intl l="There is no Default Schedules" d="livraisonparsecteurs"}
</div>
</td>
</tr>
{/elseloop}
</tbody>
</table>
</div> </div>
</div> {/form}

View File

@@ -1,20 +1,17 @@
<link rel="stylesheet"
href="{stylesheet file='assets/js/bootstrap-datetimepicker/bootstrap-datetimepicker.min.css'}">
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<table class="table table-striped table-condensed"> <table class="table table-striped table-condensed">
<caption class="clearfix"> <caption class="clearfix">
{loop name="auth-create" type="auth" role="ADMIN" resource="admin.livraisonparsecteurs.schedules" access="CREATE" module="LivraisonParSecteurs"} {loop name="auth-create" type="auth" role="ADMIN" resource="admin.dealer.schedules" access="CREATE" module="Dealer"}
<div class="pull-right"> <div class="pull-right">
<a class="btn btn-default btn-primary dealer-schedules-default" <a class="btn btn-default btn-primary dealer-schedules-default"
title="{intl l='Create a new Default Schedules' d='livraisonparsecteurs'}" title="{intl l='Create a new Default Schedules' d='dealer.bo.default'}"
data-target="#dealer-schedules-create" data-toggle="modal"> data-target="#dealer-schedules-create" data-toggle="modal">
<i class="glyphicon glyphicon-plus-sign"></i> <i class="glyphicon glyphicon-plus-sign"></i>
</a> </a>
</div> </div>
{/loop} {/loop}
<h4>{intl l="Default Schedules" d="livraisonparsecteurs"}</h4> <h4>{intl l="Delivery days" d="livraisonparsecteurs"}</h4>
</caption> </caption>
<thead> <thead>
@@ -35,7 +32,7 @@
</thead> </thead>
<tbody> <tbody>
{loop name="dealer-schedules-defaults" type="dealer_schedules" dealer_id=$smarty.get.dealer_id default_period=true order="day,begin"} {loop name="dealer-schedules-defaults" type="lap_area_schedule" area_id=$area_id}
<tr> <tr>
<td> <td>
{$DAY_LABEL} {$DAY_LABEL}
@@ -51,7 +48,7 @@
<div class="btn-group"> <div class="btn-group">
{loop name="auth-edit" type="auth" role="ADMIN" resource="admin.dealer.schedules" access="UPDATE" module="Dealer"} {loop name="auth-edit" type="auth" role="ADMIN" resource="admin.dealer.schedules" access="UPDATE" module="Dealer"}
<a class="btn btn-default btn-xs dealer-schedules-update-default" <a class="btn btn-default btn-xs dealer-schedules-update-default"
title="{intl l='Modify this Schedule' d='livraisonparsecteurs'}" title="{intl l='Modify this Schedule' d='dealer.bo.default'}"
data-target="#dealer-schedules-update" data-toggle="modal" data-id="{$ID}" data-target="#dealer-schedules-update" data-toggle="modal" data-id="{$ID}"
data-day="{$DAY}" data-begin="{format_date date=$BEGIN format="H:i"}" data-day="{$DAY}" data-begin="{format_date date=$BEGIN format="H:i"}"
data-end="{format_date date=$END format="H:i"}"> data-end="{format_date date=$END format="H:i"}">
@@ -60,14 +57,14 @@
{/loop} {/loop}
{loop name="auth-edit" type="auth" role="ADMIN" resource="admin.dealer.schedules" access="CREATE" module="Dealer"} {loop name="auth-edit" type="auth" role="ADMIN" resource="admin.dealer.schedules" access="CREATE" module="Dealer"}
<a class="btn btn-default btn-xs dealer-schedules-clone" <a class="btn btn-default btn-xs dealer-schedules-clone"
title="{intl l='Clone this Schedule' d='livraisonparsecteurs'}" title="{intl l='Clone this Schedule' d='dealer.bo.default'}"
data-target="#dealer-schedules-clone" data-toggle="modal" data-id="{$ID}"> data-target="#dealer-schedules-clone" data-toggle="modal" data-id="{$ID}">
<i class="glyphicon glyphicon-plus-sign"></i> <i class="glyphicon glyphicon-plus-sign"></i>
</a> </a>
{/loop} {/loop}
{loop name="auth-delete" type="auth" role="ADMIN" resource="admin.dealer.schedules" access="DELETE" module="Dealer"} {loop name="auth-delete" type="auth" role="ADMIN" resource="admin.dealer.schedules" access="DELETE" module="Dealer"}
<a class="btn btn-default btn-xs dealer-schedules-delete" <a class="btn btn-default btn-xs dealer-schedules-delete"
title="{intl l='Delete this Schedule' d='livraisonparsecteurs'}" title="{intl l='Delete this Schedule' d='dealer.bo.default'}"
data-target="#dealer-schedules-delete" data-toggle="modal" data-id="{$ID}"> data-target="#dealer-schedules-delete" data-toggle="modal" data-id="{$ID}">
<i class="glyphicon glyphicon-trash"></i> <i class="glyphicon glyphicon-trash"></i>
</a> </a>
@@ -86,6 +83,8 @@
</tr> </tr>
{/elseloop} {/elseloop}
</tbody> </tbody>
</table> </table>
</div> </div>
</div> </div>