parent
400aaeeeec
commit
733f7ea494
@ -1,19 +1,41 @@ |
||||
Meteor.startup -> |
||||
roles = ['admin', 'moderator', 'user'] |
||||
RocketChat.roomTypes.addType('starredRooms', roles); |
||||
RocketChat.roomTypes.addType('channels', roles); |
||||
RocketChat.roomTypes.addType('directMessages', roles); |
||||
RocketChat.roomTypes.addType('privateGroups', roles); |
||||
# RocketChat.roomTypes.addType('starredRooms', roles); |
||||
|
||||
RocketChat.roomTypes.setIcon('c', 'icon-hash'); |
||||
RocketChat.roomTypes.setIcon('d', 'icon-at'); |
||||
RocketChat.roomTypes.setIcon('p', 'icon-lock'); |
||||
RocketChat.roomTypes.add 'c', |
||||
template: 'channels' |
||||
icon: 'icon-hash' |
||||
route: |
||||
name: 'channel' |
||||
path: '/channel/:name' |
||||
action: (params, queryParams) -> |
||||
Session.set 'showUserInfo' |
||||
openRoom 'c', params.name |
||||
link: (sub) -> |
||||
return { name: sub.name } |
||||
permissions: [ 'view-c-room' ] |
||||
|
||||
RocketChat.roomTypes.setRoute 'c', 'channel', (sub) -> |
||||
return { name: sub.name } |
||||
RocketChat.roomTypes.add 'd', |
||||
template: 'directMessages' |
||||
icon: 'icon-at' |
||||
route: |
||||
name: 'direct' |
||||
path: '/direct/:username' |
||||
action: (params, queryParams) -> |
||||
Session.set 'showUserInfo' |
||||
openRoom 'd', params.name |
||||
link: (sub) -> |
||||
return { username: sub.name } |
||||
permissions: [ 'view-d-room' ] |
||||
|
||||
RocketChat.roomTypes.setRoute 'd', 'direct', (sub) -> |
||||
return { username: sub.name } |
||||
|
||||
RocketChat.roomTypes.setRoute 'p', 'group', (sub) -> |
||||
return { name: sub.name } |
||||
RocketChat.roomTypes.add 'p', |
||||
template: 'privateGroups' |
||||
icon: 'icon-lock' |
||||
route: |
||||
name: 'group' |
||||
path: '/group/:name' |
||||
action: (params, queryParams) -> |
||||
Session.set 'showUserInfo' |
||||
openRoom 'p', params.name |
||||
link: (sub) -> |
||||
return { name: sub.name } |
||||
permissions: [ 'view-p-room' ] |
||||
|
||||
@ -1,32 +1,5 @@ |
||||
Meteor.startup(function() { |
||||
var i, j, len, len1, permission, ref, role, roles, |
||||
indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; |
||||
|
||||
var permissions = [ |
||||
{ |
||||
_id: 'receive-livechat', |
||||
roles : ['livechat-agent'] |
||||
}, |
||||
{ |
||||
_id: 'edit-livechat-settings', |
||||
roles : ['livechat-manager'] |
||||
} |
||||
]; |
||||
|
||||
roles = _.pluck(Roles.getAllRoles().fetch(), 'name'); |
||||
|
||||
for (i = 0, len = permissions.length; i < len; i++) { |
||||
permission = permissions[i]; |
||||
RocketChat.models.Permissions.upsert(permission._id, { |
||||
$setOnInsert: permission |
||||
}); |
||||
ref = permission.roles; |
||||
for (j = 0, len1 = ref.length; j < len1; j++) { |
||||
role = ref[j]; |
||||
if (indexOf.call(roles, role) < 0) { |
||||
Roles.createRole(role); |
||||
roles.push(role); |
||||
} |
||||
} |
||||
Meteor.startup(() => { |
||||
if (RocketChat.models && RocketChat.models.Permissions) { |
||||
RocketChat.models.Permissions.createOrUpdate('view-l-room', ['livechat-agent', 'livechat-manager']); |
||||
} |
||||
}); |
||||
|
||||
Loading…
Reference in new issue