social_stream 2.0.4 → 2.1.0
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.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/README.rdoc +2 -1
- data/base/README.rdoc +2 -0
- data/base/app/assets/javascripts/social_stream/relation_customs.js +8 -3
- data/base/app/assets/javascripts/social_stream/timeline.js +1 -2
- data/base/app/assets/javascripts/social_stream/wall.js +11 -0
- data/base/app/assets/stylesheets/social_stream/base/contacts/_contacts.css.sass +1 -0
- data/base/app/assets/stylesheets/social_stream/base/contacts/layouts/_contacts.css.sass +1 -42
- data/base/app/assets/stylesheets/social_stream/base/footer/layout/_footer.css.sass +3 -2
- data/base/app/assets/stylesheets/social_stream/base/layouts/_layout.css.sass +4 -1
- data/base/app/assets/stylesheets/social_stream/base/mixins/_layout.css.sass +48 -0
- data/base/app/assets/stylesheets/social_stream/base/profile/_profile.css.sass +21 -25
- data/base/app/assets/stylesheets/social_stream/base/sidebar/_sidebar.css.sass +1 -27
- data/base/app/assets/stylesheets/social_stream/base/sidebar/layout/_sidebar.css.sass +1 -24
- data/base/app/assets/stylesheets/social_stream/base/toolbar/_toolbar.css.sass +2 -11
- data/base/app/assets/stylesheets/social_stream/base/toolbar/layout/_toolbar.css.sass +18 -5
- data/base/app/controllers/contacts_controller.rb +17 -22
- data/base/app/controllers/permissions_controller.rb +3 -1
- data/base/app/helpers/contacts_helper.rb +9 -14
- data/base/app/models/actor.rb +28 -2
- data/base/app/models/contact.rb +18 -1
- data/base/app/models/permission.rb +21 -1
- data/base/app/models/relation.rb +14 -15
- data/base/app/models/relation/custom.rb +27 -24
- data/base/app/views/activities/_new.html.erb +1 -1
- data/base/app/views/contacts/{_link_custom.html.erb → _button.html.erb} +0 -0
- data/base/app/views/contacts/_contact.html.erb +1 -1
- data/base/app/views/contacts/index.html.erb +1 -1
- data/base/app/views/devise/passwords/new.html.erb +6 -8
- data/base/app/views/devise/registrations/new.html.erb +5 -7
- data/base/app/views/layouts/application.html.erb +7 -8
- data/base/app/views/permissions/_index.html.erb +12 -12
- data/base/app/views/permissions/_list.html.erb +10 -0
- data/base/app/views/permissions/index.js.erb +1 -15
- data/base/app/views/posts/create.js.erb +5 -4
- data/base/app/views/profiles/_personal.html.erb +2 -2
- data/base/app/views/relation/customs/_custom.html.erb +2 -27
- data/base/app/views/relation/customs/_form.html.erb +1 -1
- data/base/app/views/relation/customs/_index.html.erb +1 -1
- data/base/app/views/relation/customs/_list.html.erb +5 -4
- data/base/app/views/relation/customs/index.html.erb +1 -1
- data/base/app/views/relations/_relation.html.erb +33 -0
- data/base/config/locales/en.yml +10 -5
- data/base/config/locales/es.yml +20 -40
- data/base/config/locales/pt.yml +5 -1
- data/base/config/locales/zh.yml +17 -9
- data/base/lib/generators/social_stream/base/install_generator.rb +0 -4
- data/base/lib/generators/social_stream/base/templates/initializer.rb +24 -0
- data/base/lib/social_stream/base.rb +70 -0
- data/base/lib/social_stream/base/ability.rb +13 -1
- data/base/lib/social_stream/base/version.rb +1 -1
- data/base/lib/social_stream/test_helpers/controllers.rb +12 -6
- data/base/social_stream-base.gemspec +1 -1
- data/base/spec/controllers/permissions_controller_spec.rb +2 -6
- data/documents/app/assets/stylesheets/social_stream-documents.css.sass +2 -0
- data/documents/app/assets/stylesheets/social_stream/documents/explore/_explore-documents.css.sass +1 -2
- data/documents/app/assets/stylesheets/social_stream/documents/explore/layout/_explore-documents.css.sass +2 -13
- data/documents/app/assets/stylesheets/social_stream/documents/mixins/_mixins.css.sass +19 -0
- data/documents/lib/social_stream-documents.rb +0 -2
- data/documents/lib/social_stream/documents/version.rb +1 -1
- data/documents/social_stream-documents.gemspec +1 -1
- data/events/lib/social_stream/events/version.rb +1 -1
- data/events/social_stream-events.gemspec +1 -1
- data/lib/social_stream/version.rb +1 -1
- data/linkser/app/assets/javascripts/social_stream/linkser.wall.js +11 -14
- data/linkser/app/views/links/create.js.erb +3 -4
- data/linkser/lib/social_stream/linkser/version.rb +1 -1
- data/linkser/social_stream-linkser.gemspec +1 -1
- data/oauth2_server/app/assets/stylesheets/social_stream-oauth2_server.css.sass +1 -1
- data/oauth2_server/app/assets/stylesheets/social_stream/oauth2_server/applications/_applications-oauth2server.css.sass +1 -1
- data/oauth2_server/app/assets/stylesheets/social_stream/oauth2_server/applications/layout/_applications-oauth2server.css.sass +4 -0
- data/oauth2_server/app/assets/stylesheets/social_stream/oauth2_server/create/_create-oauth2server.css.sass +3 -7
- data/oauth2_server/app/assets/stylesheets/social_stream/oauth2_server/mixins/_mixin.css.sass +10 -0
- data/oauth2_server/app/assets/stylesheets/social_stream/oauth2_server/show/layout/_show-oauth2server.css.sass +15 -6
- data/oauth2_server/app/controllers/site/clients_controller.rb +14 -11
- data/oauth2_server/app/models/relation/manager.rb +19 -0
- data/oauth2_server/app/models/site/client.rb +10 -6
- data/oauth2_server/app/views/site/clients/_avatar.html.erb +15 -0
- data/oauth2_server/app/views/site/clients/_edit.html.erb +6 -0
- data/oauth2_server/app/views/site/clients/_edit_step_2.html.erb +11 -0
- data/oauth2_server/app/views/site/clients/_edit_step_3.html.erb +10 -0
- data/oauth2_server/app/views/site/clients/_list.html.erb +20 -17
- data/oauth2_server/app/views/site/clients/edit.html.erb +5 -6
- data/oauth2_server/app/views/site/clients/index.html.erb +1 -1
- data/oauth2_server/app/views/site/clients/new.html.erb +4 -2
- data/oauth2_server/app/views/site/clients/show.html.erb +49 -42
- data/oauth2_server/config/locales/en.yml +21 -3
- data/oauth2_server/config/locales/es.yml +26 -11
- data/oauth2_server/config/locales/zh.yml +25 -0
- data/oauth2_server/db/migrate/20130619134332_site_client_admin_to_manager.rb +24 -0
- data/oauth2_server/lib/social_stream-oauth2_server.rb +1 -19
- data/oauth2_server/lib/social_stream/oauth2_server.rb +33 -5
- data/oauth2_server/lib/social_stream/oauth2_server/ability.rb +23 -0
- data/oauth2_server/lib/social_stream/oauth2_server/engine.rb +6 -0
- data/oauth2_server/lib/social_stream/oauth2_server/models/actor.rb +2 -2
- data/oauth2_server/lib/social_stream/oauth2_server/version.rb +1 -1
- data/oauth2_server/social_stream-oauth2_server.gemspec +1 -1
- data/oauth2_server/spec/controllers/site_clients_controller_authorization_spec.rb +112 -0
- data/oauth2_server/spec/factories/site_client.rb +2 -2
- data/oauth2_server/spec/models/site/client_authorization_spec.rb +20 -0
- data/ostatus/lib/social_stream-ostatus.rb +0 -4
- data/ostatus/lib/social_stream/ostatus/engine.rb +11 -0
- data/ostatus/lib/social_stream/ostatus/version.rb +1 -1
- data/ostatus/social_stream-ostatus.gemspec +1 -1
- data/places/config/locales/en.yml +0 -1
- data/places/config/locales/es.yml +1 -2
- data/presence/lib/social_stream/presence/version.rb +1 -1
- data/presence/social_stream-presence.gemspec +1 -1
- data/social_stream.gemspec +7 -7
- metadata +30 -26
- data/base/app/helpers/permissions_helper.rb +0 -21
- data/base/lib/generators/social_stream/base/templates/relations.yml +0 -39
- data/oauth2_server/app/assets/stylesheets/social_stream/oauth2_server/mixins/_mixins.css.sass +0 -5
- data/oauth2_server/app/models/relation/admin.rb +0 -9
- data/oauth2_server/app/views/site/clients/_form_step1.html.erb +0 -7
- data/oauth2_server/app/views/site/clients/_form_step2.html.erb +0 -20
- data/ostatus/app/decorators/social_stream/base/relation/custom_decorator.rb +0 -3
- data/ostatus/lib/social_stream/ostatus/models/relation/custom.rb +0 -22
- data/spec/dummy/config/relations.yml +0 -39
@@ -21,12 +21,30 @@ en:
|
|
21
21
|
helpers:
|
22
22
|
submit:
|
23
23
|
site_client:
|
24
|
-
create:
|
25
|
-
update:
|
24
|
+
create: Next
|
25
|
+
update: Save
|
26
26
|
permission:
|
27
|
+
description:
|
28
|
+
default:
|
29
|
+
brief:
|
30
|
+
manage:
|
31
|
+
contact: Manage authorizations
|
32
|
+
nil: Manage the site
|
33
|
+
relation/custom: Manage roles
|
34
|
+
detailed:
|
35
|
+
manage:
|
36
|
+
nil:
|
37
|
+
positive: They WILL BE ABLE to update the details of the client site
|
38
|
+
negative: They WILL NOT BE ABLE to update the details of the client
|
39
|
+
site
|
40
|
+
relation/custom:
|
41
|
+
positive: They WILL BE ABLE to create, update and delete the roles of
|
42
|
+
the client site
|
43
|
+
negative: They WILL NOT BE ABLE to create, update and delete the roles
|
44
|
+
of the client site
|
27
45
|
public_info: Read your public information
|
28
46
|
relation_admin:
|
29
|
-
name:
|
47
|
+
name: Site Client Admin
|
30
48
|
site:
|
31
49
|
client:
|
32
50
|
added: Added sites
|
@@ -10,15 +10,38 @@ es:
|
|
10
10
|
name: Nombre
|
11
11
|
secret: Client Secret
|
12
12
|
url: URL
|
13
|
+
authorization:
|
14
|
+
form:
|
15
|
+
accept: Accept
|
16
|
+
cancel: Cancel
|
17
|
+
new:
|
18
|
+
title: Authorize %{client}?
|
19
|
+
permission:
|
20
|
+
title: 'The site %{client} will be able to:'
|
13
21
|
helpers:
|
14
22
|
submit:
|
15
23
|
site_client:
|
16
|
-
create:
|
17
|
-
update:
|
24
|
+
create: Siguiente
|
25
|
+
update: Guardar
|
18
26
|
permission:
|
27
|
+
description:
|
28
|
+
default:
|
29
|
+
brief:
|
30
|
+
manage:
|
31
|
+
nil: Gestionar el sitio
|
32
|
+
relation/custom: Gestionar los roles
|
33
|
+
contact: Manage authorizations
|
34
|
+
detailed:
|
35
|
+
manage:
|
36
|
+
nil:
|
37
|
+
positive: PODRÁN actualizar los detalles del sitio
|
38
|
+
negative: NO PODRÁN actualizar los detalles del sitio
|
39
|
+
relation/custom:
|
40
|
+
positive: PODRÁN crear, actualizar y borrar los roles del sitio
|
41
|
+
negative: NO PODRÁN crear, actualizar y borrar los roles del sitio
|
19
42
|
public_info: Acceder a tu información pública
|
20
43
|
relation_admin:
|
21
|
-
name:
|
44
|
+
name: Administrador de Sitio
|
22
45
|
site:
|
23
46
|
client:
|
24
47
|
added: Sitios añadidos
|
@@ -27,11 +50,3 @@ es:
|
|
27
50
|
new:
|
28
51
|
link: Añadir sitio
|
29
52
|
title: Registrar nuevo sitio
|
30
|
-
authorization:
|
31
|
-
form:
|
32
|
-
accept: Accept
|
33
|
-
cancel: Cancel
|
34
|
-
new:
|
35
|
-
title: Authorize %{client}?
|
36
|
-
permission:
|
37
|
-
title: 'The site %{client} will be able to:'
|
@@ -20,6 +20,24 @@ zh:
|
|
20
20
|
title: 'The site %{client} will be able to:'
|
21
21
|
permission:
|
22
22
|
public_info: Read your public information
|
23
|
+
description:
|
24
|
+
default:
|
25
|
+
brief:
|
26
|
+
manage:
|
27
|
+
nil: Manage the site
|
28
|
+
relation/custom: Manage roles
|
29
|
+
contact: Manage authorizations
|
30
|
+
detailed:
|
31
|
+
manage:
|
32
|
+
nil:
|
33
|
+
positive: They WILL BE ABLE to update the details of the client site
|
34
|
+
negative: They WILL NOT BE ABLE to update the details of the client
|
35
|
+
site
|
36
|
+
relation/custom:
|
37
|
+
positive: They WILL BE ABLE to create, update and delete the roles of
|
38
|
+
the client site
|
39
|
+
negative: They WILL NOT BE ABLE to create, update and delete the roles
|
40
|
+
of the client site
|
23
41
|
site:
|
24
42
|
client:
|
25
43
|
added: Added sites
|
@@ -28,3 +46,10 @@ zh:
|
|
28
46
|
new:
|
29
47
|
link: Add site
|
30
48
|
title: Register new client site
|
49
|
+
helpers:
|
50
|
+
submit:
|
51
|
+
site_client:
|
52
|
+
create: Next
|
53
|
+
update: Save
|
54
|
+
relation_admin:
|
55
|
+
name: Site Client Admin
|
@@ -0,0 +1,24 @@
|
|
1
|
+
class SiteClientAdminToManager < ActiveRecord::Migration
|
2
|
+
|
3
|
+
class Relation::Admin < Relation; end
|
4
|
+
|
5
|
+
def up
|
6
|
+
admin = Relation::Admin.first
|
7
|
+
|
8
|
+
if admin.present?
|
9
|
+
rt = Tie.record_timestamps
|
10
|
+
Tie.record_timestamps = false
|
11
|
+
|
12
|
+
admin.ties.each do |t|
|
13
|
+
t.relation = Relation::Manager.instance
|
14
|
+
t.save!
|
15
|
+
end
|
16
|
+
|
17
|
+
Tie.record_timestamps = rt
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def down
|
22
|
+
raise ActiveRecord::IrreversibleMigration
|
23
|
+
end
|
24
|
+
end
|
@@ -1,19 +1 @@
|
|
1
|
-
require 'social_stream
|
2
|
-
|
3
|
-
require 'rack/oauth2'
|
4
|
-
|
5
|
-
module SocialStream
|
6
|
-
module Oauth2Server
|
7
|
-
module Controllers
|
8
|
-
autoload :Helpers, 'social_stream/oauth2_server/controllers/helpers'
|
9
|
-
end
|
10
|
-
|
11
|
-
module Models
|
12
|
-
autoload :Actor, 'social_stream/oauth2_server/models/actor'
|
13
|
-
autoload :User, 'social_stream/oauth2_server/models/user'
|
14
|
-
end
|
15
|
-
autoload :TokenEndpoint, 'social_stream/oauth2_server/token_endpoint'
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
require 'social_stream/oauth2_server/engine'
|
1
|
+
require 'social_stream/oauth2_server'
|
@@ -1,5 +1,33 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
1
|
+
require 'social_stream-base'
|
2
|
+
|
3
|
+
require 'rack/oauth2'
|
4
|
+
|
5
|
+
module SocialStream
|
6
|
+
module Oauth2Server
|
7
|
+
module Controllers
|
8
|
+
autoload :Helpers, 'social_stream/oauth2_server/controllers/helpers'
|
9
|
+
end
|
10
|
+
|
11
|
+
module Models
|
12
|
+
autoload :Actor, 'social_stream/oauth2_server/models/actor'
|
13
|
+
autoload :User, 'social_stream/oauth2_server/models/user'
|
14
|
+
end
|
15
|
+
|
16
|
+
autoload :Ability, 'social_stream/oauth2_server/ability'
|
17
|
+
autoload :TokenEndpoint, 'social_stream/oauth2_server/token_endpoint'
|
18
|
+
end
|
19
|
+
|
20
|
+
# Define default custom relations for Site::Client
|
21
|
+
SocialStream.custom_relations['site/client'] = {}
|
22
|
+
|
23
|
+
# Relations that appear in the Site::Client list
|
24
|
+
SocialStream.list_relations['site/client'] = [ :manager ]
|
25
|
+
|
26
|
+
SocialStream.available_permissions['site/client'] = [
|
27
|
+
[ 'manage', nil ],
|
28
|
+
[ 'manage', 'relation/custom' ],
|
29
|
+
[ 'manage', 'contact' ]
|
30
|
+
]
|
31
|
+
end
|
32
|
+
|
33
|
+
require 'social_stream/oauth2_server/engine'
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module SocialStream
|
2
|
+
module Oauth2Server
|
3
|
+
module Ability
|
4
|
+
def initialize(subject)
|
5
|
+
super
|
6
|
+
|
7
|
+
can :read, Site::Client
|
8
|
+
|
9
|
+
can :create, Site::Client do |c|
|
10
|
+
subject.present? &&
|
11
|
+
c.author_id == subject.actor_id
|
12
|
+
end
|
13
|
+
|
14
|
+
can [:update, :destroy], Site::Client do |c|
|
15
|
+
c.allow? subject, 'manage'
|
16
|
+
end
|
17
|
+
|
18
|
+
can :read, Relation::Manager
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
@@ -5,6 +5,12 @@ module SocialStream
|
|
5
5
|
Oauth2Token::AccessToken.valid.find_by_token(req.access_token) || req.invalid_token!
|
6
6
|
end
|
7
7
|
|
8
|
+
initializer "social_stream-oauth2_server.ability" do
|
9
|
+
SocialStream::Ability.module_eval do
|
10
|
+
include SocialStream::Oauth2Server::Ability
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
8
14
|
initializer "social_stream-oauth2_server.controller.helpers",
|
9
15
|
after: "social_stream-base.controller.helpers" do
|
10
16
|
ActiveSupport.on_load(:action_controller) do
|
@@ -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', '~> 2.0
|
15
|
+
s.add_runtime_dependency('social_stream-base', '~> 2.1.0')
|
16
16
|
s.add_runtime_dependency('rack-oauth2', '~> 1.0.0')
|
17
17
|
|
18
18
|
s.add_development_dependency('rspec-rails', '~> 2.8.0')
|
@@ -0,0 +1,112 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Site::ClientsController do
|
4
|
+
include SocialStream::TestHelpers
|
5
|
+
include SocialStream::TestHelpers::Controllers
|
6
|
+
|
7
|
+
render_views
|
8
|
+
|
9
|
+
describe "when Anonymous" do
|
10
|
+
it "should not render new" do
|
11
|
+
get :new
|
12
|
+
|
13
|
+
response.should redirect_to(new_user_session_path)
|
14
|
+
end
|
15
|
+
|
16
|
+
context "faking a new client" do
|
17
|
+
it "should deny creating" do
|
18
|
+
post :create, :client => { :name => "Test" }
|
19
|
+
|
20
|
+
response.should redirect_to(new_user_session_path)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
context "an existing client" do
|
25
|
+
before do
|
26
|
+
@current_model = Factory(:"site/client")
|
27
|
+
end
|
28
|
+
|
29
|
+
it_should_behave_like "Deny Updating"
|
30
|
+
it_should_behave_like "Deny Destroying"
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe "when authenticated" do
|
35
|
+
before do
|
36
|
+
@user = Factory(:user)
|
37
|
+
|
38
|
+
sign_in @user
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should render client" do
|
42
|
+
@client = Factory(:"site/client", author: @user.actor )
|
43
|
+
get :show, :id => @client.to_param
|
44
|
+
|
45
|
+
response.should be_success
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should render other group" do
|
49
|
+
get :show, :id => Factory(:"site/client").to_param
|
50
|
+
|
51
|
+
response.should be_success
|
52
|
+
end
|
53
|
+
|
54
|
+
it "should render new" do
|
55
|
+
get :new
|
56
|
+
|
57
|
+
response.should be_success
|
58
|
+
end
|
59
|
+
|
60
|
+
context "a new own client" do
|
61
|
+
it "should allow creating" do
|
62
|
+
count = Site::Client.count
|
63
|
+
post :create, site_client: { name: "Test",
|
64
|
+
url: "http://test.com/",
|
65
|
+
callback_url: "http://test.com/callback"
|
66
|
+
}
|
67
|
+
|
68
|
+
client = assigns(:client)
|
69
|
+
|
70
|
+
client.should be_valid
|
71
|
+
Site::Client.count.should eq(count + 1)
|
72
|
+
client.receivers.should include(@user.actor)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
context "a new fake client" do
|
77
|
+
before do
|
78
|
+
user = Factory(:user)
|
79
|
+
|
80
|
+
model_attributes[:author_id] = user.actor_id
|
81
|
+
model_attributes[:user_author_id] = user.actor_id
|
82
|
+
end
|
83
|
+
|
84
|
+
it_should_behave_like "Deny Creating"
|
85
|
+
end
|
86
|
+
|
87
|
+
context "a external client" do
|
88
|
+
before do
|
89
|
+
@current_model = Factory(:"site/client")
|
90
|
+
end
|
91
|
+
|
92
|
+
it_should_behave_like "Deny Updating"
|
93
|
+
it_should_behave_like "Deny Destroying"
|
94
|
+
end
|
95
|
+
|
96
|
+
context "a existing own client" do
|
97
|
+
before do
|
98
|
+
@current_model = Factory(:"site/client", author: @user.actor)
|
99
|
+
end
|
100
|
+
|
101
|
+
it "should update client" do
|
102
|
+
put :update, :id => @current_model.to_param,
|
103
|
+
"client" => { name: "Update name" }
|
104
|
+
|
105
|
+
response.should redirect_to(@current_model)
|
106
|
+
end
|
107
|
+
|
108
|
+
it_should_behave_like "Allow Destroying"
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
@@ -1,6 +1,6 @@
|
|
1
|
-
Factory.define(:
|
1
|
+
Factory.define(:"site/client", :class => Site::Client) do |c|
|
2
2
|
c.sequence(:name) { |n| "Site client #{ n }" }
|
3
3
|
c.url { 'https://test.com' }
|
4
4
|
c.callback_url { 'https://test.com/callback' }
|
5
|
-
c.
|
5
|
+
c.author { Factory(:user).actor }
|
6
6
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Site::Client do
|
4
|
+
before do
|
5
|
+
@user = Factory(:user)
|
6
|
+
|
7
|
+
@client = Site::Client.create name: "Test",
|
8
|
+
url: "http://test.com",
|
9
|
+
callback_url: "http://test.com/callback",
|
10
|
+
author: @user
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should allow update to author" do
|
14
|
+
Ability.new(@user).should be_able_to(:update, @client)
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should not allow update to other" do
|
18
|
+
Ability.new(Factory(:user)).should_not be_able_to(:update, @client)
|
19
|
+
end
|
20
|
+
end
|
@@ -16,6 +16,17 @@ module SocialStream
|
|
16
16
|
initializer "social_stream-ostatus.remote_subject_in_social_stream_subjects" do
|
17
17
|
SocialStream.subjects << :remote_subject unless SocialStream.subjects.include?(:remote_subject)
|
18
18
|
end
|
19
|
+
|
20
|
+
initializer "social_stream-ostatus.custom_relations" do
|
21
|
+
SocialStream.custom_relations['remote_subject'] = {
|
22
|
+
'default' => {
|
23
|
+
'name' => 'default',
|
24
|
+
'permissions' => [
|
25
|
+
[ 'read', 'activity' ]
|
26
|
+
]
|
27
|
+
}
|
28
|
+
}
|
29
|
+
end
|
19
30
|
end
|
20
31
|
end
|
21
32
|
end
|