Ejemplo n.º 1
0
 public function actionUpload()
 {
     $model = new Tasks();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('upload', ['model' => $model]);
     }
 }
Ejemplo n.º 2
0
 /**
  * Creates a new Tasks model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Tasks();
     $model->user_created = \Yii::$app->user->identity->id;
     $model->user_ispol = \Yii::$app->user->identity->id;
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
Ejemplo n.º 3
0
 public static function createJob($request)
 {
     $inv = Inventories::find($request->iid);
     $job = new Tasks();
     $job->iid = $request->iid;
     $job->tid = $request->tid;
     $job->vars = $request->vars;
     $job->sudo = $request->sudo;
     $job->hosts = $request->hosts;
     $job->save();
     $pid = $job->id;
     $vars = json_decode($job->vars);
     file_put_contents(storage_path("roles/inv{$pid}"), $inv->content);
     file_put_contents(storage_path("roles/yml{$pid}"), View::make("jobs.yml", compact("job", "pid", "vars"))->render());
     file_put_contents(storage_path("tmp/log" . $pid . ".txt"), "");
     dispatch(new runAnsible($job->id));
     return $job->id;
 }
Ejemplo n.º 4
0
 /**
  * @param Tasks $task
  * @param $link
  * @return bool
  */
 private function updateTask(Tasks $task, $link)
 {
     if (!$link) {
         $task->status = Tasks::STATUS_ERROR;
         $task->error_message = 'Cant save form';
         $task->save();
         Log::error("Link not found to task [{$task->id}]");
         return true;
     }
     $task->status = Tasks::STATUS_PROCESSED;
     $task->sent_at = Carbon::now()->format('Y-m-d H:i:s');
     $task->link = $link;
     $task->save();
     return true;
 }
Ejemplo n.º 5
0
 public function savestatusAction()
 {
     if (!$this->isXmlHttpRequest()) {
         throw new \Exception('Неверный тип запроса!');
     }
     $data = $this->request->getPost();
     if (!isset($data['id']) || !isset($data['task_status_id'])) {
         throw new \Exception('Неверный тип запроса!');
     }
     $data['id'] = (int) $data['id'];
     $data['task_status_id'] = (int) $data['task_status_id'];
     $tasksModel = new Tasks();
     $tasksModel->save($data);
     $timelineModel = new Timeline();
     $timelineModel->endWork($data['id']);
     $task = $tasksModel->getTasksDataById((int) $data['id']);
     $to = array();
     $usersModel = new Users();
     $usersModel->setWhere(array('id' => 1));
     $result1 = $usersModel->select();
     $to[] = $result1[0]['user'];
     $usersModel->setWhere(array('id' => (int) $task['executors_id']));
     $result2 = $usersModel->select();
     if ($result2 && $result2[0]['user'] != $result1[0]['user']) {
         $to[] = $result2[0]['user'];
     }
     $usersModel->setWhere(array('id' => (int) $task['initiator']));
     $result3 = $usersModel->select();
     $to[] = $result3[0]['user'];
     $subject = 'Изменение статуса задачи';
     $message = 'По задаче "' . $task['name'];
     $message .= '" сменился статус на ' . $task['ts_name'] . "\n";
     $message .= 'По проекту: ' . ($task['p_name'] ? $task['p_name'] : 'Без проекта');
     Mail::instance()->send($to, $subject, $message);
 }