From 77b0c3091e6e24821e5a47b40199e623abe49d9f Mon Sep 17 00:00:00 2001 From: Alexander Smirnov Date: Thu, 28 Nov 2024 17:32:16 +0300 Subject: [PATCH] =?utf8?q?[ERP-251]=20=D0=BC=D1=8F=D0=B3=D0=BA=D0=BE=D0=B5?= =?utf8?q?=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B8?= =?utf8?q?=D0=B7=20matrix=5Ferp?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/controllers/MatrixErpController.php | 11 +++++++- ...x_erp_add_column_deleted_at_deleted_by.php | 28 +++++++++++++++++++ erp24/records/MatrixErp.php | 20 +++++++++++-- erp24/views/matrix_erp/index.php | 8 +++++- 4 files changed, 63 insertions(+), 4 deletions(-) create mode 100755 erp24/migrations/m241128_124631_alter_table_matrix_erp_add_column_deleted_at_deleted_by.php diff --git a/erp24/controllers/MatrixErpController.php b/erp24/controllers/MatrixErpController.php index 2c2cd193..0bdb1c38 100644 --- a/erp24/controllers/MatrixErpController.php +++ b/erp24/controllers/MatrixErpController.php @@ -85,7 +85,7 @@ class MatrixErpController extends Controller // taskFilter 3000-3500 $filterModel = DynamicModel::validateData([ - 'activeFilter', + 'activeFilter' => 1, 'nameFilter', 'groupNameFilter', @@ -238,6 +238,15 @@ class MatrixErpController extends Controller ]); } + public function actionDelete($id) { + $matrixErp = MatrixErp::findOne($id); + $matrixErp->active = 0; + $matrixErp->deleted_at = date('Y-m-d H:i:s'); + $matrixErp->deleted_by = Yii::$app->user->id; + $matrixErp->save(); + + return $this->redirect('index'); + } /** * Finds the MatrixErp model based on its primary key value. diff --git a/erp24/migrations/m241128_124631_alter_table_matrix_erp_add_column_deleted_at_deleted_by.php b/erp24/migrations/m241128_124631_alter_table_matrix_erp_add_column_deleted_at_deleted_by.php new file mode 100755 index 00000000..ca83f95b --- /dev/null +++ b/erp24/migrations/m241128_124631_alter_table_matrix_erp_add_column_deleted_at_deleted_by.php @@ -0,0 +1,28 @@ +addColumn(self::TABLE_NAME, 'deleted_at', $this->dateTime()->null()->comment('Дата и время удаления')); + $this->addColumn(self::TABLE_NAME, 'deleted_by', $this->integer()->null()->comment('ID удалившего пользователя')); + } + + /** + * {@inheritdoc} + */ + public function safeDown() + { + $this->dropColumn(self::TABLE_NAME, 'deleted_by'); + $this->dropColumn(self::TABLE_NAME, 'deleted_at'); + } +} diff --git a/erp24/records/MatrixErp.php b/erp24/records/MatrixErp.php index 3adeb8ea..33094605 100644 --- a/erp24/records/MatrixErp.php +++ b/erp24/records/MatrixErp.php @@ -3,7 +3,9 @@ namespace yii_app\records; use Yii; +use yii\behaviors\TimestampBehavior; use yii\db\ActiveQueryInterface; +use yii\db\Expression; use yii_app\helpers\DataHelper; /** @@ -25,6 +27,8 @@ use yii_app\helpers\DataHelper; * @property int|null $created_at * @property int|null $updated_admin_id * @property int|null $updated_at + * @property string|null $deleted_at + * @property int|null $deleted_by */ class MatrixErp extends \yii\db\ActiveRecord { @@ -38,6 +42,18 @@ class MatrixErp extends \yii\db\ActiveRecord return 'matrix_erp'; } + public function behaviors() + { + return [ + [ + 'class' => TimestampBehavior::class, + 'createdAtAttribute' => 'created_at', + 'updatedAtAttribute' => 'updated_at', + 'value' => new Expression('NOW()'), + ], + ]; + } + /** * {@inheritdoc} */ @@ -46,8 +62,8 @@ class MatrixErp extends \yii\db\ActiveRecord return [ [['guid', 'date_from'], 'required'], [['category_id', 'active', 'created_admin_id', 'created_at', 'updated_admin_id', 'updated_at'], 'integer'], - [['components'], 'string'], - [['id'], 'integer'], + [['components', 'deleted_at'], 'string'], + [['id', 'deleted_by'], 'integer'], [['guid', 'parent_id', 'group_name', 'code', 'articule', 'date_from', 'date_to'], 'string', 'max' => 100], [['name'], 'string', 'max' => 255], ]; diff --git a/erp24/views/matrix_erp/index.php b/erp24/views/matrix_erp/index.php index 9fd5a64d..e4e5c74b 100644 --- a/erp24/views/matrix_erp/index.php +++ b/erp24/views/matrix_erp/index.php @@ -177,6 +177,12 @@ $this->params['breadcrumbs'][] = $this->title; } $editUrl = Html::a("Редактировать", ['/matrix-erp/update', 'id' => $item->id], ['class' => 'btn btn-primary', 'target'=>'blank']); + $deleteUrl = Html::a("Удалить", ['/matrix-erp/delete', 'id' => $item->id], [ + 'class' => 'btn btn-danger', 'data' => [ + 'confirm' => 'Вы уверены, что хотите удалить этот элемент?', + 'method' => 'post', + ] + ]); $image = ''; @@ -194,7 +200,7 @@ $this->params['breadcrumbs'][] = $this->title; date_from ?> date_to ?> active) ? 'Активна': 'Не активна') ?> - + -- 2.39.5