fix ticket expires warning null pointer

This commit is contained in:
Roland Schneider 2019-04-01 07:54:01 +02:00
parent 8cdd8a6fe4
commit 655b54a857
3 changed files with 179 additions and 176 deletions

View File

@ -1,3 +1,5 @@
-0.1.15
- fix null pointer when displaying warning in reception , when no ticket
-0.1.14 -0.1.14
- change expires soon warning color - change expires soon warning color
-0.1.13 -0.1.13

View File

@ -5,7 +5,7 @@ return [
'supportEmail' => 'rocho02@gmail.com', 'supportEmail' => 'rocho02@gmail.com',
'infoEmail' => 'info@rocho-net.hu', 'infoEmail' => 'info@rocho-net.hu',
'user.passwordResetTokenExpire' => 3600, 'user.passwordResetTokenExpire' => 3600,
'version' => 'v0.1.14', 'version' => 'v0.1.15',
'company' => 'movar',//gyor 'company' => 'movar',//gyor
'company_name' => "Freimann Kft.", 'company_name' => "Freimann Kft.",
'product_visiblity' => 'account',// on reception which products to display. account or global 'product_visiblity' => 'account',// on reception which products to display. account or global

View File

@ -1,4 +1,5 @@
<?php <?php
use common\components\Helper; use common\components\Helper;
use common\models\DoorLog; use common\models\DoorLog;
use yii\helpers\Html; use yii\helpers\Html;
@ -12,40 +13,40 @@ use yii\helpers\Url;
<?php <?php
/** @var \common\models\Ticket $ticket */ /** @var \common\models\Ticket $ticket */
$ticket = null; $ticket = null;
if ( count($model->tickets) > 0 ){ if (count($model->tickets) > 0) {
$ticket = $model->tickets[0]; $ticket = $model->tickets[0];
} }
if ( isset($model->card)){ if (isset($model->card)) {
if ( isset($model->customer)){ if (isset($model->customer)) {
if ( $model->card->validity == 0 ){ if ($model->card->validity == 0) {
if ( isset($ticket)){ if (isset($ticket)) {
echo Html::beginTag("div",['class'=>"alert alert-success" , "role"=>"alert"]); echo Html::beginTag("div", ['class' => "alert alert-success", "role" => "alert"]);
echo Html::beginTag("strong",[ ]); echo Html::beginTag("strong", []);
echo "Érvényes bérlet!" ; echo "Érvényes bérlet!";
echo Html::endTag("strong"); echo Html::endTag("strong");
echo Html::tag("br"); echo Html::tag("br");
echo Html::beginTag("strong",[ ]); echo Html::beginTag("strong", []);
echo "Típus: " ; echo "Típus: ";
echo Html::endTag("strong"); echo Html::endTag("strong");
echo $ticket->ticketTypeName ; echo $ticket->ticketTypeName;
echo Html::tag("br"); echo Html::tag("br");
echo Html::beginTag("strong",[ ]); echo Html::beginTag("strong", []);
echo "Érvényes: " ; echo "Érvényes: ";
echo Html::endTag("strong"); echo Html::endTag("strong");
echo Yii::$app->formatter->asDate($ticket->start); echo Yii::$app->formatter->asDate($ticket->start);
echo "&nbsp;-&nbsp;"; echo "&nbsp;-&nbsp;";
echo Yii::$app->formatter->asDate($ticket->end); echo Yii::$app->formatter->asDate($ticket->end);
echo Html::endTag("div"); echo Html::endTag("div");
}else{ } else {
echo Html::beginTag("div",['class'=>"alert alert-danger", "role"=>"alert"]); echo Html::beginTag("div", ['class' => "alert alert-danger", "role" => "alert"]);
echo Html::beginTag("strong",[ ]); echo Html::beginTag("strong", []);
echo "Bérlet lejárt vagy nem érvényes!"; echo "Bérlet lejárt vagy nem érvényes!";
echo Html::endTag("strong"); echo Html::endTag("strong");
echo Html::endTag("div"); echo Html::endTag("div");
} }
//// ////////////////////////////////// //// //////////////////////////////////
/// Warn if expires soon /// Warn if expires soon
/// /////////////////////////////////// /// ///////////////////////////////////
$propertyWarnTicketExpireInDaysCount = \Yii::$app->params['warn_ticket_expire_in_days_count']; $propertyWarnTicketExpireInDaysCount = \Yii::$app->params['warn_ticket_expire_in_days_count'];
@ -53,88 +54,88 @@ if ( isset($model->card)){
$showWarningExpires = false; $showWarningExpires = false;
// expires in days // expires in days
if ( $propertyWarnTicketExpireInDaysCount > 0 ){ if (isset($ticket)) {
$warnMessageTicketExpireInDaysCountTemplate = "A bérlet már csak {day} érvényes"; if ($propertyWarnTicketExpireInDaysCount > 0) {
$expiresInDays = $ticket->getDaysUntilExpire(); $warnMessageTicketExpireInDaysCountTemplate = "A bérlet már csak {day} érvényes";
$warnMessageTicketExpire = $expiresInDays; $expiresInDays = $ticket->getDaysUntilExpire();
if ( $expiresInDays <= $propertyWarnTicketExpireInDaysCount ){ $warnMessageTicketExpire = $expiresInDays;
$showWarningExpires = true; if ($expiresInDays <= $propertyWarnTicketExpireInDaysCount) {
$variables = array( $showWarningExpires = true;
'{day}' => $expiresInDays > 0 ? " $expiresInDays napig" : "ma", $variables = array(
); '{day}' => $expiresInDays > 0 ? " $expiresInDays napig" : "ma",
$warnMessageTicketExpire = strtr($warnMessageTicketExpireInDaysCountTemplate, $variables); );
} $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-expires">
<strong>A bérlet hamarosan lejár</strong>
<?php
if ($showWarningExpires) {
echo "<br>";
echo $warnMessageTicketExpire;
} }
if ( $showWaringUsageCount){ }
echo "<br>";
echo $warnMessageTicketUsageCount; //// //////////////////////////////////
/// 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> <div class="alert alert-warning-expires">
<?php <strong>A bérlet hamarosan lejár</strong>
<?php
if ($showWarningExpires) {
echo "<br>";
echo $warnMessageTicketExpire;
}
if ($showWaringUsageCount) {
echo "<br>";
echo $warnMessageTicketUsageCount;
}
?>
</div>
<?php
}
} }
} else {
} else{ echo Html::beginTag("div", ['class' => "alert alert-danger", "role" => "alert"]);
echo Html::beginTag("div",['class'=>"alert alert-danger", "role"=>"alert"]); echo "Kártya korlátozás:";
echo "Kártya korlátozás:"; echo "<br>";
echo "<br>"; echo Html::beginTag("strong", []);
echo Html::beginTag("strong",[ ]); echo Helper::getArrayValue(DoorLog::getCardFlagTexts(), $model->card->validity, "Ismeretlen ok");
echo Helper::getArrayValue(DoorLog::getCardFlagTexts(), $model->card->validity, "Ismeretlen ok") ; echo Html::endTag("strong");
echo Html::endTag("strong"); echo Html::endTag("div");
echo Html::endTag("div"); }
} } else {
}else{ echo Html::beginTag("div", ['class' => "alert alert-info", "role" => "alert"]);
echo Html::beginTag("div",['class'=>"alert alert-info" ,"role"=>"alert"]); echo Html::beginTag("strong", []);
echo Html::beginTag("strong",[ ]); echo "Üres bérlet!";
echo "Üres bérlet!"; echo Html::endTag("strong");
echo Html::endTag("strong"); echo Html::endTag("div");
echo Html::endTag("div"); }
} } else {
}else{ echo Html::beginTag("div", ['class' => "alert alert-warning", "role" => "alert"]);
echo Html::beginTag("div",['class'=>"alert alert-warning" ,"role"=>"alert"]); echo Html::beginTag("strong", []);
echo Html::beginTag("strong",[ ]); echo "Nincs bérlet megadva!";
echo "Nincs bérlet megadva!"; echo Html::endTag("strong");
echo Html::endTag("strong"); echo Html::endTag("div");
echo Html::endTag("div");
} }
if (Helper::isTicketTypeDoorAllowedCheckOn()) { if (Helper::isTicketTypeDoorAllowedCheckOn()) {
if (isset($model->card) && isset($ticket) ) { if (isset($model->card) && isset($ticket)) {
$alert = "alert " . ($model->card->isFlagDoorAllowed() ? "alert-warning" : "alert-success"); $alert = "alert " . ($model->card->isFlagDoorAllowed() ? "alert-warning" : "alert-success");
$text = "Kapun beléphet: " .($model->card->isFlagDoorAllowed() ? "nem" : "igen"); $text = "Kapun beléphet: " . ($model->card->isFlagDoorAllowed() ? "nem" : "igen");
echo Html::beginTag("div",['class' => $alert ,"role"=>"alert"]); echo Html::beginTag("div", ['class' => $alert, "role" => "alert"]);
echo Html::beginTag("strong",[ ]); echo Html::beginTag("strong", []);
echo $text; echo $text;
echo Html::endTag("strong"); echo Html::endTag("strong");
echo Html::endTag("div"); echo Html::endTag("div");
@ -142,85 +143,85 @@ if (Helper::isTicketTypeDoorAllowedCheckOn()) {
} }
} }
if ( isset($model->contract)){ if (isset($model->contract)) {
/** @var common\models\Contract $contract*/ /** @var common\models\Contract $contract */
$contract = $model->contract; $contract = $model->contract;
if ( $contract->isFlagActive() ){ if ($contract->isFlagActive()) {
if ( $model->contract->isStatusNotPaid() ){ if ($model->contract->isStatusNotPaid()) {
echo Html::beginTag("div",['class'=>"alert alert-danger", "role"=>"alert"]); echo Html::beginTag("div", ['class' => "alert alert-danger", "role" => "alert"]);
echo Html::beginTag("strong",[ ]); echo Html::beginTag("strong", []);
echo "Szerződés részlete nincs fizetve!"; echo "Szerződés részlete nincs fizetve!";
echo Html::a("Szerződés részletei",Url::toRoute(['contract/view','id' => $model->contract->id_contract])); echo Html::a("Szerződés részletei", Url::toRoute(['contract/view', 'id' => $model->contract->id_contract]));
echo Html::endTag("strong"); echo Html::endTag("strong");
echo Html::endTag("div"); echo Html::endTag("div");
}else{ } else {
echo Html::beginTag("div",['class'=>"alert alert-success", "role"=>"alert"]); echo Html::beginTag("div", ['class' => "alert alert-success", "role" => "alert"]);
echo Html::beginTag("strong",[ ]); echo Html::beginTag("strong", []);
echo "Érvényes szerződés!"; echo "Érvényes szerződés!";
echo Html::a("Szerződés részletei",Url::toRoute(['contract/view','id' => $model->contract->id_contract])); echo Html::a("Szerződés részletei", Url::toRoute(['contract/view', 'id' => $model->contract->id_contract]));
echo Html::endTag("strong"); echo Html::endTag("strong");
echo Html::endTag("div"); echo Html::endTag("div");
} }
}else{ } else {
if ( $contract->isFlagCanceled() ){ if ($contract->isFlagCanceled()) {
echo Html::beginTag("div",['class'=>"alert alert-danger", "role"=>"alert"]); echo Html::beginTag("div", ['class' => "alert alert-danger", "role" => "alert"]);
echo Html::beginTag("strong",[ ]); echo Html::beginTag("strong", []);
echo "Szerződés felbontva !"; echo "Szerződés felbontva !";
echo Html::a("Szerződés részletei",Url::toRoute(['contract/view','id' => $model->contract->id_contract])); echo Html::a("Szerződés részletei", Url::toRoute(['contract/view', 'id' => $model->contract->id_contract]));
echo Html::endTag("strong"); echo Html::endTag("strong");
echo Html::endTag("div"); echo Html::endTag("div");
} }
} }
} }
if ( isset( $model->unpaidTickets ) ) { if (isset($model->unpaidTickets)) {
if ( count($model->unpaidTickets) > 0){ if (count($model->unpaidTickets) > 0) {
echo Html::beginTag("div",['class'=>"alert alert-warning", "role"=>"alert"]); echo Html::beginTag("div", ['class' => "alert alert-warning", "role" => "alert"]);
echo Html::beginTag("strong",[ ]); echo Html::beginTag("strong", []);
echo "Fizetetlen bérletek"; echo "Fizetetlen bérletek";
echo Html::endTag("strong"); echo Html::endTag("strong");
echo "<ul>"; echo "<ul>";
$formatter = \Yii::$app->formatter; $formatter = \Yii::$app->formatter;
foreach ($model->unpaidTickets as $t ){ foreach ($model->unpaidTickets as $t) {
echo Html::beginTag("li",[ ]); echo Html::beginTag("li", []);
$c = $t->contract; $c = $t->contract;
if (isset($c)){ if (isset($c)) {
echo "<b>Szerződéses</b>"; echo "<b>Szerződéses</b>";
} }
echo $t->getTicketTypeName(); echo $t->getTicketTypeName();
echo ": "; echo ": ";
echo $formatter->asDate($t->start); echo $formatter->asDate($t->start);
echo " - " ; echo " - ";
echo $formatter->asDate($t->end); echo $formatter->asDate($t->end);
echo " ("; echo " (";
echo $t->price_brutto; echo $t->price_brutto;
echo " Ft)"; echo " Ft)";
echo Html::endTag("li"); echo Html::endTag("li");
} }
echo "</ul>"; echo "</ul>";
echo Html::endTag("div"); echo Html::endTag("div");
} }
} }
if ( isset($model->customer)){ if (isset($model->customer)) {
if ( $model->customer->towel_count > 0 ){ if ($model->customer->towel_count > 0) {
$towelText = "Kiadott törölközők (db):" . $model->customer->towel_count; $towelText = "Kiadott törölközők (db):" . $model->customer->towel_count;
$towelClass = "alert alert-danger"; $towelClass = "alert alert-danger";
}else{ } else {
$towelText = "Nincs kiadott törölköző"; $towelText = "Nincs kiadott törölköző";
$towelClass = "alert alert-success"; $towelClass = "alert alert-success";
} }
echo Html::beginTag("div",['class'=> $towelClass, "role"=>"alert"]); echo Html::beginTag("div", ['class' => $towelClass, "role" => "alert"]);
echo Html::beginTag("strong",[ ]); echo Html::beginTag("strong", []);
echo $towelText; echo $towelText;
echo Html::endTag("strong"); echo Html::endTag("strong");
echo Html::endTag("div"); echo Html::endTag("div");
} }