implement ticket expires-soon

This commit is contained in:
Roland Schneider
2019-01-07 07:48:28 +01:00
parent 4741cce196
commit 3fce2c70c2
5 changed files with 125 additions and 19 deletions

View File

@@ -9,7 +9,8 @@ use yii\helpers\Url;
?>
<style>
</style>
<?php
<?php
/** @var \common\models\Ticket $ticket */
$ticket = null;
if ( count($model->tickets) > 0 ){
$ticket = $model->tickets[0];
@@ -36,8 +37,6 @@ if ( isset($model->card)){
echo "&nbsp;-&nbsp;";
echo Yii::$app->formatter->asDate($ticket->end);
echo Html::endTag("div");
}else{
echo Html::beginTag("div",['class'=>"alert alert-danger", "role"=>"alert"]);
echo Html::beginTag("strong",[ ]);
@@ -45,6 +44,66 @@ if ( isset($model->card)){
echo Html::endTag("strong");
echo Html::endTag("div");
}
//// //////////////////////////////////
/// Warn if expires soon
/// ///////////////////////////////////
$propertyWarnTicketExpireInDaysCount = \Yii::$app->params['warn_ticket_expire_in_days_count'];
$propertyWarnTicketExpireInUsageCount = \Yii::$app->params['warn_ticket_expire_in_usage_count'];
$showWarningExpires = false;
// expires in days
if ( $propertyWarnTicketExpireInDaysCount > 0 ){
$warnMessageTicketExpireInDaysCountTemplate = "A bérlet már csak {day} érvényes";
$expiresInDays = $ticket->getDaysUntilExpire();
$warnMessageTicketExpire = $expiresInDays;
if ( $expiresInDays <= $propertyWarnTicketExpireInDaysCount ){
$showWarningExpires = true;
$variables = array(
'{day}' => $expiresInDays > 0 ? " $expiresInDays napig" : "ma",
);
$warnMessageTicketExpire = strtr($warnMessageTicketExpireInDaysCountTemplate, $variables);
}
}
//// //////////////////////////////////
/// Warn if open usage count is low
/// ///////////////////////////////////
$showWaringUsageCount = false;
if ($propertyWarnTicketExpireInUsageCount > 0) {
$openUsageCount = $ticket->getOpenUsageCount();
if ($openUsageCount !== false && ($propertyWarnTicketExpireInUsageCount >= $openUsageCount)) {
$showWaringUsageCount = true;
$warnMessageTicketUsageCountTemplate = "A bérleten már csak {count} alkalom van";
$variables = array(
'{count}' => $openUsageCount,
);
$warnMessageTicketUsageCount = strtr($warnMessageTicketUsageCountTemplate, $variables);
}
}
//// //////////////////////////////////
/// if any warning is there, display
/// the warning box
/// ///////////////////////////////////
if ( $showWarningExpires || $showWaringUsageCount) {
?>
<div class="alert alert-warning">
<strong>A bérlet hamarosan lejár</strong>
<?php
if ($showWarningExpires) {
echo "<br>";
echo $warnMessageTicketExpire;
}
if ( $showWaringUsageCount){
echo "<br>";
echo $warnMessageTicketUsageCount;
}
?>
</div>
<?php
}
} else{
echo Html::beginTag("div",['class'=>"alert alert-danger", "role"=>"alert"]);
echo "Kártya korlátozás:";