thamtech /
yii2-scheduler
| 1 | <?php |
||
| 2 | /** |
||
| 3 | * @copyright Copyright(c) 2016 Webtools Ltd |
||
| 4 | * @copyright Copyright(c) 2018 Thamtech, LLC |
||
| 5 | * @link https://github.com/thamtech/yii2-scheduler |
||
| 6 | * @license https://opensource.org/licenses/MIT |
||
| 7 | **/ |
||
| 8 | |||
| 9 | namespace thamtech\scheduler\actions; |
||
| 10 | |||
| 11 | use thamtech\scheduler\models\SchedulerLog; |
||
| 12 | use Yii; |
||
| 13 | use yii\base\Action; |
||
| 14 | use thamtech\scheduler\models\SchedulerTask; |
||
| 15 | |||
| 16 | /** |
||
| 17 | * View a task instance. |
||
| 18 | */ |
||
| 19 | class ViewAction extends Action |
||
| 20 | { |
||
| 21 | /** |
||
| 22 | * @var string the view file to be rendered. If not set, it will take the value of [[id]]. |
||
| 23 | * That means, if you name the action as "index" in "SchedulerController", then the view name |
||
| 24 | * would be "index", and the corresponding view file would be "views/scheduler/index.php". |
||
| 25 | */ |
||
| 26 | public $view; |
||
| 27 | |||
| 28 | /** |
||
| 29 | * Runs the action |
||
| 30 | * |
||
| 31 | * @return string result content |
||
| 32 | */ |
||
| 33 | public function run($id) |
||
| 34 | { |
||
| 35 | $model = SchedulerTask::findOne($id); |
||
| 36 | $request = Yii::$app->getRequest(); |
||
| 37 | |||
| 38 | if (!$model) { |
||
|
0 ignored issues
–
show
introduced
by
Loading history...
|
|||
| 39 | throw new \yii\web\HttpException(404, 'The requested page does not exist.'); |
||
| 40 | } |
||
| 41 | |||
| 42 | if ($model->load($request->post())) { |
||
| 43 | $model->save(); |
||
| 44 | } |
||
| 45 | |||
| 46 | $logModel = new SchedulerLog(); |
||
| 47 | $logModel->scheduler_task_id = $model->id; |
||
| 48 | $logDataProvider = $logModel->search($_GET); |
||
| 49 | |||
| 50 | return $this->controller->render($this->view ?: $this->id, [ |
||
| 51 | 'model' => $model, |
||
| 52 | 'logModel' => $logModel, |
||
| 53 | 'logDataProvider' => $logDataProvider, |
||
| 54 | ]); |
||
| 55 | } |
||
| 56 | } |
||
| 57 |