/** * Displays a particular model. * @param integer $id the ID of the model to be displayed */ public function actionView($id) { $model = $this->loadModel($id); $historyModel = new CardsHistory('search'); $historyModel->unsetAttributes(); if (isset($_GET['CardsHistory'])) { $historyModel->attributes = $_GET['CardsHistory']; } $historyModel->card_id = $model->id; $this->render('view', array('model' => $model, 'historyModel' => $historyModel)); }
});', CClientScript::POS_READY); ?> <h1><?php echo Yii::t('app', 'History of the card #') . CHtml::encode($model->number); ?> </h1> <div class="row"> <div class="col-sm-6"> <?php $this->widget('booster.widgets.TbDetailView', array('data' => $model, 'type' => array('striped', 'bordered'), 'attributes' => array(array('name' => 'series', 'type' => 'raw', 'value' => function ($data) { return Cards::getSeriesList($data->series); }), 'number', array('name' => 'created_at', 'type' => 'raw', 'value' => function ($data) { return date("d.m.Y H:i:s", strtotime($data->created_at)); }), array('name' => 'expired_at', 'type' => 'raw', 'value' => function ($data) { return date("d.m.Y H:i:s", $data->expired_at); }), array('name' => 'status', 'type' => 'raw', 'value' => function ($data) { return $data->cardStatus; })))); ?> </div> <div class="col-sm-6"> <?php $this->widget('booster.widgets.TbGridView', array('id' => 'history-grid', 'dataProvider' => $historyModel->search(), 'filter' => $historyModel, 'afterAjaxUpdate' => 'function(){ jQuery("#CardsHistory_action_date").datepicker({"language":"' . Yii::app()->language . '", format:"dd.mm.yyyy"}); jQuery("#CardsHistory_action_date").on("changeDate", function(ev){ jQuery(this).datepicker("hide"); });}', 'type' => 'striped bordered', 'template' => "{items}\n{pager}", 'enablePagination' => true, 'pager' => array('class' => 'booster.widgets.TbPager'), 'columns' => array('action_date' => array('name' => 'action_date', 'value' => 'date("d.m.Y H:i:s", strtotime($data->action_date))', 'htmlOptions' => array('data-title' => Yii::t('app', 'Date'))), 'status' => array('name' => 'status', 'filter' => CardsHistory::getStatusList(), 'value' => '$data->cardStatus', 'type' => 'raw', 'htmlOptions' => array('data-title' => Yii::t('app', 'Status')))))); ?> </div> </div>
public function afterSave() { $sql = "INSERT INTO {{cards_history}} "; $sql .= "(card_id, status) "; $sql .= "VALUES(:card_id, :status)"; $cardHist = new CardsHistory(); $cardHist->status = $this->isNewRecord ? 0 : $this->status; $cardHist->card_id = $this->id; $cardHist->save(); return parent::afterSave(); }