social_stream-base 0.5.2 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (591) hide show
  1. data/.gitignore +1 -0
  2. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/HTML5.png +0 -0
  3. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/HTML5_Semantics.png +0 -0
  4. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/HTML5_Styling.png +0 -0
  5. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/Jcrop.gif +0 -0
  6. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/boxy/boxy-ne.png +0 -0
  7. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/boxy/boxy-nw.png +0 -0
  8. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/boxy/boxy-se.png +0 -0
  9. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/boxy/boxy-sw.png +0 -0
  10. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/1-facebook.png +0 -0
  11. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/_notes/btn_certificates.png.mno +0 -0
  12. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/arrowBlue.png +0 -0
  13. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/arrows-ffffff.png +0 -0
  14. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/bold.png +0 -0
  15. data/{lib/generators/social_stream/base/templates/public/images/btn/btn_profile.png → app/assets/images/btn/btn_account.png} +0 -0
  16. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_activities.png +0 -0
  17. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_bookmark.png +0 -0
  18. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_browse.png +0 -0
  19. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_check.png +0 -0
  20. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_close.png +0 -0
  21. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_comment.png +0 -0
  22. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_comment_add.png +0 -0
  23. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_config.png +0 -0
  24. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_date.png +0 -0
  25. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_delete.png +0 -0
  26. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_down.png +0 -0
  27. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_edit.png +0 -0
  28. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_exit.png +0 -0
  29. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_find.png +0 -0
  30. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_follow.png +0 -0
  31. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_foward.png +0 -0
  32. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_friend.png +0 -0
  33. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_gallery.png +0 -0
  34. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_group.png +0 -0
  35. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_help.png +0 -0
  36. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_home.png +0 -0
  37. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_inbox.png +0 -0
  38. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_info.png +0 -0
  39. data/app/assets/images/btn/btn_invitation.png +0 -0
  40. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_like.png +0 -0
  41. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_next.png +0 -0
  42. data/app/assets/images/btn/btn_notification.png +0 -0
  43. data/app/assets/images/btn/btn_notification_delete.png +0 -0
  44. data/app/assets/images/btn/btn_notification_read.png +0 -0
  45. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_notifications.png +0 -0
  46. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_page_link.png +0 -0
  47. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_partner.png +0 -0
  48. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_photo.png +0 -0
  49. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_printer.png +0 -0
  50. data/app/assets/images/btn/btn_profile.png +0 -0
  51. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_rank.png +0 -0
  52. data/app/assets/images/btn/btn_read.png +0 -0
  53. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_security.png +0 -0
  54. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_send.png +0 -0
  55. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_spam.png +0 -0
  56. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_star.png +0 -0
  57. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_tag.png +0 -0
  58. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_write.png +0 -0
  59. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/close.png +0 -0
  60. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/date.png +0 -0
  61. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/edit.png +0 -0
  62. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/error.png +0 -0
  63. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/facebook.png +0 -0
  64. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/flag.png +0 -0
  65. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/group_left.png +0 -0
  66. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/group_right.png +0 -0
  67. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/index_71.png +0 -0
  68. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/info.png +0 -0
  69. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/italic.png +0 -0
  70. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/like.png +0 -0
  71. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/linkedin.png +0 -0
  72. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/message_conversation.png +0 -0
  73. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/message_inbox.png +0 -0
  74. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/message_new.png +0 -0
  75. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/message_sentbox.png +0 -0
  76. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/message_trash.png +0 -0
  77. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/new.png +0 -0
  78. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/next_conference.png +0 -0
  79. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/next_space.png +0 -0
  80. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/nolike.png +0 -0
  81. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/notifications.png +0 -0
  82. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/pixel.png +0 -0
  83. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/point_blue.png +0 -0
  84. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/point_gray.png +0 -0
  85. data/app/assets/images/btn/post.png +0 -0
  86. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/search.png +0 -0
  87. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/shadow.png +0 -0
  88. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/share.png +0 -0
  89. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/subtime.png +0 -0
  90. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/success.png +0 -0
  91. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/tag_cloud.png +0 -0
  92. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/twitter-follow-icon.png +0 -0
  93. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/twitter.png +0 -0
  94. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/uno.png +0 -0
  95. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/viewer.png +0 -0
  96. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/warning.png +0 -0
  97. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/cancel.png +0 -0
  98. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/collaborate.png +0 -0
  99. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/comments.png +0 -0
  100. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/green_sq.png +0 -0
  101. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/join.gif +0 -0
  102. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/meet.png +0 -0
  103. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/people.png +0 -0
  104. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/purple_sq.png +0 -0
  105. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/right_comments.gif +0 -0
  106. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/right_organizers.gif +0 -0
  107. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/right_people.gif +0 -0
  108. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/right_social.gif +0 -0
  109. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/right_tags.gif +0 -0
  110. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/right_webcam.gif +0 -0
  111. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/share.png +0 -0
  112. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/tags.png +0 -0
  113. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/yellow_sq.png +0 -0
  114. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/header-logo.png +0 -0
  115. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/html5-badge-h-css3-semantics.png +0 -0
  116. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/icon_checkbox.png +0 -0
  117. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/icons/favicon.ico +0 -0
  118. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/left.png +0 -0
  119. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/loader.gif +0 -0
  120. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/logo.png +0 -0
  121. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/logos/actor/group.png +0 -0
  122. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/logos/actor/remote_subject.png +0 -0
  123. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/logos/actor/remote_user.png +0 -0
  124. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/logos/actor/user.png +0 -0
  125. data/{lib/generators/social_stream/base/templates/public/images/logos/tie → app/assets/images/logos/contact}/group.png +0 -0
  126. data/{lib/generators/social_stream/base/templates/public/images/logos/tie → app/assets/images/logos/contact}/user.png +0 -0
  127. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/logos/original/group.png +0 -0
  128. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/logos/original/user.png +0 -0
  129. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/logos/profile/group.png +0 -0
  130. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/logos/profile/user.png +0 -0
  131. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/logos/representation/group.png +0 -0
  132. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/logos/representation/user.png +0 -0
  133. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/right.png +0 -0
  134. data/{lib/generators/social_stream/base/templates/public → app/assets}/images/title_background.png +0 -0
  135. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ajax.paginate.js +0 -0
  136. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/.htaccess +0 -0
  137. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/adapters/jquery.js +0 -0
  138. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/ckeditor.js +0 -0
  139. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/ckeditor_basic.js +0 -0
  140. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/ckeditor_basic_source.js +0 -0
  141. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/ckeditor_source.js +0 -0
  142. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/config.js +0 -0
  143. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/contents.css +0 -0
  144. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/images/spacer.gif +0 -0
  145. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/_languages.js +0 -0
  146. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/_translationstatus.txt +0 -0
  147. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/af.js +0 -0
  148. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/ar.js +0 -0
  149. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/bg.js +0 -0
  150. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/bn.js +0 -0
  151. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/bs.js +0 -0
  152. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/ca.js +0 -0
  153. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/cs.js +0 -0
  154. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/cy.js +0 -0
  155. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/da.js +0 -0
  156. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/de.js +0 -0
  157. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/el.js +0 -0
  158. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/en-au.js +0 -0
  159. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/en-ca.js +0 -0
  160. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/en-gb.js +0 -0
  161. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/en.js +0 -0
  162. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/eo.js +0 -0
  163. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/es.js +0 -0
  164. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/et.js +0 -0
  165. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/eu.js +0 -0
  166. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/fa.js +0 -0
  167. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/fi.js +0 -0
  168. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/fo.js +0 -0
  169. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/fr-ca.js +0 -0
  170. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/fr.js +0 -0
  171. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/gl.js +0 -0
  172. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/gu.js +0 -0
  173. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/he.js +0 -0
  174. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/hi.js +0 -0
  175. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/hr.js +0 -0
  176. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/hu.js +0 -0
  177. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/is.js +0 -0
  178. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/it.js +0 -0
  179. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/ja.js +0 -0
  180. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/km.js +0 -0
  181. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/ko.js +0 -0
  182. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/lt.js +0 -0
  183. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/lv.js +0 -0
  184. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/mn.js +0 -0
  185. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/ms.js +0 -0
  186. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/nb.js +0 -0
  187. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/nl.js +0 -0
  188. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/no.js +0 -0
  189. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/pl.js +0 -0
  190. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/pt-br.js +0 -0
  191. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/pt.js +0 -0
  192. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/ro.js +0 -0
  193. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/ru.js +0 -0
  194. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/sk.js +0 -0
  195. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/sl.js +0 -0
  196. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/sr-latn.js +0 -0
  197. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/sr.js +0 -0
  198. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/sv.js +0 -0
  199. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/th.js +0 -0
  200. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/tr.js +0 -0
  201. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/uk.js +0 -0
  202. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/vi.js +0 -0
  203. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/zh-cn.js +0 -0
  204. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/zh.js +0 -0
  205. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +0 -0
  206. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/a11yhelp/lang/en.js +0 -0
  207. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/a11yhelp/lang/he.js +0 -0
  208. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/about/dialogs/about.js +0 -0
  209. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  210. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/adobeair/plugin.js +0 -0
  211. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/autogrow/plugin.js +0 -0
  212. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +0 -0
  213. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +0 -0
  214. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +0 -0
  215. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/div/dialogs/div.js +0 -0
  216. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/find/dialogs/find.js +0 -0
  217. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/flash/dialogs/flash.js +0 -0
  218. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/flash/images/placeholder.png +0 -0
  219. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/forms/dialogs/button.js +0 -0
  220. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/forms/dialogs/checkbox.js +0 -0
  221. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/forms/dialogs/form.js +0 -0
  222. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +0 -0
  223. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/forms/dialogs/radio.js +0 -0
  224. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/forms/dialogs/select.js +0 -0
  225. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/forms/dialogs/textarea.js +0 -0
  226. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/forms/dialogs/textfield.js +0 -0
  227. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  228. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/iframe/dialogs/iframe.js +0 -0
  229. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  230. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/iframedialog/plugin.js +0 -0
  231. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/image/dialogs/image.js +0 -0
  232. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/link/dialogs/anchor.js +0 -0
  233. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/link/dialogs/link.js +0 -0
  234. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/link/images/anchor.gif +0 -0
  235. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +0 -0
  236. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  237. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/pastefromword/filter/default.js +0 -0
  238. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/pastetext/dialogs/pastetext.js +0 -0
  239. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/placeholder/dialogs/placeholder.js +0 -0
  240. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/placeholder/lang/en.js +0 -0
  241. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/placeholder/placeholder.gif +0 -0
  242. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/placeholder/plugin.js +0 -0
  243. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/scayt/dialogs/options.js +0 -0
  244. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/scayt/dialogs/toolbar.css +0 -0
  245. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  246. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  247. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  248. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  249. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  250. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  251. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  252. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  253. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  254. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  255. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  256. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/dialogs/smiley.js +0 -0
  257. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  258. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  259. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  260. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  261. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  262. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  263. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  264. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  265. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/heart.gif +0 -0
  266. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  267. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  268. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  269. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  270. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  271. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  272. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  273. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  274. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  275. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  276. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  277. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  278. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +0 -0
  279. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/specialchar/lang/en.js +0 -0
  280. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/styles/styles/default.js +0 -0
  281. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/table/dialogs/table.js +0 -0
  282. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/tableresize/plugin.js +0 -0
  283. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +0 -0
  284. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/templates/dialogs/templates.js +0 -0
  285. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/templates/templates/default.js +0 -0
  286. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  287. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  288. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  289. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/uicolor/dialogs/uicolor.js +0 -0
  290. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/uicolor/lang/en.js +0 -0
  291. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/uicolor/lang/he.js +0 -0
  292. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/uicolor/plugin.js +0 -0
  293. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  294. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  295. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  296. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  297. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  298. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/uicolor/yui/assets/yui.css +0 -0
  299. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/uicolor/yui/yui.js +0 -0
  300. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/wsc/dialogs/ciframe.html +0 -0
  301. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +0 -0
  302. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/wsc/dialogs/wsc.css +0 -0
  303. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/wsc/dialogs/wsc.js +0 -0
  304. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/dialog.css +0 -0
  305. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/editor.css +0 -0
  306. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/icons.png +0 -0
  307. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/icons_rtl.png +0 -0
  308. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  309. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  310. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  311. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/images/mini.gif +0 -0
  312. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/images/noimage.png +0 -0
  313. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/images/sprites.png +0 -0
  314. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  315. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  316. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/skin.js +0 -0
  317. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/templates.css +0 -0
  318. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/dialog.css +0 -0
  319. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/editor.css +0 -0
  320. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/icons.png +0 -0
  321. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/icons_rtl.png +0 -0
  322. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  323. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  324. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  325. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/images/mini.gif +0 -0
  326. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/images/noimage.png +0 -0
  327. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/images/sprites.png +0 -0
  328. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  329. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/skin.js +0 -0
  330. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/templates.css +0 -0
  331. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/dialog.css +0 -0
  332. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/editor.css +0 -0
  333. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/icons.png +0 -0
  334. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/icons_rtl.png +0 -0
  335. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  336. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  337. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  338. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/images/mini.gif +0 -0
  339. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/images/noimage.png +0 -0
  340. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/images/sprites.png +0 -0
  341. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  342. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
  343. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/skin.js +0 -0
  344. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/templates.css +0 -0
  345. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/themes/default/theme.js +0 -0
  346. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/hoverIntent.js +0 -0
  347. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/jqcloud-0.1.3.min.js +0 -0
  348. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/jquery.ba-url.js +0 -0
  349. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/jquery.boxy.js +0 -0
  350. data/app/assets/javascripts/jquery.fcbkcomplete.js +553 -0
  351. data/app/assets/javascripts/jquery.fcbkcomplete.min.js +2 -0
  352. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/jquery.livequery.js +0 -0
  353. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/jquery.scrollTo.min.js +0 -0
  354. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/jquery.validate.js +0 -0
  355. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/main.js +0 -0
  356. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/menu-collapsed.js +0 -0
  357. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/menu.js +0 -0
  358. data/app/assets/javascripts/modernizr.min.js +4 -0
  359. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/rails.js +0 -0
  360. data/app/assets/javascripts/settings.js +35 -0
  361. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/superfish.js +0 -0
  362. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ui.checkbox.js +0 -0
  363. data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ui.dropdownchecklist.js +218 -73
  364. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/activities.css +0 -0
  365. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/base.css +21 -7
  366. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/carousel.css +0 -0
  367. data/app/assets/stylesheets/contacts.css +91 -0
  368. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/fcbkComplete.css +3 -3
  369. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/footer.css +0 -0
  370. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/frontpage.css +12 -12
  371. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/header.css +9 -8
  372. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/home.css +0 -0
  373. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/add-policy.png +0 -0
  374. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/fcbkcomplete/close.gif +0 -0
  375. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/loading.gif +0 -0
  376. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  377. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  378. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  379. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  380. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  381. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  382. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  383. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  384. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-icons_222222_256x240.png +0 -0
  385. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-icons_2e83ff_256x240.png +0 -0
  386. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-icons_454545_256x240.png +0 -0
  387. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-icons_888888_256x240.png +0 -0
  388. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-icons_cd0a0a_256x240.png +0 -0
  389. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/jqcloud.css +0 -0
  390. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/jquery-ui.css +0 -0
  391. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/jquery.ui.slider.css +0 -0
  392. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/jquery.ui.slidertheme.css +0 -0
  393. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/menu.css +0 -0
  394. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/messages.css +7 -3
  395. data/app/assets/stylesheets/settings.css +9 -0
  396. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  397. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  398. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  399. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  400. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  401. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  402. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  403. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  404. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-icons_222222_256x240.png +0 -0
  405. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  406. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-icons_454545_256x240.png +0 -0
  407. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-icons_888888_256x240.png +0 -0
  408. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  409. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/jquery-ui-1.7.3.custom.css +0 -0
  410. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/jquery-ui-1.8.4.custom.css +0 -0
  411. data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/spheres.css +1 -1
  412. data/app/controllers/activities_controller.rb +2 -2
  413. data/app/controllers/api_controller.rb +5 -1
  414. data/app/controllers/contacts_controller.rb +13 -13
  415. data/app/controllers/conversations_controller.rb +3 -3
  416. data/app/controllers/groups_controller.rb +1 -1
  417. data/app/controllers/invitations_controller.rb +20 -0
  418. data/app/controllers/messages_controller.rb +0 -1
  419. data/app/controllers/notifications_controller.rb +2 -4
  420. data/app/controllers/settings_controller.rb +43 -0
  421. data/app/controllers/users_controller.rb +1 -1
  422. data/app/helpers/activities_helper.rb +8 -0
  423. data/app/helpers/contacts_helper.rb +5 -9
  424. data/app/helpers/notifications_helper.rb +12 -16
  425. data/app/helpers/permissions_helper.rb +2 -2
  426. data/app/mailers/invitation_mailer.rb +9 -0
  427. data/app/models/activity.rb +99 -43
  428. data/app/models/actor.rb +158 -106
  429. data/app/models/audience.rb +9 -0
  430. data/app/models/contact.rb +110 -88
  431. data/app/models/group.rb +11 -12
  432. data/app/models/permission.rb +26 -88
  433. data/app/models/relation/custom.rb +10 -8
  434. data/app/models/relation/public.rb +3 -12
  435. data/app/models/relation.rb +69 -3
  436. data/app/models/tie.rb +42 -237
  437. data/app/models/user.rb +14 -10
  438. data/app/views/activities/_index.html.erb +7 -3
  439. data/app/views/activities/_jquery.html.erb +26 -1
  440. data/app/views/activities/_new.html.erb +14 -19
  441. data/app/views/activities/_options.html.erb +1 -1
  442. data/app/views/activities/_walls.html.erb +1 -1
  443. data/app/views/avatars/index.html.erb +2 -1
  444. data/app/views/avatars/update.js.erb +15 -0
  445. data/app/views/comments/_new.html.erb +10 -6
  446. data/app/views/contacts/_contact.html.erb +1 -1
  447. data/app/views/contacts/_form.html.erb +29 -50
  448. data/app/views/contacts/_index.html.erb +1 -1
  449. data/app/views/contacts/edit.html.erb +2 -1
  450. data/app/views/contacts/index.html.erb +1 -1
  451. data/app/views/contacts/new.html.erb +1 -1
  452. data/app/views/conversations/_conversation.html.erb +1 -0
  453. data/app/views/conversations/_conversation_full.html.erb +3 -3
  454. data/app/views/conversations/_conversations.html.erb +1 -1
  455. data/app/views/devise/passwords/edit.html.erb +3 -3
  456. data/app/views/devise/passwords/new.html.erb +3 -0
  457. data/app/views/devise/sessions/new.html.erb +3 -0
  458. data/app/views/frontpage/_header.html.erb +3 -3
  459. data/app/views/frontpage/index.html.erb +1 -1
  460. data/app/views/groups/_index.html.erb +1 -1
  461. data/app/views/groups/_new.html.erb +0 -1
  462. data/app/views/home/index.html.erb +1 -1
  463. data/app/views/invitation_mailer/send_invitation.html.erb +40 -0
  464. data/app/views/invitation_mailer/send_invitation.text.erb +15 -0
  465. data/app/views/invitations/_new.html.erb +35 -0
  466. data/app/views/invitations/new.html.erb +16 -0
  467. data/app/views/layouts/_account.html.erb +17 -15
  468. data/app/views/layouts/_header.erb +6 -4
  469. data/app/views/layouts/_representation.html.erb +7 -3
  470. data/app/views/layouts/_settings.html.erb +18 -0
  471. data/app/views/layouts/application.html.erb +3 -2
  472. data/app/views/layouts/frontpage.html.erb +3 -1
  473. data/app/views/messages/new.html.erb +0 -1
  474. data/app/views/messages/new.js.erb +0 -1
  475. data/app/views/notifications/_index.html.erb +1 -1
  476. data/app/views/notifications/_notification.html.erb +10 -18
  477. data/app/views/notifications/index.html.erb +1 -1
  478. data/app/views/objects/_new.html.erb +14 -0
  479. data/app/views/permissions/_index.html.erb +0 -6
  480. data/app/views/posts/_fields.erb +1 -0
  481. data/app/views/posts/_new.html.erb +1 -0
  482. data/app/views/posts/create.js.erb +3 -1
  483. data/app/views/profiles/_contact.html.erb +2 -2
  484. data/app/views/profiles/_experience.html.erb +2 -2
  485. data/app/views/profiles/_personal.html.erb +1 -1
  486. data/app/views/profiles/_profile.html.erb +1 -15
  487. data/app/views/profiles/_tags.html.erb +1 -1
  488. data/app/views/profiles/edit.html.erb +30 -34
  489. data/app/views/relation/customs/_index.html.erb +1 -3
  490. data/app/views/settings/_api_key.html.erb +26 -0
  491. data/app/views/settings/_index.html.erb +11 -0
  492. data/app/views/settings/_notifications.html.erb +34 -0
  493. data/app/views/settings/index.html.erb +20 -0
  494. data/app/views/settings/index.js.erb +9 -0
  495. data/app/views/subjects/_contacts.html.erb +1 -1
  496. data/app/views/toolbar/_home_menu_options.html.erb +12 -0
  497. data/app/views/toolbar/_invitations_menu.html.erb +3 -0
  498. data/app/views/toolbar/_logo.html.erb +1 -1
  499. data/app/views/toolbar/_message_menu.html.erb +1 -1
  500. data/app/views/toolbar/_notifications_menu.html.erb +1 -1
  501. data/app/views/toolbar/_profile_menu_options.html.erb +10 -0
  502. data/app/views/toolbar/_profile_menu_tie_options.html.erb +4 -13
  503. data/app/views/users/_index.html.erb +1 -1
  504. data/app/views/users/show.html.erb +1 -1
  505. data/config/locales/en.yml +66 -66
  506. data/config/routes.rb +10 -1
  507. data/{lib/generators/social_stream/base/templates/migration.rb → db/migrate/20110610112023_create_social_stream.rb} +53 -33
  508. data/lib/acts_as_taggable_on/acts_as_taggable_on/dirty.rb +37 -0
  509. data/lib/acts_as_taggable_on/social_stream.rb +58 -0
  510. data/lib/generators/social_stream/base/install_generator.rb +6 -15
  511. data/lib/generators/social_stream/base/templates/initializer.rb +7 -3
  512. data/lib/generators/social_stream/base/templates/relations.yml +8 -12
  513. data/lib/social_stream/ability.rb +12 -11
  514. data/lib/social_stream/base/version.rb +1 -1
  515. data/lib/social_stream/base.rb +1 -13
  516. data/lib/social_stream/models/object.rb +26 -14
  517. data/lib/social_stream/test_helpers/controllers.rb +3 -2
  518. data/lib/social_stream-base.rb +7 -3
  519. data/lib/tasks/db/populate.rake +10 -8
  520. data/lib/tasks/resque.rake +3 -0
  521. data/social_stream-base.gemspec +10 -11
  522. data/spec/controllers/comments_controller_spec.rb +14 -7
  523. data/spec/controllers/contacts_controller_spec.rb +23 -24
  524. data/spec/controllers/groups_controller_spec.rb +31 -4
  525. data/spec/controllers/notifications_controller_spec.rb +47 -0
  526. data/spec/controllers/posts_controller_spec.rb +34 -27
  527. data/spec/controllers/representations_spec.rb +2 -2
  528. data/spec/controllers/spheres_controller_spec.rb +15 -7
  529. data/spec/controllers/users_controller_spec.rb +9 -5
  530. data/spec/dummy/.gitignore +1 -0
  531. data/spec/dummy/config/application.rb +9 -10
  532. data/spec/dummy/config/database.yml +4 -1
  533. data/spec/dummy/config/environments/development.rb +8 -4
  534. data/spec/dummy/config/environments/production.rb +18 -13
  535. data/spec/dummy/config/environments/test.rb +6 -2
  536. data/spec/dummy/config/initializers/secret_token.rb +1 -1
  537. data/spec/dummy/config/initializers/session_store.rb +1 -1
  538. data/spec/dummy/config/initializers/social_stream.rb +7 -3
  539. data/spec/dummy/config/initializers/wrap_parameters.rb +12 -0
  540. data/spec/dummy/config/locales/en.yml +1 -1
  541. data/spec/dummy/config/relations.yml +8 -12
  542. data/spec/dummy/config/routes.rb +1 -1
  543. data/spec/factories/activity.rb +4 -2
  544. data/spec/factories/comment.rb +2 -1
  545. data/spec/factories/contact.rb +12 -0
  546. data/spec/factories/post.rb +2 -1
  547. data/spec/factories/tie.rb +3 -5
  548. data/spec/integration/navigation_spec.rb +1 -1
  549. data/spec/models/activity_spec.rb +188 -172
  550. data/spec/models/contact_spec.rb +16 -0
  551. data/spec/models/group_spec.rb +13 -0
  552. data/spec/models/relation_spec.rb +78 -0
  553. data/spec/models/tie_spec.rb +4 -132
  554. data/spec/models/user_spec.rb +4 -0
  555. data/spec/support/migrations.rb +1 -1
  556. metadata +526 -535
  557. data/app/models/tie_activity.rb +0 -42
  558. data/app/views/notifications/_show.html.erb +0 -3
  559. data/app/views/notifications/show.html.erb +0 -5
  560. data/lib/generators/social_stream/base/templates/public/images/btn/btn_certificates.png +0 -0
  561. data/lib/generators/social_stream/base/templates/public/images/btn/btn_conferences.png +0 -0
  562. data/lib/generators/social_stream/base/templates/public/images/btn/btn_documents.png +0 -0
  563. data/lib/generators/social_stream/base/templates/public/images/btn/btn_embebed.png +0 -0
  564. data/lib/generators/social_stream/base/templates/public/images/btn/btn_notification.png +0 -0
  565. data/lib/generators/social_stream/base/templates/public/images/btn/btn_notification_delete.png +0 -0
  566. data/lib/generators/social_stream/base/templates/public/images/btn/btn_outline.png +0 -0
  567. data/lib/generators/social_stream/base/templates/public/images/btn/btn_video.png +0 -0
  568. data/lib/generators/social_stream/base/templates/public/images/btn/flyer.png +0 -0
  569. data/lib/generators/social_stream/base/templates/public/images/btn/keynote.png +0 -0
  570. data/lib/generators/social_stream/base/templates/public/images/btn/live.png +0 -0
  571. data/lib/generators/social_stream/base/templates/public/images/btn/time.png +0 -0
  572. data/lib/generators/social_stream/base/templates/public/images/pbar-ani.gif +0 -0
  573. data/lib/generators/social_stream/base/templates/public/javascripts/avatars.js +0 -8
  574. data/lib/generators/social_stream/base/templates/public/javascripts/jquery-ui-1.8.4.custom.min.js +0 -763
  575. data/lib/generators/social_stream/base/templates/public/javascripts/jquery-ui-personalized-1.5.2.packed.js +0 -1
  576. data/lib/generators/social_stream/base/templates/public/javascripts/jquery-ui.min.js +0 -401
  577. data/lib/generators/social_stream/base/templates/public/javascripts/jquery.Jcrop.min.js +0 -163
  578. data/lib/generators/social_stream/base/templates/public/javascripts/jquery.fcbkcomplete.min.js +0 -77
  579. data/lib/generators/social_stream/base/templates/public/javascripts/jquery.fileupload-ui.js +0 -259
  580. data/lib/generators/social_stream/base/templates/public/javascripts/jquery.fileupload.js +0 -475
  581. data/lib/generators/social_stream/base/templates/public/javascripts/jquery.form.js +0 -815
  582. data/lib/generators/social_stream/base/templates/public/javascripts/jquery.js +0 -7179
  583. data/lib/generators/social_stream/base/templates/public/javascripts/jquery.min.js +0 -167
  584. data/lib/generators/social_stream/base/templates/public/javascripts/jquery.ui.mouse.js +0 -156
  585. data/lib/generators/social_stream/base/templates/public/javascripts/jquery.ui.slider.js +0 -684
  586. data/lib/generators/social_stream/base/templates/public/javascripts/jquery.ui.widget.js +0 -236
  587. data/lib/generators/social_stream/base/templates/public/stylesheets/default/avatars.css +0 -79
  588. data/lib/generators/social_stream/base/templates/public/stylesheets/default/contacts.css +0 -88
  589. data/lib/generators/social_stream/base/templates/public/stylesheets/default/jquery.Jcrop.css +0 -35
  590. data/lib/generators/social_stream/base/templates/public/stylesheets/default/jquery.fileupload-ui.css +0 -73
  591. data/spec/models/tie_activity_spec.rb +0 -109
data/app/models/tie.rb CHANGED
@@ -1,23 +1,8 @@
1
- # A {Tie} is a link between two {Actor Actors} with a {Relation}.
1
+ # A {Tie} is a link between two {Actor Actors} ({Contact}) with a {Relation}.
2
2
  #
3
3
  # The first {Actor} is the sender of the {Tie}. The second {Actor}
4
4
  # is the receiver of the {Tie}.
5
5
  #
6
- # = {Tie Ties} and {Activity activities}
7
- # {Activity Activities} are attached to {Tie ties}. When _Alice_ post in _Bob_'s wall,
8
- # the {Activity} is attached to the {Tie} from _Alice_ to _Bob_
9
- #
10
- # * The sender of the {Tie} is the author of the {Activity}.
11
- # It is the user that uploads a resource to the website or the social entity that
12
- # originates the {Activity} (for example: add as contact).
13
- #
14
- # * The receiver {Actor} of the {Tie} is the receiver of the {Activity}.
15
- # The {Activity} will appear in the wall of the receiver, depending on the permissions
16
- #
17
- # * The {Relation} sets up the mode in which the {Activity} is shared.
18
- # It sets the rules, or {Permission Permissions}, by which {Actor} have access
19
- # to the {Activity}.
20
- #
21
6
  # = Tie strengh
22
7
  #
23
8
  # Because each {Tie} belongs to a {Relation} and {Relation Relations} have strength
@@ -43,44 +28,26 @@
43
28
  # sent_or_received_by(actor):: the union of the former
44
29
  # related_by(relation):: ties with this relation. Accepts relation, relation_name,
45
30
  # integer, array
46
- # replied:: ties having at least another tie in the other way, a tie from a to b
47
- # is replied if there is a tie from b to a
48
- # intended:: ties can be desactivated by subjects when they change their connections.
49
- # This scope gathers the active ones
50
- #
51
31
  class Tie < ActiveRecord::Base
52
- # Facilitates relation assigment along with find_relation callback
53
- attr_writer :relation_name
54
- # Facilitates new relation permissions assigment along with find_or build_relation callback
55
- attr_accessor :relation_sphere, :relation_permissions
56
- # Send a message when this tie is created
57
- attr_accessor :message
58
32
 
59
- belongs_to :sender,
60
- :class_name => "Actor",
61
- :include => SocialStream.subjects
62
- belongs_to :receiver,
63
- :class_name => "Actor",
64
- :include => SocialStream.subjects
33
+ belongs_to :contact, :counter_cache => true
65
34
 
66
- belongs_to :relation
35
+ has_one :sender, :through => :contact
36
+ has_one :receiver, :through => :contact
67
37
 
68
- has_many :tie_activities, :dependent => :destroy
69
- has_many :activities, :through => :tie_activities
38
+ belongs_to :relation
70
39
 
71
40
  scope :recent, order("ties.created_at DESC")
72
41
 
73
42
  scope :sent_by, lambda { |a|
74
- where(:sender_id => Actor.normalize_id(a))
43
+ joins(:contact).merge(Contact.sent_by(a))
75
44
  }
76
-
77
45
  scope :received_by, lambda { |a|
78
- where(:receiver_id => Actor.normalize_id(a))
46
+ joins(:contact).merge(Contact.received_by(a))
79
47
  }
80
48
 
81
49
  scope :sent_or_received_by, lambda { |a|
82
- where(arel_table[:sender_id].eq(Actor.normalize_id(a)).
83
- or(arel_table[:receiver_id].eq(Actor.normalize_id(a))))
50
+ joins(:contact).merge(Contact.sent_or_received_by(a))
84
51
  }
85
52
 
86
53
  scope :related_by, lambda { |r|
@@ -89,226 +56,59 @@ class Tie < ActiveRecord::Base
89
56
  end
90
57
  }
91
58
 
92
- scope :replied, lambda {
93
- select("DISTINCT ties.*").
94
- from("ties, ties as ties_2").
95
- where("ties.sender_id = ties_2.receiver_id AND ties.receiver_id = ties_2.sender_id")
96
- }
97
-
98
- scope :replying, lambda { |tie|
99
- where(:sender_id => tie.receiver_id).
100
- where(:receiver_id => tie.sender_id)
101
- }
102
-
103
- scope :following, lambda { |a|
104
- where(:receiver_id => Actor.normalize_id(a)).
105
- joins(:relation => :permissions).merge(Permission.follow)
106
- }
107
-
108
- scope :public_relation, lambda {
109
- joins(:relation).where('relations.type' => 'Relation::Public')
59
+ scope :with_permissions, lambda { |action, object|
60
+ joins(:relation => :permissions).
61
+ where('permissions.action' => action).
62
+ where('permissions.object' => object)
110
63
  }
111
64
 
112
- scope :intended, where(:intended => true)
113
-
114
- validates_presence_of :sender_id, :receiver_id, :relation
115
-
116
- before_validation :find_or_build_relation
65
+ validates_presence_of :contact_id, :relation_id
117
66
 
118
- before_create :save_relation
67
+ validate :relation_belongs_to_sender
119
68
 
69
+ after_create :create_activity
120
70
  after_create :increment_follower_count
121
71
  after_destroy :decrement_follower_count
122
72
 
123
73
  def relation_name
124
- @relation_name || relation.try(:name)
125
- end
126
-
127
- def relation!
128
- relation ||
129
- find_relation
74
+ relation.try(:name)
130
75
  end
131
76
 
132
77
  def sender_subject
133
- sender.try(:subject)
78
+ sender.subject
134
79
  end
135
80
 
136
81
  def receiver_subject
137
- receiver.try(:subject)
138
- end
139
-
140
- # Does this tie have the same sender and receiver?
141
- def reflexive?
142
- sender_id == receiver_id
143
- end
144
-
145
- # Is there any tie from receiver to sender?
146
- def replied?
147
- receiver.ties_to?(sender)
148
- end
149
-
150
- # The set of ties between sender and receiver
151
- #
152
- # Options::
153
- # * relations: Only ties with relations
154
- def relation_set(options = {})
155
- set = self.class.where(:sender_id => sender_id,
156
- :receiver_id => receiver_id)
157
-
158
- if options.key?(:relations)
159
- set =
160
- set.related_by Relation.normalize_id(options[:relations],
161
- :sender => sender)
162
- end
163
-
164
- set
165
- end
166
-
167
- # The tie with relation r inside this relation_set
168
- def related(r)
169
- relation_set(:relations => r).first
170
- end
171
-
172
- # = Access Control
173
- #
174
- # Access control enforcement in ties come from the permissions assigned to other ties through relations.
175
- # The access_set is the set of ties that grant some permission on a particular tie.
176
- #
177
- # Enforcing access control on activities and ties are a matter of finding its access set.
178
- # There are two approaches for this, checking the permissions on particular tie or finding all the ties
179
- # granted some permission.
180
- #
181
- # == Particular tie
182
- # ------------------ ------------------
183
- # | particular tie |--------| access_set |
184
- # | t | | ties |
185
- # ------------------ ------------------
186
- #
187
- # Because t is given, the scopes are applied to the ties table
188
- # We get the set of ties that allow permission on t
189
- #
190
- # == Finding ties
191
- # ------------------ join ------------------
192
- # | finding ties |--------| access_set |
193
- # | ties | | ties_as |
194
- # ------------------ ------------------
195
- #
196
- # Because we want to find ties, an additional join table (ties_as) is needed for applying access set conditions
197
- # We get the set of ties that are allowing certain permission
198
- #
199
-
200
- # Given a given permission (action, object), the access_set are the set of ties that grant that permission.
201
- scope :access_set, lambda { |tie, action, object|
202
- with_permissions(action, object).
203
- where(Permission.parameter_conditions(tie))
204
- }
205
-
206
- scope :allowing_set, lambda { |action, object|
207
- query =
208
- select("DISTINCT ties.*").
209
- from("ties INNER JOIN relations ON relations.id = ties.relation_id, ties as ties_as INNER JOIN relations AS relations_as ON relations_as.id = ties_as.relation_id INNER JOIN relation_permissions ON relations_as.id = relation_permissions.relation_id INNER JOIN permissions ON permissions.id = relation_permissions.permission_id").
210
- where("permissions.action" => action).
211
- where("permissions.object" => object)
212
-
213
- conds = Permission.parameter_conditions
214
- # FIXME: Patch to support public activities
215
- if action == 'read' && object == 'activity'
216
- conds = "( #{ conds } ) OR #{ sanitize_sql('relations.type' => 'Relation::Public') }"
217
- end
218
-
219
- query.where(conds)
220
- }
221
-
222
- scope :allowing, lambda { |actor, action, object|
223
- allowing_set(action, object).
224
- where("ties_as.receiver_id" => Actor.normalize_id(actor))
225
- }
226
-
227
- # The set of ties that permit this tie allow to allow action on object
228
- def access_set(action, object)
229
- self.class.access_set(self, action, object)
230
- end
231
-
232
- # The set of ties allowing user to perform action on object
233
- def allowing(user, action, object)
234
- access_set(action, object).received_by(user)
235
- end
236
-
237
- # Does this tie allows user to perform action on object?
238
- #
239
- # We allow all actions on reflexive ties
240
- def allow?(user, action, object)
241
- return true if Actor.normalize_id(user) == sender_id && reflexive?
242
-
243
- # FIXME: Patch to support public activities.
244
- if relation.is_a?(Relation::Public)
245
- return relation.allow?(user, action, object)
246
- end
247
-
248
- allowing(user, action, object).any?
249
- end
250
-
251
- scope :with_permissions, lambda { |action, object|
252
- joins(:relation => :permissions).
253
- where('permissions.action' => action).
254
- where('permissions.object' => object)
255
- }
256
-
257
- # All the ties that are allowed to follow activities from this tie
258
- def followers
259
- followers = Tie.received_by(sender).with_permissions('follow', nil)
260
-
261
- unless relation.is_a?(Relation::Public)
262
- allowed = access_set('read', 'activity').map(&:receiver_id)
263
-
264
- followers = followers.sent_by(allowed)
265
- end
266
-
267
- followers
82
+ receiver.subject
268
83
  end
269
84
 
270
85
  private
271
86
 
272
- # Before validation callback
273
- # Assigns relation or builds it based on the param
274
- def find_or_build_relation
275
- return if find_relation || relation_name.blank?
276
-
277
- self.relation = Relation::Custom.new :name => relation_name,
278
- :sphere => nil
279
-
280
- relation.permission_ids = relation_permissions
281
- end
282
-
283
- # Infers relation from its name and the type of the actors
284
- def find_relation
285
- return if relation_name.blank?
87
+ # before_create callback
88
+ #
89
+ # Create contact activity if this is the first tie
90
+ def create_activity
91
+ return unless contact.ties_count == 1
286
92
 
287
- if relation_name == relation.try(:name)
288
- relation
289
- elsif sender.present?
290
- self.relation = sender.relation_custom(relation_name)
291
- end
292
- end
293
-
294
- def save_relation
295
- relation.save! if relation.new_record?
93
+ Activity.create! :contact => contact,
94
+ :relation_ids => contact.relation_ids,
95
+ :activity_verb => ActivityVerb[contact.verb]
296
96
  end
297
97
 
298
98
  # after_create callback
299
99
  #
300
100
  # Increment the {Actor}'s follower_count
301
101
  def increment_follower_count
302
- return if reflexive? ||
102
+ return if contact.reflexive? ||
303
103
  !relation.permissions.include?(Permission.follow.first)
304
104
 
305
105
  # Because we allow several ties from the same sender to the same receiver,
306
106
  # we check the receiver does not already have a follower tie from this sender
307
- return if sender.sent_ties.
308
- received_by(receiver).
309
- with_permissions('follow', nil).
310
- where("ties.id != ?", id).
311
- present?
107
+ return if Tie.sent_by(sender).
108
+ received_by(receiver).
109
+ with_permissions('follow', nil).
110
+ where("ties.id != ?", id).
111
+ present?
312
112
 
313
113
  receiver.increment!(:follower_count)
314
114
  end
@@ -317,16 +117,21 @@ class Tie < ActiveRecord::Base
317
117
  #
318
118
  # Decrement the {Actor}'s follower_count
319
119
  def decrement_follower_count
320
- return if reflexive? ||
120
+ return if contact.reflexive? ||
321
121
  !relation.permissions.include?(Permission.follow.first)
322
122
 
323
123
  # Because we allow several ties from the same sender to the same receiver,
324
124
  # we check the receiver does not still have a follower tie from this sender
325
- return if sender.sent_ties.
326
- received_by(receiver).
327
- with_permissions('follow', nil).
328
- present?
125
+ return if Tie.sent_by(sender).
126
+ received_by(receiver).
127
+ with_permissions('follow', nil).
128
+ present?
329
129
 
330
130
  receiver.decrement!(:follower_count)
331
131
  end
132
+
133
+ def relation_belongs_to_sender
134
+ errors.add(:relation, "Relation must belong to sender") unless
135
+ contact.sender_id == relation.actor_id
136
+ end
332
137
  end
data/app/models/user.rb CHANGED
@@ -19,15 +19,15 @@ class User < ActiveRecord::Base
19
19
  end
20
20
 
21
21
  def recent_groups
22
- contacts(:type => :group, :direction => :sent) do |q|
23
- q.select("ties.created_at").
24
- merge(Tie.recent)
22
+ contact_subjects(:type => :group, :direction => :sent) do |q|
23
+ q.select("contacts.created_at").
24
+ merge(Contact.recent)
25
25
  end
26
26
  end
27
27
 
28
28
  # Subjects this user can acts as
29
29
  def represented
30
- contacts(:direction => :received) do |q|
30
+ contact_subjects(:direction => :received) do |q|
31
31
  q.joins(:sent_ties => { :relation => :permissions }).merge(Permission.represent)
32
32
  end
33
33
  end
@@ -38,6 +38,10 @@ class User < ActiveRecord::Base
38
38
  def password_required?
39
39
  !persisted? || !password.nil? || !password_confirmation.nil?
40
40
  end
41
+
42
+ def find_first(options)
43
+ raise options.inspect
44
+ end
41
45
 
42
46
  class << self
43
47
  %w( email slug name ).each do |a|
@@ -50,8 +54,8 @@ class User < ActiveRecord::Base
50
54
  end # end
51
55
  EOS
52
56
  end
53
-
54
- # Overwrite devise default find method to support login with email,
57
+
58
+ # Overwrite devise default find method to support login with email,
55
59
  # presence ID and login
56
60
  def find_for_authentication(conditions)
57
61
  if ( login = conditions[:email] ).present?
@@ -64,10 +68,10 @@ class User < ActiveRecord::Base
64
68
  super
65
69
  end
66
70
  end
67
-
68
- def find_or_initialize_with_error_by(attribute, value, error=:invalid)
69
- if attribute == :email
70
- find_or_initialize_with_error_by_email(value, error)
71
+
72
+ def find_or_initialize_with_errors(required_attributes, attributes, error=:invalid)
73
+ if required_attributes == [:email]
74
+ find_or_initialize_with_error_by_email(attributes[:email], error)
71
75
  else
72
76
  super
73
77
  end
@@ -10,13 +10,17 @@
10
10
  <div id="wrapper_activities">
11
11
  <div id="wrapper_activities_header">
12
12
  <div id="activities_title" class="content_size">
13
- <%= image_tag("btn/btn_activities.png") %> <%=t('activity.other')%>
13
+ <% SocialStream.activity_forms.each do |element| %>
14
+ <div id="header_<%= element %>" class="activities_title_header">
15
+ <%= image_tag("btn/"+element.to_s+".png") %> <%=t(element.to_s+'.title')%>
16
+ </div>
17
+ <% end %>
14
18
  </div>
15
19
  <%= render :partial => 'activities/new', :locals => { :receiver => owner } %>
16
20
  </div>
17
21
 
18
22
  <div id="wall">
19
23
  <%= render activities %>
20
- <%= will_paginate activities %>
24
+ <%= paginate activities %>
21
25
  </div>
22
- </div>
26
+ </div>
@@ -1,9 +1,34 @@
1
+ //initial state
2
+ $('#wrapper_activities_header form').hide();
3
+ $('#new_post').show();
4
+
5
+ //clicks on headers
6
+ $('.activities_title_header').live('click',function(){
7
+ $('.activities_title_header').removeClass('selected');
8
+ $(this).addClass('selected');
9
+ $('#wrapper_activities_header form').hide();
10
+ $('#new_'+this.id.split("_")[1]).show();
11
+ });
12
+
13
+ //submit
14
+ $('#masterSubmitButton').live('click',function(){
15
+ $('.liveAdded').remove();
16
+ $('#wrapper_activities_header form:visible').append(
17
+ $('<input/>')
18
+ .addClass('liveAdded')
19
+ .attr('type', 'hidden')
20
+ .attr('name', $('#wrapper_activities_header form:visible')
21
+ .attr('id').split('_')[1]+'[_relation_ids][]')
22
+ .val($('#security option:selected').attr('value')));
23
+ $('#wrapper_activities_header form:visible').submit();
24
+ });
25
+
1
26
  //javascript for main activities input
2
27
  title = "<%= t('activity.input') %>";
3
28
  $("#input_activities").click(function(){
4
29
  if(this.value == title){
5
30
  this.value="";
6
- $("#activities_share_btn").show();
31
+ $("#masterSubmitButton").show();
7
32
  }
8
33
  });
9
34
 
@@ -1,30 +1,25 @@
1
- <% if receiver.activity_ties_for?(current_subject) %>
1
+ <% if can? :create, new_activity(receiver) %>
2
2
  <% content_for :javascript do %>
3
3
 
4
4
  securityImage = "<%= escape_javascript(image_tag('btn/btn_security.png', :id => 'security_image', :alt => 'security')) %>";
5
5
  downImage = "<%= escape_javascript(image_tag('btn/btn_down.png')) %>";
6
6
 
7
- $("#security").dropdownchecklist( { closeRadioOnClick: true } );
7
+ $("#security").dropdownchecklist( { closeRadioOnClick: true, forceMultiple: false } );
8
8
  $("#security_image").parent().width(28);
9
9
  $("#security_image").parent().parent().width(28);
10
10
  <% end %>
11
11
 
12
- <div id="activities_header" class="content_size">
13
- <%= form_for Post.new(:text => t('activity.input'),
14
- :_activity_tie_id => receiver.activity_ties_for(current_subject).first.id),
15
- :remote => true do |f| %>
16
- <%= f.text_field :text, :id => "input_activities", :size => 85 %>
17
- <div id="activities_share_btn">
12
+ <div id="activities_header" class="content_size">
13
+ <% SocialStream.activity_forms.each do |element| %>
14
+ <%= render :partial => element.to_s.pluralize+'/new',
15
+ :locals => {
16
+ :receiver => receiver
17
+ } %>
18
+ <% end %>
19
+ </div>
18
20
 
19
- <% if receiver.activity_ties_for(current_subject).count > 1 %>
20
- <div id="securities">
21
- <%= f.select :_activity_tie_id, receiver.activity_ties_for(current_subject).sort{ |t, u| t.relation <=> u.relation }.map{ |t| [ t.relation_name, t.id ] }, {}, :id => 'security' %>
22
- </div>
23
- <% else %>
24
- <%= f.hidden_field :_activity_tie_id %>
25
- <% end %>
26
- <%= f.submit t('share'), :class =>"myButtonBlue" %>
27
- </div>
28
- <% end -%>
29
- </div>
21
+ <div id="activities_share_btn">
22
+ <div id="securities"><%= select_tag :_relation_ids, grouped_options_for_select(current_subject.grouped_activity_relations(receiver)), :id => 'security', :multiple => nil %></div>
23
+ <%= submit_tag(t('share'), :class => "myButtonBlue", :id => "masterSubmitButton") %>
24
+ </div>
30
25
  <% end %>
@@ -1,7 +1,7 @@
1
1
  <div class="activity_options">
2
2
  <ul class="activity_options" >
3
3
  <li><div class="post_time_ago"><%= t('time.ago', :time => time_ago_in_words(activity.created_at)) %></div></li>
4
- <% if activity.is_root? && activity.receiver.activity_ties_for?(current_subject) %>
4
+ <% if activity.is_root? && current_subject.activity_relations?(activity.receiver, :in => activity.relations) %>
5
5
  <li><div class="verb_comment"> · <%= link_to t('activity.to_comment'), "#", :class => "to_comment" %> </div></li>
6
6
  <% end %>
7
7
  <li><div class="verb_like" id="like_<%= dom_id(activity) %>"> · <%= link_like(activity)%></div></li>
@@ -23,7 +23,7 @@
23
23
  :locals => { :owner => owner,
24
24
  :activities => owner.wall(:profile,
25
25
  :for => current_subject).
26
- paginate(:page => params[:page]) } %>
26
+ page(params[:page]) } %>
27
27
  </div>
28
28
 
29
29
  <% owner.relation_customs.sort.each do |r| %>
@@ -2,11 +2,12 @@
2
2
 
3
3
  <% content_for :headers do %>
4
4
  <%= stylesheet_link_tag "avatars.css", :media => "screen, projection" %>
5
- <%= javascript_include_tag 'avatars.js' %>
6
5
  <%= javascript_include_tag 'jquery.Jcrop.min' %>
7
6
  <%= javascript_include_tag 'jquery.form' %>
8
7
  <%= javascript_include_tag 'jquery.fileupload' %>
9
8
  <%= javascript_include_tag 'jquery.fileupload-ui' %>
9
+ <%= javascript_include_tag 'avatars.js' %>
10
+
10
11
  <%= stylesheet_link_tag "jquery.Jcrop", :media => "screen, projection" %>
11
12
  <%= stylesheet_link_tag "avatars", :media => "screen, projection" %><br/>
12
13
  <%= stylesheet_link_tag "jquery.fileupload-ui", :media => "screen, projection" %>
@@ -0,0 +1,15 @@
1
+ $("#avatar_img_<%= old_id %>").removeClass("default");
2
+ $("#avatar_img_<%= old_id %>").addClass("non_default");
3
+ $("#avatar_link_<%= old_id %>").show();
4
+
5
+ $("#avatar_img_<%= new_id %>").removeClass("non_default");
6
+ $("#avatar_img_<%= new_id %>").addClass("default");
7
+ $("#avatar_link_<%= new_id %>").hide();
8
+
9
+ representation_path = $("#avatar_img_<%= new_id %>").attr('src').replace("/profile/", "/representation/");
10
+
11
+ $('#current_user_avatar_img').attr('src', representation_path);
12
+ $('#current_subject_avatar_img').css('background-image', "url('" + representation_path +"')");
13
+
14
+ $("#current_avatar_img").attr('src', $("#avatar_img_<%= new_id %>").attr('src') );
15
+
@@ -1,19 +1,23 @@
1
- <% if activity.receiver.activity_ties_for?(current_subject) %>
1
+ <% if user_signed_in? && current_subject.can_comment?(activity) %>
2
2
  <div class="activity_new_comment">
3
3
  <%= form_for Comment.new(:text => t('comment.input'),
4
- :_activity_tie_id =>
5
- activity.receiver.activity_ties_for(current_subject).first.id,
4
+ :_contact_id =>
5
+ current_subject.contact_to!(activity.receiver).id,
6
6
  :_activity_parent_id => activity.id
7
7
  ),
8
8
  :html => { :class => "new_comment", :id => "new_comment"+dom_id(activity) },
9
9
  :remote => true do |f| %>
10
- <%= f.hidden_field :_activity_tie_id, :id => "activity_receiver_tie_from_id_"+dom_id(activity) %>
11
- <%= f.hidden_field :_activity_parent_id, :id => "activity_id_"+dom_id(activity) %>
10
+ <% current_subject.comment_relations(activity).each do |r| %>
11
+ <%= f.hidden_field "_relation_ids][", :id => "comment__relation_ids_#{ r.id }", :value => r.id %>
12
+ <% end %>
13
+ <%= f.hidden_field :_activity_parent_id %>
14
+
12
15
  <%= f.text_field :text, :class =>"input_new_comments" , :id => "comment_text_"+dom_id(activity) %>
16
+
13
17
  <div class="activities_comment_btn">
14
18
  <div class="activities_security"></div>
15
19
  <%= f.submit t('share'), :class =>"myButtonBlue", :id => "comment_submit"+dom_id(activity) %>
16
20
  </div>
17
21
  <% end %>
18
22
  </div>
19
- <% end %>
23
+ <% end %>
@@ -11,7 +11,7 @@
11
11
  <%= contact_brief(contact.receiver_subject) %>
12
12
  </div>
13
13
  <div class="link" id="contact_link<%= dom_id(contact.receiver_subject)%>">
14
- <%= new_contact_link(contact) %>
14
+ <%= contact_to(contact.receiver) %>
15
15
  </div>
16
16
  </div>
17
17
  <div class="close"><%=link_to('X','#')%></div>