social_stream-base 0.9.0 → 0.9.1
Sign up to get free protection for your applications and to get access to all the features.
- data/app/assets/javascripts/activities.js.erb +16 -35
- data/app/assets/stylesheets/activities.css +1 -1
- data/app/assets/stylesheets/base.css +1 -1
- data/app/assets/stylesheets/frontpage.css +4 -2
- data/app/assets/stylesheets/search.css +12 -1
- data/app/controllers/notifications_controller.rb +4 -2
- data/app/helpers/contacts_helper.rb +2 -2
- data/app/models/actor.rb +12 -1
- data/app/views/activities/_new.html.erb +2 -2
- data/app/views/comments/_new.html.erb +15 -2
- data/app/views/comments/create.js.erb +7 -1
- data/app/views/devise/registrations/edit.html.erb +19 -5
- data/app/views/devise/sessions/new.html.erb +7 -6
- data/app/views/layouts/_account.html.erb +1 -1
- data/app/views/layouts/_search.html.erb +2 -2
- data/app/views/notifications/activities/_like_body.html.erb +1 -1
- data/app/views/notifications/activities/_like_subject.html.erb +2 -2
- data/app/views/notifications/index.js.erb +2 -0
- data/app/views/posts/create.js.erb +7 -2
- data/app/views/search/_header_search.html.erb +5 -0
- data/config/locales/en.yml +13 -1
- data/lib/generators/social_stream/base/install_generator.rb +4 -0
- data/lib/generators/social_stream/base/templates/sphinx.yml +9 -0
- data/lib/social_stream/base/version.rb +1 -1
- data/social_stream-base.gemspec +1 -1
- data/spec/controllers/notifications_controller_spec.rb +3 -3
- data/spec/dummy/config/initializers/devise.rb +60 -16
- metadata +8 -7
@@ -9,6 +9,20 @@ $(function() {
|
|
9
9
|
$('#security').chosen();
|
10
10
|
});
|
11
11
|
|
12
|
+
|
13
|
+
$(document).ready(function() {
|
14
|
+
$('#new_post').submit(function() {
|
15
|
+
$("#input_activities").blur();
|
16
|
+
$("#masterSubmitButton").val("<%= I18n.t('activity.sending') %>...");
|
17
|
+
$('#new_post').attr("disabled", true);
|
18
|
+
$('#masterSubmitButton').attr("disabled", true);
|
19
|
+
$('#input_activities').attr('readonly', true);
|
20
|
+
return true;
|
21
|
+
});
|
22
|
+
});
|
23
|
+
|
24
|
+
|
25
|
+
|
12
26
|
//clicks form selector
|
13
27
|
$('.activity_form_selector').live('click',function(){
|
14
28
|
$('.activity_form_selector').removeClass('selected');
|
@@ -34,18 +48,8 @@ $('#masterSubmitButton').live('click',function(){
|
|
34
48
|
|
35
49
|
//javascript for main activities input
|
36
50
|
$(function() {
|
37
|
-
activity_input = "<%= I18n.t('activity.input') %>";
|
38
51
|
$("#input_activities").click(function(){
|
39
|
-
if(this.value == activity_input){
|
40
|
-
this.value = "";
|
41
52
|
$("#masterSubmitButton").show();
|
42
|
-
}
|
43
|
-
});
|
44
|
-
event_input = "<%= I18n.t('event.input') %>";
|
45
|
-
$("#event_name").click(function(){
|
46
|
-
if(this.value == event_input){
|
47
|
-
this.value = "";
|
48
|
-
}
|
49
53
|
});
|
50
54
|
});
|
51
55
|
|
@@ -53,7 +57,8 @@ $(function() {
|
|
53
57
|
//javascript for comments
|
54
58
|
$(function() {
|
55
59
|
//"write new comment..." text in every text field for comments
|
56
|
-
$("
|
60
|
+
$("#input_activities").Watermark("<%= I18n.t('activity.input') %>","#666");
|
61
|
+
$(".input_new_comments").Watermark("<%= I18n.t('comment.input') %>","#666");
|
57
62
|
|
58
63
|
//show only the text fields for new comment if there are any comment to the post
|
59
64
|
$(".activity_new_comment").each(function(){
|
@@ -84,42 +89,18 @@ showAllComments = function(id){
|
|
84
89
|
|
85
90
|
//usa livequery para usar el javascript luego de una accion con AJAX
|
86
91
|
$(".input_new_comments").live("click",function(){
|
87
|
-
if(this.value == "<%= I18n.t('comment.input') %>"){
|
88
|
-
$(this).val("");
|
89
|
-
}
|
90
92
|
$(".activities_comment_btn").hide();
|
91
93
|
$(this).parent(".new_comment").children(".activities_comment_btn").show();
|
92
94
|
});
|
93
95
|
|
94
|
-
/* this function works but it finishes and no other event is done
|
95
|
-
* I mean: when you click in other button the blur happens but the click is not done
|
96
|
-
$(".input_new_comments").live("blur",function(){
|
97
|
-
if(this.value == ""){
|
98
|
-
$(".activities_comment_btn").hide();
|
99
|
-
$(this).val("<%= I18n.t('comment.input') %>");
|
100
|
-
}
|
101
|
-
return true;
|
102
|
-
});
|
103
|
-
*/
|
104
|
-
|
105
96
|
//javascript for tocomment option
|
106
97
|
$(".to_comment").live("click", function(){
|
107
98
|
$(this).parents(".activity_content").find(".activity_new_comment").show();
|
108
|
-
$(".input_new_comments").val("<%= I18n.t('comment.input') %>");
|
109
99
|
$(this).parents(".activity_content").find(".input_new_comments").click();
|
110
100
|
$(this).parents(".activity_content").find(".input_new_comments").focus();
|
111
101
|
return false;
|
112
102
|
});
|
113
103
|
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
104
|
//move he last list item before the first item. The purpose of this is if the user clicks to slide left he will be able to see the last item.
|
124
105
|
$('#carousel_ul li:first').before($('#carousel_ul li:last'));
|
125
106
|
|
@@ -60,7 +60,7 @@
|
|
60
60
|
border: thin solid #D4E4E4; width:100%; padding-top: 3px; padding-bottom: 3px;display:none;}
|
61
61
|
.actor_logo_subactivity { width: 40px; padding: 5px 3px 5px 2px; display: inline-block;
|
62
62
|
vertical-align: top;}
|
63
|
-
.input_new_comments{ border:1px solid #BDC7D8; width:98%; padding: 2px;}
|
63
|
+
.input_new_comments{ border:1px solid #BDC7D8; width:98%; padding: 2px; color:#2A3890;}
|
64
64
|
.subactivity{ font-size: 11px; padding: 0px 0px 0px 5px; background: #deeff8;
|
65
65
|
border: thin solid #D4E4E4; width: 100%; }
|
66
66
|
.space_comments { padding-top: 1px; padding-bottom: 1px;}
|
@@ -67,7 +67,7 @@ textarea.new_contact_text_area{ height: 100px; color: #2A3890;}
|
|
67
67
|
color-stop(0.16, rgb(0,122,193)), color-stop(0.58, rgb(56,148,209)), color-stop(0.79, rgb(168,222,249)) );
|
68
68
|
background-image: -moz-linear-gradient(center bottom,
|
69
69
|
rgb(0,122,193) 16%, rgb(56,148,209) 58%, rgb(168,222,249) 79%);
|
70
|
-
border-radius: 0.2em; color: #fff;
|
70
|
+
border-radius: 0.2em; color: #fff; padding: 0 10px; height: 22px; border: none;}
|
71
71
|
.myButtonBlue span { display: block; line-height: 14px; padding: 3px 0 3px 10px;}
|
72
72
|
.myButtonBlue:active { background-position: bottom right; color: #000; outline: none; }
|
73
73
|
.myButtonBlue:active span { background-position: bottom left; padding: 3px 0 2px 18px; }
|
@@ -14,9 +14,11 @@
|
|
14
14
|
span.find{ padding-right:5px;}
|
15
15
|
|
16
16
|
/************** sub structure Frontpage **************/
|
17
|
+
#devise_links {padding: 5px 0 5px 0;}
|
18
|
+
#devise_links a{font-weight: bold;line-height: 15px; }
|
17
19
|
#login{ padding-top: 5px;}
|
18
|
-
#welcome{ margin
|
19
|
-
|
20
|
+
#welcome{ margin: 50px auto 50px auto; width:330px; padding:20px; border: thin solid #2A3890;
|
21
|
+
text-align:center;}
|
20
22
|
#wrapper_left{ vertical-align:top; width:49%; display:inline-block; padding-left: 20px;}
|
21
23
|
#wrapper_right{ vertical-align:top; width:48%; display:inline-block;}
|
22
24
|
|
@@ -46,7 +46,7 @@
|
|
46
46
|
height: 35px;
|
47
47
|
background: whiteSmoke;
|
48
48
|
overflow: hidden;
|
49
|
-
text-align:
|
49
|
+
text-align: center;
|
50
50
|
}
|
51
51
|
#global_search_display li .logo{
|
52
52
|
float:left;
|
@@ -62,4 +62,15 @@
|
|
62
62
|
background: #CFDEFF;
|
63
63
|
color: #2A3890;
|
64
64
|
}
|
65
|
+
|
66
|
+
|
67
|
+
#global_search_display span{
|
68
|
+
float:left;
|
69
|
+
margin-top: 10px;
|
70
|
+
}
|
71
|
+
|
72
|
+
#global_search_display .warning{
|
73
|
+
width:100%;
|
74
|
+
}
|
75
|
+
|
65
76
|
/******************** Search box css END ***********************/
|
@@ -32,13 +32,15 @@ class NotificationsController < ApplicationController
|
|
32
32
|
@actor.unread @notification
|
33
33
|
end
|
34
34
|
end
|
35
|
-
|
35
|
+
@notifications = @mailbox.notifications.not_trashed.page(params[:page]).per(10)
|
36
|
+
render :action => :index
|
36
37
|
end
|
37
38
|
|
38
39
|
def update_all
|
39
40
|
@notifications= @mailbox.notifications.all
|
40
41
|
@actor.read @notifications
|
41
|
-
|
42
|
+
@notifications = @mailbox.notifications.not_trashed.page(params[:page]).per(10)
|
43
|
+
render :action => :index
|
42
44
|
end
|
43
45
|
|
44
46
|
def destroy
|
data/app/models/actor.rb
CHANGED
@@ -268,7 +268,8 @@ class Actor < ActiveRecord::Base
|
|
268
268
|
end
|
269
269
|
|
270
270
|
def sent_active_contact_ids
|
271
|
-
|
271
|
+
@sent_active_contact_ids ||=
|
272
|
+
load_sent_active_contact_ids
|
272
273
|
end
|
273
274
|
|
274
275
|
# By now, it returns a suggested {Contact} to another {Actor} without any current {Tie}
|
@@ -359,6 +360,11 @@ class Actor < ActiveRecord::Base
|
|
359
360
|
c.receiver.contact_to!(c.sender)
|
360
361
|
end
|
361
362
|
end
|
363
|
+
|
364
|
+
# Count the contacts in common between this {Actor} and subject
|
365
|
+
def common_contacts_count(subject)
|
366
|
+
(sent_active_contact_ids & subject.sent_active_contact_ids).size
|
367
|
+
end
|
362
368
|
|
363
369
|
# The set of {Activity activities} in the wall of this {Actor}.
|
364
370
|
#
|
@@ -480,4 +486,9 @@ class Actor < ActiveRecord::Base
|
|
480
486
|
|
481
487
|
ties + second_grade_ties
|
482
488
|
end
|
489
|
+
|
490
|
+
# Calculate {#sent_active_contact_ids}
|
491
|
+
def load_sent_active_contact_ids
|
492
|
+
sent_contacts.active.map(&:receiver_id)
|
493
|
+
end
|
483
494
|
end
|
@@ -11,7 +11,7 @@
|
|
11
11
|
<div id="activity_form_select">
|
12
12
|
<% SocialStream.activity_forms.each do |element| %>
|
13
13
|
<div id="select_<%= element %>" class="activity_form_selector">
|
14
|
-
<%=
|
14
|
+
<%= t("#{ element }.form.title") %>
|
15
15
|
</div>
|
16
16
|
<% end %>
|
17
17
|
</div>
|
@@ -21,6 +21,6 @@
|
|
21
21
|
<% end %>
|
22
22
|
|
23
23
|
<div id="activities_share_btn">
|
24
|
-
<%= submit_tag(t('share'), :class => "myButtonBlue", :id => "masterSubmitButton") %>
|
24
|
+
<%= submit_tag(t('share'), :class => "myButtonBlue submitActivity", :id => "masterSubmitButton") %>
|
25
25
|
</div>
|
26
26
|
<% end %>
|
@@ -11,12 +11,25 @@
|
|
11
11
|
<%= f.hidden_field :_contact_id %>
|
12
12
|
<%= f.hidden_field :_activity_parent_id %>
|
13
13
|
|
14
|
-
<%= f.text_field :text,
|
14
|
+
<%= f.text_field :text, :class =>"input_new_comments", :id => "comment_text_"+dom_id(activity) %>
|
15
15
|
|
16
16
|
<div class="activities_comment_btn">
|
17
17
|
<div class="activities_security"></div>
|
18
|
-
<%= f.submit t('share'), :class =>"myButtonBlue", :id => "
|
18
|
+
<%= f.submit t('share'), :class =>"myButtonBlue submitActivity", :id => "comment_submit_"+dom_id(activity) %>
|
19
19
|
</div>
|
20
20
|
<% end %>
|
21
21
|
</div>
|
22
22
|
<% end %>
|
23
|
+
|
24
|
+
<%= javascript_tag do %>
|
25
|
+
$(document).ready(function() {
|
26
|
+
$('#new_comment<%= dom_id(activity) %>').submit(function() {
|
27
|
+
$('#comment_text_<%= dom_id(activity) %>').blur();
|
28
|
+
$('#comment_submit_<%= dom_id(activity) %>').val("<%= I18n.t('activity.sending') %>...");
|
29
|
+
$('#new_comment<%= dom_id(activity) %>').attr("disabled", true);
|
30
|
+
$('#comment_submit_<%= dom_id(activity) %>').attr("disabled", true);
|
31
|
+
$('#comment_text_<%= dom_id(activity) %>').attr('readonly', true);
|
32
|
+
return true;
|
33
|
+
});
|
34
|
+
});
|
35
|
+
<% end %>
|
@@ -1,4 +1,10 @@
|
|
1
|
+
$(".submitActivity").val("<%= I18n.t('share') %>");
|
2
|
+
$('.input_new_comments').val("");
|
3
|
+
$('.input_new_comments').blur();
|
4
|
+
$(".submitActivity").removeAttr("disabled");
|
5
|
+
$('.input_new_comments').removeAttr('readonly');
|
6
|
+
$('.new_comment').removeAttr("disabled");
|
7
|
+
|
1
8
|
//Display the new comment
|
2
9
|
$("#comments_activity_<%= @comment.post_activity.parent.id %>").append("<%= escape_javascript(render @comment.post_activity) %>");
|
3
|
-
$(".input_new_comments").val("<%= t('comment.input') %>");
|
4
10
|
$(".activities_comment_btn").hide();
|
@@ -1,19 +1,26 @@
|
|
1
1
|
<% toolbar :profile => current_subject %>
|
2
2
|
|
3
3
|
<%= location(image_tag("btn/btn_account.png", :class => "menu_icon")+t('account.one'),
|
4
|
-
link_to
|
4
|
+
link_to(t('account.edit'), edit_user_registration_path)
|
5
5
|
) %>
|
6
6
|
|
7
7
|
<%= devise_error_messages! %>
|
8
8
|
|
9
|
+
<% content_for :javascript do %>
|
10
|
+
$(".user_edit").validate();
|
11
|
+
<%end%>
|
12
|
+
|
9
13
|
<div class="space_center"></div>
|
10
14
|
<h2><%= t('account.edit') %></h2>
|
11
15
|
<div class="space_center"></div>
|
12
16
|
|
13
17
|
<div class="block" id="password_form">
|
14
18
|
<div class="header">
|
15
|
-
|
19
|
+
<div class="header_text">
|
20
|
+
<%=t("account.password.change")%>
|
21
|
+
</div>
|
16
22
|
</div>
|
23
|
+
<div class="space_center"></div>
|
17
24
|
<div >
|
18
25
|
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
|
19
26
|
<div class="form_row">
|
@@ -51,8 +58,11 @@
|
|
51
58
|
</div>
|
52
59
|
<div class="block" id="email_form">
|
53
60
|
<div class="header">
|
54
|
-
|
61
|
+
<div class="header_text">
|
62
|
+
<%=t("account.email.change")%>
|
63
|
+
</div>
|
55
64
|
</div>
|
65
|
+
<div class="space_center"></div>
|
56
66
|
<div >
|
57
67
|
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
|
58
68
|
<div class="form_row">
|
@@ -60,7 +70,7 @@
|
|
60
70
|
<%= f.label :email %>
|
61
71
|
</div>
|
62
72
|
<div class="form_field">
|
63
|
-
<%= f.email_field :email, :class => "form_tag" %>
|
73
|
+
<%= f.email_field :email, :class => "required form_tag" %>
|
64
74
|
</div>
|
65
75
|
</div>
|
66
76
|
<div class="form_row">
|
@@ -82,9 +92,13 @@
|
|
82
92
|
</div>
|
83
93
|
<div class="block" id="cancel_account">
|
84
94
|
<div class="header">
|
85
|
-
|
95
|
+
<div class="header_text">
|
96
|
+
<%=t("account.cancel")%>
|
97
|
+
</div>
|
86
98
|
</div>
|
99
|
+
<div class="space_center"></div>
|
87
100
|
<div class="form_row">
|
88
101
|
Unhappy? <b><%= link_to "Cancel my account", registration_path(resource_name), :confirm => "Are you sure?", :method => :delete %>.</b>
|
89
102
|
</div>
|
90
103
|
</div>
|
104
|
+
<div class="space_center"></div>
|
@@ -9,21 +9,22 @@
|
|
9
9
|
<%= devise_error_messages! %>
|
10
10
|
<div class="form_row">
|
11
11
|
<div class="form_label"><%= f.label :email %></div>
|
12
|
-
<div class="form_field"><%= f.email_field :email %></div>
|
12
|
+
<div class="form_field"><%= f.email_field :email, :class => "form_tag" %></div>
|
13
13
|
</div>
|
14
14
|
<div class="form_row">
|
15
15
|
<div class="form_label"><%= f.label :password %></div>
|
16
|
-
<div class="form_field"><%= f.password_field :password %></div>
|
16
|
+
<div class="form_field"><%= f.password_field :password, :class => "form_tag" %></div>
|
17
17
|
</div>
|
18
18
|
|
19
|
-
|
19
|
+
|
20
|
+
<div id="devise_links">
|
20
21
|
<% if devise_mapping.rememberable? -%>
|
21
|
-
|
22
|
+
<%= f.check_box :remember_me %> <%= f.label :remember_me %>
|
22
23
|
<% end -%>
|
24
|
+
<div class="space_center"></div>
|
25
|
+
<%= render :partial => "devise/shared/links" %>
|
23
26
|
</div>
|
24
27
|
|
25
|
-
<%= render :partial => "devise/shared/links" %>
|
26
|
-
|
27
28
|
<div class="btn_login">
|
28
29
|
<%= f.submit t('action.send'), :class =>"myButton" %>
|
29
30
|
</div>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<%= link_to t('account.edit'), edit_user_registration_path %>
|
11
11
|
</li>
|
12
12
|
<li class="btn_menu_exit">
|
13
|
-
|
13
|
+
<%= link_to t('sign_out'), destroy_user_session_path, :method => :delete, :id => "btn_menu_account_logout" %>
|
14
14
|
</li>
|
15
15
|
</ul>
|
16
16
|
</li>
|
@@ -28,11 +28,11 @@ $(document).ready(function() {
|
|
28
28
|
$("#global_search_display").hide();
|
29
29
|
}
|
30
30
|
else if(searchstring.length < 2) {
|
31
|
-
$("#global_search_display").
|
31
|
+
$("#global_search_display").html("<ul><li><%= escape_javascript(content_tag(:span,I18n.t('search.at_least'), :class => :warning)) %></li></ul>").show();
|
32
32
|
} else {
|
33
33
|
if (last_search!=searchstring){
|
34
34
|
last_search=searchstring;
|
35
|
-
$("#global_search_display").html("
|
35
|
+
$("#global_search_display").html("<ul><li><%= escape_javascript(image_tag('loading.gif', :class => :loading)) %></li></ul>").show();
|
36
36
|
$.ajax({
|
37
37
|
type : "GET",
|
38
38
|
url : "<%= search_url %>?id=" + searchstring + "&mode=header_search",
|
@@ -1,5 +1,5 @@
|
|
1
|
-
<% if activity.direct_object.is_a? Actor %>
|
1
|
+
<% if activity.direct_object.is_a? Actor or activity.direct_object.respond_to? :actor %>
|
2
2
|
%{sender} is now %{whose} fan.
|
3
3
|
<% else %>
|
4
|
-
%{sender} likes %{whose} %{object.name}
|
4
|
+
%{sender} likes %{whose} %{object.name}%>
|
5
5
|
<% end %>
|
@@ -2,4 +2,6 @@ $("#content").html("<%=escape_javascript(render :partial => 'index') %>");
|
|
2
2
|
|
3
3
|
<%= location(link_to(image_tag("btn/btn_notification.png", :class => "menu_icon")+t('notification.other'), notifications_path,:remote => true)) %>
|
4
4
|
|
5
|
+
<%= toolbar %>
|
6
|
+
|
5
7
|
$('.pagination a').attr('data-remote', 'true');
|
@@ -1,5 +1,10 @@
|
|
1
|
-
|
2
|
-
$(
|
1
|
+
$(".submitActivity").val("<%= I18n.t('share') %>");
|
2
|
+
$('#input_activities').val("");
|
3
|
+
$('#input_activities').blur();
|
4
|
+
$(".submitActivity").removeAttr("disabled");
|
5
|
+
$('#input_activities').removeAttr('readonly');
|
6
|
+
$('#new_post').removeAttr("disabled");
|
7
|
+
|
3
8
|
//Display the new post
|
4
9
|
$("#wall").prepend("<%= escape_javascript(render @post.post_activity) %>");
|
5
10
|
|
data/config/locales/en.yml
CHANGED
@@ -5,9 +5,13 @@ en:
|
|
5
5
|
send: "Send"
|
6
6
|
accept: "Accept"
|
7
7
|
account:
|
8
|
-
|
8
|
+
cancel: "Cancel account"
|
9
|
+
edit: "Edit account"
|
10
|
+
email:
|
11
|
+
change: "Change email address"
|
9
12
|
one: "Account"
|
10
13
|
password:
|
14
|
+
change: "Change password"
|
11
15
|
new: "New password"
|
12
16
|
retype: "Retype new password"
|
13
17
|
privacy: "Privacy"
|
@@ -22,6 +26,7 @@ en:
|
|
22
26
|
like: "I like"
|
23
27
|
one: "Activity"
|
24
28
|
other: "Activities"
|
29
|
+
sending: "Sending"
|
25
30
|
title: "Activities"
|
26
31
|
to_comment: "Comment"
|
27
32
|
unlike: "I do not like anymore"
|
@@ -90,6 +95,9 @@ en:
|
|
90
95
|
edit:
|
91
96
|
title: "Edit contact to %{name}"
|
92
97
|
submit: "Edit Contact"
|
98
|
+
in_common:
|
99
|
+
one: "1 contact in common"
|
100
|
+
other: "%{count} contacts in common"
|
93
101
|
new:
|
94
102
|
link: "+ Add contact"
|
95
103
|
title: "Add %{name} to your contacts"
|
@@ -311,6 +319,10 @@ en:
|
|
311
319
|
relation_public:
|
312
320
|
name: "Public"
|
313
321
|
required: "(*) These fields are required"
|
322
|
+
search:
|
323
|
+
actor:
|
324
|
+
none: "Nothing found"
|
325
|
+
at_least: "Write at least two characters"
|
314
326
|
settings:
|
315
327
|
error: "Some errors raised when saving your changes"
|
316
328
|
for: "Settings for"
|
@@ -29,6 +29,10 @@ class SocialStream::Base::InstallGenerator < Rails::Generators::Base #:nodoc:
|
|
29
29
|
copy_file 'relations.yml', 'config/relations.yml'
|
30
30
|
end
|
31
31
|
|
32
|
+
def create_config_sphinx_file
|
33
|
+
copy_file 'sphinx.yml', 'config/sphinx.yml'
|
34
|
+
end
|
35
|
+
|
32
36
|
def remove_public_index
|
33
37
|
remove_file 'public/index.html'
|
34
38
|
end
|
data/social_stream-base.gemspec
CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
# SQL foreign keys
|
20
20
|
s.add_runtime_dependency('foreigner', '~> 0.9.1')
|
21
21
|
# Authentication
|
22
|
-
s.add_runtime_dependency('devise', '~> 1.4.
|
22
|
+
s.add_runtime_dependency('devise', '~> 1.4.5')
|
23
23
|
# CRUD controllers
|
24
24
|
s.add_runtime_dependency('inherited_resources', '~> 1.3.0')
|
25
25
|
# Slug generation
|
@@ -20,13 +20,13 @@ describe NotificationsController do
|
|
20
20
|
it "should update read" do
|
21
21
|
put :update, :id => @receipt.notification.to_param, :read => "Read"
|
22
22
|
@receipt.notification.is_unread?(@actor).should==false
|
23
|
-
|
23
|
+
assert_response :success
|
24
24
|
end
|
25
25
|
|
26
26
|
it "should update unread" do
|
27
27
|
put :update, :id => @receipt.notification.to_param, :read => "Unread"
|
28
28
|
@receipt.notification.is_unread?(@actor).should==true
|
29
|
-
|
29
|
+
assert_response :success
|
30
30
|
end
|
31
31
|
|
32
32
|
it "should update all" do
|
@@ -34,7 +34,7 @@ describe NotificationsController do
|
|
34
34
|
put :update_all
|
35
35
|
@receipt.notification.is_unread?(@actor).should==false
|
36
36
|
@receipt2.notification.is_unread?(@actor).should==false
|
37
|
-
|
37
|
+
assert_response :success
|
38
38
|
end
|
39
39
|
|
40
40
|
it "should send to trash" do
|
@@ -2,8 +2,9 @@
|
|
2
2
|
# four configuration values can also be set straight in your models.
|
3
3
|
Devise.setup do |config|
|
4
4
|
# ==> Mailer Configuration
|
5
|
-
# Configure the e-mail address which will be shown in
|
6
|
-
|
5
|
+
# Configure the e-mail address which will be shown in Devise::Mailer,
|
6
|
+
# note that it will be overwritten if you use your own mailer class with default "from" parameter.
|
7
|
+
config.mailer_sender = "please-change-me-at-config-initializers-devise@example.com"
|
7
8
|
|
8
9
|
# Configure the class responsible to send e-mails.
|
9
10
|
# config.mailer = "Devise::Mailer"
|
@@ -34,7 +35,12 @@ Devise.setup do |config|
|
|
34
35
|
# Configure which authentication keys should be case-insensitive.
|
35
36
|
# These keys will be downcased upon creating or modifying a user and when used
|
36
37
|
# to authenticate or find a user. Default is :email.
|
37
|
-
|
38
|
+
config.case_insensitive_keys = [ :email ]
|
39
|
+
|
40
|
+
# Configure which authentication keys should have whitespace stripped.
|
41
|
+
# These keys will have whitespace before and after removed upon creating or
|
42
|
+
# modifying a user and when used to authenticate or find a user. Default is :email.
|
43
|
+
config.strip_whitespace_keys = [ :email ]
|
38
44
|
|
39
45
|
# Tell if authentication through request.params is enabled. True by default.
|
40
46
|
# config.params_authenticatable = true
|
@@ -48,10 +54,22 @@ Devise.setup do |config|
|
|
48
54
|
# The realm used in Http Basic Authentication. "Application" by default.
|
49
55
|
# config.http_authentication_realm = "Application"
|
50
56
|
|
57
|
+
# It will change confirmation, password recovery and other workflows
|
58
|
+
# to behave the same regardless if the e-mail provided was right or wrong.
|
59
|
+
# Does not affect registerable.
|
60
|
+
# config.paranoid = true
|
61
|
+
|
51
62
|
# ==> Configuration for :database_authenticatable
|
52
63
|
# For bcrypt, this is the cost for hashing the password and defaults to 10. If
|
53
64
|
# using other encryptors, it sets how many times you want the password re-encrypted.
|
54
|
-
|
65
|
+
#
|
66
|
+
# Limiting the stretches to just one in testing will increase the performance of
|
67
|
+
# your test suite dramatically. However, it is STRONGLY RECOMMENDED to not use
|
68
|
+
# a value less than 10 in other environments.
|
69
|
+
config.stretches = Rails.env.test? ? 1 : 10
|
70
|
+
|
71
|
+
# Setup a pepper to generate the encrypted password.
|
72
|
+
# config.pepper = "6bcafeb00da5bc1cd324c5155e7ddfc9c611ae53faf8f534a0603480a6a8a5e3ad1ce172123dfda4f5f8fb81d81e1bdfa119be34333baf2406304d2ae6355377"
|
55
73
|
|
56
74
|
# ==> Configuration for :confirmable
|
57
75
|
# The time you want to give your user to confirm his account. During this time
|
@@ -62,6 +80,9 @@ Devise.setup do |config|
|
|
62
80
|
# (ie 2 days).
|
63
81
|
# config.confirm_within = 2.days
|
64
82
|
|
83
|
+
# Defines which key will be used when confirming an account
|
84
|
+
# config.confirmation_keys = [ :email ]
|
85
|
+
|
65
86
|
# ==> Configuration for :rememberable
|
66
87
|
# The time the user will be remembered without asking for credentials again.
|
67
88
|
# config.remember_for = 2.weeks
|
@@ -76,12 +97,18 @@ Devise.setup do |config|
|
|
76
97
|
# to false if you are not using database authenticatable.
|
77
98
|
config.use_salt_as_remember_token = true
|
78
99
|
|
100
|
+
# Options to be passed to the created cookie. For instance, you can set
|
101
|
+
# :secure => true in order to force SSL only cookies.
|
102
|
+
# config.cookie_options = {}
|
103
|
+
|
79
104
|
# ==> Configuration for :validatable
|
80
|
-
# Range for password length. Default is 6..
|
81
|
-
# config.password_length = 6..
|
105
|
+
# Range for password length. Default is 6..128.
|
106
|
+
# config.password_length = 6..128
|
82
107
|
|
83
|
-
#
|
84
|
-
#
|
108
|
+
# Email regex used to validate email formats. It simply asserts that
|
109
|
+
# an one (and only one) @ exists in the given string. This is mainly
|
110
|
+
# to give user feedback and not to assert the e-mail validity.
|
111
|
+
# config.email_regexp = /\A[^@]+@[^@]+\z/
|
85
112
|
|
86
113
|
# ==> Configuration for :timeoutable
|
87
114
|
# The time you want to timeout the user session without activity. After this
|
@@ -94,6 +121,9 @@ Devise.setup do |config|
|
|
94
121
|
# :none = No lock strategy. You should handle locking by yourself.
|
95
122
|
# config.lock_strategy = :failed_attempts
|
96
123
|
|
124
|
+
# Defines which key will be used when locking and unlocking an account
|
125
|
+
# config.unlock_keys = [ :email ]
|
126
|
+
|
97
127
|
# Defines which strategy will be used to unlock an account.
|
98
128
|
# :email = Sends an unlock link to the user email
|
99
129
|
# :time = Re-enables login after a certain amount of time (see :unlock_in below)
|
@@ -108,6 +138,16 @@ Devise.setup do |config|
|
|
108
138
|
# Time interval to unlock the account if :time is enabled as unlock_strategy.
|
109
139
|
# config.unlock_in = 1.hour
|
110
140
|
|
141
|
+
# ==> Configuration for :recoverable
|
142
|
+
#
|
143
|
+
# Defines which key will be used when recovering the password for an account
|
144
|
+
# config.reset_password_keys = [ :email ]
|
145
|
+
|
146
|
+
# Time interval you can reset your password with a reset password key.
|
147
|
+
# Don't put a too small interval or your users won't have the time to
|
148
|
+
# change their passwords.
|
149
|
+
config.reset_password_within = 2.hours
|
150
|
+
|
111
151
|
# ==> Configuration for :encryptable
|
112
152
|
# Allow you to use another encryption algorithm besides bcrypt (default). You can use
|
113
153
|
# :sha1, :sha512 or encryptors from others authentication tools as :clearance_sha1,
|
@@ -116,9 +156,6 @@ Devise.setup do |config|
|
|
116
156
|
# REST_AUTH_SITE_KEY to pepper)
|
117
157
|
# config.encryptor = :sha512
|
118
158
|
|
119
|
-
# Setup a pepper to generate the encrypted password.
|
120
|
-
# config.pepper = "6efecaefd488a07abded679d45be30dc97935d74c44825b647149a6fa30ee8cd5e05bb3a426ce8a87fcd75b04079b1bac68a079acdcc175800c4131dde7961f0"
|
121
|
-
|
122
159
|
# ==> Configuration for :token_authenticatable
|
123
160
|
# Defines name of the authentication token params key
|
124
161
|
# config.token_authentication_key = :auth_token
|
@@ -150,11 +187,12 @@ Devise.setup do |config|
|
|
150
187
|
# If you have any extra navigational formats, like :iphone or :mobile, you
|
151
188
|
# should add them to the navigational formats lists.
|
152
189
|
#
|
153
|
-
# The :"*/*"
|
154
|
-
#
|
190
|
+
# The :"*/*" and "*/*" formats below is required to match Internet
|
191
|
+
# Explorer requests.
|
192
|
+
# config.navigational_formats = [:"*/*", "*/*", :html]
|
155
193
|
|
156
|
-
# The default HTTP method used to sign out a resource. Default is :
|
157
|
-
|
194
|
+
# The default HTTP method used to sign out a resource. Default is :delete.
|
195
|
+
config.sign_out_via = :delete
|
158
196
|
|
159
197
|
# ==> OmniAuth
|
160
198
|
# Add a new OmniAuth provider. Check the wiki for more information on setting
|
@@ -163,7 +201,13 @@ Devise.setup do |config|
|
|
163
201
|
config.omniauth :linked_in, "ekxfXU8nueVSMQ9fc5KJAryBkyztUlCBYMW3DoQPzbE79WhivvzhQloRNHCHgPeB", "WYiHFT-KKFgjd45W3-pEAficmXRHmN6_6DGwj1C_ZILJlSO1gBvv6VNYXU9tybGY"
|
164
202
|
|
165
203
|
config.omniauth :facebook, "129571360447856","eef39dce5e20e76f77495c59623bdb38"
|
166
|
-
|
204
|
+
|
205
|
+
#config.omniauth :twitter, "wgTxO0fTpjTeSnjKC9ZHA","JepulVWwLcuAnGfWjwCu47yEP0TcJJfKtvISPBsilI"
|
206
|
+
|
207
|
+
config.token_authentication_key = :auth_token
|
208
|
+
|
209
|
+
config.stateless_token = true
|
210
|
+
|
167
211
|
# ==> Warden configuration
|
168
212
|
# If you want to use other strategies, that are not supported by Devise, or
|
169
213
|
# change the failure app, you can configure them inside the config.warden block.
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: social_stream-base
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 57
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 9
|
9
|
-
-
|
10
|
-
version: 0.9.
|
9
|
+
- 1
|
10
|
+
version: 0.9.1
|
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-09-
|
19
|
+
date: 2011-09-13 00:00:00 +02:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -75,12 +75,12 @@ dependencies:
|
|
75
75
|
requirements:
|
76
76
|
- - ~>
|
77
77
|
- !ruby/object:Gem::Version
|
78
|
-
hash:
|
78
|
+
hash: 13
|
79
79
|
segments:
|
80
80
|
- 1
|
81
81
|
- 4
|
82
|
-
-
|
83
|
-
version: 1.4.
|
82
|
+
- 5
|
83
|
+
version: 1.4.5
|
84
84
|
type: :runtime
|
85
85
|
version_requirements: *id004
|
86
86
|
- !ruby/object:Gem::Dependency
|
@@ -887,6 +887,7 @@ files:
|
|
887
887
|
- lib/generators/social_stream/base/templates/initializer.rb
|
888
888
|
- lib/generators/social_stream/base/templates/navigation.rb
|
889
889
|
- lib/generators/social_stream/base/templates/relations.yml
|
890
|
+
- lib/generators/social_stream/base/templates/sphinx.yml
|
890
891
|
- lib/mailboxer/notification_decoder.rb
|
891
892
|
- lib/paperclip/social_stream.rb
|
892
893
|
- lib/social_stream-base.rb
|