add coronavirus activate/inactivate

This commit is contained in:
2020-04-20 09:10:18 +02:00
parent e7e4183221
commit 5d847e2538
13 changed files with 628 additions and 10 deletions

View File

@@ -0,0 +1,65 @@
<?php
namespace backend\models;
use common\models\Card;
use common\models\Ticket;
use Yii;
use yii\base\Model;
class CustomerActivateForm extends Model{
public $inactiveCardCount;
public $message ;
public function rules()
{
return [
];
}
public function loadActiveCardCount(){
$this->inactiveCardCount = Card::find()->andWhere(
['status' => Card::STATUS_INACTIVE]
)->count();
}
/**
* @return bool
* @throws \Exception
*/
public function activate(){
if ( !$this->validate()){
return false;
}
$tx = \Yii::$app->db->beginTransaction();
assert(isset($tx));
try{
Yii::$app->db->createCommand(Ticket::$SQL_UPDATE_TICKETS_END_DATE_ON_CARD_ACTIVATION )->execute();
Card::updateAll(
[
'status' => Card::STATUS_ACTIVE,
'end' => 'date_add( end, INTERVAL datediff(current_date, c.inactivated_at) DAY )'
],
[
'status' => Card::STATUS_INACTIVE
]
);
Card::updateFlagStatus();
$tx->commit();
}catch (\Exception $exception){
$tx->rollBack();
throw $exception;
}
$this->message = $this->inactiveCardCount ." kártya aktiválva" ;
return true;
}
}