Fixed pin and star

pull/1712/head
Marcelo Schmidt 10 years ago
parent aace1ad7dc
commit 34e32e1413
  1. 21
      client/methods/pinMessage.coffee
  2. 21
      client/methods/unpinMessage.coffee
  3. 4
      packages/rocketchat-message-pin/client/actionButton.coffee
  4. 26
      packages/rocketchat-message-pin/client/pinMessage.coffee
  5. 1
      packages/rocketchat-message-pin/package.js
  6. 6
      packages/rocketchat-ui-message/message/message.coffee
  7. 8
      packages/rocketchat-ui/views/app/room.coffee

@ -1,21 +0,0 @@
Meteor.methods
pinMessage: (message) ->
if not Meteor.userId()
throw new Meteor.Error 203, t('User_logged_out')
if not RocketChat.settings.get 'Message_AllowPinning'
throw new Meteor.Error 'message-pinning-not-allowed', t('Message_pinning_not_allowed')
Tracker.nonreactive ->
message.pts = new Date(Date.now() + TimeSync.serverOffset())
message.pinned = true
message = RocketChat.callbacks.run 'beforeSaveMessage', message
ChatMessage.update
_id: message.id
'u._id': Meteor.userId()
,
$set:
pinned: message.pinned
pts: message.pts

@ -1,21 +0,0 @@
Meteor.methods
unpinMessage: (message) ->
if not Meteor.userId()
throw new Meteor.Error 203, t('User_logged_out')
if not RocketChat.settings.get 'Message_AllowPinning'
throw new Meteor.Error 'message-pinning-not-allowed', t('Message_pinning_not_allowed')
Tracker.nonreactive ->
message.pts = new Date(Date.now() + TimeSync.serverOffset())
message.pinned = false
message = RocketChat.callbacks.run 'beforeSaveMessage', message
ChatMessage.update
_id: message.id
'u._id': Meteor.userId()
,
$set:
pinned: message.pinned
pts: message.pts

@ -4,8 +4,6 @@ Meteor.startup ->
icon: 'icon-pin'
i18nLabel: 'Pin_Message'
action: (event, instance) ->
event.preventDefault()
event.stopPropagation()
message = @_arguments[1]
message.pinned = true
Meteor.call 'pinMessage', message, (error, result) ->
@ -26,8 +24,6 @@ Meteor.startup ->
icon: 'icon-eraser'
i18nLabel: 'Unpin_Message'
action: (event, instance) ->
event.preventDefault()
event.stopPropagation()
message = @_arguments[1]
message.pinned = false
Meteor.call 'unpinMessage', message, (error, result) ->

@ -0,0 +1,26 @@
Meteor.methods
pinMessage: (message) ->
if not Meteor.userId()
throw new Meteor.Error('invalid-user', "[methods] pinMessage -> Invalid user")
if not RocketChat.settings.get 'Message_AllowPinning'
throw new Meteor.Error 'message-pinning-not-allowed', '[methods] pinMessage -> Message pinning not allowed'
ChatMessage.update
_id: message._id
,
$set: { pinned: true }
unpinMessage: (message) ->
if not Meteor.userId()
throw new Meteor.Error('invalid-user', "[methods] pinMessage -> Invalid user")
if not RocketChat.settings.get 'Message_AllowPinning'
throw new Meteor.Error 'message-pinning-not-allowed', '[methods] pinMessage -> Message pinning not allowed'
ChatMessage.update
_id: message._id
,
$set: { pinned: false }

@ -17,6 +17,7 @@ Package.onUse(function(api) {
api.addFiles([
'client/lib/PinnedMessage.coffee',
'client/actionButton.coffee',
'client/pinMessage.coffee',
'client/tabBar.coffee',
'client/views/pinnedMessages.html',
'client/views/pinnedMessages.coffee',

@ -39,8 +39,6 @@ Template.message.helpers
# otherwise a special "?" character that will be
# rendered as a special avatar
return @editedBy?.username or "?"
pinned: ->
return this.pinned
canEdit: ->
hasPermission = RocketChat.authz.hasAtLeastOnePermission('edit-message', this.rid)
isEditAllowed = RocketChat.settings.get 'Message_AllowEditing'
@ -61,10 +59,6 @@ Template.message.helpers
return true
return RocketChat.settings.get('Message_AllowDeleting') and this.u?._id is Meteor.userId()
canPin: ->
return RocketChat.settings.get 'Message_AllowPinning'
canStar: ->
return RocketChat.settings.get 'Message_AllowStarring'
showEditedStatus: ->
return RocketChat.settings.get 'Message_ShowEditedStatus'
label: ->

@ -377,14 +377,6 @@ Template.room.events
ChatMessage.update {_id: this._arguments[1]._id, 'urls.url': $(event.currentTarget).data('url')}, {$set: {'urls.$.downloadImages': true}}
ChatMessage.update {_id: this._arguments[1]._id, 'attachments.image_url': $(event.currentTarget).data('url')}, {$set: {'attachments.$.downloadImages': true}}
'click .pin-message': (event) ->
message = @_arguments[1]
instance = Template.instance()
if message.pinned
chatMessages[Session.get('openedRoom')].unpinMsg(message)
else
chatMessages[Session.get('openedRoom')].pinMsg(message)
'dragenter .dropzone': (e) ->
e.currentTarget.classList.add 'over'

Loading…
Cancel
Save