diff options
| author | qsm-odoo <qsm@odoo.com> | 2018-09-26 16:56:45 +0200 |
|---|---|---|
| committer | qsm-odoo <qsm@odoo.com> | 2018-09-26 21:08:35 +0200 |
| commit | 5c9d313007a4300a05d6b049d7b69c8e61491555 (patch) | |
| tree | 2721f0bbb82e8ffb4f23a11c747dc26db7ceef0e /addons/website/static/src/js/widgets/theme.js | |
| parent | 67ac1b541db7e812cd41c1251bec37d38ac97548 (diff) | |
[FIX] website: better allow color extensions in the future
Diffstat (limited to 'addons/website/static/src/js/widgets/theme.js')
| -rw-r--r-- | addons/website/static/src/js/widgets/theme.js | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/addons/website/static/src/js/widgets/theme.js b/addons/website/static/src/js/widgets/theme.js index 9fc2f0e1c21..416f9eaba8d 100644 --- a/addons/website/static/src/js/widgets/theme.js +++ b/addons/website/static/src/js/widgets/theme.js @@ -504,13 +504,8 @@ var ThemeCustomizeDialog = Dialog.extend({ }).then(function (data) { var files = data.scss[0][1]; var file = _.find(files, function (file) { - switch (colorType) { - case 'theme': - return file.url === '/website/static/src/scss/options/colors/user_theme_color_palette.scss'; - case 'typo': - return file.url === '/website/static/src/scss/options/colors/user_color_palette_typo.scss'; - } - return file.url === '/website/static/src/scss/options/colors/user_color_palette_' + colorName + '.scss'; + var baseURL = '/website/static/src/scss/options/colors/'; + return file.url === _.str.sprintf('%suser_%scolor_palette.scss', baseURL, (colorType ? (colorType + '_') : '')); }); var colors = {}; @@ -524,7 +519,16 @@ var ThemeCustomizeDialog = Dialog.extend({ var updatedFileContent = file.arch; _.each(colors, function (colorValue, colorName) { - updatedFileContent = updatedFileContent.replace(new RegExp(colorName + ': (?:null|#[a-fA-F0-9]{6}),'), colorName + ': ' + colorValue + ','); + var pattern = _.str.sprintf("'%s': %%s,\n", colorName); + var regex = new RegExp(_.str.sprintf(pattern, ".+")); + var replacement = _.str.sprintf(pattern, colorValue); + if (regex.test(updatedFileContent)) { + updatedFileContent = updatedFileContent + .replace(regex, replacement); + } else { + updatedFileContent = updatedFileContent + .replace(/( *)(.*hook.*)/, _.str.sprintf('$1%s$1$2', replacement)); + } }); return self._rpc({ |
