Commit 7ebc63886347583ccf0eaedd1cb5d21dd7219a78

Authored by Francisco Marcelo de Araújo Lima Júnior
1 parent e58ae17f

#community dashboard - allow pinning of messages from twitter / facebook

plugins/community_hub/controllers/public/community_hub_plugin_public_controller.rb
@@ -169,18 +169,36 @@ class CommunityHubPluginPublicController < PublicController @@ -169,18 +169,36 @@ class CommunityHubPluginPublicController < PublicController
169 rescue 169 rescue
170 message = nil 170 message = nil
171 end 171 end
  172 +
172 if message 173 if message
173 mediation = TinyMceArticle.new 174 mediation = TinyMceArticle.new
174 mediation.profile = hub.profile 175 mediation.profile = hub.profile
175 mediation.parent = hub 176 mediation.parent = hub
176 - mediation.last_changed_by = message.author  
177 - mediation.created_by_id = message.author.id 177 +
  178 + author = message.author.blank? ? user : message.author
  179 +
  180 + mediation.last_changed_by = author
  181 + mediation.created_by_id = author.id
  182 +
178 mediation.name = mediation_timestamp 183 mediation.name = mediation_timestamp
179 mediation.body = message.body 184 mediation.body = message.body
180 mediation.notify_comments = false 185 mediation.notify_comments = false
181 mediation.type = 'TinyMceArticle' 186 mediation.type = 'TinyMceArticle'
182 mediation.advertise = false 187 mediation.advertise = false
  188 + mediation.source = 'local'
  189 +
183 if mediation.save 190 if mediation.save
  191 +
  192 + if ( message.title == 'hub-message-twitter' )
  193 + mediation.source = 'twitter'
  194 + mediation.author_name = message.name
  195 + elsif ( message.title == 'hub-message-facebook' )
  196 + mediation.source = 'facebook'
  197 + mediation.author_name = message.name
  198 + end
  199 +
  200 + mediation.save
  201 +
184 hub.pinned_messages += [message.id] unless hub.pinned_messages.include?(message.id) 202 hub.pinned_messages += [message.id] unless hub.pinned_messages.include?(message.id)
185 hub.pinned_mediations += [mediation.id] unless hub.pinned_mediations.include?(mediation.id) 203 hub.pinned_mediations += [mediation.id] unless hub.pinned_mediations.include?(mediation.id)
186 if hub.save 204 if hub.save
plugins/community_hub/views/community_hub_plugin_public/_mediation.rhtml
@@ -4,14 +4,25 @@ @@ -4,14 +4,25 @@
4 4
5 <ul> 5 <ul>
6 <li class="time"><%= post_time(mediation.created_at) %></li> 6 <li class="time"><%= post_time(mediation.created_at) %></li>
7 - <li class="avatar"><%= image_tag(profile_icon(mediation.author, :minor)) %></li>  
8 - <li class="message"><span class="author"><%= mediation.author_name %>:</span> <%= mediation.body %></li> 7 +
  8 + <li class="avatar">
  9 + <% if mediation.source == 'twitter' %>
  10 + <%= image_tag('/plugins/community_hub/icons/logo_twitter_bird_white_50x50.png', :alt => "Twitter") %>
  11 + <% elsif mediation.source == 'facebook' %>
  12 + <%= image_tag('/plugins/community_hub/icons/logo_facebook_50x50.png', :alt => "Facebook") %>
  13 + <% else %>
  14 + <%= image_tag(profile_icon(mediation.author, :minor)) if mediation.author %>
  15 + <% end %>
  16 + </li>
  17 + <li class="message"><span class="author"><%= mediation.setting[:author_name] %>:</span> <%= mediation.body %></li>
9 18
10 <% if mediator?(hub) %> 19 <% if mediator?(hub) %>
11 <li class="mediation-bar"> 20 <li class="mediation-bar">
12 21
13 <ul> 22 <ul>
14 23
  24 + <% if mediation.source != 'twitter' && mediation.source != 'facebook' %>
  25 +
15 <li class="promote"> 26 <li class="promote">
16 <% if !promoted?(hub, mediation.author.id) %> 27 <% if !promoted?(hub, mediation.author.id) %>
17 <a id="<%= mediation.id %>" href="#" onclick="promote_user(<%= mediation.id %>,<%= mediation.author.id %>); return false;"> 28 <a id="<%= mediation.id %>" href="#" onclick="promote_user(<%= mediation.id %>,<%= mediation.author.id %>); return false;">
@@ -22,6 +33,8 @@ @@ -22,6 +33,8 @@
22 <% end %> 33 <% end %>
23 </li> 34 </li>
24 35
  36 + <% end %>
  37 +
25 <% if pinned_mediation?(hub, mediation.id) %> 38 <% if pinned_mediation?(hub, mediation.id) %>
26 <li class="pin"> 39 <li class="pin">
27 <img class="pinned" src="/plugins/community_hub/icons/hub-not-pinned-icon.png" title="<%= _("Message pinned")%>" /> 40 <img class="pinned" src="/plugins/community_hub/icons/hub-not-pinned-icon.png" title="<%= _("Message pinned")%>" />
plugins/community_hub/views/community_hub_plugin_public/_post.rhtml
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 </li> 14 </li>
15 <li class="message"><span class="author"><%= post.author_name %>:</span> <%= post.body %></li> 15 <li class="message"><span class="author"><%= post.author_name %>:</span> <%= post.body %></li>
16 16
17 - <% if mediator?(hub) && post.title != 'hub-message-twitter' && post.title != 'hub-message-facebook' %> 17 + <% if mediator?(hub) %>
18 <li class="mediation-bar"> 18 <li class="mediation-bar">
19 <ul> 19 <ul>
20 <li class="pin"> 20 <li class="pin">