információ mező", /** * @inheritdoc */ public static function tableName() { return 'door_log'; } public function behaviors() { return ArrayHelper::merge([ [ 'class' => TimestampBehavior::className(), 'value' => function ($event) { if ( isset($event->sender->created_at) ){ return $event->sender->created_at; } return date('Y-m-d H:i:s'); }, 'updatedAtAttribute' => false, ] ], parent::behaviors()); } /** * @inheritdoc */ public function rules() { return [ [['id_card', 'id_customer', 'id_key', 'direction', 'type'], 'integer'], [['created_at'], 'required'], [['created_at'], 'safe'] ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'id_door_log' => Yii::t('common/door_log', 'Id Door Log'), 'id_card' => Yii::t('common/door_log', 'Bérlet kártya'), 'id_customer' => Yii::t('common/door_log', 'Vendég'), 'id_key' => Yii::t('common/door_log', 'Kulcs'), 'direction' => Yii::t('common/door_log', 'Esemény'), 'type' => Yii::t('common/door_log', 'Típus'), 'created_at' => Yii::t('common/door_log', 'Időpont'), 'source_app' => Yii::t('common/door_log', 'Eszköz'), ]; } public function getCustomer() { return $this->hasOne(Customer::className(), ["id_customer" => "id_customer"]); } public function getCustomerName() { $result = ""; if (isset($this->customer)) { $result = $this->customer->name; } return $result; } public function getCard() { return $this->hasOne(Card::className(), ["id_card" => "id_card"]); } public function getCardNumber() { $result = ""; if (isset($this->card)) { $result = $this->card->number; } return $result; } public function getKey() { return $this->hasOne(Key::className(), ["id_key" => "id_key"]); } public function getKeyNumber() { $result = ""; if (isset($this->key)) { $result = $this->key->number; } return $result; } public function getDirectionName() { $result = ""; if ($this->source_app == 'forgo_villa') { if (isset($this->direction)) { $result = Helper::getArrayValue(self::getDirectionTypes(), $this->direction, "-"); } } else { $result = "Kézi olvasás"; } return $result; } public static function getSourceAppName($source_app) { $result = ""; switch ($source_app) { case self::$SOURCE_APP_FITNESS_ADMIN : $result = "Recepciós alkalmazás"; break; case self::$SOURCE_APP_FORGO_VILLA: $result = "Forgó villa"; break; } return $result; } public static function getDirectionTypes() { return [ -2 => "Kézi olvasás/Kulcs ki", -1 => "Kézi olvasás/Kulcs vissza", 0 => "Kézi olvasás", 1 => "KI olvastatás mozgás nélkül", 3 => "BE olvastatás mozgás nélkül", 5 => "KI mozgás", 7 => "BE mozgás", 9 => "KI olvastatás, van érvényes öltöző kulcs (nem enged)", 11 => "BE olvastatás, nincs érvényes öltöző kulcs (nem enged)", 17 => "Bérlet érvényességi időn kívüli KI olvastatás (nem enged)", 19 => "Bérlet érvényességi időn kívüli BE olvastatás (nem enged)", 128 => "Vésznyitás", 256 => "Kártya tiltva -> információ mező", ]; } public static function getCardFlagTexts() { return [ 0 => "Kártya érvényes bérlettel", 1 => "Nincs érvényes bérlet", 2 => "Kártya inaktív/Érvényes bérlet", 3 => "Kártya inaktív/Nincs érvényes bérlet" ]; } public static function mkDoorLog($direction, $card, $customer = null, $key = null) { if (!Helper::isKeyToggleDoorLogEnabled()) { return; } $dlog = new DoorLog(); $dlog->id_card = $card->id_card; if (isset($customer)) { $dlog->id_customer = $customer->id_customer; } if (isset($key)) { $dlog->id_key = $key->id_key; } $dlog->direction = $direction; $dlog->type = $card->type; $dlog->source_app = DoorLog::$SOURCE_APP_FITNESS_ADMIN; $dlog->id_account = Account::readDefault(); if ($dlog->direction == 0) { $dlog->card_flag = $card->validity; } else { $dlog->card_flag = -1; } $dlog->created_at = date('Y-m-d H:i:s'); $dlog->save(false); } }