social_stream-base 0.9.35 → 0.9.36

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,9 @@
1
+ module SettingsHelper
2
+ include SocialStream::Views::Settings
3
+
4
+ def render_settings
5
+ settings_items.inject(ActiveSupport::SafeBuffer.new) do |result, item|
6
+ result + item[:html]
7
+ end
8
+ end
9
+ end
@@ -4,18 +4,5 @@
4
4
  <h2><%= t('settings.for')%> <%= current_subject.name %></h2>
5
5
  <div class="space_center">
6
6
  </div>
7
- <% if current_subject==current_user %>
8
- <%= render :partial => "devise/registrations/edit_user", :locals => { :resource => current_user, :resource_name => :user }%>
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 %>
@@ -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. Go ahead"
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"
@@ -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. ¡Adelante!"
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"
@@ -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
@@ -1,99 +1,7 @@
1
+ require 'social_stream/ability/base'
2
+
1
3
  module SocialStream
2
4
  class Ability
3
- include CanCan::Ability
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
@@ -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
@@ -1,5 +1,5 @@
1
1
  module SocialStream
2
2
  module Base
3
- VERSION = "0.9.35".freeze
3
+ VERSION = "0.9.36".freeze
4
4
  end
5
5
  end
@@ -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
@@ -0,0 +1,13 @@
1
+ module SocialStream
2
+ module Views
3
+ module Settings
4
+ class ItemList < Array
5
+ def insert_before key, obj
6
+ position = index{ |i| i[:key] == 'notifications' } + 1
7
+
8
+ insert position, obj
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -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
- module Mailboxer
133
- autoload :NotificationDecoder, 'mailboxer/notification_decoder'
134
- end
135
-
136
- require 'social_stream/base'
139
+ require 'social_stream/base/engine'
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: 125
4
+ hash: 115
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 9
9
- - 35
10
- version: 0.9.35
9
+ - 36
10
+ version: 0.9.36
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-20 00:00:00 +01:00
19
+ date: 2011-11-21 00:00:00 +01:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -737,6 +737,7 @@ files:
737
737
  - app/helpers/permissions_helper.rb
738
738
  - app/helpers/profiles_helper.rb
739
739
  - app/helpers/search_helper.rb
740
+ - app/helpers/settings_helper.rb
740
741
  - app/helpers/subjects_helper.rb
741
742
  - app/helpers/toolbar_helper.rb
742
743
  - app/helpers/users_helper.rb
@@ -967,7 +968,8 @@ files:
967
968
  - lib/paperclip/social_stream.rb
968
969
  - lib/social_stream-base.rb
969
970
  - lib/social_stream/ability.rb
970
- - lib/social_stream/base.rb
971
+ - lib/social_stream/ability/base.rb
972
+ - lib/social_stream/base/engine.rb
971
973
  - lib/social_stream/base/version.rb
972
974
  - lib/social_stream/controllers/cancan_devise_integration.rb
973
975
  - lib/social_stream/controllers/helpers.rb
@@ -981,6 +983,8 @@ files:
981
983
  - lib/social_stream/test_helpers.rb
982
984
  - lib/social_stream/test_helpers/controllers.rb
983
985
  - lib/social_stream/toolbar_config/base.rb
986
+ - lib/social_stream/views/settings/base.rb
987
+ - lib/social_stream/views/settings/item_list.rb
984
988
  - lib/tasks/db/populate.rake
985
989
  - lib/tasks/workers.rake
986
990
  - social_stream-base.gemspec