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

add addRenderVarsForPresentation

itizawa 5 лет назад
Родитель
Сommit
eb01cbae8b
2 измененных файлов с 12 добавлено и 3 удалено
  1. 11 2
      src/server/routes/page.js
  2. 1 1
      src/server/views/widget/page_tabs.html

+ 11 - 2
src/server/routes/page.js

@@ -235,6 +235,11 @@ module.exports = function(crowi, app) {
     }
   }
 
+  function addRenderVarsForPresentation(renderVars, page) {
+    renderVars.page = page;
+    renderVars.revision = page.revision;
+  }
+
   async function addRenderVarsForUserPage(renderVars, page, requestUser) {
     const userData = await User.findUserByUsername(User.getUsernameByPath(page.path));
 
@@ -292,7 +297,7 @@ module.exports = function(crowi, app) {
 
   async function showPageForPresentation(req, res, next) {
     const path = getPathFromRequest(req);
-    const revisionId = req.query.revision;
+    const { revisionId } = req.query;
 
     let page = await Page.findByPathAndViewer(path, req.user);
 
@@ -304,7 +309,11 @@ module.exports = function(crowi, app) {
 
     // populate
     page = await page.populateDataToMakePresentation(revisionId);
-    addRenderVarsForPage(renderVars, page);
+
+    if (page != null) {
+      addRenderVarsForPresentation(renderVars, page);
+    }
+
     return res.render('page_presentation', renderVars);
   }
 

+ 1 - 1
src/server/views/widget/page_tabs.html

@@ -50,7 +50,7 @@
   <!-- presentation -->
   {% if not page.isTopPage() %}
     <li class="nav-item d-edit-none">
-      <a href="?presentation=1" class="nav-link toggle-presentation">
+      <a href="?presentation=1&revisionId={{revision.id}}" class="nav-link toggle-presentation">
         <i class="icon-film icon-fw"></i><span class="d-none d-sm-inline">{{ t('Presentation Mode') }}</span>
       </a>
     </li>