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);
}
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
->add(
'price',
'number',
"area_id",
"integer",
[
"required" => true,
"constraints" => [new Constraints\NotBlank()]
])
->add(
'zipcode',
'integer',
[
'constraints' => [new Constraints\NotBlank()],
'required' => true,
'label' => $this->translator->trans('Delivery price', [], LivraisonParSecteurs::DOMAIN_NAME),
'label_attr' => ['for' => 'price'],
'attr' => array()
'label' => $this->translator->trans('Delivery price', [], LivraisonParSecteurs::DOMAIN_NAME)
]);
}
@@ -35,6 +39,6 @@ class CitiesForm extends BaseForm
*/
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 name="auth-schedule-tab" type="auth" role="ADMIN" resource="admin.schedule" access="VIEW" module="LivraisonParSecteurs"}
<div class="tab-pane fade" id="schedule">
{* {include file="includes/area-schedule.html"} *}
{include file="includes/area-schedule.html"}
</div>
{/loop}
{loop name="auth-cities-tab" type="auth" role="ADMIN" resource="admin.cities" access="VIEW" module="LivraisonParSecteurs"}
<div class="tab-pane fade" id="cities">
{* {include file="includes/area-cities.html"} *}
{include file="includes/area-cities.html"}
</div>
{/loop}
</div>

View File

@@ -1,88 +1,37 @@
<div class="row">
<div class="col-md-12">
<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>
{form name='lps-area-cities-update'}
<div class="form-container">
<thead>
<tr>
<th>
{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>
{if $form_error}
<div class="alert alert-danger">{$form_error_message}</div>
{/if}
<tbody>
{loop name="dealer-schedules-defaults" type="dealer_schedules" dealer_id=$smarty.get.dealer_id default_period=true order="day,begin"}
<tr>
<td>
{$DAY_LABEL}
</td>
<td>
{format_date date=$BEGIN format="H:i"}
</td>
<td>
{format_date date=$END format="H:i"}
</td>
{* Actions *}
<td>
<div class="btn-group">
{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"
title="{intl l='Modify this Schedule' d='livraisonparsecteurs'}"
data-target="#dealer-schedules-update" data-toggle="modal" data-id="{$ID}"
data-day="{$DAY}" data-begin="{format_date date=$BEGIN format="H:i"}"
data-end="{format_date date=$END format="H:i"}">
<i class="glyphicon glyphicon-edit"></i>
</a>
{/loop}
{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"
title="{intl l='Clone this Schedule' d='livraisonparsecteurs'}"
data-target="#dealer-schedules-clone" data-toggle="modal" data-id="{$ID}">
<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>
{loop name="area" type="lps_area" id="$area_id"}
<form action="{url path='/admin/module/LivraisonParSecteurs/edit' area_id={$area_id}}" method="POST" class="clearfix" {form_enctype form=$form}>
{form_hidden_fields form=$form}
{include
file = "includes/inner-form-toolbar.html"
hide_flags = true
hide_submit_buttons = false
page_url = "{url path='/admin/module/LivraisonParSecteurs/edit' area_id=$area_id}"
close_url = "{url path='/admin/module/LivraisonParSecteurs'}"
current_tab = "general"
}
{form_field form=$form field="area_id"}
<input type="hidden" name="{$name}" value="{$area_id}"/>
{/form_field}
<table>
<thead></thead>
<tbody>
{loop name="cities" type="lps_area_cities" area_id="$area_id"}
<tr><td>{$ZIPCODE}</td></tr>
{/loop}
</tbody>
</table>
</form>
{/loop}
</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="col-md-12">
<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"}
{loop name="auth-create" type="auth" role="ADMIN" resource="admin.dealer.schedules" access="CREATE" module="Dealer"}
<div class="pull-right">
<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">
<i class="glyphicon glyphicon-plus-sign"></i>
</a>
</div>
{/loop}
<h4>{intl l="Default Schedules" d="livraisonparsecteurs"}</h4>
<h4>{intl l="Delivery days" d="livraisonparsecteurs"}</h4>
</caption>
<thead>
@@ -35,7 +32,7 @@
</thead>
<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>
<td>
{$DAY_LABEL}
@@ -51,7 +48,7 @@
<div class="btn-group">
{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"
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-day="{$DAY}" data-begin="{format_date date=$BEGIN format="H:i"}"
data-end="{format_date date=$END format="H:i"}">
@@ -60,14 +57,14 @@
{/loop}
{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"
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}">
<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'}"
title="{intl l='Delete this Schedule' d='dealer.bo.default'}"
data-target="#dealer-schedules-delete" data-toggle="modal" data-id="{$ID}">
<i class="glyphicon glyphicon-trash"></i>
</a>
@@ -86,6 +83,8 @@
</tr>
{/elseloop}
</tbody>
</table>
</div>
</div>
</div>