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 @@