From 01275787b67bd46adf6c06c1afae36b91fecc391 Mon Sep 17 00:00:00 2001 From: psychobunny Date: Fri, 25 Aug 2017 13:59:14 -0400 Subject: [PATCH] added widgets.resetTemplate(s) --- src/widgets/index.js | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/widgets/index.js b/src/widgets/index.js index 9071989722..23f1cdefdb 100644 --- a/src/widgets/index.js +++ b/src/widgets/index.js @@ -216,4 +216,35 @@ widgets.reset = function (callback) { ], callback); }; +widgets.resetTemplate = function (template, callback) { + db.getObject('widgets:' + template + '.tpl', function (err, area) { + if (err) { + return callback(); + } + + var toBeDrafted = []; + for (var location in area) { + if (area.hasOwnProperty(location)) { + toBeDrafted = toBeDrafted.concat(JSON.parse(area[location])); + } + } + + db.delete('widgets:' + template + '.tpl'); + db.getObjectField('widgets:global', 'drafts', function (err, draftWidgets) { + if (err) { + return callback(); + } + + draftWidgets = JSON.parse(draftWidgets).concat(toBeDrafted); + db.setObjectField('widgets:global', 'drafts', JSON.stringify(draftWidgets), callback); + }); + }); +}; + +widgets.resetTemplates = function (templates, callback) { + async.eachSeries(templates, function (template, next) { + widgets.resetTemplate(template, next); + }, callback); +}; + module.exports = widgets;