Просмотр исходного кода

improve error handling when rename

Yuki Takei 7 лет назад
Родитель
Сommit
9266474a2e
2 измененных файлов с 19 добавлено и 7 удалено
  1. 3 3
      src/server/routes/page.js
  2. 16 4
      src/server/views/modal/rename.html

+ 3 - 3
src/server/routes/page.js

@@ -955,11 +955,11 @@ module.exports = function(crowi, app) {
       page = await Page.findByIdAndViewer(pageId, req.user);
 
       if (page == null) {
-        throw new Error(`Page '${pageId}' is not found or forbidden`, 'notfound_or_forbidden');
+        return res.json(ApiResponse.error(`Page '${pageId}' is not found or forbidden`, 'notfound_or_forbidden'));
       }
 
       if (!page.isUpdatable(previousRevision)) {
-        throw new Error('Someone could update this page, so couldn\'t delete.', 'outdated');
+        return res.json(ApiResponse.error('Someone could update this page, so couldn\'t delete.', 'outdated'));
       }
 
       if (isRecursiveMove) {
@@ -971,7 +971,7 @@ module.exports = function(crowi, app) {
     }
     catch (err) {
       logger.error(err);
-      return res.json(ApiResponse.error('Failed to update page.'));
+      return res.json(ApiResponse.error('Failed to update page.', 'unknown'));
     }
 
     const result = {};

+ 16 - 4
src/server/views/modal/rename.html

@@ -21,14 +21,14 @@
             </div>
           </div>
           <div class="checkbox checkbox-warning">
-            <input name="move_recursively" id="cbRecursively" value="1" type="checkbox" checked>
-            <label for="cbRecursively">{{ t('modal_rename.label.Move recursively') }}</label>
+            <input name="move_recursively" id="cbRenameRecursively" value="1" type="checkbox" checked>
+            <label for="cbRenameRecursively">{{ t('modal_rename.label.Move recursively') }}</label>
             <p class="help-block"> {{ t('modal_rename.help.recursive', page.path) }}
             </p>
           </div>
           <div class="checkbox checkbox-info">
-            <input name="create_redirect" id="cbRedirect" value="1"  type="checkbox">
-              <label for="cbRedirect">{{ t('modal_rename.label.Redirect') }}</label>
+            <input name="create_redirect" id="cbRenameRedirect" value="1"  type="checkbox">
+              <label for="cbRenameRedirect">{{ t('modal_rename.label.Redirect') }}</label>
               <p class="help-block"> {{ t('modal_rename.help.redirect', page.path) }}
               </p>
           </div>
@@ -43,6 +43,18 @@
                 <strong><i class="icon-fw icon-ban"></i>{{ t('page_api_error.already_exists') }}</strong>
                 <small id="linkToNewPage"></small>
               </span>
+              <span class="text-warning msg msg-outdated">
+                <strong><i class="icon-fw icon-bulb"></i> {{ t('page_api_error.outdated') }}</strong>
+                <a href="javascript:location.reload();">
+                  <i class="fa fa-angle-double-right"></i> {{ t('Load latest') }}
+                </a>
+              </span>
+              <span class="text-danger msg msg-invalid_path">
+                <strong><i class="icon-fw icon-ban"></i> Invalid path</strong>
+              </span>
+              <span class="text-danger msg msg-unknown">
+                <strong><i class="icon-fw icon-ban"></i> Unknown error occured</strong>
+              </span>
             </p>
             <div>
               <input type="hidden" name="_csrf" value="{{ csrf() }}">