public function actionDelRequest($id)
 {
     $request = Requests::findOne($id);
     if ($request->delete()) {
         Yii::$app->getSession()->setFlash('success', 'Запрос удален');
     } else {
         Yii::$app->getSession()->setFlash('error', 'Возникли проблемы. Попробуйте позже');
     }
     return $this->redirect(['/certificates/requests', 'tasks_id' => $request->tasks_id]);
 }
 public function createExcels($tasks_id)
 {
     $this->tasks_id = $tasks_id;
     $requests_array = [];
     $requests = Requests::find()->where(['tasks_id' => $tasks_id])->all();
     foreach ($requests as $request) {
         $requested_certificates = RequestedCertificates::find()->where(['requests_id' => $request->id])->all();
         foreach ($requested_certificates as $requested_certificate) {
             $wagons = $this->parseWagons($requested_certificate->wagons);
             foreach ($wagons as $wagon) {
                 $requests_array[$requested_certificate->certificate->code][] = $wagon;
             }
         }
     }
     $dir = 'uploads/certificates/certificates_excel/task_' . $tasks_id . '_' . date('d.m.Y');
     if (!is_dir($dir)) {
         mkdir($dir, 0777, true);
     }
     foreach ($requests_array as $certificate => $wagons) {
         $this->writeOneCertificate($wagons, $certificate, $dir);
     }
     $this->createTaskZip($tasks_id);
 }
Exemple #3
0
 public function getRequestAmount()
 {
     return Requests::find()->where(['tasks_id' => $this->id])->count();
 }
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getRequest()
 {
     return $this->hasOne(Requests::className(), ['id' => 'requests_id']);
 }