social_stream-base 0.14.2 → 0.14.3

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.
@@ -1,40 +1,46 @@
1
1
 
2
2
  <div id="contacts_cheesecake"></div>
3
- <div id="contacts_filter">
4
- <%= text_field_tag :filter_query, nil,:autocomplete => :off, :id => :contacts_filter_input %>
3
+ <div id="sector_form" style="display:none;">
4
+ <%= render :partial => "sector_form" %>
5
5
  </div>
6
- <div id="contacts_selector_modifiers">
7
- <span id="contacts_selector_clear">Unselect all</span>
8
- </div>
9
- <div id="contacts_grid">
10
- <div id="contacts_grid_saving" style="display:none;">
11
- <%= image_tag('loading.gif') %>
6
+ <div id="contacts_explorer">
7
+ <div id="contacts_filter">
8
+ <%= text_field_tag :filter_query, nil,:autocomplete => :off, :id => :contacts_filter_input %>
12
9
  </div>
13
- <div id="contacts_grid_selected">
14
- <br class="clearfloat">
10
+ <div id="contacts_selector_modifiers">
11
+ <span id="contacts_selector_clear">Unselect all</span>
15
12
  </div>
16
- <div id="contacts_grid_available">
17
- <% @actors.each do |actor|%>
18
- <%= render :partial => "actors/actor_cheesecake", :locals => {:actor => actor} %>
19
- <% end %>
13
+ <div id="contacts_grid">
14
+ <div id="contacts_grid_saving" style="display:none;">
15
+ <%= image_tag('loading.gif') %>
16
+ </div>
17
+ <div id="contacts_grid_selected">
18
+ <div id="contacts_grid_selected_hint"><%= t('cheesecake.select.hint') %></div>
19
+ <br class="clearfloat">
20
+ </div>
21
+ <div id="contacts_grid_available">
22
+ <% @actors.each do |actor|%>
23
+ <%= render :partial => "actors/actor_cheesecake", :locals => {:actor => actor} %>
24
+ <% end %>
25
+ </div>
20
26
  </div>
21
- </div>
22
- <div id="contacts_save" style="display:none;">
23
- <form action="<%= update_cheesecake_path %>" method="get" data-remote="true" id="contacts_save_form">
24
- <input type="submit" id="contacts_save_button" value="<%= t('cheesecake.changes.save') %>">
25
- <input type="hidden" id="contacts_save_changes" name="contacts_save_changes">
26
- </form>
27
- </div>
28
- <div id="contacts_changes_button" style="display:none;">
29
- <%= t('cheesecake.changes.details') %> (<span id="contacts_changes_button_total">0</span>)
30
- </div>
31
- <br class="clearfloat">
32
- <div id="contacts_changes">
33
- <div id="contacts_changes_title">
34
- <%= t('cheesecake.changes.details') %>
27
+ <div id="contacts_changes_button" style="display:none;">
28
+ <%= t('cheesecake.changes.details') %> (<span id="contacts_changes_button_total">0</span>)
35
29
  </div>
36
- <div id="contacts_changes_details">
37
-
30
+ <div id="contacts_save" style="display:none;">
31
+ <form action="<%= update_cheesecake_path %>" method="get" data-remote="true" id="contacts_save_form">
32
+ <input type="submit" id="contacts_save_button" value="<%= t('cheesecake.changes.save') %>">
33
+ <input type="hidden" id="contacts_save_changes" name="contacts_save_changes">
34
+ </form>
35
+ </div>
36
+ <br class="clearfloat">
37
+ <div id="contacts_changes">
38
+ <div id="contacts_changes_title">
39
+ <%= t('cheesecake.changes.details') %>
40
+ </div>
41
+ <div id="contacts_changes_details">
42
+
43
+ </div>
38
44
  </div>
39
45
  </div>
40
46
  <%= javascript_tag do %>
@@ -50,36 +56,36 @@
50
56
  var unselected_actor_click = function(){
51
57
  var clone = $(this).clone();
52
58
  clone.attr("id",$(this).attr("id") + "_selected");
53
- $(this).slideToggle("fast",function(){
59
+ $(this).fadeOut("fast",function(){
54
60
  clone.hide();
55
61
  $(this).before(clone);
56
- $("#contacts_grid_selected br.clearfloat").before($(this));
62
+ $("#contacts_grid_selected_hint").before($(this));
57
63
  $(this).off("click.unselected_actor");
58
64
  $(this).on("click.selected_actor", selected_actor_click);
59
- if($("#contacts_grid_selected").css("display")=="none"){
60
- $("#contacts_grid_selected").slideToggle("fast");
65
+ if($("#contacts_grid_selected_hint").css("display")!="none"){
61
66
  $("#contacts_selector_modifiers").css("opacity",1);
67
+ $("#contacts_grid_selected_hint").hide();
62
68
  }
63
69
  var height = 336 - Math.ceil(($("#contacts_grid_selected").children().length - 1) / 10) * 28;
64
70
  if(height != $("#contacts_grid_available").height())
65
71
  $("#contacts_grid_available").animate({height: height});
66
- $(this).slideToggle("fast");
72
+ $(this).fadeIn("fast");
67
73
  });
68
74
  };
69
75
  var selected_actor_click = function(){
70
76
  var clone = $("#" + $(this).attr("id") + "_selected");
71
- $(this).slideToggle("fast",function(){
77
+ $(this).fadeOut("fast",function(){
72
78
  clone.before($(this));
73
79
  $(this).off("click.selected_actor");
74
80
  $(this).on("click.unselected_actor", unselected_actor_click);
75
- if($("#contacts_grid_selected").children().length <= 1){
76
- $("#contacts_grid_selected").slideToggle("fast");
81
+ if($("#contacts_grid_selected").children().length <= 2){
77
82
  $("#contacts_selector_modifiers").css("opacity",0);
83
+ $("#contacts_grid_selected_hint").fadeIn("fast");
78
84
  }
79
85
  var height = 336 - Math.ceil(($("#contacts_grid_selected").children().length - 1) / 10) * 28;
80
86
  if(height != $("#contacts_grid_available").height())
81
87
  $("#contacts_grid_available").animate({height: height});
82
- $(this).slideToggle("fast");
88
+ $(this).fadeIn("fast");
83
89
  clone.remove();
84
90
  });
85
91
  };
@@ -102,13 +108,5 @@
102
108
  });
103
109
  }
104
110
  });
105
- $("#contacts_save_form").submit(function(){
106
- if($(".contacts_changes_tipsy_menu").length != 0){
107
- $("#contacts_changes_button").tipsy("hide");
108
- }
109
- $("#contacts_grid_saving").show();
110
- cheese.disable();
111
- $("#contacts_save_button").val("<%= t('cheesecake.changes.saving') %>").attr("disabled","true");
112
- });
113
111
  <%= render :partial => 'cheesecake' %>
114
112
  <% end %>
@@ -0,0 +1 @@
1
+ Sector form in construction. Please, be patient :D
@@ -8,7 +8,7 @@
8
8
  </div>
9
9
 
10
10
  <% if defined?(SocialStream::Presence) and SocialStream::Presence.enable %>
11
- <%= render :partial => 'chat/index' %>
11
+ <%= render :partial => 'chat/index' , :locals => {:flow => true} %>
12
12
  <% end %>
13
13
 
14
14
  <div class="block space_center">
@@ -97,6 +97,8 @@ en:
97
97
  none: "No changes"
98
98
  save: "Save changes"
99
99
  saving: "Saving..."
100
+ select:
101
+ hint: "Select by clicking the portraits"
100
102
  comment:
101
103
  input: "Write a comment..."
102
104
  confirm_delete: "Delete comment?"
@@ -97,6 +97,8 @@ es:
97
97
  none: "Sin cambios"
98
98
  save: "Guardar cambios"
99
99
  saving: "Guardando..."
100
+ select:
101
+ hint: "Selecciona haciendo click en los retratos"
100
102
  comment:
101
103
  input: "Comentar..."
102
104
  confirm_delete: "¿Borrar commentario?"
@@ -0,0 +1,192 @@
1
+ es:
2
+ date:
3
+ abbr_day_names:
4
+ - dom
5
+ - lun
6
+ - mar
7
+ - mié
8
+ - jue
9
+ - vie
10
+ - sáb
11
+ abbr_month_names:
12
+ -
13
+ - ene
14
+ - feb
15
+ - mar
16
+ - abr
17
+ - may
18
+ - jun
19
+ - jul
20
+ - ago
21
+ - sep
22
+ - oct
23
+ - nov
24
+ - dic
25
+ day_names:
26
+ - domingo
27
+ - lunes
28
+ - martes
29
+ - miércoles
30
+ - jueves
31
+ - viernes
32
+ - sábado
33
+ formats:
34
+ default: ! '%d/%m/%Y'
35
+ long: ! '%d de %B de %Y'
36
+ short: ! '%d de %b'
37
+ month_names:
38
+ -
39
+ - enero
40
+ - febrero
41
+ - marzo
42
+ - abril
43
+ - mayo
44
+ - junio
45
+ - julio
46
+ - agosto
47
+ - septiembre
48
+ - octubre
49
+ - noviembre
50
+ - diciembre
51
+ order:
52
+ - :day
53
+ - :month
54
+ - :year
55
+ datetime:
56
+ distance_in_words:
57
+ about_x_hours:
58
+ one: alrededor de 1 hora
59
+ other: alrededor de %{count} horas
60
+ about_x_months:
61
+ one: alrededor de 1 mes
62
+ other: alrededor de %{count} meses
63
+ about_x_years:
64
+ one: alrededor de 1 año
65
+ other: alrededor de %{count} años
66
+ almost_x_years:
67
+ one: casi 1 año
68
+ other: casi %{count} años
69
+ half_a_minute: medio minuto
70
+ less_than_x_minutes:
71
+ one: menos de 1 minuto
72
+ other: menos de %{count} minutos
73
+ less_than_x_seconds:
74
+ one: menos de 1 segundo
75
+ other: menos de %{count} segundos
76
+ over_x_years:
77
+ one: más de 1 año
78
+ other: más de %{count} años
79
+ x_days:
80
+ one: 1 día
81
+ other: ! '%{count} días'
82
+ x_minutes:
83
+ one: 1 minuto
84
+ other: ! '%{count} minutos'
85
+ x_months:
86
+ one: 1 mes
87
+ other: ! '%{count} meses'
88
+ x_seconds:
89
+ one: 1 segundo
90
+ other: ! '%{count} segundos'
91
+ prompts:
92
+ day: Día
93
+ hour: Hora
94
+ minute: Minutos
95
+ month: Mes
96
+ second: Segundos
97
+ year: Año
98
+ errors:
99
+ format: ! '%{attribute} %{message}'
100
+ messages:
101
+ accepted: debe ser aceptado
102
+ blank: no puede estar en blanco
103
+ confirmation: no coincide con la confirmación
104
+ empty: no puede estar vacío
105
+ equal_to: debe ser igual a %{count}
106
+ even: debe ser par
107
+ exclusion: está reservado
108
+ greater_than: debe ser mayor que %{count}
109
+ greater_than_or_equal_to: debe ser mayor que o igual a %{count}
110
+ inclusion: no está incluido en la lista
111
+ invalid: no es válido
112
+ less_than: debe ser menor que %{count}
113
+ less_than_or_equal_to: debe ser menor que o igual a %{count}
114
+ not_a_number: no es un número
115
+ not_an_integer: debe ser un entero
116
+ odd: debe ser impar
117
+ record_invalid: ! 'La validación falló: %{errors}'
118
+ taken: ya está en uso
119
+ too_long: es demasiado largo (%{count} caracteres máximo)
120
+ too_short: es demasiado corto (%{count} caracteres mínimo)
121
+ wrong_length: no tiene la longitud correcta (%{count} caracteres exactos)
122
+ template:
123
+ body: ! 'Se encontraron problemas con los siguientes campos:'
124
+ header:
125
+ one: No se pudo guardar este/a %{model} porque se encontró 1 error
126
+ other: No se pudo guardar este/a %{model} porque se encontraron %{count} errores
127
+ helpers:
128
+ select:
129
+ prompt: Por favor seleccione
130
+ submit:
131
+ create: Crear %{model}
132
+ submit: Guardar %{model}
133
+ update: Actualizar %{model}
134
+ number:
135
+ currency:
136
+ format:
137
+ delimiter: .
138
+ format: ! '%n %u'
139
+ precision: 2
140
+ separator: ! ','
141
+ significant: false
142
+ strip_insignificant_zeros: false
143
+ unit: €
144
+ format:
145
+ delimiter: .
146
+ precision: 3
147
+ separator: ! ','
148
+ significant: false
149
+ strip_insignificant_zeros: false
150
+ human:
151
+ decimal_units:
152
+ format: ! '%n %u'
153
+ units:
154
+ billion: mil millones
155
+ million: millón
156
+ quadrillion: mil billones
157
+ thousand: mil
158
+ trillion: billón
159
+ unit: ''
160
+ format:
161
+ delimiter: ''
162
+ precision: 1
163
+ significant: true
164
+ strip_insignificant_zeros: true
165
+ storage_units:
166
+ format: ! '%n %u'
167
+ units:
168
+ byte:
169
+ one: Byte
170
+ other: Bytes
171
+ gb: GB
172
+ kb: KB
173
+ mb: MB
174
+ tb: TB
175
+ percentage:
176
+ format:
177
+ delimiter: ''
178
+ precision:
179
+ format:
180
+ delimiter: ''
181
+ support:
182
+ array:
183
+ last_word_connector: ! ', y '
184
+ two_words_connector: ! ' y '
185
+ words_connector: ! ', '
186
+ time:
187
+ am: am
188
+ formats:
189
+ default: ! '%A, %d de %B de %Y %H:%M:%S %z'
190
+ long: ! '%d de %B de %Y %H:%M'
191
+ short: ! '%d de %b %H:%M'
192
+ pm: pm
@@ -12,7 +12,7 @@ class AddRejectRelation < ActiveRecord::Migration
12
12
  logger.warn "Public contact #{ t.contact_id } has #{ contact.ties_count }, when expecting 1"
13
13
  end
14
14
 
15
- t.update_attribute :relation_id, t.sender.relation_reject.id
15
+ t.update_attribute :relation_id, Relation::Reject.instance.id
16
16
  end
17
17
  end
18
18
 
@@ -21,7 +21,7 @@ class AddRejectRelation < ActiveRecord::Migration
21
21
  includes(:relation, :contact).
22
22
  merge(Relation.where(:type => 'Relation::Reject')).
23
23
  each do |t|
24
- t.update_attribute :relation_id, t.sender.relation_public.id
24
+ t.update_attribute :relation_id, Relation::Public.instance.id
25
25
  end
26
26
 
27
27
  Relation::Reject.destroy_all
@@ -0,0 +1,46 @@
1
+ class SingletonSingleRelations < ActiveRecord::Migration
2
+ def up
3
+ Tie.record_timestamps = false
4
+ Audience.record_timestamps = false
5
+
6
+ r_new = Relation::Public.instance
7
+
8
+ Relation::Public.all.each do |r|
9
+ next if r == r_new
10
+
11
+ # Reassign r -> r_new
12
+ r.ties.each do |t|
13
+ t.update_column(:relation_id, r_new.id)
14
+ end
15
+
16
+ r.audiences.each do |a|
17
+ a.update_column(:relation_id, r_new.id)
18
+ end
19
+
20
+ # Delete r
21
+ r.delete
22
+ end
23
+
24
+ r_new = Relation::Reject.instance
25
+
26
+ Relation::Reject.all.each do |r|
27
+ next if r == r_new
28
+
29
+ # Reassign r -> r_new
30
+ r.ties.each do |t|
31
+ t.update_column(:relation_id, r_new.id)
32
+ end
33
+
34
+ r.audiences.each do |a|
35
+ a.update_column(:relation_id, r_new.id)
36
+ end
37
+
38
+ # Delete r
39
+ r.delete
40
+ end
41
+ end
42
+
43
+ def down
44
+ raise ActiveRecord::IrreversibleMigration
45
+ end
46
+ end
@@ -1,5 +1,5 @@
1
1
  module SocialStream
2
2
  module Base
3
- VERSION = "0.14.2".freeze
3
+ VERSION = "0.14.3".freeze
4
4
  end
5
5
  end
@@ -125,7 +125,7 @@ namespace :db do
125
125
  # = Ties
126
126
  available_actors.each do |a|
127
127
  actors = available_actors.dup - Array(a)
128
- relations = a.relation_customs + Array.wrap(a.relation_reject)
128
+ relations = a.relation_customs + Array.wrap(Relation::Reject.instance)
129
129
  break if actors.size==0
130
130
  if CHEESECAKE
131
131
  actor = Actor.first
@@ -55,7 +55,7 @@ describe PostsController do
55
55
  describe "with public relation" do
56
56
  before do
57
57
  contact = @user.contact_to!(@user)
58
- relation = @user.relation_public
58
+ relation = Relation::Public.instance
59
59
  model_assigned_to @user.contact_to!(@user), relation
60
60
  @current_model = Factory(:post, :author_id => @user.actor_id,
61
61
  :owner_id => @user.actor_id,
@@ -146,7 +146,7 @@ describe PostsController do
146
146
  describe "with public relation" do
147
147
  before do
148
148
  contact = @group.contact_to!(@group)
149
- relation = @group.relation_public
149
+ relation = Relation::Public.instance
150
150
  model_assigned_to contact, relation
151
151
  @current_model = Factory(:post, :author_id => contact.sender.id,
152
152
  :owner_id => contact.receiver.id,
@@ -35,7 +35,7 @@ Factory.define :self_activity, :parent => :activity do |a|
35
35
  end
36
36
 
37
37
  Factory.define :public_activity, :parent => :activity do |a|
38
- a.relation_ids { |b| Array(b.sender.relation_public.id) }
38
+ a.relation_ids { |b| Array(Relation::Public.instance.id) }
39
39
  end
40
40
 
41
41
  Factory.define :like_activity, :class => 'Activity' do |a|
@@ -7,5 +7,5 @@ end
7
7
 
8
8
  Factory.define :public_post, :parent => :post do |p|
9
9
  p.owner_id { |q| q.author_id }
10
- p._relation_ids { |q| Array(q.author.relation_public.id) }
10
+ p._relation_ids { |q| Array(Relation::Public.instance.id) }
11
11
  end
@@ -13,11 +13,11 @@ Factory.define :acquaintance, :parent => :tie do |t|
13
13
  end
14
14
 
15
15
  Factory.define :public, :parent => :tie do |t|
16
- t.after_build { |u| u.relation = u.sender.relation_public }
16
+ t.after_build { |u| u.relation = Relation::Public.instance }
17
17
  end
18
18
 
19
19
  Factory.define :reject, :parent => :tie do |t|
20
- t.after_build { |u| u.relation = u.sender.relation_reject }
20
+ t.after_build { |u| u.relation = Relation::Reject.instance }
21
21
  end
22
22
 
23
23
  # Group ties
@@ -38,6 +38,6 @@ Factory.define :partner, :parent => :g2g_tie do |t|
38
38
  end
39
39
 
40
40
  Factory.define :group_public, :parent => :g2g_tie do |t|
41
- t.after_build { |u| u.relation = u.sender.relation_public }
41
+ t.after_build { |u| u.relation = Relation::Public.instance }
42
42
  end
43
43
 
@@ -89,7 +89,7 @@ describe Activity do
89
89
  context "with public activity" do
90
90
  before do
91
91
  contact = @user.contact_to!(@user)
92
- create_activity(contact, @user.relation_public)
92
+ create_activity(contact, Relation::Public.instance)
93
93
  end
94
94
 
95
95
  describe "sender home" do
@@ -219,7 +219,7 @@ describe Activity do
219
219
  describe "belonging to user's public relation" do
220
220
 
221
221
  before do
222
- create_activity(@user.contact_to!(@user), @user.relation_public)
222
+ create_activity(@user.contact_to!(@user), Relation::Public.instance)
223
223
  end
224
224
 
225
225
  describe "accessed by the sender" do
@@ -271,7 +271,7 @@ describe Activity do
271
271
 
272
272
  before do
273
273
  @tie = Factory(:public)
274
- create_activity @tie.contact, @tie.sender.relation_public
274
+ create_activity @tie.contact, Relation::Public.instance
275
275
  create_ability_accessed_by @tie.receiver_subject
276
276
  end
277
277
 
data/spec/support/db.rb CHANGED
@@ -1,6 +1,8 @@
1
1
  require 'social_stream/migrations/base'
2
2
 
3
- SocialStream::Migrations::Base.new.down
3
+ ActiveRecord::Base.connection.tables.each do |t|
4
+ ActiveRecord::Base.connection.drop_table t
5
+ end
4
6
 
5
7
  SocialStream::Migrations::Base.new.up
6
8