From 655b54a85780434ebbea37079f41dfa89f097e50 Mon Sep 17 00:00:00 2001 From: Roland Schneider Date: Mon, 1 Apr 2019 07:54:01 +0200 Subject: [PATCH] fix ticket expires warning null pointer --- changelog.txt | 2 + common/config/params.php | 2 +- frontend/views/common/_reception_ticket.php | 351 ++++++++++---------- 3 files changed, 179 insertions(+), 176 deletions(-) diff --git a/changelog.txt b/changelog.txt index 6d6e810..df6c05d 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,5 @@ +-0.1.15 + - fix null pointer when displaying warning in reception , when no ticket -0.1.14 - change expires soon warning color -0.1.13 diff --git a/common/config/params.php b/common/config/params.php index d71d914..fbf3a05 100644 --- a/common/config/params.php +++ b/common/config/params.php @@ -5,7 +5,7 @@ return [ 'supportEmail' => 'rocho02@gmail.com', 'infoEmail' => 'info@rocho-net.hu', 'user.passwordResetTokenExpire' => 3600, - 'version' => 'v0.1.14', + 'version' => 'v0.1.15', 'company' => 'movar',//gyor 'company_name' => "Freimann Kft.", 'product_visiblity' => 'account',// on reception which products to display. account or global diff --git a/frontend/views/common/_reception_ticket.php b/frontend/views/common/_reception_ticket.php index 8d8451a..ce53b97 100644 --- a/frontend/views/common/_reception_ticket.php +++ b/frontend/views/common/_reception_ticket.php @@ -1,4 +1,5 @@ tickets) > 0 ){ - $ticket = $model->tickets[0]; +if (count($model->tickets) > 0) { + $ticket = $model->tickets[0]; } -if ( isset($model->card)){ - if ( isset($model->customer)){ - if ( $model->card->validity == 0 ){ - if ( isset($ticket)){ - echo Html::beginTag("div",['class'=>"alert alert-success" , "role"=>"alert"]); - echo Html::beginTag("strong",[ ]); - echo "Érvényes bérlet!" ; - echo Html::endTag("strong"); - echo Html::tag("br"); - echo Html::beginTag("strong",[ ]); - echo "Típus: " ; - echo Html::endTag("strong"); - echo $ticket->ticketTypeName ; - echo Html::tag("br"); - echo Html::beginTag("strong",[ ]); - echo "Érvényes: " ; - echo Html::endTag("strong"); - echo Yii::$app->formatter->asDate($ticket->start); - echo " - "; - 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",[ ]); - echo "Bérlet lejárt vagy nem érvényes!"; - echo Html::endTag("strong"); - echo Html::endTag("div"); - } +if (isset($model->card)) { + if (isset($model->customer)) { + if ($model->card->validity == 0) { + if (isset($ticket)) { + echo Html::beginTag("div", ['class' => "alert alert-success", "role" => "alert"]); + echo Html::beginTag("strong", []); + echo "Érvényes bérlet!"; + echo Html::endTag("strong"); + echo Html::tag("br"); + echo Html::beginTag("strong", []); + echo "Típus: "; + echo Html::endTag("strong"); + echo $ticket->ticketTypeName; + echo Html::tag("br"); + echo Html::beginTag("strong", []); + echo "Érvényes: "; + echo Html::endTag("strong"); + echo Yii::$app->formatter->asDate($ticket->start); + echo " - "; + 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", []); + echo "Bérlet lejárt vagy nem érvényes!"; + echo Html::endTag("strong"); + echo Html::endTag("div"); + } - //// ////////////////////////////////// + //// ////////////////////////////////// /// Warn if expires soon /// /////////////////////////////////// $propertyWarnTicketExpireInDaysCount = \Yii::$app->params['warn_ticket_expire_in_days_count']; @@ -53,88 +54,88 @@ if ( isset($model->card)){ $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) { - ?> -
- A bérlet hamarosan lejár - "; - echo $warnMessageTicketExpire; + if (isset($ticket)) { + 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); } - if ( $showWaringUsageCount){ - echo "
"; - 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) { ?> -
- + A bérlet hamarosan lejár + "; + echo $warnMessageTicketExpire; + } + if ($showWaringUsageCount) { + echo "
"; + echo $warnMessageTicketUsageCount; + } + ?> + + "alert alert-danger", "role"=>"alert"]); - echo "Kártya korlátozás:"; - echo "
"; - echo Html::beginTag("strong",[ ]); - echo Helper::getArrayValue(DoorLog::getCardFlagTexts(), $model->card->validity, "Ismeretlen ok") ; - echo Html::endTag("strong"); - echo Html::endTag("div"); - } - }else{ - echo Html::beginTag("div",['class'=>"alert alert-info" ,"role"=>"alert"]); - echo Html::beginTag("strong",[ ]); - echo "Üres bérlet!"; - echo Html::endTag("strong"); - echo Html::endTag("div"); - } -}else{ - echo Html::beginTag("div",['class'=>"alert alert-warning" ,"role"=>"alert"]); - echo Html::beginTag("strong",[ ]); - echo "Nincs bérlet megadva!"; - echo Html::endTag("strong"); - echo Html::endTag("div"); + } else { + echo Html::beginTag("div", ['class' => "alert alert-danger", "role" => "alert"]); + echo "Kártya korlátozás:"; + echo "
"; + echo Html::beginTag("strong", []); + echo Helper::getArrayValue(DoorLog::getCardFlagTexts(), $model->card->validity, "Ismeretlen ok"); + echo Html::endTag("strong"); + echo Html::endTag("div"); + } + } else { + echo Html::beginTag("div", ['class' => "alert alert-info", "role" => "alert"]); + echo Html::beginTag("strong", []); + echo "Üres bérlet!"; + echo Html::endTag("strong"); + echo Html::endTag("div"); + } +} else { + echo Html::beginTag("div", ['class' => "alert alert-warning", "role" => "alert"]); + echo Html::beginTag("strong", []); + echo "Nincs bérlet megadva!"; + echo Html::endTag("strong"); + echo Html::endTag("div"); } if (Helper::isTicketTypeDoorAllowedCheckOn()) { - if (isset($model->card) && isset($ticket) ) { + if (isset($model->card) && isset($ticket)) { $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("strong",[ ]); + echo Html::beginTag("div", ['class' => $alert, "role" => "alert"]); + echo Html::beginTag("strong", []); echo $text; echo Html::endTag("strong"); echo Html::endTag("div"); @@ -142,85 +143,85 @@ if (Helper::isTicketTypeDoorAllowedCheckOn()) { } } -if ( isset($model->contract)){ - /** @var common\models\Contract $contract*/ - $contract = $model->contract; - if ( $contract->isFlagActive() ){ - if ( $model->contract->isStatusNotPaid() ){ - echo Html::beginTag("div",['class'=>"alert alert-danger", "role"=>"alert"]); - echo Html::beginTag("strong",[ ]); - 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::endTag("strong"); - echo Html::endTag("div"); - }else{ - echo Html::beginTag("div",['class'=>"alert alert-success", "role"=>"alert"]); - echo Html::beginTag("strong",[ ]); - 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::endTag("strong"); - echo Html::endTag("div"); - } - }else{ - - if ( $contract->isFlagCanceled() ){ - echo Html::beginTag("div",['class'=>"alert alert-danger", "role"=>"alert"]); - echo Html::beginTag("strong",[ ]); - echo "Szerződés felbontva !"; - echo Html::a("Szerződés részletei",Url::toRoute(['contract/view','id' => $model->contract->id_contract])); - echo Html::endTag("strong"); - echo Html::endTag("div"); - } - } +if (isset($model->contract)) { + /** @var common\models\Contract $contract */ + $contract = $model->contract; + if ($contract->isFlagActive()) { + if ($model->contract->isStatusNotPaid()) { + echo Html::beginTag("div", ['class' => "alert alert-danger", "role" => "alert"]); + echo Html::beginTag("strong", []); + 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::endTag("strong"); + echo Html::endTag("div"); + } else { + echo Html::beginTag("div", ['class' => "alert alert-success", "role" => "alert"]); + echo Html::beginTag("strong", []); + 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::endTag("strong"); + echo Html::endTag("div"); + } + } else { + + if ($contract->isFlagCanceled()) { + echo Html::beginTag("div", ['class' => "alert alert-danger", "role" => "alert"]); + echo Html::beginTag("strong", []); + echo "Szerződés felbontva !"; + echo Html::a("Szerződés részletei", Url::toRoute(['contract/view', 'id' => $model->contract->id_contract])); + echo Html::endTag("strong"); + echo Html::endTag("div"); + } + } } -if ( isset( $model->unpaidTickets ) ) { - if ( count($model->unpaidTickets) > 0){ - echo Html::beginTag("div",['class'=>"alert alert-warning", "role"=>"alert"]); - echo Html::beginTag("strong",[ ]); - echo "Fizetetlen bérletek"; - echo Html::endTag("strong"); - echo ""; - echo Html::endTag("div"); - } +if (isset($model->unpaidTickets)) { + if (count($model->unpaidTickets) > 0) { + echo Html::beginTag("div", ['class' => "alert alert-warning", "role" => "alert"]); + echo Html::beginTag("strong", []); + echo "Fizetetlen bérletek"; + echo Html::endTag("strong"); + echo ""; + echo Html::endTag("div"); + } } -if ( isset($model->customer)){ +if (isset($model->customer)) { - if ( $model->customer->towel_count > 0 ){ - $towelText = "Kiadott törölközők (db):" . $model->customer->towel_count; - $towelClass = "alert alert-danger"; - }else{ - $towelText = "Nincs kiadott törölköző"; - $towelClass = "alert alert-success"; - } + if ($model->customer->towel_count > 0) { + $towelText = "Kiadott törölközők (db):" . $model->customer->towel_count; + $towelClass = "alert alert-danger"; + } else { + $towelText = "Nincs kiadott törölköző"; + $towelClass = "alert alert-success"; + } - echo Html::beginTag("div",['class'=> $towelClass, "role"=>"alert"]); - echo Html::beginTag("strong",[ ]); - echo $towelText; - echo Html::endTag("strong"); - echo Html::endTag("div"); + echo Html::beginTag("div", ['class' => $towelClass, "role" => "alert"]); + echo Html::beginTag("strong", []); + echo $towelText; + echo Html::endTag("strong"); + echo Html::endTag("div"); }