social_stream 0.3.6 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (266) hide show
  1. data/.gitignore +1 -0
  2. data/Gemfile +6 -0
  3. data/app/controllers/api_controller.rb +39 -0
  4. data/app/controllers/frontpage_controller.rb +2 -0
  5. data/app/controllers/groups_controller.rb +8 -2
  6. data/app/controllers/likes_controller.rb +9 -29
  7. data/app/controllers/logos_controller.rb +21 -0
  8. data/app/controllers/mailbox/conversation_controller.rb +110 -0
  9. data/app/controllers/mailbox_controller.rb +35 -0
  10. data/app/controllers/posts_controller.rb +2 -0
  11. data/app/controllers/profiles_controller.rb +3 -0
  12. data/app/controllers/ties_controller.rb +10 -0
  13. data/app/controllers/users_controller.rb +5 -5
  14. data/app/helpers/groups_helper.rb +0 -2
  15. data/app/helpers/subjects_helper.rb +11 -0
  16. data/app/helpers/ties_helper.rb +1 -1
  17. data/app/models/activity.rb +24 -1
  18. data/app/models/activity_object.rb +10 -0
  19. data/app/models/activity_object_activity.rb +10 -0
  20. data/app/models/actor.rb +87 -60
  21. data/app/models/group.rb +10 -4
  22. data/app/models/like.rb +34 -0
  23. data/app/models/logo.rb +51 -0
  24. data/app/models/permission.rb +7 -5
  25. data/app/models/profile.rb +24 -8
  26. data/app/models/tie.rb +15 -2
  27. data/app/models/user.rb +2 -2
  28. data/app/views/activities/_activities.html.erb +1 -1
  29. data/app/views/activities/_new.html.erb +12 -7
  30. data/app/views/api/activity_atom_feed.atom.builder +40 -0
  31. data/app/views/comments/_new.html.erb +1 -1
  32. data/app/views/devise/passwords/edit.html.erb +21 -0
  33. data/app/views/devise/passwords/new.html.erb +16 -0
  34. data/app/views/devise/registrations/new.html.erb +35 -19
  35. data/app/views/devise/sessions/new.html.erb +30 -0
  36. data/app/views/frontpage/_header.html.erb +18 -20
  37. data/app/views/frontpage/_search.html.erb +13 -0
  38. data/app/views/frontpage/_sponsor.html.erb +12 -13
  39. data/app/views/frontpage/index.html.erb +88 -80
  40. data/app/views/groups/_group.html.erb +2 -6
  41. data/app/views/groups/_index.html.erb +22 -25
  42. data/app/views/groups/_logo.html.erb +1 -1
  43. data/app/views/groups/_new.html.erb +56 -39
  44. data/app/views/groups/_profile.html.erb +142 -0
  45. data/app/views/groups/_sidebar_index.html.erb +73 -0
  46. data/app/views/groups/{_middle_show.html.erb → _sidebar_show.html.erb} +2 -2
  47. data/app/views/groups/_tabs.html.erb +37 -31
  48. data/app/views/groups/_toolbar_show.html.erb +12 -0
  49. data/app/views/groups/edit.html.erb +136 -0
  50. data/app/views/groups/index.html.erb +47 -46
  51. data/app/views/groups/new.html.erb +2 -0
  52. data/app/views/groups/show.html.erb +9 -4
  53. data/app/views/groups/update.js.erb +39 -0
  54. data/app/views/home/_groups.html.erb +4 -5
  55. data/app/views/{users/_middle_index.html.erb → home/_sidebar.html.erb} +0 -2
  56. data/app/views/home/index.html.erb +3 -5
  57. data/app/views/layouts/_footer.html.erb +4 -0
  58. data/app/views/layouts/_header.erb +29 -37
  59. data/app/views/layouts/_representation.html.erb +2 -2
  60. data/app/views/layouts/application.html.erb +47 -74
  61. data/app/views/layouts/frontpage.html.erb +27 -48
  62. data/app/views/layouts/test.html +44 -0
  63. data/app/views/likes/create.js.erb +1 -1
  64. data/app/views/likes/destroy.js.erb +1 -1
  65. data/app/views/logos/_form.html.erb +33 -0
  66. data/app/views/logos/_precrop.html.erb +48 -0
  67. data/app/views/logos/edit.html.erb +6 -0
  68. data/app/views/logos/index.html.erb +27 -0
  69. data/app/views/logos/new.html.erb +20 -0
  70. data/app/views/logos/show.html.erb +5 -0
  71. data/app/views/mailbox/_conversation.html.erb +23 -0
  72. data/app/views/mailbox/_conversations.html.erb +9 -0
  73. data/app/views/mailbox/_index.html.erb +16 -0
  74. data/app/views/{messages → mailbox}/_location.html.erb +0 -0
  75. data/app/views/mailbox/_menu_options.html.erb +19 -0
  76. data/app/views/mailbox/_show.html.erb +15 -0
  77. data/app/views/mailbox/conversation/_conversation.html.erb +40 -0
  78. data/app/views/mailbox/conversation/_form.html.erb +54 -0
  79. data/app/views/mailbox/conversation/_location.html.erb +3 -0
  80. data/app/views/mailbox/conversation/_new.html.erb +19 -0
  81. data/app/views/mailbox/conversation/_show.html.erb +27 -0
  82. data/app/views/mailbox/conversation/edit.html.erb +6 -0
  83. data/app/views/mailbox/conversation/new.html.erb +10 -0
  84. data/app/views/mailbox/conversation/new.js.erb +1 -0
  85. data/app/views/mailbox/conversation/show.html.erb +1 -0
  86. data/app/views/{messages → mailbox}/edit.html.erb +0 -0
  87. data/app/views/mailbox/index.html.erb +10 -0
  88. data/app/views/{messages → mailbox}/index.js.erb +0 -0
  89. data/app/views/mailbox/new.html.erb +14 -0
  90. data/app/views/mailbox/show.html.erb +11 -0
  91. data/app/views/mailbox/show.js.erb +1 -0
  92. data/app/views/menu/_group.html.erb +15 -0
  93. data/{lib/generators/social_stream/templates/public/stylesheets/users.css → app/views/menu/_home_user.html.erb} +0 -0
  94. data/app/views/menu/_options.html.erb +11 -0
  95. data/app/views/menu/_services.html.erb +11 -0
  96. data/app/views/menu/_tiesGroup.html.erb +14 -0
  97. data/app/views/menu/_tiesUser.html.erb +11 -0
  98. data/app/views/menu/_user.html.erb +15 -0
  99. data/app/views/profiles/show.html.erb +1 -0
  100. data/app/views/subjects/_contacts.html.erb +8 -9
  101. data/app/views/subjects/_menu_options.html.erb +14 -0
  102. data/app/views/subjects/_toolbar.html.erb +15 -0
  103. data/app/views/ties/_new.html.erb +3 -2
  104. data/app/views/ties/_pendings.html.erb +7 -12
  105. data/app/views/ties/_suggestions.html.erb +12 -12
  106. data/app/views/ties/_tie.html.erb +9 -7
  107. data/app/views/ties/new.js.erb +1 -2
  108. data/app/views/users/_groups.html.erb +4 -3
  109. data/app/views/users/_index.html.erb +24 -22
  110. data/app/views/users/_logo.html.erb +1 -1
  111. data/app/views/users/_profile.html.erb +167 -164
  112. data/app/views/users/_sidebar_index.html.erb +6 -0
  113. data/app/views/users/{_middle_show.html.erb → _sidebar_show.html.erb} +0 -0
  114. data/app/views/users/_toolbar_show.html.erb +17 -0
  115. data/app/views/users/edit.html.erb +193 -165
  116. data/app/views/users/index.html.erb +34 -47
  117. data/{spec/dummy/public/stylesheets/.gitkeep → app/views/users/info.html.erb} +0 -0
  118. data/app/views/users/show.html.erb +4 -4
  119. data/app/views/users/show.xml.builder +28 -0
  120. data/app/views/users/update.js.erb +3 -1
  121. data/config/locales/en.yml +88 -9
  122. data/config/routes.rb +30 -14
  123. data/lib/generators/social_stream/install_generator.rb +8 -2
  124. data/lib/generators/social_stream/templates/migration.rb +75 -81
  125. data/lib/generators/social_stream/templates/public/images/{frontpage/facebook.png → btn/1-facebook.png} +0 -0
  126. data/lib/generators/social_stream/templates/public/images/btn/edit.png +0 -0
  127. data/lib/generators/social_stream/templates/public/images/btn/facebook.png +0 -0
  128. data/lib/generators/social_stream/templates/public/images/btn/linkedin.png +0 -0
  129. data/lib/generators/social_stream/templates/public/images/btn/twitter-follow-icon.png +0 -0
  130. data/lib/generators/social_stream/templates/public/images/btn/twitter.png +0 -0
  131. data/lib/generators/social_stream/templates/public/images/frontpage/collaborate.png +0 -0
  132. data/lib/generators/social_stream/templates/public/images/frontpage/meet.png +0 -0
  133. data/lib/generators/social_stream/templates/public/images/frontpage/share.png +0 -0
  134. data/lib/generators/social_stream/templates/public/images/icons/favicon.ico +0 -0
  135. data/lib/generators/social_stream/templates/public/images/logo.png +0 -0
  136. data/lib/generators/social_stream/templates/public/images/w3c_css.png +0 -0
  137. data/lib/generators/social_stream/templates/public/images/w3c_xhtml.png +0 -0
  138. data/lib/generators/social_stream/templates/public/javascripts/jquery-ui-1.8.4.custom.min.js +3 -3
  139. data/lib/generators/social_stream/templates/public/javascripts/jquery-ui-personalized-1.5.2.packed.js +1 -0
  140. data/lib/generators/social_stream/templates/public/javascripts/jquery-ui.min.js +3 -3
  141. data/lib/generators/social_stream/templates/public/javascripts/jquery.Jcrop.min.js +163 -0
  142. data/lib/generators/social_stream/templates/public/javascripts/jquery.fcbkcomplete.min.js +76 -76
  143. data/lib/generators/social_stream/templates/public/javascripts/jquery.min.js +156 -5
  144. data/lib/generators/social_stream/templates/public/javascripts/main.js +9 -0
  145. data/lib/generators/social_stream/templates/public/javascripts/menu-collapsed.js +42 -0
  146. data/lib/generators/social_stream/templates/public/javascripts/menu.js +1 -1
  147. data/lib/generators/social_stream/templates/public/javascripts/rails.js +30 -29
  148. data/lib/generators/social_stream/templates/public/javascripts/superfish.js +121 -0
  149. data/lib/generators/social_stream/templates/public/stylesheets/default/activities.css +72 -0
  150. data/lib/generators/social_stream/templates/public/stylesheets/default/base.css +150 -0
  151. data/lib/generators/social_stream/templates/public/stylesheets/default/carousel.css +23 -0
  152. data/lib/generators/social_stream/templates/public/stylesheets/{fcbkComplete.css → default/fcbkComplete.css} +2 -2
  153. data/lib/generators/social_stream/templates/public/stylesheets/default/footer.css +25 -0
  154. data/lib/generators/social_stream/templates/public/stylesheets/default/frontpage.css +54 -0
  155. data/lib/generators/social_stream/templates/public/stylesheets/default/header.css +44 -0
  156. data/lib/generators/social_stream/templates/public/stylesheets/default/home.css +44 -0
  157. data/lib/generators/social_stream/templates/public/stylesheets/{images → default/images}/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  158. data/lib/generators/social_stream/templates/public/stylesheets/{images → default/images}/ui-bg_flat_75_ffffff_40x100.png +0 -0
  159. data/lib/generators/social_stream/templates/public/stylesheets/{images → default/images}/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  160. data/lib/generators/social_stream/templates/public/stylesheets/{images → default/images}/ui-bg_glass_65_ffffff_1x400.png +0 -0
  161. data/lib/generators/social_stream/templates/public/stylesheets/{images → default/images}/ui-bg_glass_75_dadada_1x400.png +0 -0
  162. data/lib/generators/social_stream/templates/public/stylesheets/{images → default/images}/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  163. data/lib/generators/social_stream/templates/public/stylesheets/{images → default/images}/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  164. data/lib/generators/social_stream/templates/public/stylesheets/{images → default/images}/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  165. data/lib/generators/social_stream/templates/public/stylesheets/{images → default/images}/ui-icons_222222_256x240.png +0 -0
  166. data/lib/generators/social_stream/templates/public/stylesheets/{images → default/images}/ui-icons_2e83ff_256x240.png +0 -0
  167. data/lib/generators/social_stream/templates/public/stylesheets/{images → default/images}/ui-icons_454545_256x240.png +0 -0
  168. data/lib/generators/social_stream/templates/public/stylesheets/{images → default/images}/ui-icons_888888_256x240.png +0 -0
  169. data/lib/generators/social_stream/templates/public/stylesheets/{images → default/images}/ui-icons_cd0a0a_256x240.png +0 -0
  170. data/lib/generators/social_stream/templates/public/stylesheets/default/jqcloud.css +15 -0
  171. data/lib/generators/social_stream/templates/public/stylesheets/{jquery-ui.css → default/jquery-ui.css} +0 -0
  172. data/lib/generators/social_stream/templates/public/stylesheets/default/jquery.Jcrop.css +35 -0
  173. data/lib/generators/social_stream/templates/public/stylesheets/default/menu.css +33 -0
  174. data/lib/generators/social_stream/templates/public/stylesheets/{smoothness → default/smoothness}/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  175. data/lib/generators/social_stream/templates/public/stylesheets/{smoothness → default/smoothness}/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  176. data/lib/generators/social_stream/templates/public/stylesheets/{smoothness → default/smoothness}/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  177. data/lib/generators/social_stream/templates/public/stylesheets/{smoothness → default/smoothness}/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  178. data/lib/generators/social_stream/templates/public/stylesheets/{smoothness → default/smoothness}/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  179. data/lib/generators/social_stream/templates/public/stylesheets/{smoothness → default/smoothness}/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  180. data/lib/generators/social_stream/templates/public/stylesheets/{smoothness → default/smoothness}/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  181. data/lib/generators/social_stream/templates/public/stylesheets/{smoothness → default/smoothness}/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  182. data/lib/generators/social_stream/templates/public/stylesheets/{smoothness → default/smoothness}/images/ui-icons_222222_256x240.png +0 -0
  183. data/lib/generators/social_stream/templates/public/stylesheets/{smoothness → default/smoothness}/images/ui-icons_2e83ff_256x240.png +0 -0
  184. data/lib/generators/social_stream/templates/public/stylesheets/{smoothness → default/smoothness}/images/ui-icons_454545_256x240.png +0 -0
  185. data/lib/generators/social_stream/templates/public/stylesheets/{smoothness → default/smoothness}/images/ui-icons_888888_256x240.png +0 -0
  186. data/lib/generators/social_stream/templates/public/stylesheets/{smoothness → default/smoothness}/images/ui-icons_cd0a0a_256x240.png +0 -0
  187. data/lib/generators/social_stream/templates/public/stylesheets/{smoothness → default/smoothness}/jquery-ui-1.7.3.custom.css +0 -0
  188. data/lib/generators/social_stream/templates/public/stylesheets/{smoothness → default/smoothness}/jquery-ui-1.8.4.custom.css +0 -0
  189. data/lib/social_stream.rb +11 -2
  190. data/lib/social_stream/ability.rb +21 -3
  191. data/lib/social_stream/models/object.rb +5 -3
  192. data/lib/social_stream/models/subject.rb +50 -31
  193. data/lib/social_stream/rails.rb +5 -0
  194. data/lib/social_stream/test_helpers.rb +11 -0
  195. data/lib/social_stream/test_helpers/controllers.rb +64 -0
  196. data/lib/social_stream/version.rb +1 -1
  197. data/lib/tasks/db/populate.rake +110 -25
  198. data/social_stream.gemspec +7 -1
  199. data/spec/controllers/contacts_controller_spec.rb +1 -1
  200. data/spec/controllers/groups_controller_spec.rb +8 -0
  201. data/spec/controllers/home_controller_spec.rb +15 -0
  202. data/spec/controllers/likes_controller_spec.rb +29 -0
  203. data/spec/controllers/posts_controller_spec.rb +41 -0
  204. data/spec/controllers/profiles_controller_spec.rb +46 -0
  205. data/spec/controllers/users_controller_spec.rb +2 -2
  206. data/spec/dummy/.gitignore +4 -0
  207. data/spec/dummy/config/database.yml +8 -0
  208. data/spec/dummy/config/environments/test_pg.rb +35 -0
  209. data/spec/dummy/config/routes.rb +2 -0
  210. data/spec/factories/group.rb +1 -1
  211. data/spec/integration/navigation_spec.rb +1 -1
  212. data/spec/models/actor_spec.rb +4 -4
  213. data/spec/models/user_spec.rb +2 -2
  214. data/spec/spec_helper.rb +1 -1
  215. data/spec/support/db.rb +7 -0
  216. metadata +198 -116
  217. data/app/controllers/messages_controller.rb +0 -3
  218. data/app/models/message.rb +0 -2
  219. data/app/views/groups/_middle_index.html.erb +0 -74
  220. data/app/views/groups/_right_index.html.erb +0 -19
  221. data/app/views/groups/_right_show.html.erb +0 -8
  222. data/app/views/home/_middle.html.erb +0 -4
  223. data/app/views/home/_options.html.erb +0 -8
  224. data/app/views/home/_right.html.erb +0 -17
  225. data/app/views/messages/_form.html.erb +0 -24
  226. data/app/views/messages/_index.html.erb +0 -24
  227. data/app/views/messages/_message.html.erb +0 -17
  228. data/app/views/messages/_messages.html.erb +0 -2
  229. data/app/views/messages/index.html.erb +0 -1
  230. data/app/views/messages/new.html.erb +0 -14
  231. data/app/views/messages/show.html.erb +0 -21
  232. data/app/views/users/_menu.html.erb +0 -7
  233. data/app/views/users/_options.html.erb +0 -5
  234. data/app/views/users/_right_index.html.erb +0 -19
  235. data/app/views/users/_right_show.html.erb +0 -14
  236. data/lib/generators/social_stream/templates/public/images/btn/btn_share.png +0 -0
  237. data/lib/generators/social_stream/templates/public/images/favicon.ico +0 -0
  238. data/lib/generators/social_stream/templates/public/images/frontpage/collaborate.gif +0 -0
  239. data/lib/generators/social_stream/templates/public/images/frontpage/meet.gif +0 -0
  240. data/lib/generators/social_stream/templates/public/images/frontpage/share.gif +0 -0
  241. data/lib/generators/social_stream/templates/public/javascripts/hoverIntent.js +0 -84
  242. data/lib/generators/social_stream/templates/public/stylesheets/activities.css +0 -235
  243. data/lib/generators/social_stream/templates/public/stylesheets/base.css +0 -68
  244. data/lib/generators/social_stream/templates/public/stylesheets/boxy.css +0 -49
  245. data/lib/generators/social_stream/templates/public/stylesheets/browse.css +0 -162
  246. data/lib/generators/social_stream/templates/public/stylesheets/carousel.css +0 -57
  247. data/lib/generators/social_stream/templates/public/stylesheets/edit_user.css +0 -104
  248. data/lib/generators/social_stream/templates/public/stylesheets/frontpage.css +0 -708
  249. data/lib/generators/social_stream/templates/public/stylesheets/header.css +0 -116
  250. data/lib/generators/social_stream/templates/public/stylesheets/home.css +0 -121
  251. data/lib/generators/social_stream/templates/public/stylesheets/index.css +0 -625
  252. data/lib/generators/social_stream/templates/public/stylesheets/jqcloud.css +0 -62
  253. data/lib/generators/social_stream/templates/public/stylesheets/menu.css +0 -83
  254. data/lib/generators/social_stream/templates/public/stylesheets/message.css +0 -46
  255. data/lib/generators/social_stream/templates/public/stylesheets/middle.css +0 -113
  256. data/lib/generators/social_stream/templates/public/stylesheets/right.css +0 -58
  257. data/lib/generators/social_stream/templates/public/stylesheets/social_stream.css +0 -78
  258. data/lib/generators/social_stream/templates/public/stylesheets/ui.dropdownchecklist.css +0 -21
  259. data/spec/dummy/db/.gitignore +0 -2
  260. data/spec/dummy/log/.gitignore +0 -1
  261. data/spec/dummy/public/javascripts/application.js +0 -2
  262. data/spec/dummy/public/javascripts/controls.js +0 -965
  263. data/spec/dummy/public/javascripts/dragdrop.js +0 -974
  264. data/spec/dummy/public/javascripts/effects.js +0 -1123
  265. data/spec/dummy/public/javascripts/prototype.js +0 -6001
  266. data/spec/dummy/public/javascripts/rails.js +0 -175
@@ -0,0 +1,23 @@
1
+ #carousel_container{ text-align:center;}
2
+
3
+ #carousel_inner { float:left; /* important for inline positioning */
4
+ width:490px; /* important (this width = width of list item(including margin) * items shown */
5
+ overflow: hidden; /* important (hide the items outside the div) */
6
+ /* non-important styling bellow */
7
+ background: #fff; text-align:center; }
8
+
9
+ #carousel_ul {
10
+ position:relative; left:-210px; /* important (this should be negative number of list items width(including margin) */
11
+ list-style-type: none; /* removing the default styling for unordered list items */
12
+ margin: 0px; padding: 0px; width:9999px; /* important */ /* non-important styling bellow */ padding-bottom:10px;
13
+ }
14
+
15
+ #carousel_ul li{ float: left; /* important for inline positioning of the list items */ width:55px;
16
+ /* fixed width, important */ /* just styling bellow*/ padding:0px;height:38px;background: #fff;
17
+ margin-top:10px;margin-bottom:10px; margin-left:5px;margin-right:5px;}
18
+
19
+ #carousel_ul li img { .margin-bottom:-4px;
20
+ /* IE is making a 4px gap bellow an image inside of an anchor (<a href...>) so this is to fix that*/
21
+ /* styling */ cursor:pointer;cursor: hand;border:0px;}
22
+ #left_scroll, #right_scroll{ float:left;height:10px; padding-top:15px;width:26px;background: #fff;}
23
+ #left_scroll img, #right_scroll img{/*styling*/cursor: pointer;cursor: hand;}
@@ -10,7 +10,7 @@ ul.holder li.bit-input input.smallinput { width: 20px; }
10
10
 
11
11
  /* Facebook demo CSS */
12
12
  ul.holder { width: 500px; }
13
- ul.holder { margin: 0 !important }
13
+ /*ul.holder { margin: 0 !important }*/
14
14
  ul.holder li.bit-box, #apple-list ul.holder li.bit-box { padding-right: 15px; position: relative; z-index:1000;}
15
15
  #apple-list ul.holder li.bit-input { margin: 0; }
16
16
  #apple-list ul.holder li.bit-input input.smallinput { width: 5px; }
@@ -22,7 +22,7 @@ ul.holder li.bit-box-focus a.closebutton, ul.holder li.bit-box-focus a.closebutt
22
22
 
23
23
  /* Autocompleter */
24
24
 
25
- .facebook-auto { display: none; position: absolute; width: 512px; background: #eee; z-index:1001;}
25
+ .facebook-auto { display: none; position: absolute; /*width: 512px;*/ background: #eee; z-index:1001;}
26
26
  .facebook-auto .default { padding: 5px 7px; border: 1px solid #ccc; border-width: 0 1px 1px;font-family:"Lucida Grande","Verdana"; font-size:11px; }
27
27
  .facebook-auto ul { display: none; margin: 0; padding: 0; overflow: auto; position:absolute; z-index:9999}
28
28
  .facebook-auto ul li { padding: 5px 12px; z-index: 1000; cursor: pointer; margin: 0; list-style-type: none; border: 1px solid #ccc; border-width: 0 1px 1px; font: 11px "Lucida Grande", "Verdana"; background-color: #eee }
@@ -0,0 +1,25 @@
1
+ #sponsor-wrapper{ text-align:right; vertical-align:middle;}
2
+ #sponsor{width:960px;margin:0 auto;color:#666; }
3
+
4
+ #footer{width: 960px;margin-left: auto;margin-right: auto;padding: 0;position: relative; text-align:center;
5
+ clear:left;font-size:0.9166em;line-height:1.6363;color:#666;padding:0.75em 0;}
6
+ #footer ul, #sponsor ul{list-style-type:none;margin:0 0.5em; }
7
+ #footer ul li,#sponsor ul li{display:inline-block;margin-right:0.25em;position:relative;}
8
+ #footer ul li#trade_mark,#sponsor ul li#trademark{font-weight:bold;color:#111;}
9
+ #footer ul li#trade_mark_logo{font-weight:normal;}
10
+ #footer a, #sponsor a{color:#666;}
11
+ #footer a:hover, #sponsor a:hover{color:#444; text-decoration: underline;}
12
+ #footer .icon,#global .icon{margin-bottom:-4px;}
13
+ #footer-wrapper{background-color:#e1eef5;}
14
+ #footer_right{font-weight:normal;}
15
+ #footer_right{ font-size: 10px; line-height: 1.1em;}
16
+
17
+
18
+ #footerFront { width: 100%; padding: 0; background: #E1EEF5;}
19
+ .banner_footer { width: 960px; margin-left: auto; margin-right: auto; padding: 0; position: relative;}
20
+ .banner_footer #footer_content { text-align: center; color: #ccc;}
21
+ .banner_footer { width: 960px; color: #0656a4; margin-left: auto; margin-right: auto; padding-top: 2px;
22
+ position: relative;}
23
+ .banner_footer .a_border { border-right: thin solid; color: #0656a4; padding: 0px 7px; text-decoration: underline;}
24
+ .banner_footer a { color: #0656a4; padding: 0px 7px; text-decoration: underline;}
25
+
@@ -0,0 +1,54 @@
1
+ /********************** BÚSQUEDA *****************/
2
+ .banner_busqueda { width:960px; height:61px; margin-left:auto; margin-right:auto; padding:0;
3
+ position:relative; padding-top:10px;}
4
+ .div_busqueda { color:#0656a4; width:248px; display:inline-block; text-align: right;
5
+ vertical-align: top; font-size: 12px;}
6
+ .div_busqueda #subtexto_busqueda { padding-bottom: 8px; height:12px;}
7
+ .div_busqueda #input_find{ position:relative; border-color:#0656a4; padding: 0px; border: 1px inset;}
8
+ .div_busqueda #find_button{ width:15px; border:0px; height:15px;}
9
+ .div_busqueda .a_border{ border-right:thin solid; color:#0656a4; padding:0px 7px; text-decoration:underline;}
10
+ .div_busqueda a{ color:#0656a4; padding:0px 7px; text-decoration:underline;}
11
+ #espacio_busqueda { width:692px; margin-left:20px; height:45px; margin-bottom:0px; float:left;
12
+ display:inline;}
13
+ #form_busqueda{ padding-top:3px;}
14
+ span.find{ padding-right:5px;}
15
+
16
+ /************** sub structure Frontpage **************/
17
+ #login{ padding-top: 5px;}
18
+ #welcome{ margin-top:50px; margin-left:300px; width:330px; padding:20px; border: thin solid #2A3890;
19
+ position: absolute; text-align:center;}
20
+ #wrapper_left{ vertical-align:top; width:49%; display:inline-block; padding-left: 20px;}
21
+ #wrapper_right{ vertical-align:top; width:48%; display:inline-block;}
22
+
23
+
24
+ /***************** content Frontpage *****************/
25
+ .espacio{height:10px;}
26
+ #frontpage_title{ font-size: 17px; font-weight:bold; color: #1F4A75; vertical-align: top; margin: 0px;
27
+ text-align: center; padding: 0px;}
28
+ .icon{ display:inline-block; width:60px }
29
+ #icon_share{ background: transparent url(/images/frontpage/share.png); width:56px; height:57px;}
30
+ #icon_meet{ background: transparent url(/images/frontpage/meet.png); width:56px; height:57px;}
31
+ #icon_collaborate{ background: transparent url(/images/frontpage/collaborate.png); width:56px; height:57px;}
32
+ .icon_text{ text-align:center; width:100%; font-weight:bold;}
33
+ #join_form{ float:right; padding-right:50px;}
34
+ .sentences{ width:80%; display:inline-block; vertical-align:top; padding-top:10px;}
35
+ .sentences ul,.sentences li{ list-style-type:none; font-size:14px; margin-left:10px; padding-top:3px;}
36
+ .sentences li.purple{ list-style-image:url("/images/frontpage/purple_sq.png");}
37
+ .sentences li.green{ list-style-image:url("/images/frontpage/green_sq.png");}
38
+ .sentences li.yellow{ list-style-image:url("/images/frontpage/yellow_sq.png");}
39
+ #text_bottom_title{ font-size: 14px; color: #000; font-weight: bold;}
40
+
41
+
42
+ /*********** TEXT Frontpage **********/
43
+ #caracteristics{ vertical-align: top;}
44
+ #caracteristics span { float:left; padding-right: 13px; vertical-align: top; padding-top: 5px;}
45
+ #caracteristics ul{ list-style: none; margin: 0px; float:left;}
46
+ #caracteristics ul li{ font-size:13px; line-height:18px; padding:7px 0 8px 30px;}
47
+ li.participants{background: transparent url("/images/frontpage/right_webcam.gif") no-repeat left center;}
48
+ li.organizers{background: transparent url("/images/frontpage/right_organizers.gif") no-repeat left center;}
49
+ li.spaces{background: transparent url("/images/frontpage/right_people.gif") no-repeat left center;}
50
+ li.comments{background: transparent url("/images/frontpage/right_comments.gif") no-repeat left center;}
51
+ li.tags{background: transparent url("/images/frontpage/right_tags.gif") no-repeat left center;}
52
+ li.networks{background: transparent url("/images/frontpage/right_social.gif") no-repeat left center;}
53
+
54
+
@@ -0,0 +1,44 @@
1
+ /****************** HEADER STRUCTURE ******/
2
+ #headerFront { width: 100%; padding: 0; background: #1F4A75; padding: 2px 0px 0px 0px;}
3
+ #header_left { left: 0px; float: left; padding-left: 5px;}
4
+ #header_right { float: right; right: 0px; padding-right: 10px; display: inline-block;}
5
+ .banner_top { width: 960px; margin-left: auto; margin-right: auto; margin-top: 3px; padding-bottom: 3px;
6
+ position: relative;}
7
+
8
+ /********** CONTENT ************/
9
+ #headerFront .div_login a{ color:#FFFFFF; padding-right: 2px; }
10
+ #headerFront .div_login a:hover{text-decoration:underline; }
11
+ #logo{ width:218px; height:50px; float:left; vertical-align:top; }
12
+ #logo_txt {color: #fff; display: inline; vertical-align: top; padding-top: 2px; }
13
+ .div_login { color:#FFF; width:65%; display:inline-block; text-align: right; vertical-align: top;
14
+ padding-top: 5px; font-weight:normal; margin-top:3px; float:right; }
15
+ .div_login #username{ height:10px; }
16
+ .div_login, .input_username{ position:relative; padding: 0px; border: 0px; }
17
+ .div_login #login_button{ width:61px; height:18px; }
18
+ .div_login a.login{ background-color:#497FC1; padding-right:2px; padding-left:2px; color:white; }
19
+ .div_login .subtexto{ padding-top: 8px; height:12px; font-size: 11px; }
20
+ .div_login .a_border{ border-right:thin solid; padding-right:7px; text-decoration:underline; }
21
+ #new_representation { display: inline-block;}
22
+ #representation { display: inline; padding-left:3px; padding-right:3px;}
23
+ .txt_config {color: #fff; vertical-align: top; display: inline; padding-top: 2px; border-right: thin solid;
24
+ padding-right: 3px;}
25
+ .txt_config2 {color: #fff; vertical-align: top; display: inline; padding-top: 2px; padding-right: 3px;}
26
+
27
+
28
+ /******** MENU HEADER*******/
29
+ #menu_home{ vertical-align: top; }
30
+ #menu_home span { float:left; padding-right: 5px; vertical-align: top; padding-top: 5px;}
31
+ #menu_home ul{ list-style: none; margin: 0px; float:left;}
32
+ #menu_home ul li{ line-height:20px; padding:5px 0px 5px 20px; vertical-align:top;}
33
+
34
+ li.btn_menu_home{background: transparent url("/images/btn/btn_home.png") no-repeat left center;}
35
+ li.btn_menu_profile{background: transparent url("/images/btn/btn_profile.png") no-repeat left center;}
36
+ li.btn_menu_browse{background: transparent url("/images/btn/btn_browse.png") no-repeat left center;}
37
+ li.btn_menu_config{background: transparent url("/images/btn/btn_config.png") no-repeat left center;}
38
+ li.btn_menu_exit{background: transparent url("/images/btn/btn_exit.png") no-repeat left center;}
39
+ #menu_home ul li.pipe{padding:0px 3px 0px 3px; margin:0px;}
40
+ .menu_white{display:inline-block; color:#fff;}
41
+ .white_link{padding-top:3px; vertical-align:top; display:inline-block;}
42
+ .black{color:#000; font-weight:bold;}
43
+
44
+
@@ -0,0 +1,44 @@
1
+ /******** MAIN Structure home *********/
2
+ #content {
3
+ width: 560px;
4
+ border-right: thin solid #D4E4EA;
5
+ border-bottom: thin solid #D4E4EA;
6
+ border-left: thin solid #D4E4EA;
7
+ vertical-align: top;
8
+ display: table-cell;
9
+ padding-top: 10px;
10
+ font-size: 14px;
11
+ }
12
+ #sidebar {width: 220px; display: table-cell;vertical-align: top;}
13
+ #sidebarContent{ padding-left:3px; padding-right:3px;}
14
+ #sponsor{background-color:#fff}
15
+ #toolbar { width: 160px; border-color: #000; vertical-align: top; display: table-cell;padding: 5px 5px 5px 5px;}
16
+ #toolbarContent{}
17
+ #wrapper_body{background-color:#fff;}
18
+
19
+
20
+ /*************** HOME ****************/
21
+ #logo_index { text-align: center;}
22
+ #map_location {padding-left: 4px; display: inline-block; }
23
+ .content_size {font-size: 13px;}
24
+ .space_center_border { padding-top: 8px; padding-right: 4px; border-bottom: thin solid #D4E4EA;}
25
+
26
+ /********GROUPS HOME************/
27
+ .browse_letter{ text-align:center;}
28
+ .btn_group{ vertical-align:top;}
29
+ .group{ display:inline-block; width:50px;}
30
+ .group_content{ display:block; text-align:center;}
31
+ #groups_list { width: 100%; padding-bottom: 5px; text-align: center; display: inline-block;}
32
+ #groups_title { width: 100%; padding-left: 5px; font-weight: bold;}
33
+ .group_title a{ display:block; font-size:9px; text-decoration:none; text-align:center;}
34
+ .group_title a:hover{ display:block; text-decoration:underline;}
35
+ #my_groups { width: 100%;}
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
@@ -0,0 +1,15 @@
1
+ div#wordcloud { color: #09f; overflow: hidden; position: relative; width: 200px; height: 200px; }
2
+ div#wordcloud a { color: inherit; text-decoration: none;}
3
+ div#wordcloud a:hover { color: #0df;}
4
+ div#wordcloud a:hover { color: #0cf;}
5
+ div#wordcloud span { padding: 0;}
6
+ div#wordcloud span.w10 {font-size: 44px; color: #1F4A75;}
7
+ div#wordcloud span.w9 { font-size: 40px; color: #0cf; }
8
+ div#wordcloud span.w8 { font-size: 34px; color: #0cf; }
9
+ div#wordcloud span.w7 { font-size: 30px; color: #0cf; }
10
+ div#wordcloud span.w6 { font-size: 24px; color: #90c5f0;}
11
+ div#wordcloud span.w5 { font-size: 20px; color: #90a0dd;}
12
+ div#wordcloud span.w4 { font-size: 14px; color: #90c5f0;}
13
+ div#wordcloud span.w3 { font-size: 10px; color: #a0ddff;}
14
+ div#wordcloud span.w2 { font-size: 4px; color: #99ccee;}
15
+ div#wordcloud span.w1 { font-size: 1px; color: #aab5f0;}
@@ -0,0 +1,35 @@
1
+ /* Fixes issue here http://code.google.com/p/jcrop/issues/detail?id=1 */
2
+ .jcrop-holder { text-align: left; }
3
+
4
+ .jcrop-vline, .jcrop-hline
5
+ {
6
+ font-size: 0;
7
+ position: absolute;
8
+ background: white url('Jcrop.gif') top left repeat;
9
+ }
10
+ .jcrop-vline { height: 100%; width: 1px !important; }
11
+ .jcrop-hline { width: 100%; height: 1px !important; }
12
+ .jcrop-handle {
13
+ font-size: 1px;
14
+ width: 7px !important;
15
+ height: 7px !important;
16
+ border: 1px #eee solid;
17
+ background-color: #333;
18
+ *width: 9px;
19
+ *height: 9px;
20
+ }
21
+
22
+ .jcrop-tracker { width: 100%; height: 100%; }
23
+
24
+ .custom .jcrop-vline,
25
+ .custom .jcrop-hline
26
+ {
27
+ background: yellow;
28
+ }
29
+ .custom .jcrop-handle
30
+ {
31
+ border-color: black;
32
+ background-color: #C7BB00;
33
+ -moz-border-radius: 3px;
34
+ -webkit-border-radius: 3px;
35
+ }
@@ -0,0 +1,33 @@
1
+ /**************MENU***********/
2
+ div.panel { border: 1px #2A3890 solid; padding: 5px; margin-top: 0px;}
3
+
4
+
5
+ ul.menu, ul.menu ul {list-style-type:none; margin: 0; padding: 0; width: 15em; }
6
+ ul.menu a { display: block; text-decoration: none; }
7
+
8
+ ul.menu li { border-bottom: thin solid #D4E4EA; padding-left:0px; }
9
+ ul.menu li a, ul.menu ul.menu li a { background: #fff; color: #2A3890; padding: 0.3em; padding:5px 0px 5px 0px; }
10
+ ul.menu li a:hover, ul.menu ul.menu li a:hover { background: #DEEFF8; color: #2A3890; text-decoration:none; }
11
+ ul.menu li ul li a, ul.menu ul.menu li ul li a { background: #fff; border-left: 5px #2A3890 solid;
12
+ color: #2A3890; padding-left: 10px;}
13
+
14
+
15
+
16
+
17
+ /*
18
+ ul.menu li ul li a:hover, ul.menu ul.menu li ul li a:hover { background: #DEEFF8; border-left: 5px #2A3890 solid;
19
+ text-decoration:none; }
20
+ ul.menu ul.menu li a:hover { border-left: 0; padding-left: 0.5em;}
21
+ ul.menu ul.menu { border-left: 5px #1F4A75 solid;}
22
+ ul.menu a.active, ul.menu ul.menu li a.active, ul.menu a.active:hover, ul.menu ul.menu li a.active:hover {
23
+ text-decoration: none; background: #DEEFF8; border: #2A3890 1px solid; color: #2A3890;}
24
+
25
+ ul.menu div.panel a, ul.menu div.panel li a:hover { display :inline; color: #DEEFF8; background: none;
26
+ margin: 0; padding: 0; border: none; font-weight: bold;}
27
+ ul.menu div.panel a:hover { color: #2A3890; text-decoration: underline;}
28
+ */
29
+
30
+
31
+
32
+
33
+
data/lib/social_stream.rb CHANGED
@@ -3,6 +3,7 @@ module SocialStream
3
3
  autoload :Ability, 'social_stream/ability'
4
4
  autoload :Populate, 'social_stream/populate'
5
5
  autoload :Relations, 'social_stream/relations'
6
+ autoload :TestHelpers, 'social_stream/test_helpers'
6
7
 
7
8
  module Controllers
8
9
  autoload :Helpers, 'social_stream/controllers/helpers'
@@ -14,14 +15,18 @@ module SocialStream
14
15
  autoload :Object, 'social_stream/models/object'
15
16
  end
16
17
 
18
+ module TestHelpers
19
+ autoload :Controllers, 'social_stream/test_helpers/controllers'
20
+ end
21
+
17
22
  mattr_accessor :subjects
18
23
  @@subjects = [ :user, :group ]
19
24
 
20
25
  mattr_accessor :devise_modules
21
26
  @@devise_modules = [ :database_authenticatable, :registerable, :recoverable,
22
- :rememberable, :trackable, :omniauthable ]
27
+ :rememberable, :trackable, :omniauthable, :token_authenticatable]
23
28
 
24
- mattr_accessor :objects
29
+ mattr_writer :objects
25
30
  @@objects = [ :post, :comment ]
26
31
 
27
32
  class << self
@@ -29,6 +34,10 @@ module SocialStream
29
34
  yield self
30
35
  end
31
36
 
37
+ def objects
38
+ @@objects | [ :actor ]
39
+ end
40
+
32
41
  # Load models for rewrite in application
33
42
  #
34
43
  # Use this method when you want to reopen some model in SocialStream in order
@@ -3,10 +3,28 @@ module SocialStream
3
3
  include CanCan::Ability
4
4
 
5
5
  def initialize(user)
6
+ (SocialStream.objects - [ :actor ]).map{ |obj|
7
+ obj.to_s.classify.constantize
8
+ }.each do |klass|
9
+ can :create, klass do |k|
10
+ k._activity_tie.allows?(user, 'create', 'activity')
11
+ end
12
+
13
+ can :read, klass do |k|
14
+ k._activity_tie.allows?(user, 'read', 'activity')
15
+ end
16
+
17
+ can :update, klass do |k|
18
+ k._activity_tie.allows?(user, 'update', 'activity')
19
+ end
20
+
21
+ can :destroy, klass do |k|
22
+ k._activity_tie.allows?(user, 'destroy', 'activity')
23
+ end
24
+ end
25
+
6
26
  can :create, Activity do |a|
7
- # All ties' authors must be the user
8
- a.tie.receiver_subject == user &&
9
- a.tie.allows?(user, 'create', 'activity')
27
+ a.tie.allows?(user, 'create', 'activity')
10
28
  end
11
29
 
12
30
  can :read, Activity do |a|