Yuki Takei %!s(int64=9) %!d(string=hai) anos
pai
achega
e4d4596f32
Modificáronse 1 ficheiros con 30 adicións e 29 borrados
  1. 30 29
      lib/routes/admin.js

+ 30 - 29
lib/routes/admin.js

@@ -229,37 +229,38 @@ module.exports = function(crowi, app) {
       return res.redirect('/admin');
     }
 
-    Promise.resolve().then(function() {
-      return new Promise(function(resolve, reject) {
-        search.deleteIndex()
-          .then(function(data) {
-            debug('Index deleted.');
-            resolve();
-          }).catch(function(err) {
-            debug('Delete index Error, but if it is initialize, its ok.', err);
-            resolve();
-          });
-      });
-    }).then(function() {
-      search.buildIndex()
-        .then(function(data) {
-          if (!data.errors) {
-            debug('Index created.');
-          }
-          return search.addAllPages();
-        })
+    return new Promise(function(resolve, reject) {
+      search.deleteIndex()
         .then(function(data) {
-          if (!data.errors) {
-            debug('Data is successfully indexed.');
-          } else {
-            debug('Data index error.', data.errors);
-          }
-        })
-        .catch(function(err) {
-          debug('Error', err);
+          debug('Index deleted.');
+          resolve();
+        }).catch(function(err) {
+          debug('Delete index Error, but if it is initialize, its ok.', err);
+          resolve();
         });
-
-      req.flash('successMessage', 'Now re-building index ... this takes a while.');
+    })
+    .then(function() {
+      return search.buildIndex()
+    })
+    .then(function(data) {
+      if (!data.errors) {
+        debug('Index created.');
+      }
+      return search.addAllPages();
+    })
+    .then(function(data) {
+      if (!data.errors) {
+        debug('Data is successfully indexed.');
+        req.flash('successMessage', 'Data is successfully indexed.');
+      } else {
+        debug('Data index error.', data.errors);
+        req.flash('errorMessage', `Data index error: ${data.errors}`);
+      }
+      return res.redirect('/admin/search');
+    })
+    .catch(function(err) {
+      debug('Error', err);
+      req.flash('errorMessage', `Error: ${err}`);
       return res.redirect('/admin/search');
     });
   };