{
$model = new StoresTypeList();
$editId = $this->request->post('editId');
- $deleteId = $this->request->post('deleteId');
if ($model->load($this->request->post())) {
- if (!empty($editId) && empty($deleteId)) {
+ if (!empty($editId)) {
+ // Редактирование
$existingModel = StoresTypeList::findOne($editId);
if ($existingModel) {
$existingModel->type_name = $model->type_name;
Yii::$app->session->setFlash('success', 'Запись успешно обновлена.');
return $this->redirect(['index']);
} else {
- // Yii::$app->session->setFlash('error', 'Ошибка сохранения.');
+ Yii::$app->session->setFlash('error', 'Ошибка сохранения.');
}
}
} else {
Yii::$app->session->setFlash('success', 'Новая запись успешно создана.');
return $this->redirect(['index']);
} else {
- // Yii::$app->session->setFlash('error', 'Ошибка сохранения.');
+ Yii::$app->session->setFlash('error', 'Ошибка сохранения.');
}
}
-
- }
-
- if (!empty($deleteId)) {
- $deleteModel = StoresTypeList::findOne($deleteId);
- if ($deleteModel && $deleteModel->delete()) {
- Yii::$app->session->setFlash('success', 'Запись успешно удалена.');
- return $this->redirect(['index']);
- }
}
$dataProvider = new ActiveDataProvider([
{
$this->findModel($id)->delete();
+ if (Yii::$app->request->isAjax) {
+ return $this->asJson(['success' => true, 'message' => 'Запись успешно удалена.']);
+ }
+
return $this->redirect(['index']);
}
const cancelBtn = document.getElementById('cancel-btn');
const saveBtn = document.getElementById('save-btn');
const editBtn = document.getElementById('edit-btn');
+ let typeNameVar = '';
+ let idData = '';
list.addEventListener('click', function (event) {
const target = event.target;
if (data.error) {
alert(data.error);
} else {
- typeNameField.value = data.type_name;
- editIdInput.value = id;
+ typeNameVar = data.type_name;
+ idData = id;
+ editIdInput.value = '';
deleteIdInput.value = '';
document.querySelectorAll('.list-group-item').forEach(item => {
});
editBtn.addEventListener('click', function () {
- const id = editIdInput.value;
+
+
+ const id = idData;
+
if (id) {
- saveBtn.click();
+ editIdInput.value = id;
+ typeNameField.value = typeNameVar;
} else {
alert('Выберите запись для редактирования.');
}
});
deleteBtn.addEventListener('click', function () {
- const id = editIdInput.value;
+ const id = idData;
+
if (id && confirm('Вы уверены, что хотите удалить запись?')) {
+ fetch(`/stores-type-list/delete?id=${id}`, {
+ method: 'POST',
+ headers: {
+ 'X-CSRF-Token': document.querySelector('meta[name="csrf-token"]').content // CSRF-токен
+ },
+ })
+ .then(response => {
+ if (response.ok) {
+ alert('Запись успешно удалена.');
+ location.reload();
+ } else {
+ alert('Ошибка при удалении записи.');
+ }
+ })
+ .catch(error => {
+ console.error('Ошибка:', error);
+ alert('Ошибка при удалении записи.');
+ });
+
editIdInput.value = '';
- deleteIdInput.value = id;
- saveBtn.click();
+ deleteIdInput.value = '';
+ typeNameVar = '';
+ idData = '';
}
+
});
cancelBtn.addEventListener('click', function () {
typeNameField.value = '';
editIdInput.value = '';
deleteIdInput.value = '';
+ typeNameVar = '';
+ idData = '';
deleteBtn.classList.add('d-none');
editBtn.classList.add('d-none');
document.querySelectorAll('.list-group-item').forEach(item => {