From ba16f95d1f4026a38141722c93373a1bb059b4dd Mon Sep 17 00:00:00 2001
From: Julian Lam <julian@designcreateplay.com>
Date: Mon, 7 Apr 2014 19:15:38 -0400
Subject: [PATCH] Resetting 'all' done in series now -- #1317

---
 app.js | 28 +++++++++++++---------------
 1 file changed, 13 insertions(+), 15 deletions(-)

diff --git a/app.js b/app.js
index 194f0edb3a..497f6514c2 100644
--- a/app.js
+++ b/app.js
@@ -84,22 +84,13 @@ if (!nconf.get('help') && !nconf.get('setup') && !nconf.get('install') && !nconf
 	} else if (nconf.get('widgets')) {
 		resetWidgets();
 	} else if (nconf.get('all')) {
-		resetWidgets(function(err) {
-			if (err) {
-				winston.error('[reset] Errors were encountered while resetting widget areas: ' + err.message);
-				process.exit();
+		require('async').series([resetWidgets, resetThemes, resetPlugins], function(err) {
+			if (!err) {
+				winston.info('[reset] Reset complete.');
 			} else {
-				winston.info('[reset] All Widgets moved to Draft Zone');
+				winston.error('[reset] Errors were encountered while resetting your forum settings: ' + err.message);
 			}
-
-			require('async').parallel([resetThemes, resetPlugins], function(err) {
-				if (!err) {
-					winston.info('[reset] Reset complete.');
-				} else {
-					winston.error('[reset] Errors were encountered while resetting your forum settings: ' + err.message);
-				}
-				process.exit();
-			});
+			process.exit();
 		});
 	} else {
 		console.log('no match');
@@ -268,7 +259,14 @@ function resetWidgets(callback) {
 	var db = require('./src/database');
 
 	db.init(function() {
-		require('./src/widgets').reset(callback);
+		require('./src/widgets').reset(function(err) {
+			winston.info('[reset] All Widgets moved to Draft Zone');
+			if (typeof callback === 'function') {
+				callback(err);
+			} else {
+				process.exit();
+			}
+		});
 	});
 }