social_stream 0.12.6 → 0.12.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. data/base/app/models/activity.rb +48 -1
  2. data/base/app/views/comments/_comment.html.erb +1 -1
  3. data/base/app/views/notification_mailer/new_notification_email.html.erb +5 -3
  4. data/base/app/views/notification_mailer/new_notification_email.text.erb +5 -3
  5. data/base/app/views/notifications/activities/_follow.html.erb +4 -4
  6. data/base/app/views/notifications/activities/_follow.text.erb +7 -7
  7. data/base/app/views/notifications/activities/_like.html.erb +1 -1
  8. data/base/app/views/notifications/activities/_like.text.erb +5 -5
  9. data/base/app/views/notifications/activities/_make-friend.text.erb +5 -5
  10. data/base/app/views/notifications/activities/_post.html.erb +1 -1
  11. data/base/app/views/notifications/activities/_post.text.erb +6 -6
  12. data/base/app/views/notifications/activities/_update.html.erb +1 -1
  13. data/base/app/views/notifications/activities/_update.text.erb +6 -6
  14. data/base/app/views/posts/_post.html.erb +1 -1
  15. data/base/config/locales/en.yml +3 -0
  16. data/base/config/locales/es.yml +16 -8
  17. data/base/lib/social_stream-base.rb +3 -0
  18. data/base/lib/social_stream/base.rb +5 -0
  19. data/base/lib/social_stream/base/version.rb +1 -1
  20. data/base/lib/social_stream/controllers/cancan_devise_integration.rb +22 -0
  21. data/base/social_stream-base.gemspec +3 -1
  22. data/events/app/views/events/index.html.erb +1 -1
  23. data/events/lib/social_stream/events/version.rb +1 -1
  24. data/events/social_stream-events.gemspec +1 -1
  25. data/lib/social_stream/version.rb +1 -1
  26. data/social_stream.gemspec +2 -2
  27. metadata +11 -12
  28. data/base/app/helpers/notifications_helper.rb +0 -3
  29. data/base/lib/mailboxer/notification_decoder.rb +0 -89
@@ -206,7 +206,7 @@ class Activity < ActiveRecord::Base
206
206
  #Avaible verbs: follow, like, make-friend, post, update
207
207
 
208
208
  if ['like','follow','make-friend','post','update'].include? verb and !contact.reflexive?
209
- receiver.notify("You have a new notification", "Youre not supposed to see this", self)
209
+ receiver.notify(notification_subject, "Youre not supposed to see this", self)
210
210
  end
211
211
  true
212
212
  end
@@ -307,6 +307,53 @@ class Activity < ActiveRecord::Base
307
307
  end
308
308
  end
309
309
 
310
+ #
311
+ # Get the email subject for the activity's notification
312
+ #
313
+ def notification_subject
314
+ sender_name= sender.name.truncate(30, :separator => ' ')
315
+ receiver_name= receiver.name.truncate(30, :separator => ' ')
316
+ case verb
317
+ when 'like'
318
+ if direct_object.is_a? Actor or direct_object.respond_to? :actor
319
+ I18n.t('notification.fan',
320
+ :sender => sender_name,
321
+ :whose => I18n.t('notification.whose.'+ receiver.subject.class.to_s.underscore,
322
+ :receiver => receiver_name))
323
+ else
324
+ I18n.t('notification.like.'+ receiver.subject.class.to_s.underscore,
325
+ :sender => sender_name,
326
+ :whose => I18n.t('notification.whose.'+ receiver.subject.class.to_s.underscore,
327
+ :receiver => receiver_name),
328
+ :thing => I18n.t(direct_object.class.to_s.underscore+'.name'))
329
+ end
330
+ when 'follow'
331
+ I18n.t('notification.follow.'+ receiver.subject.class.to_s.underscore,
332
+ :sender => sender_name,
333
+ :who => I18n.t('notification.who.'+ receiver.subject.class.to_s.underscore,
334
+ :name => receiver_name))
335
+ when 'make-friend'
336
+ I18n.t('notification.makefriend.'+ receiver.subject.class.to_s.underscore,
337
+ :sender => sender_name,
338
+ :who => I18n.t('notification.who.'+ receiver.subject.class.to_s.underscore,
339
+ :name => receiver_name))
340
+ when 'post'
341
+ I18n.t('notification.post.'+ receiver.subject.class.to_s.underscore,
342
+ :sender => sender_name,
343
+ :whose => I18n.t('notification.whose.'+ receiver.subject.class.to_s.underscore,
344
+ :receiver => receiver_name),
345
+ :thing => I18n.t(direct_object.class.to_s.underscore+'.one'))
346
+ when 'update'
347
+ I18n.t('notification.update.'+ receiver.subject.class.to_s.underscore,
348
+ :sender => sender_name,
349
+ :whose => I18n.t('notification.whose.'+ receiver.subject.class.to_s.underscore,
350
+ :receiver => receiver_name),
351
+ :thing => I18n.t(direct_object.class.to_s.underscore+'.one'))
352
+ else
353
+ t('notification.default')
354
+ end
355
+ end
356
+
310
357
  #Send notifications to actors based on proximity, interest and permissions
311
358
  def send_notifications
312
359
  notify
@@ -1 +1 @@
1
- <%= comment.text %>
1
+ <%= simple_format auto_link(comment.text) %>
@@ -1,4 +1,4 @@
1
- <% self.class.send :include, Mailboxer::NotificationDecoder %>
1
+ <% self.class.send :include, SubjectsHelper, ActionView::Helpers::TextHelper %>
2
2
  <!DOCTYPE html>
3
3
  <html>
4
4
  <head>
@@ -6,7 +6,9 @@
6
6
  </head>
7
7
  <body>
8
8
  <div>
9
-
9
+ <div >
10
+ <%= t('notification.hello', :receiver => @receiver.name)%>
11
+ </div>
10
12
  <div style="position: static;padding: 5px; border: #2A3890 solid 2px; background-color: #E1EEF5; margin:10px; min-height: 125px; width: 500px;">
11
13
  <div style="float:left; margin-right:7px; border: thin solid #D4E4EA; background-color: white; max-height: 119px;">
12
14
  <img src="<%= root_url + @notification.notified_object.sender.logo.url(:profile)%>" alt="<%=@notification.notified_object.sender.name%>">
@@ -25,7 +27,7 @@
25
27
  </div>
26
28
  <div style="padding: 10px 5px 5px 5px;">
27
29
  <p>
28
- Visit <%= link_to notifications_url,notifications_url %> and check all your notifications.
30
+ <%= raw t('notification.visit', :url=> link_to(notifications_url,notifications_url))%>
29
31
  </p>
30
32
  </div>
31
33
  </div>
@@ -1,7 +1,9 @@
1
- <% self.class.send :include, Mailboxer::NotificationDecoder %>
1
+ <% self.class.send :include, SubjectsHelper, ActionView::Helpers::TextHelper %>
2
+ <%= t('notification.hello', :receiver => @receiver.name)%>
2
3
 
3
- -----------------------------------------------
4
4
  <%= render :partial => "notifications/activities/#{ @notification.notified_object.verb }",
5
5
  :locals =>{:activity => @notification.notified_object}%>
6
+
7
+
6
8
  -----------------------------------------------
7
- Visit <%= notifications_url %> and check all your notifications.
9
+ <%= raw t('notification.visit', :url=> notifications_url)%>
@@ -1,10 +1,10 @@
1
1
  <div class="subject">
2
2
  <%= raw t('notification.follow.'+ activity.receiver.subject.class.to_s.underscore,
3
- :sender => link_to(truncate_name(activity.sender.name), polymorphic_url(activity.sender.subject)),
4
- :who => t('notification.who.'+ activity.receiver.subject.class.to_s.underscore,
5
- :name => truncate_name(activity.receiver.name))) %>
3
+ :sender => link_to(truncate_name(activity.sender.name), polymorphic_url(activity.sender.subject)),
4
+ :who => t('notification.who.'+ activity.receiver.subject.class.to_s.underscore,
5
+ :name => truncate_name(activity.receiver.name))) %>
6
6
  </div>
7
7
  <div class="briefing">
8
- <%= link_to(t('notification.confirm', :sender => truncate_name(activity.sender.name)),
8
+ <%= raw link_to(t('notification.confirm', :sender => truncate_name(activity.sender.name)),
9
9
  edit_contact_url(activity.receiver.contact_to!(activity.sender),:s => activity.receiver.slug)) %>
10
10
  </div>
@@ -1,8 +1,8 @@
1
1
  <%= raw t('notification.follow.'+ activity.receiver.subject.class.to_s.underscore,
2
- :sender => truncate_name(activity.sender.name),
3
- :who => t('notification.who.'+ activity.receiver.subject.class.to_s.underscore,
4
- :name => truncate_name(activity.receiver.name))) %>
5
- -----------------------------------------------
6
- <%= t('notification.look', :sender => truncate_name(activity.sender.name))%>: <%=polymorphic_url(activity.sender.subject)%>
7
- <%= t('notification.confirm', :sender => truncate_name(activity.sender.name)) %> <%= edit_contact_url(activity.receiver.contact_to!(activity.sender),
8
- :s => activity.receiver.slug)%>
2
+ :sender => truncate_name(activity.sender.name),
3
+ :who => t('notification.who.'+ activity.receiver.subject.class.to_s.underscore,
4
+ :name => truncate_name(activity.receiver.name))) %>
5
+
6
+ <%= raw t('notification.look', :sender => truncate_name(activity.sender.name))%>: <%=polymorphic_url(activity.sender.subject)%>
7
+ <%= raw t('notification.confirm', :sender => truncate_name(activity.sender.name)) %> <%= edit_contact_url(activity.receiver.contact_to!(activity.sender),
8
+ :s => activity.receiver.slug)%>
@@ -20,7 +20,7 @@
20
20
  </div>
21
21
  <div class="briefing">
22
22
  <% if activity.direct_object.respond_to? :text %>
23
- "<%= link_to(activity.direct_object.text.truncate(100, :separator =>' '),
23
+ "<%= link_to(sanitize(activity.direct_object.text.truncate(100, :separator =>' ')),
24
24
  polymorphic_url( activity.direct_object))%>"
25
25
  <% else%>
26
26
  <%= link_to(t('notification.watch_it'),
@@ -3,19 +3,19 @@
3
3
  :sender => truncate_name(activity.sender.name),
4
4
  :whose => t('notification.whose.'+ activity.receiver.subject.class.to_s.underscore,
5
5
  :receiver => truncate_name(activity.receiver.name)))%>
6
- -----------------------------------------------
6
+
7
7
  <% else %>
8
8
  <%= raw t('notification.like.'+ activity.receiver.subject.class.to_s.underscore,
9
9
  :sender => truncate_name(activity.sender.name),
10
10
  :whose => t('notification.whose.'+ activity.receiver.subject.class.to_s.underscore,
11
11
  :receiver => truncate_name(activity.receiver.name)),
12
12
  :thing => t(activity.direct_object.class.to_s.underscore+'.name')) %>
13
- -----------------------------------------------
13
+
14
14
  <% if activity.direct_object.respond_to? :text %>
15
- "<%= activity.direct_object.text.truncate(100, :separator =>' ')%>"
16
- <%= t('notification.all_text', :url => polymorphic_url(activity.direct_object))%>
15
+ "<%= sanitize(activity.direct_object.text.truncate(100, :separator =>' '))%>"
16
+ <%= raw t('notification.all_text', :url => polymorphic_url(activity.direct_object))%>
17
17
  <% else%>
18
- --><%= t('notification.watch', :url => polymorphic_url( activity.direct_object))%>
18
+ --><%= raw t('notification.watch', :url => polymorphic_url( activity.direct_object))%>
19
19
  <%end%>
20
20
  <% end %>
21
21
 
@@ -1,7 +1,7 @@
1
1
  <%= raw t('notification.makefriend.'+ activity.receiver.subject.class.to_s.underscore,
2
- :sender => truncate_name(activity.sender.name),
3
- :who => t('notification.who.'+ activity.receiver.subject.class.to_s.underscore,
4
- :name => truncate_name(activity.receiver.name))) %>
5
- -----------------------------------------------
2
+ :sender => truncate_name(activity.sender.name),
3
+ :who => t('notification.who.'+ activity.receiver.subject.class.to_s.underscore,
4
+ :name => truncate_name(activity.receiver.name))) %>
5
+
6
6
  <%= raw t('notification.look',
7
- :sender => link_to(truncate_name(activity.sender.name), polymorphic_url(activity.sender.subject))) %>
7
+ :sender => truncate_name(activity.sender.name)) %>: <%=polymorphic_url(activity.sender.subject)%>
@@ -9,7 +9,7 @@
9
9
  </div>
10
10
  <div class="briefing">
11
11
  <% if activity.direct_object.respond_to? :text %>
12
- "<%= link_to(activity.direct_object.text.truncate(100, :separator =>' '),
12
+ "<%= link_to(sanitize(activity.direct_object.text.truncate(100, :separator =>' ')),
13
13
  polymorphic_url(activity.direct_object))%>"
14
14
  <% else%>
15
15
  <%= link_to(t('notification.watch_it'),
@@ -1,13 +1,13 @@
1
1
 
2
2
  <%= raw t('notification.post.'+ activity.receiver.subject.class.to_s.underscore,
3
- :sender => truncate_name(activity.sender.name),
4
- :whose => t('notification.whose.'+ activity.receiver.subject.class.to_s.underscore,
5
- :receiver => truncate_name(activity.receiver.name)),
6
- :thing => t(activity.direct_object.class.to_s.underscore+'.one')) %>
7
- -----------------------------------------------
3
+ :sender => truncate_name(activity.sender.name),
4
+ :whose => t('notification.whose.'+ activity.receiver.subject.class.to_s.underscore,
5
+ :receiver => truncate_name(activity.receiver.name)),
6
+ :thing => t(activity.direct_object.class.to_s.underscore+'.one')) %>
7
+
8
8
 
9
9
  <% if activity.direct_object.respond_to? :text %>
10
- "<%=activity.direct_object.text.truncate(100, :separator =>' ')%>"
10
+ "<%= sanitize(activity.direct_object.text.truncate(100, :separator =>' '))%>"
11
11
  --><%= t('notification.all_text', :url => polymorphic_url(activity.direct_object))%>
12
12
  <% else%>
13
13
  <%= t('notification.watch', :url => polymorphic_url(activity.direct_object))%>
@@ -9,7 +9,7 @@
9
9
  </div>
10
10
  <div class="briefing">
11
11
  <% if activity.direct_object.respond_to? :text %>
12
- "<%= link_to(activity.direct_object.text.truncate(100, :separator =>' '),
12
+ "<%= link_to(sanitize(activity.direct_object.text.truncate(100, :separator =>' ')),
13
13
  polymorphic_url(activity.direct_object))%>"
14
14
  <% else%>
15
15
  <%= link_to(t('notification.watch_it'),
@@ -1,11 +1,11 @@
1
1
  <%= raw t('notification.update.'+ activity.receiver.subject.class.to_s.underscore,
2
- :sender => truncate_name(activity.sender.name),
3
- :whose => t('notification.whose.'+ activity.receiver.subject.class.to_s.underscore,
4
- :receiver => truncate_name(activity.receiver.name)),
5
- :thing => t(activity.direct_object.class.to_s.underscore+'.one')) %>
6
- -----------------------------------------------
2
+ :sender => truncate_name(activity.sender.name),
3
+ :whose => t('notification.whose.'+ activity.receiver.subject.class.to_s.underscore,
4
+ :receiver => truncate_name(activity.receiver.name)),
5
+ :thing => t(activity.direct_object.class.to_s.underscore+'.one')) %>
6
+
7
7
  <% if activity.direct_object.respond_to? :text %>
8
- "<%=activity.direct_object.text.truncate(100, :separator =>' ')%>"
8
+ "<%= sanitize activity.direct_object.text.truncate(100, :separator =>' ')%>"
9
9
  --><%= t('notification.all_text', :url => polymorphic_url(activity.direct_object))%>
10
10
  <% else%>
11
11
  <%= t('notification.watch', :url => polymorphic_url( activity.direct_object))%>
@@ -1,3 +1,3 @@
1
1
  <%= div_for post, :class => 'content_size' do %>
2
- <%= simple_format post.text %>
2
+ <%= simple_format auto_link(post.text) %>
3
3
  <% end %>
@@ -276,11 +276,13 @@ en:
276
276
  notification:
277
277
  all_text: "Read the whole text at %{url}"
278
278
  confirm: "Confirm %{sender} as contact?"
279
+ default: "You have a new notification"
279
280
  destroy_sure: "Do you want to delete this notification?"
280
281
  fan: "%{sender} is now %{whose} fan."
281
282
  follow:
282
283
  group: "%{sender} added %{who} as contact."
283
284
  user: "%{sender} added %{who} as contact."
285
+ hello: "Hi %{receiver},"
284
286
  like:
285
287
  group: "%{sender} likes %{whose} %{thing}."
286
288
  user: "%{sender} likes %{whose} %{thing}."
@@ -299,6 +301,7 @@ en:
299
301
  update:
300
302
  group: "%{sender} updated %{thing} in %{whose} wall."
301
303
  user: "%{sender} updated %{thing} in %{whose} wall."
304
+ visit: "Visit %{url} and check all your notifications."
302
305
  watch: "Watch it at %{url}"
303
306
  watch_it: "Watch it!"
304
307
  who:
@@ -85,6 +85,7 @@ es:
85
85
  browse: "Descubrir"
86
86
  button:
87
87
  cancel: "Cancelar"
88
+ create: "Crear"
88
89
  save: "Guardar"
89
90
  update: "Actualizar"
90
91
  comment:
@@ -158,9 +159,11 @@ es:
158
159
  collaborate:
159
160
  default: "Colabora"
160
161
  sentence1: "Organice sus proyectos y actividades"
161
- sentence2: "Crea tus propios grupos"
162
+ sentence2: "Participe en grupos y conferencias"
163
+ sentence3: "Cree sus propios grupos y conferencias"
162
164
  elements:
163
165
  comments: "Comentarios"
166
+ conferences: "Conferencias"
164
167
  networks: "Redes sociales"
165
168
  organizers: "Organizadores"
166
169
  participants: "Participantes"
@@ -241,13 +244,13 @@ es:
241
244
  mark_as_read: "Marcar como leido"
242
245
  message_mailer:
243
246
  has_sent_new:
244
- event: "ha mandad un nuevo mensaje a %{receiver}"
245
- group: "ha mandad un nuevo mensaje a %{receiver}"
246
- user: "te ha mandad un nuevo mensaje"
247
+ event: "ha mandado un nuevo mensaje a %{receiver}"
248
+ group: "ha mandado un nuevo mensaje a %{receiver}"
249
+ user: "te ha mandado un nuevo mensaje"
247
250
  has_sent_reply:
248
- event: "ha mandad una respuesta a %{receiver}"
249
- group: "ha mandad una respuesta a %{receiver}"
250
- user: "te ha mandad una respuesta"
251
+ event: "ha mandado una respuesta a %{receiver}"
252
+ group: "ha mandado una respuesta a %{receiver}"
253
+ user: "te ha mandado una respuesta"
251
254
  subject_new: "%{subject}"
252
255
  subject_reply: "%{subject}"
253
256
  notification_mailer:
@@ -273,11 +276,13 @@ es:
273
276
  notification:
274
277
  all_text: "Lee el texto entero en %{url}"
275
278
  confirm: "¿Confirmar contacto con %{sender}?"
279
+ default: "Tienes una nueva notificación"
276
280
  destroy_sure: "¿Borrar notificación?"
277
281
  fan: "%{sender} es ahora fan %{whose}."
278
- follow:
282
+ follow:
279
283
  group: "%{sender} añadió a %{who} como contacto."
280
284
  user: "%{sender} te añadió como contacto."
285
+ hello: "Hola %{receiver},"
281
286
  like:
282
287
  group: "A %{sender} le gusta el %{thing} %{whose}."
283
288
  user: "A %{sender} le gusta tu %{thing}."
@@ -296,6 +301,7 @@ es:
296
301
  update:
297
302
  group: "%{sender} actualizó %{thing} en el muro %{whose}."
298
303
  user: "%{sender} actualizó %{thing} en tu muro."
304
+ visit: "Visita %{url} y comprueba todas tus notificaciones."
299
305
  watch: "Échale un vistazo en %{url}"
300
306
  watch_it: "¡Échale un vistazo!"
301
307
  who:
@@ -312,6 +318,8 @@ es:
312
318
  name: "publicación"
313
319
  one: "una publicación"
314
320
  title: "Textos"
321
+ preposition:
322
+ and: "y"
315
323
  profile:
316
324
  one: "Perfil"
317
325
  age: "Edad"
@@ -39,6 +39,8 @@ require 'modernizr-rails'
39
39
  require 'thinking-sphinx'
40
40
  # Syntactically Awesome Stylesheets
41
41
  require 'sass-rails'
42
+ # Autolink text blocks
43
+ require 'rails_autolink'
42
44
 
43
45
  # Provides your Rails application with social network and activity stream support
44
46
  module SocialStream
@@ -50,6 +52,7 @@ module SocialStream
50
52
 
51
53
  module Controllers
52
54
  autoload :Helpers, 'social_stream/controllers/helpers'
55
+ autoload :CancanDeviseIntegration, 'social_stream/controllers/cancan_devise_integration'
53
56
  end
54
57
 
55
58
  module Models
@@ -21,9 +21,14 @@ module SocialStream
21
21
  initializer "social_stream-base.controller_helpers" do
22
22
  ActiveSupport.on_load(:action_controller) do
23
23
  include SocialStream::Controllers::Helpers
24
+ include SocialStream::Controllers::CancanDeviseIntegration
24
25
  end
25
26
  end
26
27
 
28
+ initializer "social_stream-base.cancan_devise_integration" do
29
+ ApplicationController.rescue_handlers += [["CanCan::AccessDenied", :rescue_from_access_denied]]
30
+ end
31
+
27
32
  initializer "social_stream-base.toolbar_config" do
28
33
  SocialStream::ToolbarConfig.module_eval do
29
34
  include SocialStream::ToolbarConfig::Base
@@ -1,5 +1,5 @@
1
1
  module SocialStream
2
2
  module Base
3
- VERSION = "0.9.28".freeze
3
+ VERSION = "0.9.29".freeze
4
4
  end
5
5
  end
@@ -0,0 +1,22 @@
1
+ module SocialStream
2
+ module Controllers
3
+ # Common methods added to ApplicationController
4
+ module CancanDeviseIntegration
5
+ extend ActiveSupport::Concern
6
+
7
+ module InstanceMethods
8
+
9
+ private
10
+
11
+ # Redirect to login if the user is trying to access a protected resource
12
+ # and she is not authenticated
13
+ def rescue_from_access_denied
14
+ unless user_signed_in?
15
+ redirect_to new_user_session_path
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+
@@ -51,8 +51,10 @@ Gem::Specification.new do |s|
51
51
  s.add_runtime_dependency('modernizr-rails', '~> 2.0.6')
52
52
  # Sphinx search engine
53
53
  s.add_runtime_dependency('thinking-sphinx', '~> 2.0.8')
54
- #Syntactically Awesome Stylesheets
54
+ # Syntactically Awesome Stylesheets
55
55
  s.add_runtime_dependency('sass-rails', '~> 3.1.0')
56
+ # Autolink text blocks
57
+ s.add_runtime_dependency('rails_autolink', '~> 1.0.4')
56
58
 
57
59
  # Development gem dependencies
58
60
  #
@@ -6,7 +6,7 @@
6
6
  <%= render :partial => 'home/sidebar' %>
7
7
  <% end %>
8
8
 
9
- <%= location(link_to(image_tag("btn/event.png", :class => "btn_config")+t('conference.list')))%>
9
+ <%= location(link_to t('conference.list'))%>
10
10
 
11
11
  <% toolbar %>
12
12
 
@@ -1,5 +1,5 @@
1
1
  module SocialStream
2
2
  module Events
3
- VERSION = "0.0.19".freeze
3
+ VERSION = "0.0.20".freeze
4
4
  end
5
5
  end
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
12
12
  s.files = `git ls-files`.split("\n")
13
13
 
14
14
  # Gem dependencies
15
- s.add_runtime_dependency('social_stream-base', '~> 0.9.28')
15
+ s.add_runtime_dependency('social_stream-base', '~> 0.9.29')
16
16
  s.add_runtime_dependency('conference_manager-ruby', '~> 0.0.3')
17
17
 
18
18
  # Development Gem dependencies
@@ -1,3 +1,3 @@
1
1
  module SocialStream
2
- VERSION = "0.12.6".freeze
2
+ VERSION = "0.12.7".freeze
3
3
  end
@@ -11,9 +11,9 @@ Gem::Specification.new do |s|
11
11
  s.files = `git ls-files`.split("\n")
12
12
 
13
13
  # Gem dependencies
14
- s.add_runtime_dependency('social_stream-base', '~> 0.9.28')
14
+ s.add_runtime_dependency('social_stream-base', '~> 0.9.29')
15
15
  s.add_runtime_dependency('social_stream-documents', '~> 0.4.4')
16
- s.add_runtime_dependency('social_stream-events', '~> 0.0.19')
16
+ s.add_runtime_dependency('social_stream-events', '~> 0.0.20')
17
17
 
18
18
  # Development Gem dependencies
19
19
  #
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: social_stream
3
3
  version: !ruby/object:Gem::Version
4
- hash: 35
4
+ hash: 33
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 12
9
- - 6
10
- version: 0.12.6
9
+ - 7
10
+ version: 0.12.7
11
11
  platform: ruby
12
12
  authors:
13
13
  - GING - DIT - UPM
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-11-15 00:00:00 +01:00
19
+ date: 2011-11-16 00:00:00 +01:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -27,12 +27,12 @@ dependencies:
27
27
  requirements:
28
28
  - - ~>
29
29
  - !ruby/object:Gem::Version
30
- hash: 3
30
+ hash: 1
31
31
  segments:
32
32
  - 0
33
33
  - 9
34
- - 28
35
- version: 0.9.28
34
+ - 29
35
+ version: 0.9.29
36
36
  type: :runtime
37
37
  version_requirements: *id001
38
38
  - !ruby/object:Gem::Dependency
@@ -59,12 +59,12 @@ dependencies:
59
59
  requirements:
60
60
  - - ~>
61
61
  - !ruby/object:Gem::Version
62
- hash: 57
62
+ hash: 55
63
63
  segments:
64
64
  - 0
65
65
  - 0
66
- - 19
67
- version: 0.0.19
66
+ - 20
67
+ version: 0.0.20
68
68
  type: :runtime
69
69
  version_requirements: *id003
70
70
  - !ruby/object:Gem::Dependency
@@ -437,7 +437,6 @@ files:
437
437
  - base/app/helpers/contacts_helper.rb
438
438
  - base/app/helpers/groups_helper.rb
439
439
  - base/app/helpers/location_helper.rb
440
- - base/app/helpers/notifications_helper.rb
441
440
  - base/app/helpers/permissions_helper.rb
442
441
  - base/app/helpers/profiles_helper.rb
443
442
  - base/app/helpers/search_helper.rb
@@ -668,12 +667,12 @@ files:
668
667
  - base/lib/generators/social_stream/base/templates/navigation.rb
669
668
  - base/lib/generators/social_stream/base/templates/relations.yml
670
669
  - base/lib/generators/social_stream/base/templates/sphinx.yml
671
- - base/lib/mailboxer/notification_decoder.rb
672
670
  - base/lib/paperclip/social_stream.rb
673
671
  - base/lib/social_stream-base.rb
674
672
  - base/lib/social_stream/ability.rb
675
673
  - base/lib/social_stream/base.rb
676
674
  - base/lib/social_stream/base/version.rb
675
+ - base/lib/social_stream/controllers/cancan_devise_integration.rb
677
676
  - base/lib/social_stream/controllers/helpers.rb
678
677
  - base/lib/social_stream/d3.rb
679
678
  - base/lib/social_stream/migrations/base.rb
@@ -1,3 +0,0 @@
1
- module NotificationsHelper
2
- include Mailboxer::NotificationDecoder
3
- end
@@ -1,89 +0,0 @@
1
- module Mailboxer
2
- module NotificationDecoder
3
- include SubjectsHelper, ActionView::Helpers::TextHelper
4
- def decode_notification notification_text, activity
5
- return if activity.nil?
6
- notification_text = notification_text.gsub(/\%\{sender\}/, link_to(truncate_name(activity.sender.name),
7
- url_for(:controller=> activity.sender.subject.class.to_s.underscore.pluralize,
8
- :action=> :show, :id=> activity.sender.subject.slug, :only_path => false)))
9
- notification_text = notification_text.gsub(/\%\{confirm\}/,link_to(t('notification.confirm'),edit_contact_url(activity.receiver.contact_to!(activity.sender), :s => activity.receiver.slug)))
10
- notification_text = notification_text.gsub(/\%\{look\}/,link_to(t('notification.look'),
11
- url_for(:controller=> activity.sender.subject.class.to_s.underscore.pluralize,
12
- :action=> :show, :id=> activity.sender.subject.slug, :only_path => false)))
13
- notification_text = notification_text.gsub(/\%\{sender.name\}/,truncate_name(activity.sender.name))
14
-
15
- if activity.receiver.subject.is_a?(User)
16
- notification_text = notification_text.gsub(/\%\{whose\}/,t('notification.whose.user'))
17
- notification_text = notification_text.gsub(/\%\{who\}/,t('notification.who.user'))
18
- else
19
- notification_text = notification_text.gsub(/\%\{whose\}/,t('notification.whose.others',
20
- :receiver => truncate_name(activity.receiver.name)))
21
- notification_text = notification_text.gsub(/\%\{who\}/,truncate_name(activity.receiver.name))
22
- end
23
-
24
- if activity.direct_object.present?
25
- object = activity.direct_object
26
- object = object.subject if object.is_a? Actor
27
- notification_text=notification_text.gsub(/\%\{object\}/,link_to(t(object.class.to_s.underscore+".name"),
28
- url_for(:controller=> object.class.to_s.underscore.pluralize, :action=> :show,
29
- :id=> object.id, :only_path => false)))
30
- notification_text=notification_text.gsub(/\%\{object.name\}/,t(object.class.to_s.underscore+".name"))
31
-
32
-
33
-
34
- if object.respond_to? :text
35
- notification_text=notification_text.gsub(/\%\{object.text\}/,link_to(object.text.truncate(100, :separator =>' '),
36
- url_for(:controller=> object.class.to_s.underscore.pluralize, :action=> :show,
37
- :id=> object.id, :only_path => false)))
38
- elsif SocialStream.objects.include? :document and object.is_a? Document
39
- notification_text=notification_text.gsub(/\%\{object.text\}/,link_to(object.file_file_name.truncate(100, :separator =>' '),
40
- url_for(:controller=> object.class.to_s.underscore.pluralize, :action=> :show,
41
- :id=> object.id, :only_path => false)))
42
-
43
- end
44
- #notification_text=notification_text.gsub(/\%\{object.image\}/,thumb_for(object)) if SocialStream.activity_forms.include? :document and object.is_a? Document
45
-
46
- else
47
- notification_text=notification_text.gsub(/\%\{object\}/,t('unknown'))
48
- notification_text=notification_text.gsub(/\%\{object.name\}/,t('unknown'))
49
- end
50
-
51
- notification_text
52
- end
53
-
54
- def decode_basic_notification notification_text, activity
55
- return if activity.nil?
56
- notification_text = notification_text.gsub(/\%\{sender\}/, truncate_name(activity.sender.name))
57
- notification_text = notification_text.gsub(/\%\{confirm\}/,t('notification.confirm'))
58
- notification_text = notification_text.gsub(/\%\{look\}/,t('notification.look') + ": "+
59
- url_for(:controller=> activity.sender.subject.class.to_s.underscore.pluralize,
60
- :action=> :show, :id=> activity.sender.subject.slug, :only_path => false))
61
- notification_text = notification_text.gsub(/\%\{sender.name\}/,truncate_name(activity.sender.name))
62
-
63
- if activity.receiver.subject.is_a?(User)
64
- notification_text = notification_text.gsub(/\%\{whose\}/,t('notification.whose.user'))
65
- notification_text = notification_text.gsub(/\%\{who\}/,t('notification.who.user'))
66
- else
67
- notification_text = notification_text.gsub(/\%\{whose\}/,t('notification.whose.others',
68
- :receiver => truncate_name(activity.receiver.name)))
69
- notification_text = notification_text.gsub(/\%\{who\}/,truncate_name(activity.receiver.name))
70
- end
71
-
72
- if activity.direct_object.present?
73
- object = activity.direct_object
74
- object = object.subject if object.is_a? Actor
75
- notification_text=notification_text.gsub(/\%\{object\}/,t(object.class.to_s.underscore+".name"))
76
- notification_text=notification_text.gsub(/\%\{object.name\}/,t(object.class.to_s.underscore+".name"))
77
- notification_text=notification_text.gsub(/\%\{object.text\}/,object.text.truncate(100, :separator =>' ')) if object.respond_to? :text
78
-
79
- #notification_text=notification_text.gsub(/\%\{object.image\}/,thumb_for(object)) if SocialStream.activity_forms.include? :document and object.is_a? Document
80
-
81
- else
82
- notification_text=notification_text.gsub(/\%\{object\}/,t('unknown'))
83
- notification_text=notification_text.gsub(/\%\{object.name\}/,t('unknown'))
84
- end
85
-
86
- notification_text
87
- end
88
- end
89
- end