fitness-web/common/models/Warehouse.php
2015-09-25 08:57:05 +02:00

103 lines
2.4 KiB
PHP

<?php
namespace common\models;
use Yii;
use yii\behaviors\TimestampBehavior;
/**
* This is the model class for table "warehouse".
*
* @property integer $id_warehouse
* @property string $name
* @property integer $status
* @property integer $created_at
* @property integer $updated_at
*/
class Warehouse extends \yii\db\ActiveRecord
{
const STATUS_DELETED = 0;
const STATUS_ACTIVE = 10;
/**
* @inheritdoc
*/
public static function tableName()
{
return 'warehouse';
}
/**
* @inheritdoc
*/
public function rules()
{
return [
[['name', ], 'required'],
[['name', ], 'unique'],
[['status', ], 'integer'],
[['name'], 'string', 'max' => 64]
];
}
/**
* @inheritdoc
*/
public function behaviors()
{
return [
[ 'class' => TimestampBehavior::className(),
'value' => function(){ return date('Y-m-d H:i' ); }
]
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'id_warehouse' => Yii::t('common/warehouse', 'Id Warehouse'),
'name' => Yii::t('common/warehouse', 'Name'),
'status' => Yii::t('common/warehouse', 'Status'),
'created_at' => Yii::t('common/warehouse', 'Created At'),
'updated_at' => Yii::t('common/warehouse', 'Updated At'),
];
}
static function statuses() {
return [
self::STATUS_ACTIVE => Yii::t('common/warehouse', 'Active'),
self::STATUS_DELETED => Yii::t('common/warehouse', 'Inactive'),
];
}
public function getStatusHuman(){
$result = null;
$s = self::statuses($this->status);
if ( array_key_exists($this->status, $s)){
$result = $s[$this->status];
}
return $result;
}
/**
* $param int $forceIncludeAccount id warehouse, that should be included in list, even if it is inactive
* */
public static function read($forceIncludeObjectWithId = null){
$warehouses = null;
if ( $forceIncludeObjectWithId == null){
$warehouses = Warehouse::find()->andWhere(['status' => Warehouse::STATUS_ACTIVE])->all();
}else{
$warehouses = Warehouse::find()->andWhere( ['or', ['status' => Warehouse::STATUS_ACTIVE], ['id_warehouse' => $forceIncludeObjectWithId ] ])->all();
}
return $warehouses;
}
}