From 55c9e6f4b621c6597496f2ac4832c79ff5901b65 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Thu, 1 Sep 2016 15:32:47 +0300 Subject: [PATCH] closes #3818 set the value saved to empty string if the email is identical to original this causes the original to be used since empty string is falsy --- public/src/admin/settings/email.js | 17 ++++++++++++----- src/controllers/admin/settings.js | 6 +++--- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/public/src/admin/settings/email.js b/public/src/admin/settings/email.js index 78a058e19d..02edfffcaa 100644 --- a/public/src/admin/settings/email.js +++ b/public/src/admin/settings/email.js @@ -34,16 +34,23 @@ define('admin/settings/email', ['admin/settings'], function(settings) { emailEditor.setTheme("ace/theme/twilight"); emailEditor.getSession().setMode("ace/mode/html"); - emailEditor.on('change', function(event) { - $('#email-editor-holder').val(emailEditor.getValue()); + emailEditor.on('change', function() { + var emailPath = $('#email-editor-selector').val(); + var original; + ajaxify.data.emails.forEach(function(email) { + if (email.path === emailPath) { + original = email.original; + } + }); + var newEmail = emailEditor.getValue(); + $('#email-editor-holder').val(newEmail !== original ? newEmail : ''); }); $('button[data-action="email.revert"]').off('click').on('click', function() { ajaxify.data.emails.forEach(function(email) { if (email.path === $('#email-editor-selector').val()) { emailEditor.getSession().setValue(email.original); - $('#email-editor-holder') - .val(email.original); + $('#email-editor-holder').val(''); } }); }); @@ -56,7 +63,7 @@ define('admin/settings/email', ['admin/settings'], function(settings) { if (email.path === $('#email-editor-selector').val()) { emailEditor.getSession().setValue(email.text); $('#email-editor-holder') - .val(email.text) + .val(email.text !== email.original ? email.text : '') .attr('data-field', 'email:custom:' + email.path); } }); diff --git a/src/controllers/admin/settings.js b/src/controllers/admin/settings.js index 50c44ef1b7..13e7b42722 100644 --- a/src/controllers/admin/settings.js +++ b/src/controllers/admin/settings.js @@ -19,9 +19,9 @@ settingsController.get = function(req, res, next) { function renderEmail(req, res, next) { - var fs = require('fs'), - path = require('path'), - utils = require('../../../public/src/utils'); + var fs = require('fs'); + var path = require('path'); + var utils = require('../../../public/src/utils'); var emailsPath = path.join(__dirname, '../../../public/templates/emails'); utils.walk(emailsPath, function(err, emails) {