social_stream 2.1.1 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (188) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +5 -2
  3. data/LICENSE +1 -1
  4. data/base/Rakefile +3 -17
  5. data/base/app/assets/images/flags/de.png +0 -0
  6. data/base/app/assets/images/flags/fr.png +0 -0
  7. data/base/app/assets/images/flags/hu.png +0 -0
  8. data/base/app/assets/images/flags/nl.png +0 -0
  9. data/base/app/assets/javascripts/social_stream/actor.js +34 -0
  10. data/base/app/assets/javascripts/social_stream/contact.js +40 -5
  11. data/base/app/assets/javascripts/social_stream/flash.js +6 -1
  12. data/base/app/assets/javascripts/social_stream/group.js +6 -5
  13. data/base/app/assets/javascripts/social_stream/relation_customs.js +0 -1
  14. data/base/app/assets/stylesheets/social_stream/base/adjust/layout/_adjust.css.sass +3 -0
  15. data/base/app/assets/stylesheets/social_stream/base/buttons/_buttons.scss.sass +0 -2
  16. data/base/app/assets/stylesheets/social_stream/base/contacts/_contacts.css.sass +1 -11
  17. data/base/app/assets/stylesheets/social_stream/base/contacts/layouts/_contacts.css.sass +1 -29
  18. data/base/app/assets/stylesheets/social_stream/base/layouts/_header.css.sass +0 -1
  19. data/base/app/assets/stylesheets/social_stream/base/mixins/_buttons.css.sass +5 -0
  20. data/base/app/assets/stylesheets/social_stream/base/mixins/_layout.css.sass +36 -7
  21. data/base/app/controllers/actors_controller.rb +25 -0
  22. data/base/app/controllers/contacts_controller.rb +38 -8
  23. data/base/app/controllers/groups_controller.rb +2 -21
  24. data/base/app/controllers/profiles_controller.rb +4 -0
  25. data/base/app/controllers/settings_controller.rb +12 -2
  26. data/base/app/controllers/users_controller.rb +0 -8
  27. data/base/app/helpers/contacts_helper.rb +8 -0
  28. data/base/app/models/activity.rb +19 -6
  29. data/base/app/models/actor.rb +49 -11
  30. data/base/app/models/contact.rb +12 -5
  31. data/base/app/models/group.rb +13 -11
  32. data/base/app/models/permission.rb +30 -0
  33. data/base/app/models/relation.rb +17 -7
  34. data/base/app/models/relation/custom.rb +2 -40
  35. data/base/app/models/relation/follow.rb +8 -2
  36. data/base/app/models/relation/owner.rb +10 -0
  37. data/base/app/models/relation/single.rb +7 -4
  38. data/base/app/models/site.rb +1 -1
  39. data/base/app/models/tie.rb +8 -4
  40. data/base/app/views/contacts/_add_button.html.erb +9 -0
  41. data/base/app/views/contacts/_button.html.erb +3 -3
  42. data/base/app/views/contacts/_button_multiple.html.erb +4 -0
  43. data/base/app/views/contacts/_button_simple.html.erb +17 -0
  44. data/base/app/views/contacts/_new_modal.html.erb +22 -0
  45. data/base/app/views/contacts/destroy.js.erb +5 -4
  46. data/base/app/views/contacts/update.js.erb +5 -4
  47. data/base/app/views/devise/confirmations/new.html.erb +14 -9
  48. data/base/app/views/frontpage/_presentation.html.erb +2 -2
  49. data/base/app/views/groups/_form.html.erb +20 -20
  50. data/base/app/views/groups/show.html.erb +5 -5
  51. data/base/app/views/layouts/_header_dropdown_menu.html.erb +3 -5
  52. data/base/app/views/layouts/_header_signed_in.erb +3 -3
  53. data/base/app/views/layouts/_logo_in.html.erb +1 -1
  54. data/base/app/views/layouts/application.html.erb +2 -0
  55. data/base/app/views/permissions/_list.html.erb +1 -1
  56. data/base/app/views/profiles/_avatar.html.erb +1 -5
  57. data/base/app/views/profiles/_avatar_edit.html.erb +5 -0
  58. data/base/app/views/profiles/_comunication-info.html.erb +2 -36
  59. data/base/app/views/profiles/_comunication-info_edit.html.erb +27 -0
  60. data/base/app/views/profiles/_edit_icon.html.erb +0 -1
  61. data/base/app/views/profiles/_experience.html.erb +1 -6
  62. data/base/app/views/profiles/_experience_edit.html.erb +5 -0
  63. data/base/app/views/profiles/_personal.html.erb +1 -39
  64. data/base/app/views/profiles/_personal_edit.html.erb +31 -0
  65. data/base/app/views/profiles/_profile_edit.html.erb +7 -0
  66. data/base/app/views/profiles/_tags.html.erb +1 -4
  67. data/base/app/views/profiles/_tags_edit.html.erb +4 -0
  68. data/base/app/views/profiles/edit.html.erb +24 -0
  69. data/base/app/views/settings/_notifications.html.erb +12 -4
  70. data/base/app/views/users/show.html.erb +5 -5
  71. data/base/config/locales/de.yml +654 -0
  72. data/base/config/locales/en.yml +20 -9
  73. data/base/config/locales/es.yml +151 -140
  74. data/base/config/locales/fr.yml +656 -0
  75. data/base/config/locales/hu.yml +653 -0
  76. data/base/config/locales/nl.yml +656 -0
  77. data/base/config/locales/pt.yml +250 -239
  78. data/base/config/locales/rails.de.yml +203 -0
  79. data/base/config/locales/rails.fr.yml +222 -0
  80. data/base/config/locales/rails.hu.yml +199 -0
  81. data/base/config/locales/rails.nl.yml +199 -0
  82. data/base/config/locales/zh.yml +214 -202
  83. data/base/config/routes.rb +22 -30
  84. data/base/db/migrate/20130708152633_set_group_owners.rb +19 -0
  85. data/base/db/migrate/20130723133530_actor_notification_settings.rb +10 -0
  86. data/base/lib/generators/social_stream/base/templates/initializer.rb +13 -7
  87. data/base/lib/rails/social_stream.rb +2 -0
  88. data/base/lib/social_stream/base.rb +27 -7
  89. data/base/lib/social_stream/base/ability.rb +3 -5
  90. data/base/lib/social_stream/base/autoload.rb +1 -0
  91. data/base/lib/social_stream/base/version.rb +1 -1
  92. data/base/lib/social_stream/controllers/authorship.rb +18 -0
  93. data/base/lib/social_stream/controllers/helpers.rb +18 -4
  94. data/base/lib/social_stream/controllers/objects.rb +2 -8
  95. data/base/lib/social_stream/controllers/subjects.rb +9 -2
  96. data/base/lib/social_stream/models/supertype.rb +2 -0
  97. data/base/lib/social_stream/population/activity_object.rb +6 -8
  98. data/base/lib/social_stream/routing/mapper.rb +52 -0
  99. data/base/social_stream-base.gemspec +4 -7
  100. data/base/spec/controllers/groups_controller_spec.rb +19 -8
  101. data/base/spec/controllers/posts_controller_spec.rb +114 -147
  102. data/base/spec/models/post_authorization_spec.rb +190 -204
  103. data/base/spec/models/post_spec.rb +17 -63
  104. data/base/vendor/assets/javascripts/bootstrap-multiselect.js +434 -127
  105. data/documents/Rakefile +1 -6
  106. data/documents/config/locales/de.yml +93 -0
  107. data/documents/config/locales/es.yml +2 -2
  108. data/documents/config/locales/fr.yml +93 -0
  109. data/documents/config/locales/hu.yml +93 -0
  110. data/documents/config/locales/nl.yml +93 -0
  111. data/documents/config/locales/zh.yml +4 -4
  112. data/documents/config/routes.rb +7 -9
  113. data/documents/lib/social_stream/documents/version.rb +1 -1
  114. data/documents/social_stream-documents.gemspec +4 -4
  115. data/events/Rakefile +1 -6
  116. data/events/config/locales/es.yml +3 -3
  117. data/events/config/locales/zh.yml +3 -3
  118. data/events/lib/social_stream/events/models/actor.rb +2 -1
  119. data/events/lib/social_stream/events/version.rb +1 -1
  120. data/events/social_stream-events.gemspec +1 -1
  121. data/lib/generators/social_stream/install_generator.rb +1 -0
  122. data/lib/social_stream.rb +1 -0
  123. data/lib/social_stream/version.rb +1 -1
  124. data/lib/tasks/i18n.rake +22 -2
  125. data/linkser/Rakefile +1 -6
  126. data/linkser/config/locales/de.yml +17 -0
  127. data/linkser/config/locales/es.yml +2 -2
  128. data/linkser/config/locales/fr.yml +17 -0
  129. data/linkser/config/locales/hu.yml +17 -0
  130. data/linkser/config/locales/nl.yml +17 -0
  131. data/linkser/config/locales/zh.yml +2 -2
  132. data/linkser/lib/social_stream/linkser/version.rb +1 -1
  133. data/linkser/social_stream-linkser.gemspec +1 -1
  134. data/oauth2_server/Rakefile +1 -6
  135. data/oauth2_server/app/assets/images/step_1.png +0 -0
  136. data/oauth2_server/app/assets/images/step_2.png +0 -0
  137. data/oauth2_server/app/assets/images/step_3.png +0 -0
  138. data/oauth2_server/app/assets/javascripts/social_stream/site_client.js +27 -0
  139. data/oauth2_server/app/assets/stylesheets/social_stream/oauth2_server/applications/layout/_applications-oauth2server.css.sass +0 -5
  140. data/oauth2_server/app/assets/stylesheets/social_stream/oauth2_server/create/layout/_create-oauth2server.css.sass +3 -5
  141. data/oauth2_server/app/assets/stylesheets/social_stream/oauth2_server/show/layout/_show-oauth2server.css.sass +8 -6
  142. data/oauth2_server/app/controllers/site/clients_controller.rb +17 -41
  143. data/oauth2_server/app/decorators/social_stream/base/relation_decorator.rb +2 -0
  144. data/oauth2_server/app/decorators/social_stream/base/user_decorator.rb +1 -20
  145. data/oauth2_server/app/models/relation/manager.rb +1 -10
  146. data/oauth2_server/app/models/site/client.rb +4 -2
  147. data/oauth2_server/app/views/site/clients/_destroy.html.erb +11 -0
  148. data/oauth2_server/app/views/site/clients/_edit.html.erb +9 -2
  149. data/oauth2_server/app/views/site/clients/_edit_step_2.html.erb +6 -6
  150. data/oauth2_server/app/views/site/clients/_edit_step_3.html.erb +8 -6
  151. data/oauth2_server/app/views/site/clients/_form.html.erb +11 -11
  152. data/oauth2_server/app/views/site/clients/_list.html.erb +23 -11
  153. data/oauth2_server/app/views/site/clients/edit.html.erb +1 -1
  154. data/oauth2_server/app/views/site/clients/index.html.erb +9 -40
  155. data/oauth2_server/app/views/site/clients/show.html.erb +66 -68
  156. data/oauth2_server/config/locales/en.yml +19 -0
  157. data/oauth2_server/config/locales/es.yml +23 -4
  158. data/oauth2_server/config/locales/zh.yml +32 -13
  159. data/oauth2_server/config/routes.rb +3 -1
  160. data/oauth2_server/lib/social_stream/oauth2_server.rb +4 -1
  161. data/oauth2_server/lib/social_stream/oauth2_server/ability.rb +1 -1
  162. data/oauth2_server/lib/social_stream/oauth2_server/models/user.rb +18 -0
  163. data/oauth2_server/lib/social_stream/oauth2_server/version.rb +1 -1
  164. data/oauth2_server/social_stream-oauth2_server.gemspec +1 -1
  165. data/oauth2_server/spec/controllers/site_clients_controller_authorization_spec.rb +7 -0
  166. data/ostatus/Rakefile +1 -6
  167. data/ostatus/config/locales/zh.yml +8 -8
  168. data/ostatus/lib/social_stream-ostatus.rb +3 -0
  169. data/ostatus/lib/social_stream/ostatus/version.rb +1 -1
  170. data/ostatus/social_stream-ostatus.gemspec +1 -1
  171. data/places/config/locales/es.yml +51 -51
  172. data/presence/config/locales/es.yml +48 -48
  173. data/presence/config/locales/zh.yml +48 -48
  174. data/presence/lib/social_stream/presence/version.rb +1 -1
  175. data/presence/social_stream-presence.gemspec +1 -1
  176. data/social_stream.gemspec +8 -7
  177. metadata +60 -29
  178. data/base/app/assets/javascripts/social_stream/follow.js +0 -28
  179. data/base/app/controllers/followers_controller.rb +0 -34
  180. data/base/app/helpers/followers_helper.rb +0 -5
  181. data/base/app/views/contacts/_link_follow.html.erb +0 -16
  182. data/base/app/views/followers/destroy.js.erb +0 -1
  183. data/base/app/views/followers/index.html.erb +0 -30
  184. data/base/app/views/followers/update.js.erb +0 -3
  185. data/base/app/views/frontpage/_characteristics.html.erb +0 -23
  186. data/base/lib/social_stream/routing/constraints/custom.rb +0 -11
  187. data/base/lib/social_stream/routing/constraints/follow.rb +0 -11
  188. data/base/spec/controllers/followers_controller_spec.rb +0 -37
@@ -0,0 +1,2 @@
1
+ # FIXME: dirty hack ahead!
2
+ Relation::Positive << "manager"
@@ -1,20 +1 @@
1
- User.class_eval do
2
- include SocialStream::Oauth2Server::Models::User
3
-
4
- def as_json_with_client options = {}
5
- hash = as_json_without_client options
6
-
7
- if options[:client] && !options[:client].is_a?(User)
8
- hash['roles'] = options[:client].contact_to!(self).relations.map{ |r|
9
- {
10
- id: r.id,
11
- name: r.name
12
- }
13
- }
14
- end
15
-
16
- hash
17
- end
18
-
19
- alias_method_chain :as_json, :client
20
- end
1
+ User.send :include, SocialStream::Oauth2Server::Models::User
@@ -1,19 +1,10 @@
1
1
  # Owner of client sites
2
2
  class Relation::Manager < Relation::Single
3
- PERMISSIONS =
4
- [
5
- [ 'manage', nil ],
6
- [ 'manage', 'relation/custom' ],
7
- [ 'manage', 'contact' ]
8
- ]
3
+ PERMISSIONS = SocialStream.available_permissions['site/client']
9
4
 
10
5
  class << self
11
6
  def create_activity?
12
7
  false
13
8
  end
14
9
  end
15
-
16
- def available_permissions
17
- Permission.instances PERMISSIONS
18
- end
19
10
  end
@@ -23,8 +23,10 @@ class Site::Client < Site
23
23
  end
24
24
  end
25
25
 
26
- def to_param
27
- id
26
+ # Generate a new OAuth secret for this site client
27
+ def refresh_secret!
28
+ set_secret
29
+ save!
28
30
  end
29
31
 
30
32
  private
@@ -0,0 +1,11 @@
1
+ <div id="destroy_site_client" class="accordion-group">
2
+ <header class="accordion-heading">
3
+ <h5>
4
+ <%= link_to t("site.client.destroy.title"), "javascript:void(0);", class: 'accordion-toggle', "data-toggle" => 'collapse', "data-parent" => "#site_client-accordion", "data-target" => "#destroy_site_client-content" %>
5
+ </h5>
6
+ </header>
7
+
8
+ <div class="content collapse" id="destroy_site_client-content">
9
+ <%= link_to t("site.client.destroy.link"), resource, confirm: t("site.client.destroy.confirm"), method: :delete %>
10
+ </div>
11
+ </div>
@@ -1,6 +1,13 @@
1
- <%= render partial: 'form' %>
1
+ <section class="edit_form">
2
+ <%= render partial: 'form' %>
3
+ </section>
2
4
 
3
5
  <section class="site_client_roles">
4
6
  <%= render partial: 'relation/customs/index',
5
- locals: { subject: @client } %>
7
+ locals: { subject: resource } %>
8
+ </section>
9
+
10
+ <section class="delete">
11
+ <%= render partial: 'destroy' %>
6
12
  </section>
13
+
@@ -1,11 +1,11 @@
1
1
  <%= image_tag 'step_2.png' %>
2
2
 
3
- <section class="new_app">
4
- <h1>Set the application's logo</h1>
3
+ <section class="create_logo_app">
4
+ <h4>Set the application's logo</h4>
5
5
 
6
- <%= render partial: 'avatars/form',
7
- object: @client,
8
- as: :avatarable %>
6
+ <%= render partial: 'avatars/form',
7
+ object: resource,
8
+ as: :avatarable %>
9
9
 
10
- <%= link_to "Next", edit_site_client_path(@client, step: 3) %>
10
+ <%= link_to "Next", polymorphic_path(resource, action: 'edit', step: 3), class: "next-step" %>
11
11
  </section>
@@ -1,10 +1,12 @@
1
1
  <%= image_tag 'step_3.png' %>
2
2
 
3
- <h1>Manage roles and permissions</h1>
3
+ <section class="new_app">
4
+ <h4>Manage roles and permissions</h4>
4
5
 
5
- <section class="site_client_roles">
6
- <%= render partial: 'relation/customs/index',
7
- locals: { subject: @client } %>
8
- </section>
6
+ <section class="site_client_roles">
7
+ <%= render partial: 'relation/customs/index',
8
+ locals: { subject: resource } %>
9
+ </section>
9
10
 
10
- <%= link_to 'Finish', @client %>
11
+ <%= link_to 'Finish', resource, class: "next-step" %>
12
+ </section>
@@ -1,4 +1,4 @@
1
- <%= form_for(@client || Site::Client.new) do |f| %>
1
+ <%= form_for(begin; resource; rescue ActiveRecord::RecordNotFound; end || resource_class.new) do |f| %>
2
2
 
3
3
  <% if f.object.errors.any? %>
4
4
  <div id="error_explanation" class="alert alert-error">
@@ -14,26 +14,26 @@
14
14
  <% end %>
15
15
 
16
16
  <section id="site_client_form">
17
- <section class="name">
17
+ <div class="name">
18
18
  <%= f.label :name %>
19
19
  <%= f.text_field :name %>
20
- </section>
20
+ </div>
21
21
 
22
- <section class="description">
22
+ <div class="description">
23
23
  <%= f.label :description %>
24
24
  <%= f.text_area :description %>
25
- </section>
25
+ </div>
26
26
 
27
- <section class="url">
27
+ <div class="url">
28
28
  <%= f.label :url %>
29
29
  <%= f.text_area :url %>
30
- </section>
30
+ </div>
31
31
 
32
- <section class="callback_url">
32
+ <div class="callback_url">
33
33
  <%= f.label :callback_url %>
34
34
  <%= f.text_area :callback_url %>
35
- </section>
36
-
37
- <%= f.submit %>
35
+ </div>
38
36
  </section>
37
+ <%= f.submit :class => "next-step" %>
38
+
39
39
  <% end %>
@@ -2,19 +2,31 @@
2
2
  <ul>
3
3
  <% list.each do |client| %>
4
4
  <li>
5
- <%= image_tag client.logo.url(:small), style: "width: 40px; height: 40px;" %>
5
+ <%= link_to client do %>
6
+ <%= image_tag client.logo.url(:small) %>
7
+ <% end %>
6
8
 
7
- <div class="name">
8
- <%= link_to client.name, client %>
9
+ <div class="data">
10
+ <div class="name">
11
+ <%= link_to client.name, client %>
12
+ </div>
13
+ <div class="url">
14
+ <%= link_to client.url, client.url, target: '_blank' %>
15
+ </div>
9
16
  </div>
10
- <div class="url">
11
- <%= link_to client.url, client.url, target: '_blank' %>
12
- </div>
13
- <div class="users">
14
- <span>
15
- 5
16
- </span>
17
- users
17
+ <div class="team">
18
+ <div class="users">
19
+ <span>
20
+ 5
21
+ </span>
22
+ users
23
+ </div>
24
+ <div class="auth">
25
+ <span>
26
+ 15
27
+ </span>
28
+ authorized
29
+ </div>
18
30
  </div>
19
31
  <hr class="soften">
20
32
  </li>
@@ -2,7 +2,7 @@
2
2
 
3
3
  <%= render partial: 'toolbar/home' %>
4
4
 
5
- <section class="edit_site_client" id="edit_<%= dom_id @client %>">
5
+ <section class="edit_site_client" id="edit_<%= dom_id resource %>">
6
6
  <% if params[:step].present? %>
7
7
  <%= render partial: "edit_step_#{ params[:step] }" %>
8
8
  <% else %>
@@ -5,55 +5,24 @@
5
5
  <section class="site_clients">
6
6
  <header>
7
7
  <h3>
8
- <%= link_to t('site.client.new.link'), new_site_client_path, class: "new_site_client-modal-link", 'data-toggle' => 'modal' %>
8
+ <%= link_to t('site.client.new.link'), polymorphic_path(resource_class.new, action: 'new'), class: "new_site_client-modal-link", 'data-toggle' => 'modal' %>
9
9
 
10
- <%= t 'site.client.added' %>
10
+ Applications
11
11
  </h3>
12
12
  </header>
13
13
  <div class="tabbable"> <!-- Only required for left/right tabs -->
14
14
  <ul class="nav nav-tabs">
15
- <li class="active"><a href="#tab1" data-toggle="tab">Mine</a></li>
16
- <li><a href="#tab2" data-toggle="tab">Others</a></li>
17
- </ul>
18
- <div class="search-nav hidden-phone">
19
- <%= form_tag search_path, method: 'get', class: "navbar-search pull-left" do %>
20
- <%= text_field_tag :q, nil, autocomplete: :off, class: 'search-query input-small', placeholder: t('search.name'), "data-min_query" => SocialStream::Search::MIN_QUERY %>
21
- <% end %>
22
- <%= javascript_tag do %>
23
- $(function() {
24
- SocialStream.SearchHeader.show();
25
- });
26
- <% end %>
27
- <div class="mat">
28
- <%= render partial: 'layouts/loading' %>
29
-
30
- <div class="query_too_short">
31
- <%= t 'search.at_least', count: SocialStream::Search::MIN_QUERY %>
32
- </div>
33
-
34
- <div class="no_results">
35
- <%= t 'search.nothing' %>
36
- </div>
37
-
38
- <div class="results">
39
- </div>
40
- </div>
41
- </div>
42
-
15
+ <li class="active"><a href="#tab1" data-toggle="tab">Managing</a></li>
16
+ </ul>
17
+ </div>
43
18
 
44
- <div class="tab-content">
45
- <div class="tab-pane active" id="tab1">
46
- <%= render partial: 'list',
47
- object: @clients %>
48
- </div>
49
19
 
50
- <div class="tab-pane" id="tab2">
51
- </div>
20
+ <div class="tab-content">
21
+ <div class="tab-pane active" id="tab1">
22
+ <%= render partial: 'list',
23
+ object: collection %>
52
24
  </div>
53
25
  </div>
54
-
55
26
  <%= render partial: 'new.modal' %>
56
-
57
- <hr class="soften">
58
27
  </section>
59
28
  </section>
@@ -1,14 +1,15 @@
1
1
  <section id="site_client">
2
2
  <%= render partial: 'toolbar/home' %>
3
3
 
4
- <section class="site_client" id="<%= dom_id @client %>">
4
+ <section class="site_client" id="<%= dom_id resource %>">
5
5
  <header>
6
- <h1>
7
- <%= @client.name %>
8
- <a class="go-more" href="#">
9
- ir a tus demás aplicaciones
10
- </a>
11
- </h1>
6
+ <h4>
7
+ <%= resource.name %>
8
+
9
+ <% if can?(:update, resource) %>
10
+ <%= link_to t('site.client.button.edit'), polymorphic_path(resource, action: 'edit'), class: "edit" %>
11
+ <% end %>
12
+ </h4>
12
13
 
13
14
  <%= image_tag('logos/app-default.png', class: "logo-app pull-right") %>
14
15
 
@@ -20,53 +21,63 @@
20
21
  <%= Site::Client.human_attribute_name :description %>
21
22
  </h4>
22
23
  <div class="result">
23
- <%= @client.description%>
24
+ <%= resource.description%>
24
25
  </div>
25
26
 
26
27
  <h4>
27
28
  <%= Site::Client.human_attribute_name :url %>
28
29
  </h4>
29
30
  <div class="result">
30
- <%= link_to @client.url, @client.url%>
31
+ <%= link_to resource.url, resource.url%>
31
32
  </div>
32
33
 
33
- <% if can? :update, @client %>
34
+ <% if can? :update, resource %>
34
35
  <h4>
35
36
  <%= Site::Client.human_attribute_name :callback_url %>
36
37
  </h4>
37
38
  <div class="result">
38
- <%= @client.callback_url %>
39
+ <%= resource.callback_url %>
39
40
  </div>
40
41
  <% end %>
41
42
  </div>
42
43
 
43
- <% if can? :update, @client %>
44
- <div class="btn-group">
45
- <a class="dropdown-toggle" data-toggle="dropdown" href="#">
46
- Credentials
47
- <span class="caret"></span>
48
- </a>
49
- <ul class="dropdown-menu">
50
- <li>
51
- <h6>
52
- <%= Site::Client.human_attribute_name :id %>
53
- </h6>
54
- <p>
55
- <%= @client.id %>
56
- </p>
57
- </li>
58
-
59
- <li class="client-secret">
60
- <h6>
61
- <%= Site::Client.human_attribute_name :secret %>
62
- <a href="#" class="pull-right">refresh</a>
63
- </h6>
64
- <p>
65
- <%= @client.secret %>
66
- </p>
67
- </li>
68
- </ul>
69
- </div>
44
+ <% if can? :update_secret, resource %>
45
+ <div class="accordion" id="accordion2">
46
+ <div class="accordion-group">
47
+ <div class="accordion-heading">
48
+ <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
49
+ <%= t 'site.client.oauth.credentials' %>
50
+ </a>
51
+ </div>
52
+ <div id="collapseOne" class="accordion-body collapse">
53
+ <div class="accordion-inner">
54
+ <div class="content settings_content collapse in">
55
+ <div class="result">
56
+ <div class="client-id">
57
+ <h6>
58
+ <%= Site::Client.human_attribute_name :id %>
59
+ </h6>
60
+ <p>
61
+ <%= resource.id %>
62
+ </p>
63
+ </div>
64
+ <div class="client-secret">
65
+ <h6>
66
+ <%= Site::Client.human_attribute_name :secret %>
67
+ <%= form_tag update_secret_site_client_path(resource, format: :json), class: "site-client-secret" do %>
68
+ <%= submit_tag t('site.client.oauth.secret.refresh'), class: 'pull-right' %>
69
+ <% end %>
70
+ </h6>
71
+ <p>
72
+ <span class="site-client-secret"><%= resource.secret %></span>
73
+ </p>
74
+ </div>
75
+ </div>
76
+ </div>
77
+ </div>
78
+ </div>
79
+ </div>
80
+ </div>
70
81
  <% end %>
71
82
  </div>
72
83
  </section>
@@ -74,48 +85,35 @@
74
85
  <div class="tabbable"> <!-- Only required for left/right tabs -->
75
86
  <ul class="nav nav-tabs">
76
87
  <li class="active"><a href="#authorized" data-toggle="tab">Authorized</a></li>
77
- <li><a href="#registered" data-toggle="tab">Registered</a></li>
78
- <li><a href="#stats" data-toggle="tab">Stats</a></li>
88
+ <li><a href="#registered" data-toggle="tab">Users</a></li>
79
89
  </ul>
80
- <div class="search-nav hidden-phone">
81
- <%= form_tag search_path, method: 'get', class: "navbar-search pull-left" do %>
82
- <%= text_field_tag :q, nil, autocomplete: :off, class: 'search-query input-small', placeholder: t('search.name'), "data-min_query" => SocialStream::Search::MIN_QUERY %>
83
- <% end %>
84
- <%= javascript_tag do %>
85
- $(function() {
86
- SocialStream.SearchHeader.show();
87
- });
88
- <% end %>
89
-
90
- <div class="mat">
91
- <%= render partial: 'layouts/loading' %>
92
-
93
- <div class="query_too_short">
94
- <%= t 'search.at_least', count: SocialStream::Search::MIN_QUERY %>
95
- </div>
96
-
97
- <div class="no_results">
98
- <%= t 'search.nothing' %>
99
- </div>
100
-
101
- <div class="results">
102
- </div>
103
- </div>
90
+
91
+ <%= render partial: 'contacts/add_button',
92
+ locals: {
93
+ sender: resource,
94
+ type: [ :user, :group ]
95
+ }
96
+ %>
97
+
98
+ <div class="btn-group" data-toggle="buttons">
99
+ <button type="radio" name="options" id="option1">user</button>
100
+ <button type="radio" name="options" id="option2"">organization</button>
104
101
  </div>
105
102
 
103
+ <%= text_field_tag "contact-filter", "", placeholder: "filter", autocomplete: "off" %>
106
104
 
107
105
  <div class="tab-content">
108
106
  <div class="tab-pane active" id="authorized">
109
107
  <%= render partial: 'contacts/contact',
110
- collection: @client.sent_contacts.first(12) %>
108
+ collection: resource.sent_contacts.first(12) %>
111
109
  </div>
112
110
 
113
111
  <div class="tab-pane" id="registered">
114
112
  </div>
115
-
116
- <div class="tab-pane" id="stats">
117
- </div>
118
113
  </div>
119
114
  </div>
120
115
 
116
+ <%= javascript_tag do %>
117
+ SocialStream.SiteClient.show();
118
+ <% end %>
121
119
  </section>