Skip to content

Commit

Permalink
Merge pull request #1020 from weseek/deny-null-of-page-grant
Browse files Browse the repository at this point in the history
deny null
  • Loading branch information
yuki-takei committed Jun 19, 2019
2 parents d64662c + cf34a2d commit 6475ca9
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 13 deletions.
16 changes: 8 additions & 8 deletions src/server/models/page.js
Original file line number Diff line number Diff line change
Expand Up @@ -468,12 +468,12 @@ module.exports = function(crowi) {
};

pageSchema.methods.applyScope = function(user, grant, grantUserGroupId) {
this.grant = grant;

// reset
this.grantedUsers = [];
this.grantedGroup = null;

this.grant = grant || GRANT_PUBLIC;

if (grant !== GRANT_PUBLIC && grant !== GRANT_USER_GROUP) {
this.grantedUsers.push(user._id);
}
Expand Down Expand Up @@ -934,7 +934,7 @@ module.exports = function(crowi) {
.cursor();
};

async function pushRevision(pageData, newRevision, user, grant, grantUserGroupId) {
async function pushRevision(pageData, newRevision, user) {
await newRevision.save();
debug('Successfully saved new revision', newRevision);

Expand Down Expand Up @@ -973,7 +973,7 @@ module.exports = function(crowi) {
// sanitize path
path = crowi.xss.process(path); // eslint-disable-line no-param-reassign

let grant = options.grant || GRANT_PUBLIC;
let grant = options.grant;
// force public
if (isPortalPath(path)) {
grant = GRANT_PUBLIC;
Expand All @@ -997,7 +997,7 @@ module.exports = function(crowi) {

let savedPage = await page.save();
const newRevision = Revision.prepareRevision(savedPage, body, null, user, { format });
const revision = await pushRevision(savedPage, newRevision, user, grant, grantUserGroupId);
const revision = await pushRevision(savedPage, newRevision, user);
savedPage = await this.findByPath(revision.path)
.populate('revision')
.populate('creator');
Expand All @@ -1012,8 +1012,8 @@ module.exports = function(crowi) {
validateCrowi();

const Revision = crowi.model('Revision');
const grant = options.grant || null;
const grantUserGroupId = options.grantUserGroupId || null;
const grant = options.grant || pageData.grant; // use the previous data if absence
const grantUserGroupId = options.grantUserGroupId || pageData.grantUserGroupId; // use the previous data if absence
const isSyncRevisionToHackmd = options.isSyncRevisionToHackmd;
const socketClientId = options.socketClientId || null;

Expand All @@ -1023,7 +1023,7 @@ module.exports = function(crowi) {
// update existing page
let savedPage = await pageData.save();
const newRevision = await Revision.prepareRevision(pageData, body, previousBody, user);
const revision = await pushRevision(savedPage, newRevision, user, grant, grantUserGroupId);
const revision = await pushRevision(savedPage, newRevision, user);
savedPage = await this.findByPath(revision.path)
.populate('revision')
.populate('creator');
Expand Down
13 changes: 8 additions & 5 deletions src/server/routes/page.js
Original file line number Diff line number Diff line change
Expand Up @@ -567,9 +567,12 @@ module.exports = function(crowi, app) {
return res.json(ApiResponse.error('Page exists', 'already_exists'));
}

const options = {
grant, grantUserGroupId, overwriteScopesOfDescendants, socketClientId, pageTags,
};
const options = { socketClientId };
if (grant != null) {
options.grant = grant;
options.grantUserGroupId = grantUserGroupId;
}

const createdPage = await Page.create(pagePath, body, req.user, options);

let savedTags;
Expand Down Expand Up @@ -648,8 +651,6 @@ module.exports = function(crowi, app) {
const options = { isSyncRevisionToHackmd, socketClientId };
if (grant != null) {
options.grant = grant;
}
if (grantUserGroupId != null) {
options.grantUserGroupId = grantUserGroupId;
}

Expand Down Expand Up @@ -1116,6 +1117,8 @@ module.exports = function(crowi, app) {
req.body.path = newPagePath;
req.body.body = page.revision.body;
req.body.grant = page.grant;
req.body.grantedUsers = page.grantedUsers;
req.body.grantedGroup = page.grantedGroup;
req.body.pageTags = originTags;

return api.create(req, res);
Expand Down

0 comments on commit 6475ca9

Please sign in to comment.