social_stream-base 0.9.14 → 0.9.15

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 (53) hide show
  1. data/app/assets/javascripts/activities.js.erb +0 -2
  2. data/app/assets/javascripts/search.js.erb +0 -4
  3. data/app/assets/stylesheets/_colors.scss +22 -0
  4. data/app/assets/stylesheets/{activities.css → activities.css.scss} +20 -23
  5. data/app/assets/stylesheets/{base.css → base.css.scss} +43 -35
  6. data/app/assets/stylesheets/{contacts.css → contacts.css.scss} +5 -3
  7. data/app/assets/stylesheets/footer.css.scss +22 -0
  8. data/app/assets/stylesheets/{frontpage.css → frontpage.css.scss} +7 -13
  9. data/app/assets/stylesheets/{header.css → header.css.scss} +23 -20
  10. data/app/assets/stylesheets/search.css +15 -17
  11. data/app/assets/stylesheets/toolbar.css +7 -0
  12. data/app/controllers/invitations_controller.rb +2 -0
  13. data/app/controllers/search_controller.rb +27 -45
  14. data/app/helpers/contacts_helper.rb +1 -5
  15. data/app/helpers/search_helper.rb +4 -4
  16. data/app/models/actor.rb +1 -3
  17. data/app/views/activity_objects/_activity_object.html.erb +1 -1
  18. data/app/views/contacts/_link.html.erb +9 -0
  19. data/app/views/frontpage/_caracteristics.html.erb +23 -0
  20. data/app/views/frontpage/index.html.erb +3 -25
  21. data/app/views/groups/_index.html.erb +1 -1
  22. data/app/views/invitation_mailer/send_invitation.html.erb +3 -3
  23. data/app/views/invitation_mailer/send_invitation.text.erb +3 -2
  24. data/app/views/invitations/_new.html.erb +2 -2
  25. data/app/views/layouts/_header_dropdown_menu.html.erb +1 -1
  26. data/app/views/layouts/_header_dropdown_menu_sessions.html.erb +1 -1
  27. data/app/views/posts/_new_activity.html.erb +1 -1
  28. data/app/views/posts/_new_activity_fields.erb +6 -0
  29. data/app/views/search/_extended_search.html.erb +14 -0
  30. data/app/views/search/_form.html.erb +25 -13
  31. data/app/views/search/_header_search.html.erb +7 -13
  32. data/app/views/search/_index.html.erb +1 -6
  33. data/app/views/search/_index_frontpage.html.erb +2 -18
  34. data/app/views/search/index.js.erb +1 -1
  35. data/app/views/subjects/_subject_with_details.html.erb +1 -1
  36. data/app/views/toolbar/_home.html.erb +1 -1
  37. data/app/views/toolbar/_messages.html.erb +1 -1
  38. data/app/views/toolbar/_subject.html.erb +10 -0
  39. data/app/views/users/_index.html.erb +1 -1
  40. data/config/locales/en.yml +13 -22
  41. data/config/locales/es.yml +356 -0
  42. data/lib/generators/social_stream/base/templates/initializer.rb +6 -0
  43. data/lib/social_stream/base/version.rb +1 -1
  44. data/lib/social_stream/models/object.rb +7 -1
  45. data/lib/social_stream-base.rb +8 -0
  46. data/social_stream-base.gemspec +2 -0
  47. data/spec/controllers/invitations_controller_spec.rb +34 -0
  48. data/spec/dummy/config/initializers/social_stream.rb +6 -0
  49. data/spec/support/thinking-sphinx.rb +10 -0
  50. metadata +50 -28
  51. data/app/assets/stylesheets/footer.css +0 -26
  52. data/app/views/search/_focus_search.html.erb +0 -17
  53. data/app/views/search/_global_search.html.erb +0 -19
@@ -0,0 +1,356 @@
1
+ es:
2
+ actor:
3
+ name: "Nombre"
4
+ action:
5
+ send: "Enviar"
6
+ accept: "Aceptar"
7
+ account:
8
+ cancel: "Cancelar lar cuenta"
9
+ edit: "Editar cuenta"
10
+ email:
11
+ change: "Cambiar dirección de correo"
12
+ one: "Cuenta"
13
+ password:
14
+ change: "Cambiar contraseña"
15
+ new: "Nueva contraseña"
16
+ retype: "Repetir nueva contraseña"
17
+ privacy: "Privacidad"
18
+ activity:
19
+ audience:
20
+ visible: "Compartido con %{audience}"
21
+ hidden: "Compartido con esferas de %{audience}"
22
+ confirm_delete: "¿Borrar actividad?"
23
+ delete: "Borrar"
24
+ last: "Últimas actividades"
25
+ like: "Me gusta"
26
+ one: "Actividad"
27
+ other: "Actividades"
28
+ sending: "Enviando"
29
+ title: "Actividades"
30
+ to_comment: "Comentar"
31
+ unlike: "Ya no me gusta"
32
+ verb:
33
+ follow:
34
+ User:
35
+ title: "%{subject} añadió %{contact} como contacto."
36
+ message: "%{name} te añadió como contacto."
37
+ Group:
38
+ title: "%{subject} se unió al grupo %{contact}."
39
+ message: "%{name} te añadió como contacto."
40
+ like:
41
+ User:
42
+ title: "%{subject} es fan de %{contact}."
43
+ message: "%{name} es tu fan."
44
+ Group:
45
+ title: "%{subject} es fan de %{contact}."
46
+ message: "%{name} es tu fan."
47
+ make-friend:
48
+ User:
49
+ title: "%{subject} y %{contact} ahora están conectados."
50
+ message: "%{name} también te añadió como su contacto."
51
+ Group:
52
+ title: "%{subject} añadió a %{contact}."
53
+ message: "%{name} te añadió."
54
+ post:
55
+ title:
56
+ other_wall: "%{sender} → %{receiver}"
57
+ browse: "Descubrir"
58
+ button:
59
+ cancel: "Cancelar"
60
+ save: "Guardar"
61
+ update: "Actualizar"
62
+ cleditor:
63
+ controls: "negrita cursiva subrayado tachado subíndice superíndice | tamaño estilo | lista | imagen enlazar desenlazar"
64
+ comment:
65
+ input: "Comentar..."
66
+ confirm_delete: "¿Borrar commentario?"
67
+ view_all: "Ver todos los comentarios"
68
+ contact:
69
+ all_n: "Todos los contactos (%{count})"
70
+ confirm_delete: "¿Borrar contacto?"
71
+ current: "Actuales"
72
+ delete: "Borrar"
73
+ edit:
74
+ title: "Editar contacto con %{name}"
75
+ submit: "Editar contacto"
76
+ graph:
77
+ one: "Gráfico"
78
+ empty: "Lo sentimos pero aún no tienes contactos, pero ¡puedes probar a buscar en la caja de búsqueda!"
79
+ in_common:
80
+ one: "1 contacto en común"
81
+ other: "%{count} contactos en común"
82
+ new:
83
+ link: "+ Añadir contacto"
84
+ title: "Añadir a %{name} como contacto"
85
+ menu: "Añadir contacto"
86
+ submit: "Añadir"
87
+ one: "Contacto"
88
+ other: "Contactos"
89
+ pending:
90
+ other: "Pendientes"
91
+ all: "Todos"
92
+ all_n: "Ver todas los contactos pendientes (%{count})"
93
+ relation:
94
+ one: "Tipo de contacto"
95
+ new: "Nuevo tipo"
96
+ reply:
97
+ link: "+ Responder contacto"
98
+ title: "Responder contacto con %{name}"
99
+ submit: "Responder contacto"
100
+ suggestion:
101
+ one: "Sugerencia"
102
+ other: "Sugerencias"
103
+ all: "Todas"
104
+ type:
105
+ new: "+ Nuevo tipo"
106
+ copyright: "2011 Copyright - Derechos reservados"
107
+ delete:
108
+ confirm: "¿Borrar %{element}}?"
109
+ devise:
110
+ passwords:
111
+ confirm: "Confirmar contraseña"
112
+ forgot: "¿Olvidaste tu contraseña?"
113
+ instructions: "Introduce el correo electrónico y te mandaremos instrucciones para cambiarlo"
114
+ update: "Cambiar contraseña"
115
+ follower:
116
+ n:
117
+ one: "1 seguidor/a"
118
+ other: "%{count} seguidores"
119
+ forgot_password: "¿Olvidaste tu contraseña?"
120
+ frontpage:
121
+ collaborate:
122
+ default: "Colabora"
123
+ sentence1: "Organiza tus proyectos y actividades"
124
+ sentence2: "Crea tus propios grupos"
125
+ elements:
126
+ comments: "Comentarios"
127
+ networks: "Redes sociales"
128
+ organizers: "Organizadores"
129
+ participants: "Participantes"
130
+ groups: "Grupos"
131
+ tags: "Etiquetas"
132
+ main_title: "Social Stream es un núcleo para construir webs con características de red social"
133
+ meet:
134
+ default: "Encuentra"
135
+ sentence1: "Descubre grupos y gente interesante"
136
+ sentence2: "Encuentra la última actividad de tus contactos"
137
+ share:
138
+ default: "Comparte"
139
+ sentence1: "Tus proyectos y actividades"
140
+ sentence2: "Comentarios, fotos, audio y vídeo"
141
+ stats: "%{users} personas and %{groups} grupos registrados"
142
+ group:
143
+ one: "Grupo"
144
+ other: "Grupos"
145
+ all: "Todos los grupos"
146
+ all_n: "Todos los grupos (%{count})"
147
+ by: "Por grupos"
148
+ form:
149
+ title: "Grupo"
150
+ input: "¿Cuál es el nombre del grupo?"
151
+ last: "Últimos grupos"
152
+ my: "Mis grupos"
153
+ new:
154
+ action: "Nuevo grupo"
155
+ name: "Nombre"
156
+ description: "Descripción"
157
+ participants: "Participantes"
158
+ cloud: "Nube de etiquetas de grupos"
159
+ most:
160
+ followed: "Más seguidos"
161
+ liked: "Más populares"
162
+ tags: "Etiquetas"
163
+ help: "Ayuda"
164
+ helpers:
165
+ submit:
166
+ relation_custom:
167
+ create: "Guardar"
168
+ update: "Actualizar"
169
+ home: "Inicio"
170
+ inbox:
171
+ one: "Entrada"
172
+ invitation:
173
+ e-mails: "Correo electrónico"
174
+ error: "No se pudo atender a la petición. Asegurate de haber escrito una dirección de correo correcta"
175
+ invited: "%{sender} te ha invitado a %{site}"
176
+ join: "¡Invita a otras personas a unirse a %{site}!"
177
+ join_me: "¡Únete a mi en %{site}!"
178
+ one: "Invitación"
179
+ other: "Invitaciones"
180
+ toolbar: "Invitar"
181
+ success: "Se han enviado tus invitaciones"
182
+ text: "Escribe tu mensaje"
183
+ like:
184
+ n:
185
+ one: "1 fan"
186
+ other: "%{count} fans"
187
+ location:
188
+ message: "Estás aquí > %{location}"
189
+ base: "Estás aquí"
190
+ separator: " > "
191
+ mailboxer:
192
+ message_mailer:
193
+ subject_new: "%{subject}"
194
+ subject_reply: "%{subject}"
195
+ notification_mailer:
196
+ subject: "%{subject}"
197
+ menu:
198
+ options: "Opciones"
199
+ information: "Información"
200
+ wall: "Muro"
201
+ message:
202
+ answer: "Responder"
203
+ inbox: "Entrada"
204
+ look: "Échale un vistazo a esta conversación"
205
+ new: "Nuevo mensaje"
206
+ one: "Mensaje"
207
+ other: "Mensajes"
208
+ participants: "Participantes"
209
+ send: "Enviar un mensaje"
210
+ sentbox: "Salida"
211
+ trash: "Papelera"
212
+ notification:
213
+ confirm: "¿Confirmar contacto con %{sender.name}?"
214
+ destroy_sure: "¿Borrar notificación?"
215
+ look: "Écha un vistazo al muro de %{sender.name}"
216
+ one: "Notificación"
217
+ other: "Notificaciones"
218
+ read: "Marcar como leída"
219
+ read_all: "Marcar todas como leídas"
220
+ unread: "Marcar como no leídas"
221
+ post:
222
+ confirm_delete: "¿Borrar texto?"
223
+ form:
224
+ title: "Texto"
225
+ input: "¿Qué quieres compartir?"
226
+ title: "Textos"
227
+ profile:
228
+ one: "Perfil"
229
+ age: "Edad"
230
+ must_be_signed_id: "Debes identificarte"
231
+ group:
232
+ about: "Sobre nosotros"
233
+ birthday: "Aniversario"
234
+ experience: "Temas que se trabajan"
235
+ info: "Información sobre el grupo"
236
+ tags: "Etiquetas del grupo"
237
+ user:
238
+ about: "Sobre mí"
239
+ birthday: "Cumpleaños"
240
+ experience: "Intereses"
241
+ info: "Información personal"
242
+ tags: "Etiquetas"
243
+ actualcity: "Ciudad actual"
244
+ address: "Dirección"
245
+ contact: "Información de contacto"
246
+ country: "País"
247
+ email: "Correo electrónico"
248
+ empty: "Estos campos están vacíos. ¡Actualízalos!"
249
+ fax: "Fax"
250
+ mobile: "Móvil"
251
+ organization: "Organización"
252
+ phone: "Teléfono"
253
+ profile: "Editar perfil"
254
+ tags:
255
+ default: "social, stream,"
256
+ other: "Etiquetas"
257
+ website: "Sitio web"
258
+ update:
259
+ error: "Por favor, comprueba el formato de tu perfil:"
260
+ success: "Tu perfil se ha actualizado"
261
+ public:
262
+ other: "Todo el mundo"
263
+ permission:
264
+ description:
265
+ brief:
266
+ create:
267
+ activity: "Publicar en el muro"
268
+ follow:
269
+ nil: "Seguir su actividad"
270
+ read:
271
+ activity: "Leer muro"
272
+ represent:
273
+ nil: "Administrar"
274
+ detailed:
275
+ create:
276
+ activity: "Publicar en el muro de\"%{relation}\""
277
+ follow:
278
+ nil: "Las actividades de los contactos en %{relation} aparecerán en tu página de inicio"
279
+ read:
280
+ activity: "Leer publicaciones en el muro de \"%{relation}\""
281
+ tie: "Ver contactos en los niveles: %{relations} y %{public}"
282
+ represent:
283
+ nil: "Cambiar sesión para actuar en nombre de %{subject}"
284
+ of_relation:
285
+ choose: "2. Permisos para <strong>%{name}</strong>"
286
+ privacy:
287
+ intro: "Los contactos en <strong>%{relation}</strong> solo pueden:"
288
+ rule:
289
+ add: "Añadir"
290
+ title: "Reglas de privacidad"
291
+ saved: "Reglas de privacidad guardadas"
292
+ relation_custom:
293
+ choose: "1. Elegir tipo de relación"
294
+ confirm_delete: "¿Borrar este tipo de relación?"
295
+ delete: "Borrar"
296
+ edit: "Cambiar nombre"
297
+ new: "+ Nuevo tipo"
298
+ title: "Privacidad y contexto"
299
+ relation_public:
300
+ name: "Público"
301
+ required: "(*) Estos campos son obligatorios"
302
+ search:
303
+ all_subject_results: "Ver todos %{subject} (%{count})"
304
+ at_least: "Escribe al menos 2 letras"
305
+ global:
306
+ name: "Búsqueda global"
307
+ first_result:
308
+ more: "Mostrando los primeros %{count} resultados."
309
+ one: "Mostrando el primer resultado"
310
+ query: "Más resultados para %{query} >"
311
+ name: "Buscar"
312
+ no_subject_found: "No se encontró a %{subject}."
313
+ nothing: "No se ha econtrado nada."
314
+ searching: "Buscando: %{query}"
315
+ show_all: "Todos los resultados"
316
+ write: "Escribe tu búsqueda..."
317
+ wrong: "Parece que hay un problema con el motor de búsqueda"
318
+ settings:
319
+ error: "Hubo errores al guardar los cambios"
320
+ for: "Ajustes para"
321
+ main: "Ajustes principales"
322
+ one: "Ajustes"
323
+ success: "Ajustes guardados con éxito"
324
+ api_key:
325
+ briefing: "Gestiona tu clave API"
326
+ confirm: "¿Estás seguro?"
327
+ empty: "Token vacío"
328
+ explanation: "Ésta es tu clave API"
329
+ name: "Clave API"
330
+ regenerate: "Regenerar clave API"
331
+ notifications:
332
+ briefing: "Ajustes sobre notificaciones y alertas por correo"
333
+ name: "Notificaciones"
334
+ by_email:
335
+ name: "Mandarme un correo cuando me llega una notificación"
336
+ always: "Siempre"
337
+ never: "Nunca"
338
+ share: "Compartir"
339
+ sign_in: "Entrar"
340
+ sign_out: "Salir"
341
+ sign_up: "Registrarse"
342
+ site:
343
+ name: "Social Stream"
344
+ subject:
345
+ this_is_you: "¡Eres tú!"
346
+ sure: "¿Seguro?"
347
+ time:
348
+ ago: "hace %{time}"
349
+ user:
350
+ by: "Por usuarios"
351
+ one: "Usuario"
352
+ other: "Usuarios"
353
+ all: "Todos los usuarios"
354
+ all_n: "Todos los usuarios (%{count})"
355
+ welcome: "¡Bienvenid@ a %{site}!"
356
+
@@ -20,4 +20,10 @@ SocialStream.setup do |config|
20
20
  # You can write your own activity objects
21
21
  #
22
22
  # config.activity_forms = [ :post, :document, :foo, :bar ]
23
+
24
+ # Quick search (header) and Extended search models and its order. Remember to create
25
+ # the indexes with thinking-sphinx if you are using customized models.
26
+ #
27
+ # config.quick_search_models = [:user, :group]
28
+ # config.extended_search_models = [:user, :group]
23
29
  end
@@ -1,5 +1,5 @@
1
1
  module SocialStream
2
2
  module Base
3
- VERSION = "0.9.14".freeze
3
+ VERSION = "0.9.15".freeze
4
4
  end
5
5
  end
@@ -16,7 +16,9 @@ module SocialStream
16
16
 
17
17
  delegate :post_activity,
18
18
  :like_count,
19
- :to => :activity_object
19
+ :tag_list, :tag_list=,
20
+ :tagged_with, :tag_counts,
21
+ :to => :activity_object!
20
22
 
21
23
  before_create :create_activity_object_with_type
22
24
 
@@ -29,6 +31,10 @@ module SocialStream
29
31
  end
30
32
 
31
33
  module InstanceMethods
34
+ def activity_object!
35
+ activity_object || build_activity_object(:object_type => self.class.to_s)
36
+ end
37
+
32
38
  # All the activities with this object
33
39
  def activities
34
40
  Activity.
@@ -37,6 +37,8 @@ require 'simple-navigation'
37
37
  require 'modernizr-rails'
38
38
  # Sphinx search engine
39
39
  require 'thinking-sphinx'
40
+ # Syntactically Awesome Stylesheets
41
+ require 'sass-rails'
40
42
 
41
43
  # Provides your Rails application with social network and activity stream support
42
44
  module SocialStream
@@ -77,6 +79,12 @@ module SocialStream
77
79
  mattr_accessor :activity_forms
78
80
  @@activity_forms = [ :post, :group ]
79
81
 
82
+ mattr_accessor :quick_search_models
83
+ @@quick_search_models = [ :user, :group ]
84
+
85
+ mattr_accessor :extended_search_models
86
+ @@extended_search_models = [ :user, :group ]
87
+
80
88
  class << self
81
89
  def setup
82
90
  yield self
@@ -51,6 +51,8 @@ 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.7')
54
+ #Syntactically Awesome Stylesheets
55
+ s.add_runtime_dependency('sass-rails', '~> 3.1.0')
54
56
 
55
57
  # Development gem dependencies
56
58
  #
@@ -0,0 +1,34 @@
1
+ require 'spec_helper'
2
+
3
+ describe InvitationsController do
4
+ render_views
5
+
6
+ context "without authentication" do
7
+ it "should redirect to login" do
8
+ get :new
9
+
10
+ response.should redirect_to(new_user_session_path)
11
+ end
12
+ end
13
+
14
+ context "authenticated" do
15
+ before do
16
+ @user = Factory(:user)
17
+
18
+ sign_in @user
19
+ end
20
+
21
+ it "should render new" do
22
+ get :new
23
+
24
+ response.should be_success
25
+ end
26
+
27
+ it "should send invitation" do
28
+ post :create, :mails => "test@test.com, bla@bla.com", :message => "Testing"
29
+
30
+ response.should be_success
31
+
32
+ end
33
+ end
34
+ end
@@ -20,4 +20,10 @@ SocialStream.setup do |config|
20
20
  # You can write your own activity objects
21
21
  #
22
22
  # config.activity_forms = [ :post, :document, :foo, :bar ]
23
+
24
+ # Quick search (header) and Extended search models and its order. Remember to create
25
+ # the indexes with thinking-sphinx if you are using customized models.
26
+ #
27
+ # config.quick_search_models = [:user, :group]
28
+ # config.extended_search_models = [:user, :group]
23
29
  end
@@ -0,0 +1,10 @@
1
+ ThinkingSphinx::AbstractAdapter.class_eval do
2
+ class << self
3
+ def detect_with_rescue(*args)
4
+ detect_without_rescue(*args)
5
+ rescue
6
+ end
7
+
8
+ alias_method_chain :detect, :rescue
9
+ end
10
+ end