diff --git a/backend/controllers/CheckPriceController.php b/backend/controllers/CheckPriceController.php index eda7d19..59e07c9 100644 --- a/backend/controllers/CheckPriceController.php +++ b/backend/controllers/CheckPriceController.php @@ -95,4 +95,5 @@ class CheckPriceController extends BaseController return $this->render('view', ['dataProvider' => $provider]); } + } diff --git a/backend/controllers/ParserController.php b/backend/controllers/ParserController.php index b23ec73..588d442 100644 --- a/backend/controllers/ParserController.php +++ b/backend/controllers/ParserController.php @@ -36,7 +36,6 @@ class ParserController extends BaseController 'class' => AccessControl::className(), 'rules' => [ [ - 'actions' => ['index', 'results', 'write', 'check_price'], 'allow' => true, 'roles' => ['@'], ], @@ -255,7 +254,6 @@ class ParserController extends BaseController public function actionAutoUpload() { - //$query = (new Query())->select('*')->from('{{%importer_files}}')->where(['not', ['time_end' => null]])->orderBy(['upload_time' => SORT_DESC]); $query = Importer::find()->where(['active' => true])->orderBy(['price_date_update' => SORT_DESC]); $provider = new ActiveDataProvider([ @@ -268,4 +266,47 @@ class ParserController extends BaseController [ 'dataProvider' => $provider]); } + + public function actionServerFiles () + { + $arr_id = []; + // получим список файлов которые ожидают к загрузке + foreach (glob(Yii::getAlias('@auto_upload') . '/*') as $server_file) { + $file_id = basename($server_file,".csv"); + $arr_id[] = (int) $file_id; + } + + $query = ImporterFiles::find()->where(['in', 'id', $arr_id])->orderBy(['upload_time' => SORT_DESC]); + + $provider = new ActiveDataProvider([ + 'query' => $query, + 'pagination' => [ + 'pageSize' => 10, + ], + ]); + return $this->render('server-files', + [ + 'dataProvider' => $provider]); + } + + public function actionDelete ($id) + { + if(Yii::$app->request->isAjax){ + CustomVarDamp::dumpAndDie(1); + } + + $files_model = new ImporterFiles(); + try { + + $files_model->delete($id); + unlink(Yii::getAlias('@auto_upload') . '/' . $id . '.csv' ); + + } catch (ErrorException $e) { + + CustomVarDamp::dump($e->getMessage()); + + } + + $this->redirect('server-files'); + } } diff --git a/backend/models/ImporterFiles.php b/backend/models/ImporterFiles.php index 350a0bb..ab664ab 100644 --- a/backend/models/ImporterFiles.php +++ b/backend/models/ImporterFiles.php @@ -2,6 +2,7 @@ namespace backend\models; +use common\components\CustomVarDamp; use Yii; /** @@ -37,8 +38,9 @@ class ImporterFiles extends \yii\db\ActiveRecord public function getImporter () { - return $this->hasOne(Importer::className(), ['id' => 'importer_id'])->name; + return $this->hasOne(Importer::className(), ['id' => 'importer_id'])->one()->name; } + /** * @inheritdoc */ diff --git a/backend/views/layouts/column.php b/backend/views/layouts/column.php index 930e164..2e9e118 100644 --- a/backend/views/layouts/column.php +++ b/backend/views/layouts/column.php @@ -283,6 +283,7 @@ $this->beginContent('@app/views/layouts/main.php'); 'options' => ['class' => 'sidebar-menu'], 'items' => [ ['label' => "Загрузка файлов", 'url' => ['#'], 'items' => [ + ['label' => 'Файлы на сервере', 'url' => ['parser/server-files']], ['label' => 'Загрузить файл на сервер', 'url' => ['parser/index', 'mode' => 1]], ['label' => 'Ручная загрузка', 'url' => ['parser/index']], ['label' => 'Проверка прайс файлов', 'url' => ['check-price/index']], diff --git a/backend/views/parser/server-files.php b/backend/views/parser/server-files.php new file mode 100644 index 0000000..e82bc0a --- /dev/null +++ b/backend/views/parser/server-files.php @@ -0,0 +1,54 @@ +title = 'Проверка прайсов'; +$this->params['breadcrumbs'][] = $this->title; +Pjax::begin(); + +?> +
+ +

title) ?>

+ + $dataProvider, + 'columns' => [['class' => SerialColumn::className()], + [ + 'label' =>'Поставщик', + 'value' => function ($data) { + return $data->importer; + }, + ], + ['label' =>'Дата загрузки', + 'attribute' => 'upload_time' ], + + ['class' => ActionColumn::className(), + 'template'=>'{delete}', + 'buttons' => [ + 'delete' => function ($url, $model, $key) { + return Html::a('', $url, [ + 'title' => Yii::t('yii', 'Удалить файл'), + 'data-confirm' => 'Вы уверены что хотите удалить этот файл?', + 'data-method' => 'post', + 'data-pjax' => '1', + ]); + }, + ], + ] + + ]] );?> + + + +
+ \ No newline at end of file diff --git a/vendor/yiisoft/multiparser/YiiMultiparser.php b/vendor/yiisoft/multiparser/YiiMultiparser.php index 0abf73e..503a866 100644 --- a/vendor/yiisoft/multiparser/YiiMultiparser.php +++ b/vendor/yiisoft/multiparser/YiiMultiparser.php @@ -37,5 +37,5 @@ public $configuration; return $parser->run(); } - + } \ No newline at end of file -- libgit2 0.21.4