Browse Source

fix: bypass page rule check for global permission check + handle missing page extra field

NGPixel 4 years ago
parent
commit
5295e413be
2 changed files with 9 additions and 1 deletions
  1. 3 0
      server/controllers/common.js
  2. 6 1
      server/core/auth.js

+ 3 - 0
server/controllers/common.js

@@ -148,6 +148,9 @@ router.get(['/e', '/e/*'], async (req, res, next) => {
     await page.$relatedQuery('tags')
     page.tags = _.map(page.tags, 'tag')
 
+    // Handle missing extra field
+    page.extra = page.extra || { css: '', js: '' }
+
     // -> Beautify Script CSS
     if (!_.isEmpty(page.extra.css)) {
       page.extra.css = new CleanCSS({ format: 'beautify' }).minify(page.extra.css).styles

+ 6 - 1
server/core/auth.js

@@ -226,8 +226,13 @@ module.exports = {
       return false
     }
 
+    // Skip if no page rule to check
+    if (!page) {
+      return true
+    }
+
     // Check Page Rules
-    if (page && user.groups) {
+    if (user.groups) {
       let checkState = {
         deny: false,
         match: false,