Fix set room as read only

pull/4992/head
Rodrigo Nascimento 10 years ago
parent 39a17a628a
commit e39bc2a47e
No known key found for this signature in database
GPG Key ID: 2C85B3AFE75D23F9
  1. 4
      packages/rocketchat-cas/.npm/package/npm-shrinkwrap.json
  2. 8
      packages/rocketchat-channel-settings/server/models/Rooms.coffee
  3. 2
      packages/rocketchat-lib/server/models/_BaseCache.js
  4. 3
      server/publications/room.js

@ -17,7 +17,7 @@
},
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"resolved": "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"from": "core-util-is@>=1.0.0 <1.1.0"
},
"css-select": {
@ -86,7 +86,7 @@
},
"isarray": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"resolved": "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"from": "isarray@0.0.1"
},
"lodash": {

@ -19,9 +19,11 @@ RocketChat.models.Rooms.setReadOnlyById = (_id, readOnly) ->
if readOnly
# we want to mute all users without the post-readonly permission
usernames = @findOne(query, { fields: { usernames: 1 }})
users = RocketChat.models.Users.findUsersByUsernames usernames?.usernames, {fields: {username: 1}}
users.forEach (user) ->
RocketChat.models.Subscriptions.findByRoomId(_id).forEach (subscription) ->
if not subscription._user?
return
user = subscription._user
if RocketChat.authz.hasPermission(user._id, 'post-readonly') is false
# create a new array if necessary
update.$set.muted = [] if !update.$set.muted

@ -488,7 +488,7 @@ class ModelsBaseCache extends EventEmitter {
processQueryOptionsOnResult(result, options={}) {
if (result === undefined || result === null) {
return result;
return undefined;
}
if (Array.isArray(result)) {

@ -20,7 +20,8 @@ const options = {
code: 1,
open: 1,
v: 1,
label: 1
label: 1,
ro: 1
})
};

Loading…
Cancel
Save