social_stream 0.4.5 → 0.4.6
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.
- data/app/controllers/permissions_controller.rb +6 -1
- data/app/controllers/relation/customs_controller.rb +8 -0
- data/app/models/actor.rb +3 -3
- data/app/models/tie.rb +4 -0
- data/app/views/contacts/_form.html.erb +8 -3
- data/app/views/layouts/_account.html.erb +3 -3
- data/app/views/toolbar/_profile_menu_tie_options.html.erb +2 -2
- data/config/locales/en.yml +5 -0
- data/lib/generators/social_stream/templates/public/stylesheets/default/contacts.css +2 -2
- data/lib/social_stream/ability.rb +0 -1
- data/lib/social_stream/version.rb +1 -1
- data/social_stream.gemspec +1 -1
- data/spec/controllers/permissions_controller_spec.rb +0 -2
- data/spec/controllers/relation_customs_controller_spec.rb +7 -4
- data/spec/models/tie_spec.rb +0 -13
- metadata +7 -7
@@ -1,10 +1,15 @@
|
|
1
1
|
class PermissionsController < InheritedResources::Base
|
2
2
|
before_filter :authenticate_user!
|
3
|
-
load_and_authorize_resource
|
4
3
|
|
5
4
|
respond_to :js
|
6
5
|
|
7
6
|
actions :index
|
8
7
|
|
9
8
|
belongs_to :relation
|
9
|
+
|
10
|
+
def index
|
11
|
+
authorize! :read, parent
|
12
|
+
|
13
|
+
index!
|
14
|
+
end
|
10
15
|
end
|
@@ -5,4 +5,12 @@ class Relation::CustomsController < InheritedResources::Base
|
|
5
5
|
respond_to :js
|
6
6
|
|
7
7
|
belongs_to :sphere, :optional => true
|
8
|
+
|
9
|
+
def index
|
10
|
+
# Must authorize index, because Cancan does not filter collection with conditions.
|
11
|
+
# See https://github.com/ryanb/cancan/wiki/checking-abilities
|
12
|
+
authorize! :read, parent.customs.new
|
13
|
+
|
14
|
+
index!
|
15
|
+
end
|
8
16
|
end
|
data/app/models/actor.rb
CHANGED
@@ -75,11 +75,11 @@ class Actor < ActiveRecord::Base
|
|
75
75
|
scope :distinct_initials, select('DISTINCT SUBSTR(actors.name,1,1) as initial').order("initial ASC")
|
76
76
|
|
77
77
|
scope :contacted_to, lambda { |a|
|
78
|
-
joins(:sent_ties).merge(Tie.received_by(a))
|
78
|
+
joins(:sent_ties).merge(Tie.received_by(a).intended)
|
79
79
|
}
|
80
80
|
|
81
81
|
scope :contacted_from, lambda { |a|
|
82
|
-
joins(:received_ties).merge(Tie.sent_by(a))
|
82
|
+
joins(:received_ties).merge(Tie.sent_by(a).intended)
|
83
83
|
}
|
84
84
|
|
85
85
|
after_create :create_initial_relations
|
@@ -250,7 +250,7 @@ class Actor < ActiveRecord::Base
|
|
250
250
|
|
251
251
|
# Set of ties sent by this actor received by a
|
252
252
|
def ties_to(a)
|
253
|
-
sent_ties.received_by(a)
|
253
|
+
sent_ties.received_by(a).intended
|
254
254
|
end
|
255
255
|
|
256
256
|
# Get the first of the ties created to a, or create a new one with the {Relation::Public}
|
data/app/models/tie.rb
CHANGED
@@ -45,6 +45,8 @@
|
|
45
45
|
# integer, array
|
46
46
|
# replied:: ties having at least another tie in the other way, a tie from a to b
|
47
47
|
# is replied if there is a tie from b to a
|
48
|
+
# intended:: ties can be desactivated by subjects when they change their connections.
|
49
|
+
# This scope gathers the active ones
|
48
50
|
#
|
49
51
|
class Tie < ActiveRecord::Base
|
50
52
|
# Facilitates relation assigment along with find_relation callback
|
@@ -107,6 +109,8 @@ class Tie < ActiveRecord::Base
|
|
107
109
|
joins(:relation).where('relations.type' => 'Relation::Public')
|
108
110
|
}
|
109
111
|
|
112
|
+
scope :intended, where(:intended => true)
|
113
|
+
|
110
114
|
validates_presence_of :sender_id, :receiver_id, :relation
|
111
115
|
|
112
116
|
before_validation :find_or_build_relation
|
@@ -55,9 +55,14 @@
|
|
55
55
|
</div>
|
56
56
|
</li>
|
57
57
|
<% end %>
|
58
|
-
|
59
|
-
|
60
|
-
|
58
|
+
</li>
|
59
|
+
<% end %>
|
60
|
+
<li class="new_sphere"><span class="sphere_name"><%= link_to t('contact.type.new'), spheres_path %></span></li>
|
61
|
+
|
62
|
+
</ul>
|
63
|
+
|
64
|
+
</dd>
|
65
|
+
|
61
66
|
</div>
|
62
67
|
</div>
|
63
68
|
</div>
|
@@ -3,13 +3,13 @@
|
|
3
3
|
<a href="#" class="sf-with-ul" id="btn_menu_config"><%= t('account.one') %><span class="sf-sub-indicator"> »</span></a>
|
4
4
|
<ul>
|
5
5
|
<li>
|
6
|
-
<%= link_to '
|
6
|
+
<%= link_to t('account.settings'), edit_user_registration_path %>
|
7
7
|
</li>
|
8
8
|
<li>
|
9
|
-
<%= link_to '
|
9
|
+
<%= link_to t('account.notifications'), '#' %>
|
10
10
|
</li>
|
11
11
|
<li class="current">
|
12
|
-
<%= link_to '
|
12
|
+
<%= link_to t('account.privacy'), spheres_path %>
|
13
13
|
</li>
|
14
14
|
</ul>
|
15
15
|
</li>
|
@@ -12,13 +12,13 @@
|
|
12
12
|
<% if current_subject.ties_to(subject).present? %>
|
13
13
|
<li >
|
14
14
|
<%= link_to image_tag("btn/btn_friend.png", :class => "menu_icon") +
|
15
|
-
|
15
|
+
current_subject.ties_to(subject).map(&:relation_name).join(", "),
|
16
16
|
edit_contact_path(subject.actor_id) %>
|
17
17
|
</li>
|
18
18
|
<% else %>
|
19
19
|
<li >
|
20
20
|
<%= link_to image_tag("btn/btn_friend.png", :class => "menu_icon") +
|
21
|
-
t('
|
21
|
+
t('contact.new.title'),
|
22
22
|
edit_contact_path(subject.actor_id),
|
23
23
|
:id => 'contacts_menu' %>
|
24
24
|
</li>
|
data/config/locales/en.yml
CHANGED
@@ -6,6 +6,9 @@ en:
|
|
6
6
|
accept: "Accept"
|
7
7
|
account:
|
8
8
|
one: "Account"
|
9
|
+
notifications: "Notifications"
|
10
|
+
privacy: "Privacy"
|
11
|
+
settings: "Settings"
|
9
12
|
activity:
|
10
13
|
confirm_delete: "Delete activity?"
|
11
14
|
delete: "Delete"
|
@@ -91,6 +94,8 @@ en:
|
|
91
94
|
one: "Suggestion"
|
92
95
|
other: "Suggestions"
|
93
96
|
all: "All"
|
97
|
+
type:
|
98
|
+
new: "New type"
|
94
99
|
copyright: "2010 Copyright - All rights reserved"
|
95
100
|
days: Days
|
96
101
|
delete:
|
@@ -69,13 +69,13 @@ span.ui-radio-state-checked-hover {
|
|
69
69
|
}
|
70
70
|
|
71
71
|
|
72
|
-
li.sphere_name {
|
72
|
+
li.sphere_name, li.new_sphere {
|
73
73
|
background-color: #1F4A75;
|
74
74
|
padding: 5px;
|
75
75
|
text-align: left;
|
76
76
|
}
|
77
77
|
|
78
|
-
span.sphere_name{
|
78
|
+
span.sphere_name, span.sphere_name a{
|
79
79
|
color: white;
|
80
80
|
}
|
81
81
|
|
@@ -78,7 +78,6 @@ module SocialStream
|
|
78
78
|
# Privacy
|
79
79
|
can [:create, :read, :update, :destroy], Sphere, :actor_id => subject.try(:actor_id)
|
80
80
|
can [:create, :read, :update, :destroy], Relation::Custom, :sphere => { :actor_id => subject.try(:actor_id) }
|
81
|
-
can :read, Permission
|
82
81
|
end
|
83
82
|
end
|
84
83
|
end
|
data/social_stream.gemspec
CHANGED
@@ -32,7 +32,7 @@ Gem::Specification.new do |s|
|
|
32
32
|
# Pagination
|
33
33
|
s.add_runtime_dependency('will_paginate', '~> 3.0.pre2')
|
34
34
|
# OAuth client
|
35
|
-
s.add_runtime_dependency('omniauth','~> 0.2.
|
35
|
+
s.add_runtime_dependency('omniauth','~> 0.2.6')
|
36
36
|
# OAuth provider
|
37
37
|
s.add_runtime_dependency('oauth-plugin','~> 0.4.0.pre1')
|
38
38
|
# Theme support
|
@@ -75,11 +75,14 @@ describe Relation::CustomsController do
|
|
75
75
|
end
|
76
76
|
|
77
77
|
it "should not render index" do
|
78
|
-
|
78
|
+
begin
|
79
|
+
get :index, :sphere_id => @sphere.id, :format => "js"
|
79
80
|
|
80
|
-
|
81
|
-
|
82
|
-
|
81
|
+
# Should not get here
|
82
|
+
assert false
|
83
|
+
rescue CanCan::AccessDenied
|
84
|
+
assigns(:customs).should be_blank
|
85
|
+
end
|
83
86
|
end
|
84
87
|
|
85
88
|
context "a new relation" do
|
data/spec/models/tie_spec.rb
CHANGED
@@ -15,19 +15,6 @@ describe Tie do
|
|
15
15
|
|
16
16
|
tie.should_not be_new_record
|
17
17
|
end
|
18
|
-
|
19
|
-
it "should be created from relation_name and permissions" do
|
20
|
-
pending "Redesign forms"
|
21
|
-
|
22
|
-
tie = Tie.create :sender_id => @sender.actor_id,
|
23
|
-
:receiver_id => @receiver.actor_id,
|
24
|
-
:relation_name => "new relation",
|
25
|
-
:relation_permissions => [ Permission.first.id, Permission.last.id ]
|
26
|
-
|
27
|
-
puts tie.errors
|
28
|
-
tie.should_not be_new_record
|
29
|
-
tie.relation.should_not be_new_record
|
30
|
-
end
|
31
18
|
end
|
32
19
|
|
33
20
|
describe "follower_count" do
|
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:
|
4
|
+
hash: 3
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 4
|
9
|
-
-
|
10
|
-
version: 0.4.
|
9
|
+
- 6
|
10
|
+
version: 0.4.6
|
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-
|
19
|
+
date: 2011-06-01 00:00:00 +02:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -188,12 +188,12 @@ dependencies:
|
|
188
188
|
requirements:
|
189
189
|
- - ~>
|
190
190
|
- !ruby/object:Gem::Version
|
191
|
-
hash:
|
191
|
+
hash: 27
|
192
192
|
segments:
|
193
193
|
- 0
|
194
194
|
- 2
|
195
|
-
-
|
196
|
-
version: 0.2.
|
195
|
+
- 6
|
196
|
+
version: 0.2.6
|
197
197
|
type: :runtime
|
198
198
|
version_requirements: *id011
|
199
199
|
- !ruby/object:Gem::Dependency
|