fitness-web/frontend/models/ReceptionForm.php
Roland Schneider 595f663820 add hidden account, cart insert/delete
add hidden account support
add delete/payout buttons to carts
add backend product sales with pdf export
add frontend product sales with pdf export
add frontend ticket sales with pdf export
2016-01-03 18:29:39 +01:00

96 lines
2.1 KiB
PHP

<?php
namespace frontend\models;
use Yii;
use yii\base\Model;
use common\models\Card;
use common\models\Customer;
use common\models\Ticket;
/**
* ContactForm is the model behind the contact form.
*/
class ReceptionForm extends Model
{
public $number;
public $card;
public $customer;
public $tickets;
/**
* @inheritdoc
*/
public function rules()
{
return [
[['number'], 'required'],
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'verifyCode' => 'Verification Code',
];
}
public function readCard(){
$this->number = str_replace("ö", "0", $this->number);
$this->card = Card::find()->andWhere(['or', [ 'in','number' , [$this->number]], ['and', ['in','rfid_key' ,[ $this->number] ],"trim(coalesce(rfid_key, '')) <>'' "]])->one();
if ( $this->card != null ){
$this->customer = $this->card->customer;
$this->readValidTickets();
}
}
public function readValidTickets(){
$this->tickets = Ticket::readActive($this->card);
}
/**
* @return true , if card found without customer
* */
public function isFreeCard(){
$result = isset($this->card) && !isset($this->customer);
return $result;
}
/**
* @return true , if card found with customer
* */
public function isCardWithCustomer(){
$result = isset($this->card) && isset($this->customer);
return $result;
}
/**
* @return true , if card and customer found with at least one valid tickets
* */
public function isCustomerWithTicket(){
$result = false;
if ( isset($this->card) && isset($this->customer) ){
if ( isset($this->tickets) && count($this->tickets) > 0 ){
$result = true;
}
}
return $result;
}
/**
* @return true, if no card and customer found
* */
public function isInvalidNumber(){
$result = !isset($this->card) && !isset($this->customer);
return $result;
}
}