From 0abaa65bf84db25c5bc13eff896c12d8c944313b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Sun, 31 May 2026 12:48:08 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20preserve=20form=20values=20on=20error=20?= =?UTF-8?q?+=20rename=20=D0=94=D0=B0=D1=82=D0=B0=E2=86=92=D0=94=D0=BE?= =?UTF-8?q?=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0,=20=D0=98=D0=B7?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D1=91=D0=BD=E2=86=92=D0=98=D0=B7=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=B5=D0=BD=D0=B0=20+=20bump=200.5.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- ui/routes/entries.js | 18 +++++++++++++++--- views/index.ejs | 8 ++++---- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index bc48399..e8937d1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ipwhitelist", - "version": "0.5.0", + "version": "0.5.1", "description": "IP WhiteList microservice for cloud provider", "main": "server.js", "scripts": { diff --git a/ui/routes/entries.js b/ui/routes/entries.js index 4bf50f5..efab15a 100644 --- a/ui/routes/entries.js +++ b/ui/routes/entries.js @@ -76,6 +76,8 @@ function createRouter() { selectedCompany, error: req.query.error || null, success: req.query.success || null, + lastValue: req.query.lastValue || '', + lastComment: req.query.lastComment || '', csrfToken: '', }); } catch (e) { @@ -84,7 +86,7 @@ function createRouter() { user: req.user, isAdmin: req.user.isAdmin, companies: [], selectedCompany: null, error: 'Ошибка загрузки: ' + e.message, - success: null, csrfToken: '', + success: null, lastValue: '', lastComment: '', csrfToken: '', }); } }); @@ -103,7 +105,12 @@ function createRouter() { : 'Запись добавлена'; return res.redirect(back + (back.includes('?') ? '&' : '?') + 'success=' + encodeURIComponent(msg)); } - res.redirect(back + (back.includes('?') ? '&' : '?') + 'error=' + encodeURIComponent((r.data && r.data.error) || 'Ошибка')); + // Ошибка — возвращаем введённые значения чтобы не перепечатывать + const err = (r.data && r.data.error) || 'Ошибка'; + res.redirect(back + (back.includes('?') ? '&' : '?') + + 'error=' + encodeURIComponent(err) + + '&lastValue=' + encodeURIComponent(value || '') + + '&lastComment=' + encodeURIComponent(comment || '')); } catch (e) { res.redirect(back + (back.includes('?') ? '&' : '?') + 'error=' + encodeURIComponent(e.message)); } @@ -120,7 +127,12 @@ function createRouter() { if (r.status === 200) { return res.redirect(back + (back.includes('?') ? '&' : '?') + 'success=' + encodeURIComponent('Запись обновлена')); } - res.redirect(back + (back.includes('?') ? '&' : '?') + 'error=' + encodeURIComponent((r.data && r.data.error) || 'Ошибка')); + // Ошибка — возвращаем введённые значения в модалку + const err = (r.data && r.data.error) || 'Ошибка'; + res.redirect(back + (back.includes('?') ? '&' : '?') + + 'error=' + encodeURIComponent(err) + + '&lastValue=' + encodeURIComponent(value || '') + + '&lastComment=' + encodeURIComponent(comment || '')); } catch (e) { res.redirect(back + (back.includes('?') ? '&' : '?') + 'error=' + encodeURIComponent(e.message)); } diff --git a/views/index.ejs b/views/index.ejs index dfea0cc..6453b9f 100644 --- a/views/index.ejs +++ b/views/index.ejs @@ -245,11 +245,11 @@
- = limit ? 'disabled' : '' %>> + = limit ? 'disabled' : '' %>>
- +