social_stream 0.12.13 → 0.12.14
Sign up to get free protection for your applications and to get access to all the features.
- data/base/app/helpers/settings_helper.rb +9 -0
- data/base/app/views/settings/_index.html.erb +2 -15
- data/base/config/locales/en.yml +1 -1
- data/base/config/locales/es.yml +1 -1
- data/base/lib/social_stream-base.rb +8 -5
- data/base/lib/social_stream/ability.rb +3 -95
- data/base/lib/social_stream/ability/base.rb +101 -0
- data/base/lib/social_stream/{base.rb → base/engine.rb} +6 -0
- data/base/lib/social_stream/base/version.rb +1 -1
- data/base/lib/social_stream/views/settings/base.rb +43 -0
- data/base/lib/social_stream/views/settings/item_list.rb +13 -0
- data/documents/config/locales/en.yml +2 -2
- data/documents/config/locales/es.yml +2 -2
- data/documents/lib/social_stream/documents/version.rb +1 -1
- data/documents/social_stream-documents.gemspec +1 -1
- data/lib/social_stream/version.rb +1 -1
- data/presence/app/views/chat/_settings.html.erb +0 -4
- data/presence/lib/social_stream-presence.rb +8 -1
- data/presence/lib/social_stream/presence/engine.rb +6 -0
- data/presence/lib/social_stream/views/settings/presence.rb +20 -0
- data/social_stream.gemspec +2 -2
- metadata +16 -11
@@ -4,18 +4,5 @@
|
|
4
4
|
<h2><%= t('settings.for')%> <%= current_subject.name %></h2>
|
5
5
|
<div class="space_center">
|
6
6
|
</div>
|
7
|
-
|
8
|
-
<%=
|
9
|
-
<% end %>
|
10
|
-
<%= render :partial => "notifications" %>
|
11
|
-
<% if current_subject.respond_to? :authentication_token%>
|
12
|
-
<%= render :partial => "api_key" %>
|
13
|
-
<% end %>
|
14
|
-
<% if current_subject==current_user %>
|
15
|
-
<%= render :partial => "devise/registrations/delete_account", :locals => { :resource => current_user, :resource_name => :user }%>
|
16
|
-
<% else %>
|
17
|
-
<%= render :partial => 'destroy' %>
|
18
|
-
<% end %>
|
19
|
-
<% if defined?(SocialStream::Presence) and SocialStream::Presence.enable %>
|
20
|
-
<%= render :partial => 'chat/settings' %>
|
21
|
-
<% end %>
|
7
|
+
|
8
|
+
<%= render_settings %>
|
data/base/config/locales/en.yml
CHANGED
@@ -190,7 +190,7 @@ en:
|
|
190
190
|
destroy:
|
191
191
|
one: "Destroy group"
|
192
192
|
explanation: "All the activities, information and contacts of this group will be destroyed!"
|
193
|
-
go_ahead: "Yes, I am sure.
|
193
|
+
go_ahead: "Yes, I am sure. Destroy all!"
|
194
194
|
last_confirm: "This is your last chance. Are you really sure?"
|
195
195
|
form:
|
196
196
|
title: "Group"
|
data/base/config/locales/es.yml
CHANGED
@@ -190,7 +190,7 @@ es:
|
|
190
190
|
destroy:
|
191
191
|
one: "Destruir grupo"
|
192
192
|
explanation: "¡Todas las actividades, información y contactos de este grupo serán destruídos!"
|
193
|
-
go_ahead: "Sí, estoy seguro/a. ¡
|
193
|
+
go_ahead: "Sí, estoy seguro/a. ¡Destruirlo todo!"
|
194
194
|
last_confirm: "Es tu última oportunidad. ¿Realmente estás seguro/a?"
|
195
195
|
form:
|
196
196
|
title: "Grupo"
|
@@ -61,6 +61,13 @@ module SocialStream
|
|
61
61
|
autoload :Object, 'social_stream/models/object'
|
62
62
|
end
|
63
63
|
|
64
|
+
module Views
|
65
|
+
module Settings
|
66
|
+
autoload :Base, 'social_stream/views/settings/base'
|
67
|
+
autoload :ItemList, 'social_stream/views/settings/item_list'
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
64
71
|
module TestHelpers
|
65
72
|
autoload :Controllers, 'social_stream/test_helpers/controllers'
|
66
73
|
end
|
@@ -129,8 +136,4 @@ module SocialStream
|
|
129
136
|
end
|
130
137
|
end
|
131
138
|
|
132
|
-
|
133
|
-
autoload :NotificationDecoder, 'mailboxer/notification_decoder'
|
134
|
-
end
|
135
|
-
|
136
|
-
require 'social_stream/base'
|
139
|
+
require 'social_stream/base/engine'
|
@@ -1,99 +1,7 @@
|
|
1
|
+
require 'social_stream/ability/base'
|
2
|
+
|
1
3
|
module SocialStream
|
2
4
|
class Ability
|
3
|
-
include
|
4
|
-
|
5
|
-
# Create a new ability for this user, who is currently representing subject
|
6
|
-
def initialize(subject)
|
7
|
-
|
8
|
-
#Download alias action
|
9
|
-
alias_action :download, :to => :show
|
10
|
-
|
11
|
-
# Activity Objects
|
12
|
-
(SocialStream.objects - [ :actor, :comment ]).map{ |obj|
|
13
|
-
obj.to_s.classify.constantize
|
14
|
-
}.each do |klass|
|
15
|
-
can :create, klass do |k| # can :create, Post do |post|
|
16
|
-
k.build_post_activity.allow?(subject, 'create')
|
17
|
-
end
|
18
|
-
|
19
|
-
can :read, klass do |k| # can :read, Post do |post|
|
20
|
-
k.post_activity.allow?(subject, 'read')
|
21
|
-
end
|
22
|
-
|
23
|
-
can :update, klass do |k| # can :update, Post do |post|
|
24
|
-
k.post_activity.allow?(subject, 'update')
|
25
|
-
end
|
26
|
-
|
27
|
-
can :destroy, klass do |k| # can :destroy, Post do |post|
|
28
|
-
k.post_activity.allow?(subject, 'destroy')
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
can :create, Comment do |c|
|
33
|
-
c._activity_parent.allow?(subject, 'read')
|
34
|
-
end
|
35
|
-
|
36
|
-
can :read, Comment do |c|
|
37
|
-
c.post_activity.allow?(subject, 'read')
|
38
|
-
end
|
39
|
-
|
40
|
-
can :update, Comment do |c|
|
41
|
-
c.post_activity.allow?(subject, 'update')
|
42
|
-
end
|
43
|
-
|
44
|
-
can :destroy, Comment do |c|
|
45
|
-
c.post_activity.allow?(subject, 'destroy')
|
46
|
-
end
|
47
|
-
|
48
|
-
# Activities
|
49
|
-
can :create, Activity do |a|
|
50
|
-
a.allow?(subject, 'create')
|
51
|
-
end
|
52
|
-
|
53
|
-
can :read, Activity do |a|
|
54
|
-
a.allow?(subject, 'read')
|
55
|
-
end
|
56
|
-
|
57
|
-
can :update, Activity do |a|
|
58
|
-
a.allow?(subject, 'update')
|
59
|
-
end
|
60
|
-
|
61
|
-
can :destroy, Activity do |a|
|
62
|
-
a.allow?(subject, 'destroy')
|
63
|
-
end
|
64
|
-
|
65
|
-
# Users
|
66
|
-
can :read, User
|
67
|
-
|
68
|
-
can :update, User do |u|
|
69
|
-
u.represented_by?(subject)
|
70
|
-
end
|
71
|
-
|
72
|
-
# Groups
|
73
|
-
can :read, Group
|
74
|
-
|
75
|
-
can :create, Group do |g|
|
76
|
-
subject.present? &&
|
77
|
-
g._contact.sender_id == Actor.normalize_id(subject)
|
78
|
-
end
|
79
|
-
|
80
|
-
can :update, Group do |g|
|
81
|
-
g.represented_by?(subject)
|
82
|
-
end
|
83
|
-
|
84
|
-
can :destroy, Group do |g|
|
85
|
-
g.represented_by?(subject)
|
86
|
-
end
|
87
|
-
|
88
|
-
can :read, Profile
|
89
|
-
|
90
|
-
# Profile
|
91
|
-
can :update, Profile do |p|
|
92
|
-
p.subject.represented_by?(subject)
|
93
|
-
end
|
94
|
-
|
95
|
-
# Privacy
|
96
|
-
can [:create, :read, :update, :destroy], Relation::Custom, :actor_id => subject.try(:actor_id)
|
97
|
-
end
|
5
|
+
include SocialStream::Ability::Base
|
98
6
|
end
|
99
7
|
end
|
@@ -0,0 +1,101 @@
|
|
1
|
+
module SocialStream
|
2
|
+
class Ability
|
3
|
+
module Base
|
4
|
+
include CanCan::Ability
|
5
|
+
|
6
|
+
# Create a new ability for this user, who is currently representing subject
|
7
|
+
def initialize(subject)
|
8
|
+
|
9
|
+
#Download alias action
|
10
|
+
alias_action :download, :to => :show
|
11
|
+
|
12
|
+
# Activity Objects
|
13
|
+
(SocialStream.objects - [ :actor, :comment ]).map{ |obj|
|
14
|
+
obj.to_s.classify.constantize
|
15
|
+
}.each do |klass|
|
16
|
+
can :create, klass do |k| # can :create, Post do |post|
|
17
|
+
k.build_post_activity.allow?(subject, 'create')
|
18
|
+
end
|
19
|
+
|
20
|
+
can :read, klass do |k| # can :read, Post do |post|
|
21
|
+
k.post_activity.allow?(subject, 'read')
|
22
|
+
end
|
23
|
+
|
24
|
+
can :update, klass do |k| # can :update, Post do |post|
|
25
|
+
k.post_activity.allow?(subject, 'update')
|
26
|
+
end
|
27
|
+
|
28
|
+
can :destroy, klass do |k| # can :destroy, Post do |post|
|
29
|
+
k.post_activity.allow?(subject, 'destroy')
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
can :create, Comment do |c|
|
34
|
+
c._activity_parent.allow?(subject, 'read')
|
35
|
+
end
|
36
|
+
|
37
|
+
can :read, Comment do |c|
|
38
|
+
c.post_activity.allow?(subject, 'read')
|
39
|
+
end
|
40
|
+
|
41
|
+
can :update, Comment do |c|
|
42
|
+
c.post_activity.allow?(subject, 'update')
|
43
|
+
end
|
44
|
+
|
45
|
+
can :destroy, Comment do |c|
|
46
|
+
c.post_activity.allow?(subject, 'destroy')
|
47
|
+
end
|
48
|
+
|
49
|
+
# Activities
|
50
|
+
can :create, Activity do |a|
|
51
|
+
a.allow?(subject, 'create')
|
52
|
+
end
|
53
|
+
|
54
|
+
can :read, Activity do |a|
|
55
|
+
a.allow?(subject, 'read')
|
56
|
+
end
|
57
|
+
|
58
|
+
can :update, Activity do |a|
|
59
|
+
a.allow?(subject, 'update')
|
60
|
+
end
|
61
|
+
|
62
|
+
can :destroy, Activity do |a|
|
63
|
+
a.allow?(subject, 'destroy')
|
64
|
+
end
|
65
|
+
|
66
|
+
# Users
|
67
|
+
can :read, User
|
68
|
+
|
69
|
+
can :update, User do |u|
|
70
|
+
u.represented_by?(subject)
|
71
|
+
end
|
72
|
+
|
73
|
+
# Groups
|
74
|
+
can :read, Group
|
75
|
+
|
76
|
+
can :create, Group do |g|
|
77
|
+
subject.present? &&
|
78
|
+
g._contact.sender_id == Actor.normalize_id(subject)
|
79
|
+
end
|
80
|
+
|
81
|
+
can :update, Group do |g|
|
82
|
+
g.represented_by?(subject)
|
83
|
+
end
|
84
|
+
|
85
|
+
can :destroy, Group do |g|
|
86
|
+
g.represented_by?(subject)
|
87
|
+
end
|
88
|
+
|
89
|
+
can :read, Profile
|
90
|
+
|
91
|
+
# Profile
|
92
|
+
can :update, Profile do |p|
|
93
|
+
p.subject.represented_by?(subject)
|
94
|
+
end
|
95
|
+
|
96
|
+
# Privacy
|
97
|
+
can [:create, :read, :update, :destroy], Relation::Custom, :actor_id => subject.try(:actor_id)
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
@@ -31,6 +31,12 @@ module SocialStream
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
+
initializer "social_stream-base.views.settings" do
|
35
|
+
SocialStream::Views::Settings.module_eval do
|
36
|
+
include SocialStream::Views::Settings::Base
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
34
40
|
initializer "social_stream-base.avatars_for_rails" do
|
35
41
|
AvatarsForRails.setup do |config|
|
36
42
|
config.avatarable_model = :actor
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module SocialStream
|
2
|
+
module Views
|
3
|
+
module Settings
|
4
|
+
module Base
|
5
|
+
def settings_items
|
6
|
+
SocialStream::Views::Settings::ItemList.new.tap do |items|
|
7
|
+
if current_subject == current_user
|
8
|
+
items << {
|
9
|
+
:key => 'user.edit',
|
10
|
+
:html => render(:partial => "devise/registrations/edit_user",
|
11
|
+
:locals => {
|
12
|
+
:resource => current_user,
|
13
|
+
:resource_name => :user
|
14
|
+
})
|
15
|
+
}
|
16
|
+
end
|
17
|
+
|
18
|
+
items << {
|
19
|
+
:key => 'notifications',
|
20
|
+
:html => render(:partial => "notifications")
|
21
|
+
}
|
22
|
+
|
23
|
+
if current_subject.respond_to? :authentication_token
|
24
|
+
items << {
|
25
|
+
:key => 'api_key',
|
26
|
+
:html => render(:partial => "api_key")
|
27
|
+
}
|
28
|
+
end
|
29
|
+
|
30
|
+
items << {
|
31
|
+
:key => 'destroy',
|
32
|
+
:html =>
|
33
|
+
current_subject == current_user ?
|
34
|
+
render(:partial => "devise/registrations/delete_account",
|
35
|
+
:locals => { :resource => current_user, :resource_name => :user }) :
|
36
|
+
render(:partial => 'destroy')
|
37
|
+
}
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -31,10 +31,10 @@ en:
|
|
31
31
|
mine: "My files"
|
32
32
|
msg: "Uploaded a file:"
|
33
33
|
name: "file"
|
34
|
-
not_mine: "
|
34
|
+
not_mine: "Files"
|
35
35
|
one: "a file"
|
36
36
|
simple_all: "All"
|
37
|
-
title: "
|
37
|
+
title: "Files"
|
38
38
|
picture:
|
39
39
|
confirm_delete: "Delete picture?"
|
40
40
|
title: "Pictures"
|
@@ -31,10 +31,10 @@ es:
|
|
31
31
|
mine: "Mis ficheros"
|
32
32
|
msg: "Subió un fichero:"
|
33
33
|
name: "fichero"
|
34
|
-
not_mine: "
|
34
|
+
not_mine: "Ficheros"
|
35
35
|
one: "un fichero"
|
36
36
|
simple_all: "Todos"
|
37
|
-
title: "
|
37
|
+
title: "Ficheros"
|
38
38
|
picture:
|
39
39
|
confirm_delete: "¿Borrar imagen?"
|
40
40
|
title: "Imágenes"
|
@@ -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', '~> 0.9.
|
15
|
+
s.add_runtime_dependency('social_stream-base', '~> 0.9.36')
|
16
16
|
s.add_runtime_dependency('paperclip-ffmpeg', '~> 0.7.0')
|
17
17
|
s.add_runtime_dependency('paperclip','2.3.11')
|
18
18
|
s.add_runtime_dependency('delayed_paperclip','>= 0.7.2')
|
@@ -1,6 +1,12 @@
|
|
1
1
|
require 'social_stream-base'
|
2
2
|
|
3
3
|
module SocialStream
|
4
|
+
module Views
|
5
|
+
module Settings
|
6
|
+
autoload :Presence, 'social_stream/views/settings/presence'
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
4
10
|
module Presence
|
5
11
|
|
6
12
|
autoload :XmppServerOrder, 'social_stream/presence/xmpp_server_order'
|
@@ -9,6 +15,7 @@ module SocialStream
|
|
9
15
|
autoload :BuddyManager, 'social_stream/presence/models/buddy_manager'
|
10
16
|
end
|
11
17
|
|
18
|
+
|
12
19
|
mattr_accessor :domain
|
13
20
|
mattr_accessor :bosh_service
|
14
21
|
mattr_accessor :auth_method
|
@@ -37,4 +44,4 @@ module SocialStream
|
|
37
44
|
end
|
38
45
|
end
|
39
46
|
|
40
|
-
require 'social_stream/presence/engine'
|
47
|
+
require 'social_stream/presence/engine'
|
@@ -6,6 +6,12 @@ module SocialStream
|
|
6
6
|
include SocialStream::Presence::Models::BuddyManager
|
7
7
|
end
|
8
8
|
end
|
9
|
+
|
10
|
+
initializer "social_stream-presence.views.settings" do
|
11
|
+
SocialStream::Views::Settings.module_eval do
|
12
|
+
include SocialStream::Views::Settings::Presence
|
13
|
+
end
|
14
|
+
end
|
9
15
|
end
|
10
16
|
end
|
11
17
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module SocialStream
|
2
|
+
module Views
|
3
|
+
module Settings
|
4
|
+
module Presence
|
5
|
+
def settings_items
|
6
|
+
super.tap do |items|
|
7
|
+
if SocialStream::Presence.enable
|
8
|
+
if current_subject == current_user
|
9
|
+
items.insert_before 'notifications', {
|
10
|
+
:key => 'chat',
|
11
|
+
:html => render(:partial => "chat/settings")
|
12
|
+
}
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
data/social_stream.gemspec
CHANGED
@@ -11,8 +11,8 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.files = `git ls-files`.split("\n")
|
12
12
|
|
13
13
|
# Gem dependencies
|
14
|
-
s.add_runtime_dependency('social_stream-base', '~> 0.9.
|
15
|
-
s.add_runtime_dependency('social_stream-documents', '~> 0.4.
|
14
|
+
s.add_runtime_dependency('social_stream-base', '~> 0.9.36')
|
15
|
+
s.add_runtime_dependency('social_stream-documents', '~> 0.4.8')
|
16
16
|
s.add_runtime_dependency('social_stream-events', '~> 0.0.20')
|
17
17
|
|
18
18
|
# Development Gem dependencies
|
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: 51
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 12
|
9
|
-
-
|
10
|
-
version: 0.12.
|
9
|
+
- 14
|
10
|
+
version: 0.12.14
|
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-11-
|
19
|
+
date: 2011-11-21 00:00:00 +01:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -27,12 +27,12 @@ dependencies:
|
|
27
27
|
requirements:
|
28
28
|
- - ~>
|
29
29
|
- !ruby/object:Gem::Version
|
30
|
-
hash:
|
30
|
+
hash: 115
|
31
31
|
segments:
|
32
32
|
- 0
|
33
33
|
- 9
|
34
|
-
-
|
35
|
-
version: 0.9.
|
34
|
+
- 36
|
35
|
+
version: 0.9.36
|
36
36
|
type: :runtime
|
37
37
|
version_requirements: *id001
|
38
38
|
- !ruby/object:Gem::Dependency
|
@@ -43,12 +43,12 @@ dependencies:
|
|
43
43
|
requirements:
|
44
44
|
- - ~>
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
hash:
|
46
|
+
hash: 31
|
47
47
|
segments:
|
48
48
|
- 0
|
49
49
|
- 4
|
50
|
-
-
|
51
|
-
version: 0.4.
|
50
|
+
- 8
|
51
|
+
version: 0.4.8
|
52
52
|
type: :runtime
|
53
53
|
version_requirements: *id002
|
54
54
|
- !ruby/object:Gem::Dependency
|
@@ -440,6 +440,7 @@ files:
|
|
440
440
|
- base/app/helpers/permissions_helper.rb
|
441
441
|
- base/app/helpers/profiles_helper.rb
|
442
442
|
- base/app/helpers/search_helper.rb
|
443
|
+
- base/app/helpers/settings_helper.rb
|
443
444
|
- base/app/helpers/subjects_helper.rb
|
444
445
|
- base/app/helpers/toolbar_helper.rb
|
445
446
|
- base/app/helpers/users_helper.rb
|
@@ -670,7 +671,8 @@ files:
|
|
670
671
|
- base/lib/paperclip/social_stream.rb
|
671
672
|
- base/lib/social_stream-base.rb
|
672
673
|
- base/lib/social_stream/ability.rb
|
673
|
-
- base/lib/social_stream/base.rb
|
674
|
+
- base/lib/social_stream/ability/base.rb
|
675
|
+
- base/lib/social_stream/base/engine.rb
|
674
676
|
- base/lib/social_stream/base/version.rb
|
675
677
|
- base/lib/social_stream/controllers/cancan_devise_integration.rb
|
676
678
|
- base/lib/social_stream/controllers/helpers.rb
|
@@ -684,6 +686,8 @@ files:
|
|
684
686
|
- base/lib/social_stream/test_helpers.rb
|
685
687
|
- base/lib/social_stream/test_helpers/controllers.rb
|
686
688
|
- base/lib/social_stream/toolbar_config/base.rb
|
689
|
+
- base/lib/social_stream/views/settings/base.rb
|
690
|
+
- base/lib/social_stream/views/settings/item_list.rb
|
687
691
|
- base/lib/tasks/db/populate.rake
|
688
692
|
- base/lib/tasks/workers.rake
|
689
693
|
- base/social_stream-base.gemspec
|
@@ -1188,6 +1192,7 @@ files:
|
|
1188
1192
|
- presence/lib/social_stream/presence/models/buddy_manager.rb
|
1189
1193
|
- presence/lib/social_stream/presence/version.rb
|
1190
1194
|
- presence/lib/social_stream/presence/xmpp_server_order.rb
|
1195
|
+
- presence/lib/social_stream/views/settings/presence.rb
|
1191
1196
|
- presence/lib/tasks/presence/synchronize.rake
|
1192
1197
|
- presence/social_stream-presence.gemspec
|
1193
1198
|
- presence/spec/demo/.gitignore
|