add contraint , that everybody expect admin is limited to 3 days, Add card package

This commit is contained in:
2016-02-13 17:23:43 +01:00
parent 556bdc3066
commit 70f43468af
37 changed files with 1418 additions and 19 deletions

View File

@@ -0,0 +1,92 @@
<?php
namespace backend\models;
use Yii;
use yii\base\Model;
use yii\data\ActiveDataProvider;
use common\models\CardPackage;
/**
* CardPackageSearch represents the model behind the search form about `common\models\CardPackage`.
*/
class CardPackageSearch extends CardPackage
{
public static $STATUS_NOT_PRINTED = 10;
public static $STATUS_PRINTED = 20;
public $printStatus;
/**
* @inheritdoc
*/
public function rules()
{
return [
[['id_card_package', 'id_user', 'printed','printStatus'], 'integer'],
];
}
/**
* @inheritdoc
*/
public function scenarios()
{
// bypass scenarios() implementation in the parent class
return Model::scenarios();
}
/**
* Creates data provider instance with search query applied
*
* @param array $params
*
* @return ActiveDataProvider
*/
public function search($params)
{
$query = CardPackage::find();
$dataProvider = new ActiveDataProvider([
'query' => $query,
'sort' =>[
'defaultOrder' => ['created_at' => SORT_DESC]
]
]);
$this->load($params);
if (!$this->validate()) {
// uncomment the following line if you do not want to return any records when validation fails
// $query->where('0=1');
return $dataProvider;
}
$query->andFilterWhere([
'id_card_package' => $this->id_card_package,
'id_user' => $this->id_user,
]);
if ( isset($this->printStatus)){
switch ($this->printStatus){
case self::$STATUS_NOT_PRINTED:
$query->andWhere( ['or' ,['card_package.printed' => null], [ "card_package.printed" => 0 ] ]);
break;
case self::$STATUS_PRINTED:
$query->andWhere( [">" ,"card_package.printed" , 0 ]);
break;
}
}
return $dataProvider;
}
public static function getPrintStatuses(){
return [
self::$STATUS_NOT_PRINTED => "Nincs letöltve",
self::$STATUS_PRINTED => "Letöltve",
];
}
}