diff --git a/common/manager/VirtualKeyManager.php b/common/manager/VirtualKeyManager.php new file mode 100644 index 0000000..356e3cf --- /dev/null +++ b/common/manager/VirtualKeyManager.php @@ -0,0 +1,29 @@ +id_card = $idCard; + + $model->save(false); + return $model; + } + + + public function getValidUntilTime($createdAtStr){ + $createdAt = DateUtil::parseDateTime($createdAtStr); + $validUntil = DateUtil::addMinutes($createdAt,Helper::getDoorPassValidityIntervalMinutes()); + return $validUntil; + + } +} diff --git a/frontend/controllers/VirtualKeyController.php b/frontend/controllers/VirtualKeyController.php new file mode 100644 index 0000000..18d99d2 --- /dev/null +++ b/frontend/controllers/VirtualKeyController.php @@ -0,0 +1,48 @@ + [ + 'class' => VerbFilter::className(), + 'actions' => [ + 'allow-card' => ['post'], + ], + ], + ]; + } + + + public function actionAllowCard($idCard) + { + $card = Card::findOne($idCard); + if (!isset($card)){ + throw new BadRequestHttpException("card id not found"); + } + + $VirtualKeyManager = new VirtualKeyManager(); + $VirtualKeyManager->createNewVirtualKey($idCard); + + $this->redirect(['customer/reception', 'number' => $card->number]); + } + +} diff --git a/frontend/views/common/door_entry_strategy/_strategy_door_pass.php b/frontend/views/common/door_entry_strategy/_strategy_door_pass.php index ae34325..811e6e5 100644 --- a/frontend/views/common/door_entry_strategy/_strategy_door_pass.php +++ b/frontend/views/common/door_entry_strategy/_strategy_door_pass.php @@ -14,21 +14,25 @@ use yii\widgets\ActiveForm; if (! ( isset($model) && isset($model->card))){ return; } - $virtualKeysNotInCreatedInTheLastXMinuteForCard = VirtualKey::readNotInCreatedInTheLastXMinutesByIdCard($model->card->id_card,5); + $minutes = \common\components\Helper::getDoorPassValidityIntervalMinutes(); + $virtualKeysNotInCreatedInTheLastXMinuteForCard = VirtualKey::readNotInCreatedInTheLastXMinutesByIdCard($model->card->id_card,$minutes); if (count($virtualKeysNotInCreatedInTheLastXMinuteForCard) > 0){ $activeVirtualKey = $virtualKeysNotInCreatedInTheLastXMinuteForCard[0]; ?>
created_at ; + echo Html::tag("div", "Tól:" .$activeVirtualKey->created_at) ; + $manager = new \common\manager\VirtualKeyManager(); + $dateTimeUntil = \common\components\DateUtil::formatDateTimeUtc( $manager->getValidUntilTime($activeVirtualKey->created_at) ); + echo Html::tag("div", " Ig:" .$dateTimeUntil) ; ?>
card))){ } $form = ActiveForm::begin([ - 'action' => ['door-card-pass/allow-card', 'idCard' => $model->card->id_card], + 'action' => ['virtual-key/allow-card', 'idCard' => $model->card->id_card], 'method' => 'post', ]); ?>