Merge pull request #570 from RocketChat/redirect-user-on-room-rename

Redirect all users if active room was renamed
pull/573/head
Gabriel Engel 11 years ago
commit 212aa17de0
  1. 7
      client/lib/RoomManager.coffee
  2. 2
      client/methods/saveRoomName.coffee
  3. 10
      client/views/app/room.coffee
  4. 2
      server/methods/saveRoomName.coffee

@ -92,6 +92,13 @@ Meteor.startup ->
msgStream.on openedRooms[typeName].rid, (msg) ->
ChatMessage.upsert { _id: msg._id }, msg
# If room was renamed then close current room and send user to the new one
Tracker.nonreactive ->
if msg.t is 'r'
if Session.get('openedRoom') is msg.rid
type = if FlowRouter.current().route.name is 'channel' then 'c' else 'p'
RoomManager.close type + FlowRouter.getParam('name')
FlowRouter.go FlowRouter.current().route.name, name: msg.msg
deleteMsgStream.on openedRooms[typeName].rid, (msg) ->
ChatMessage.remove _id: msg._id

@ -23,4 +23,4 @@ Meteor.methods
$set:
name: name
return true
return name

@ -705,13 +705,21 @@ Template.room.onRendered ->
renameRoom = (rid, name) ->
console.log 'room renameRoom' if window.rocketDebug
if Session.get('roomData' + rid).name == name
room = Session.get('roomData' + rid)
if room.name == name
Session.set('editRoomTitle', false)
return false
Meteor.call 'saveRoomName', rid, name, (error, result) ->
if result
Session.set('editRoomTitle', false)
# If room was renamed then close current room and send user to the new one
RoomManager.close room.t + room.name
switch room.t
when 'c'
FlowRouter.go 'channel', name: name
when 'p'
FlowRouter.go 'group', name: name
toastr.success t('Room_name_changed_successfully')
if error

@ -35,4 +35,4 @@ Meteor.methods
_id: Meteor.userId()
username: Meteor.user().username
return true
return name

Loading…
Cancel
Save