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.
- data/.gitignore +1 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/HTML5.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/HTML5_Semantics.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/HTML5_Styling.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/Jcrop.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/boxy/boxy-ne.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/boxy/boxy-nw.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/boxy/boxy-se.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/boxy/boxy-sw.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/1-facebook.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/_notes/btn_certificates.png.mno +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/arrowBlue.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/arrows-ffffff.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/bold.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/images/btn/btn_profile.png → app/assets/images/btn/btn_account.png} +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_activities.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_bookmark.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_browse.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_check.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_close.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_comment.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_comment_add.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_config.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_date.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_delete.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_down.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_edit.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_exit.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_find.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_follow.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_foward.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_friend.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_gallery.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_group.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_help.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_home.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_inbox.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_info.png +0 -0
- data/app/assets/images/btn/btn_invitation.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_like.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_next.png +0 -0
- data/app/assets/images/btn/btn_notification.png +0 -0
- data/app/assets/images/btn/btn_notification_delete.png +0 -0
- data/app/assets/images/btn/btn_notification_read.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_notifications.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_page_link.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_partner.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_photo.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_printer.png +0 -0
- data/app/assets/images/btn/btn_profile.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_rank.png +0 -0
- data/app/assets/images/btn/btn_read.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_security.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_send.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_spam.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_star.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_tag.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/btn_write.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/close.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/date.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/edit.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/error.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/facebook.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/flag.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/group_left.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/group_right.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/index_71.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/info.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/italic.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/like.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/linkedin.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/message_conversation.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/message_inbox.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/message_new.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/message_sentbox.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/message_trash.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/new.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/next_conference.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/next_space.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/nolike.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/notifications.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/pixel.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/point_blue.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/point_gray.png +0 -0
- data/app/assets/images/btn/post.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/search.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/shadow.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/share.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/subtime.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/success.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/tag_cloud.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/twitter-follow-icon.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/twitter.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/uno.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/viewer.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/btn/warning.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/cancel.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/collaborate.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/comments.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/green_sq.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/join.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/meet.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/people.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/purple_sq.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/right_comments.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/right_organizers.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/right_people.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/right_social.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/right_tags.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/right_webcam.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/share.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/tags.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/frontpage/yellow_sq.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/header-logo.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/html5-badge-h-css3-semantics.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/icon_checkbox.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/icons/favicon.ico +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/left.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/loader.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/logo.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/logos/actor/group.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/logos/actor/remote_subject.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/logos/actor/remote_user.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/logos/actor/user.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/images/logos/tie → app/assets/images/logos/contact}/group.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/images/logos/tie → app/assets/images/logos/contact}/user.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/logos/original/group.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/logos/original/user.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/logos/profile/group.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/logos/profile/user.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/logos/representation/group.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/logos/representation/user.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/right.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/images/title_background.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ajax.paginate.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/.htaccess +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/adapters/jquery.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/ckeditor.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/ckeditor_basic.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/ckeditor_basic_source.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/ckeditor_source.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/config.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/contents.css +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/images/spacer.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/_languages.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/_translationstatus.txt +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/af.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/ar.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/bg.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/bn.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/bs.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/ca.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/cs.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/cy.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/da.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/de.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/el.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/en-au.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/en-ca.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/en-gb.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/en.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/eo.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/es.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/et.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/eu.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/fa.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/fi.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/fo.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/fr-ca.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/fr.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/gl.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/gu.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/he.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/hi.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/hr.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/hu.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/is.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/it.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/ja.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/km.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/ko.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/lt.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/lv.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/mn.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/ms.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/nb.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/nl.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/no.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/pl.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/pt-br.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/pt.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/ro.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/ru.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/sk.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/sl.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/sr-latn.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/sr.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/sv.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/th.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/tr.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/uk.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/vi.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/zh-cn.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/lang/zh.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/a11yhelp/lang/en.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/a11yhelp/lang/he.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/about/dialogs/about.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/adobeair/plugin.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/autogrow/plugin.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/div/dialogs/div.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/find/dialogs/find.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/flash/dialogs/flash.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/flash/images/placeholder.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/forms/dialogs/button.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/forms/dialogs/checkbox.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/forms/dialogs/form.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/forms/dialogs/radio.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/forms/dialogs/select.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/forms/dialogs/textarea.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/forms/dialogs/textfield.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/iframe/dialogs/iframe.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/iframe/images/placeholder.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/iframedialog/plugin.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/image/dialogs/image.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/link/dialogs/anchor.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/link/dialogs/link.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/link/images/anchor.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/pastefromword/filter/default.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/pastetext/dialogs/pastetext.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/placeholder/dialogs/placeholder.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/placeholder/lang/en.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/placeholder/placeholder.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/placeholder/plugin.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/scayt/dialogs/options.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/scayt/dialogs/toolbar.css +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/showblocks/images/block_address.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/showblocks/images/block_div.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/showblocks/images/block_p.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/dialogs/smiley.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/envelope.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/heart.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/kiss.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/specialchar/lang/en.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/styles/styles/default.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/table/dialogs/table.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/tableresize/plugin.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/templates/dialogs/templates.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/templates/templates/default.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/uicolor/dialogs/uicolor.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/uicolor/lang/en.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/uicolor/lang/he.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/uicolor/plugin.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/uicolor/uicolor.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/uicolor/yui/assets/yui.css +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/uicolor/yui/yui.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/wsc/dialogs/ciframe.html +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/wsc/dialogs/wsc.css +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/plugins/wsc/dialogs/wsc.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/dialog.css +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/editor.css +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/icons.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/icons_rtl.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/images/dialog_sides.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/images/mini.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/images/noimage.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/images/sprites.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/skin.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/kama/templates.css +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/dialog.css +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/editor.css +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/icons.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/icons_rtl.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/images/mini.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/images/noimage.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/images/sprites.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/skin.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/office2003/templates.css +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/dialog.css +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/editor.css +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/icons.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/icons_rtl.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/images/dialog_sides.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/images/mini.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/images/noimage.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/images/sprites.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/skin.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/skins/v2/templates.css +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ckeditor/themes/default/theme.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/hoverIntent.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/jqcloud-0.1.3.min.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/jquery.ba-url.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/jquery.boxy.js +0 -0
- data/app/assets/javascripts/jquery.fcbkcomplete.js +553 -0
- data/app/assets/javascripts/jquery.fcbkcomplete.min.js +2 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/jquery.livequery.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/jquery.scrollTo.min.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/jquery.validate.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/main.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/menu-collapsed.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/menu.js +0 -0
- data/app/assets/javascripts/modernizr.min.js +4 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/rails.js +0 -0
- data/app/assets/javascripts/settings.js +35 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/superfish.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ui.checkbox.js +0 -0
- data/{lib/generators/social_stream/base/templates/public → app/assets}/javascripts/ui.dropdownchecklist.js +218 -73
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/activities.css +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/base.css +21 -7
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/carousel.css +0 -0
- data/app/assets/stylesheets/contacts.css +91 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/fcbkComplete.css +3 -3
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/footer.css +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/frontpage.css +12 -12
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/header.css +9 -8
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/home.css +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/add-policy.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/fcbkcomplete/close.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/loading.gif +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-icons_222222_256x240.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-icons_2e83ff_256x240.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-icons_454545_256x240.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-icons_888888_256x240.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/jqcloud.css +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/jquery-ui.css +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/jquery.ui.slider.css +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/jquery.ui.slidertheme.css +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/menu.css +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/messages.css +7 -3
- data/app/assets/stylesheets/settings.css +9 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- 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
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/jquery-ui-1.7.3.custom.css +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/smoothness/jquery-ui-1.8.4.custom.css +0 -0
- data/{lib/generators/social_stream/base/templates/public/stylesheets/default → app/assets/stylesheets}/spheres.css +1 -1
- data/app/controllers/activities_controller.rb +2 -2
- data/app/controllers/api_controller.rb +5 -1
- data/app/controllers/contacts_controller.rb +13 -13
- data/app/controllers/conversations_controller.rb +3 -3
- data/app/controllers/groups_controller.rb +1 -1
- data/app/controllers/invitations_controller.rb +20 -0
- data/app/controllers/messages_controller.rb +0 -1
- data/app/controllers/notifications_controller.rb +2 -4
- data/app/controllers/settings_controller.rb +43 -0
- data/app/controllers/users_controller.rb +1 -1
- data/app/helpers/activities_helper.rb +8 -0
- data/app/helpers/contacts_helper.rb +5 -9
- data/app/helpers/notifications_helper.rb +12 -16
- data/app/helpers/permissions_helper.rb +2 -2
- data/app/mailers/invitation_mailer.rb +9 -0
- data/app/models/activity.rb +99 -43
- data/app/models/actor.rb +158 -106
- data/app/models/audience.rb +9 -0
- data/app/models/contact.rb +110 -88
- data/app/models/group.rb +11 -12
- data/app/models/permission.rb +26 -88
- data/app/models/relation/custom.rb +10 -8
- data/app/models/relation/public.rb +3 -12
- data/app/models/relation.rb +69 -3
- data/app/models/tie.rb +42 -237
- data/app/models/user.rb +14 -10
- data/app/views/activities/_index.html.erb +7 -3
- data/app/views/activities/_jquery.html.erb +26 -1
- data/app/views/activities/_new.html.erb +14 -19
- data/app/views/activities/_options.html.erb +1 -1
- data/app/views/activities/_walls.html.erb +1 -1
- data/app/views/avatars/index.html.erb +2 -1
- data/app/views/avatars/update.js.erb +15 -0
- data/app/views/comments/_new.html.erb +10 -6
- data/app/views/contacts/_contact.html.erb +1 -1
- data/app/views/contacts/_form.html.erb +29 -50
- data/app/views/contacts/_index.html.erb +1 -1
- data/app/views/contacts/edit.html.erb +2 -1
- data/app/views/contacts/index.html.erb +1 -1
- data/app/views/contacts/new.html.erb +1 -1
- data/app/views/conversations/_conversation.html.erb +1 -0
- data/app/views/conversations/_conversation_full.html.erb +3 -3
- data/app/views/conversations/_conversations.html.erb +1 -1
- data/app/views/devise/passwords/edit.html.erb +3 -3
- data/app/views/devise/passwords/new.html.erb +3 -0
- data/app/views/devise/sessions/new.html.erb +3 -0
- data/app/views/frontpage/_header.html.erb +3 -3
- data/app/views/frontpage/index.html.erb +1 -1
- data/app/views/groups/_index.html.erb +1 -1
- data/app/views/groups/_new.html.erb +0 -1
- data/app/views/home/index.html.erb +1 -1
- data/app/views/invitation_mailer/send_invitation.html.erb +40 -0
- data/app/views/invitation_mailer/send_invitation.text.erb +15 -0
- data/app/views/invitations/_new.html.erb +35 -0
- data/app/views/invitations/new.html.erb +16 -0
- data/app/views/layouts/_account.html.erb +17 -15
- data/app/views/layouts/_header.erb +6 -4
- data/app/views/layouts/_representation.html.erb +7 -3
- data/app/views/layouts/_settings.html.erb +18 -0
- data/app/views/layouts/application.html.erb +3 -2
- data/app/views/layouts/frontpage.html.erb +3 -1
- data/app/views/messages/new.html.erb +0 -1
- data/app/views/messages/new.js.erb +0 -1
- data/app/views/notifications/_index.html.erb +1 -1
- data/app/views/notifications/_notification.html.erb +10 -18
- data/app/views/notifications/index.html.erb +1 -1
- data/app/views/objects/_new.html.erb +14 -0
- data/app/views/permissions/_index.html.erb +0 -6
- data/app/views/posts/_fields.erb +1 -0
- data/app/views/posts/_new.html.erb +1 -0
- data/app/views/posts/create.js.erb +3 -1
- data/app/views/profiles/_contact.html.erb +2 -2
- data/app/views/profiles/_experience.html.erb +2 -2
- data/app/views/profiles/_personal.html.erb +1 -1
- data/app/views/profiles/_profile.html.erb +1 -15
- data/app/views/profiles/_tags.html.erb +1 -1
- data/app/views/profiles/edit.html.erb +30 -34
- data/app/views/relation/customs/_index.html.erb +1 -3
- data/app/views/settings/_api_key.html.erb +26 -0
- data/app/views/settings/_index.html.erb +11 -0
- data/app/views/settings/_notifications.html.erb +34 -0
- data/app/views/settings/index.html.erb +20 -0
- data/app/views/settings/index.js.erb +9 -0
- data/app/views/subjects/_contacts.html.erb +1 -1
- data/app/views/toolbar/_home_menu_options.html.erb +12 -0
- data/app/views/toolbar/_invitations_menu.html.erb +3 -0
- data/app/views/toolbar/_logo.html.erb +1 -1
- data/app/views/toolbar/_message_menu.html.erb +1 -1
- data/app/views/toolbar/_notifications_menu.html.erb +1 -1
- data/app/views/toolbar/_profile_menu_options.html.erb +10 -0
- data/app/views/toolbar/_profile_menu_tie_options.html.erb +4 -13
- data/app/views/users/_index.html.erb +1 -1
- data/app/views/users/show.html.erb +1 -1
- data/config/locales/en.yml +66 -66
- data/config/routes.rb +10 -1
- data/{lib/generators/social_stream/base/templates/migration.rb → db/migrate/20110610112023_create_social_stream.rb} +53 -33
- data/lib/acts_as_taggable_on/acts_as_taggable_on/dirty.rb +37 -0
- data/lib/acts_as_taggable_on/social_stream.rb +58 -0
- data/lib/generators/social_stream/base/install_generator.rb +6 -15
- data/lib/generators/social_stream/base/templates/initializer.rb +7 -3
- data/lib/generators/social_stream/base/templates/relations.yml +8 -12
- data/lib/social_stream/ability.rb +12 -11
- data/lib/social_stream/base/version.rb +1 -1
- data/lib/social_stream/base.rb +1 -13
- data/lib/social_stream/models/object.rb +26 -14
- data/lib/social_stream/test_helpers/controllers.rb +3 -2
- data/lib/social_stream-base.rb +7 -3
- data/lib/tasks/db/populate.rake +10 -8
- data/lib/tasks/resque.rake +3 -0
- data/social_stream-base.gemspec +10 -11
- data/spec/controllers/comments_controller_spec.rb +14 -7
- data/spec/controllers/contacts_controller_spec.rb +23 -24
- data/spec/controllers/groups_controller_spec.rb +31 -4
- data/spec/controllers/notifications_controller_spec.rb +47 -0
- data/spec/controllers/posts_controller_spec.rb +34 -27
- data/spec/controllers/representations_spec.rb +2 -2
- data/spec/controllers/spheres_controller_spec.rb +15 -7
- data/spec/controllers/users_controller_spec.rb +9 -5
- data/spec/dummy/.gitignore +1 -0
- data/spec/dummy/config/application.rb +9 -10
- data/spec/dummy/config/database.yml +4 -1
- data/spec/dummy/config/environments/development.rb +8 -4
- data/spec/dummy/config/environments/production.rb +18 -13
- data/spec/dummy/config/environments/test.rb +6 -2
- data/spec/dummy/config/initializers/secret_token.rb +1 -1
- data/spec/dummy/config/initializers/session_store.rb +1 -1
- data/spec/dummy/config/initializers/social_stream.rb +7 -3
- data/spec/dummy/config/initializers/wrap_parameters.rb +12 -0
- data/spec/dummy/config/locales/en.yml +1 -1
- data/spec/dummy/config/relations.yml +8 -12
- data/spec/dummy/config/routes.rb +1 -1
- data/spec/factories/activity.rb +4 -2
- data/spec/factories/comment.rb +2 -1
- data/spec/factories/contact.rb +12 -0
- data/spec/factories/post.rb +2 -1
- data/spec/factories/tie.rb +3 -5
- data/spec/integration/navigation_spec.rb +1 -1
- data/spec/models/activity_spec.rb +188 -172
- data/spec/models/contact_spec.rb +16 -0
- data/spec/models/group_spec.rb +13 -0
- data/spec/models/relation_spec.rb +78 -0
- data/spec/models/tie_spec.rb +4 -132
- data/spec/models/user_spec.rb +4 -0
- data/spec/support/migrations.rb +1 -1
- metadata +526 -535
- data/app/models/tie_activity.rb +0 -42
- data/app/views/notifications/_show.html.erb +0 -3
- data/app/views/notifications/show.html.erb +0 -5
- data/lib/generators/social_stream/base/templates/public/images/btn/btn_certificates.png +0 -0
- data/lib/generators/social_stream/base/templates/public/images/btn/btn_conferences.png +0 -0
- data/lib/generators/social_stream/base/templates/public/images/btn/btn_documents.png +0 -0
- data/lib/generators/social_stream/base/templates/public/images/btn/btn_embebed.png +0 -0
- data/lib/generators/social_stream/base/templates/public/images/btn/btn_notification.png +0 -0
- data/lib/generators/social_stream/base/templates/public/images/btn/btn_notification_delete.png +0 -0
- data/lib/generators/social_stream/base/templates/public/images/btn/btn_outline.png +0 -0
- data/lib/generators/social_stream/base/templates/public/images/btn/btn_video.png +0 -0
- data/lib/generators/social_stream/base/templates/public/images/btn/flyer.png +0 -0
- data/lib/generators/social_stream/base/templates/public/images/btn/keynote.png +0 -0
- data/lib/generators/social_stream/base/templates/public/images/btn/live.png +0 -0
- data/lib/generators/social_stream/base/templates/public/images/btn/time.png +0 -0
- data/lib/generators/social_stream/base/templates/public/images/pbar-ani.gif +0 -0
- data/lib/generators/social_stream/base/templates/public/javascripts/avatars.js +0 -8
- data/lib/generators/social_stream/base/templates/public/javascripts/jquery-ui-1.8.4.custom.min.js +0 -763
- data/lib/generators/social_stream/base/templates/public/javascripts/jquery-ui-personalized-1.5.2.packed.js +0 -1
- data/lib/generators/social_stream/base/templates/public/javascripts/jquery-ui.min.js +0 -401
- data/lib/generators/social_stream/base/templates/public/javascripts/jquery.Jcrop.min.js +0 -163
- data/lib/generators/social_stream/base/templates/public/javascripts/jquery.fcbkcomplete.min.js +0 -77
- data/lib/generators/social_stream/base/templates/public/javascripts/jquery.fileupload-ui.js +0 -259
- data/lib/generators/social_stream/base/templates/public/javascripts/jquery.fileupload.js +0 -475
- data/lib/generators/social_stream/base/templates/public/javascripts/jquery.form.js +0 -815
- data/lib/generators/social_stream/base/templates/public/javascripts/jquery.js +0 -7179
- data/lib/generators/social_stream/base/templates/public/javascripts/jquery.min.js +0 -167
- data/lib/generators/social_stream/base/templates/public/javascripts/jquery.ui.mouse.js +0 -156
- data/lib/generators/social_stream/base/templates/public/javascripts/jquery.ui.slider.js +0 -684
- data/lib/generators/social_stream/base/templates/public/javascripts/jquery.ui.widget.js +0 -236
- data/lib/generators/social_stream/base/templates/public/stylesheets/default/avatars.css +0 -79
- data/lib/generators/social_stream/base/templates/public/stylesheets/default/contacts.css +0 -88
- data/lib/generators/social_stream/base/templates/public/stylesheets/default/jquery.Jcrop.css +0 -35
- data/lib/generators/social_stream/base/templates/public/stylesheets/default/jquery.fileupload-ui.css +0 -73
- data/spec/models/tie_activity_spec.rb +0 -109
data/app/models/actor.rb
CHANGED
@@ -28,24 +28,33 @@ class Actor < ActiveRecord::Base
|
|
28
28
|
:validate => true,
|
29
29
|
:autosave => true
|
30
30
|
|
31
|
-
has_many :
|
32
|
-
:class_name
|
31
|
+
has_many :sent_contacts,
|
32
|
+
:class_name => 'Contact',
|
33
33
|
:foreign_key => 'sender_id',
|
34
|
-
:dependent
|
34
|
+
:dependent => :destroy
|
35
|
+
|
36
|
+
has_many :received_contacts,
|
37
|
+
:class_name => 'Contact',
|
38
|
+
:foreign_key => 'receiver_id',
|
39
|
+
:dependent => :destroy
|
40
|
+
|
41
|
+
has_many :sent_ties,
|
42
|
+
:through => :sent_contacts,
|
43
|
+
:source => :ties
|
35
44
|
|
36
45
|
has_many :received_ties,
|
37
|
-
:
|
38
|
-
:
|
39
|
-
:dependent => :destroy
|
46
|
+
:through => :received_contacts,
|
47
|
+
:source => :ties
|
40
48
|
|
41
49
|
has_many :senders,
|
42
|
-
:through => :
|
50
|
+
:through => :received_contacts,
|
43
51
|
:uniq => true
|
44
52
|
|
45
53
|
has_many :receivers,
|
46
|
-
:through => :
|
54
|
+
:through => :sent_contacts,
|
47
55
|
:uniq => true
|
48
56
|
|
57
|
+
has_many :relations
|
49
58
|
has_many :spheres
|
50
59
|
|
51
60
|
has_many :relation_customs,
|
@@ -75,13 +84,20 @@ class Actor < ActiveRecord::Base
|
|
75
84
|
scope :distinct_initials, select('DISTINCT SUBSTR(actors.name,1,1) as initial').order("initial ASC")
|
76
85
|
|
77
86
|
scope :contacted_to, lambda { |a|
|
78
|
-
joins(:
|
87
|
+
joins(:sent_contacts).merge(Contact.active.received_by(a))
|
79
88
|
}
|
80
89
|
|
81
90
|
scope :contacted_from, lambda { |a|
|
82
|
-
joins(:
|
91
|
+
joins(:received_contacts).merge(Contact.active.sent_by(a))
|
83
92
|
}
|
84
|
-
|
93
|
+
|
94
|
+
scope :followed_by, lambda { |a|
|
95
|
+
select("DISTINCT actors.*").
|
96
|
+
joins(:received_ties => { :relation => :permissions }).
|
97
|
+
merge(Contact.sent_by(a)).
|
98
|
+
merge(Permission.follow)
|
99
|
+
}
|
100
|
+
|
85
101
|
after_create :create_initial_relations
|
86
102
|
|
87
103
|
after_create :save_or_create_profile
|
@@ -123,29 +139,12 @@ class Actor < ActiveRecord::Base
|
|
123
139
|
end
|
124
140
|
end
|
125
141
|
|
126
|
-
|
127
|
-
|
128
142
|
# The subject instance for this actor
|
129
143
|
def subject
|
130
144
|
subtype_instance ||
|
131
145
|
activity_object.try(:object)
|
132
146
|
end
|
133
|
-
|
134
|
-
# All the ties sent or received by this actor
|
135
|
-
def ties
|
136
|
-
Tie.sent_or_received_by(self)
|
137
|
-
end
|
138
147
|
|
139
|
-
# The relations that belong to this actor.
|
140
|
-
#
|
141
|
-
# The are both {Relation::Custom} and {Relation::Public} so
|
142
|
-
# we get them from the reciprocal ties
|
143
|
-
def relations
|
144
|
-
Relation.
|
145
|
-
joins(:ties).
|
146
|
-
merge(Tie.sent_by(self).received_by(self))
|
147
|
-
end
|
148
|
-
|
149
148
|
# A given relation defined and managed by this actor
|
150
149
|
def relation_custom(name)
|
151
150
|
relation_customs.find_by_name(name)
|
@@ -187,7 +186,7 @@ class Actor < ActiveRecord::Base
|
|
187
186
|
end
|
188
187
|
|
189
188
|
if options[:relations].present?
|
190
|
-
as = as.merge(Tie.related_by(options[:relations]))
|
189
|
+
as = as.joins(:ties).merge(Tie.related_by(options[:relations]))
|
191
190
|
end
|
192
191
|
|
193
192
|
as
|
@@ -199,7 +198,7 @@ class Actor < ActiveRecord::Base
|
|
199
198
|
# options before the mapping to subjects
|
200
199
|
#
|
201
200
|
# See #contact_actors for options
|
202
|
-
def
|
201
|
+
def contact_subjects(options = {})
|
203
202
|
as = contact_actors(options)
|
204
203
|
|
205
204
|
if block_given?
|
@@ -208,6 +207,11 @@ class Actor < ActiveRecord::Base
|
|
208
207
|
|
209
208
|
as.map(&:subject)
|
210
209
|
end
|
210
|
+
|
211
|
+
# Return a contact to subject. Create it if it does not exist
|
212
|
+
def contact_to!(subject)
|
213
|
+
Contact.find_or_create_by_sender_id_and_receiver_id id, Actor.normalize_id(subject)
|
214
|
+
end
|
211
215
|
|
212
216
|
# This is an scaffold for a recomendations engine
|
213
217
|
#
|
@@ -227,16 +231,16 @@ class Actor < ActiveRecord::Base
|
|
227
231
|
# @return [Contact]
|
228
232
|
def suggestion(options = {})
|
229
233
|
candidates_types =
|
230
|
-
|
231
|
-
|
232
|
-
|
234
|
+
( options[:type].present? ?
|
235
|
+
Array(options[:type]) :
|
236
|
+
self.class.subtypes )
|
233
237
|
|
234
238
|
candidates_classes = candidates_types.map{ |t| t.to_s.classify.constantize }
|
235
239
|
|
236
240
|
# Candidates are all the instance of "type" minus all the subjects
|
237
241
|
# that are receiving any tie from this actor
|
238
242
|
candidates = candidates_classes.inject([]) do |cs, klass|
|
239
|
-
cs += klass.all -
|
243
|
+
cs += klass.all - contact_subjects(:type => klass.to_s.underscore, :direction => :sent)
|
240
244
|
cs -= Array(subject) if subject.is_a?(klass)
|
241
245
|
cs
|
242
246
|
end
|
@@ -245,98 +249,124 @@ class Actor < ActiveRecord::Base
|
|
245
249
|
|
246
250
|
return nil unless candidate.present?
|
247
251
|
|
248
|
-
Contact.new self, candidate.actor
|
252
|
+
Contact.new :sender => self, :receiver => candidate.actor
|
249
253
|
end
|
250
254
|
|
251
|
-
# Set of ties sent by this actor received by
|
252
|
-
def ties_to(
|
253
|
-
sent_ties.received_by(
|
255
|
+
# Set of ties sent by this actor received by subject
|
256
|
+
def ties_to(subject)
|
257
|
+
sent_ties.merge(Contact.received_by(subject))
|
254
258
|
end
|
255
259
|
|
256
|
-
|
257
|
-
|
258
|
-
ties_to(a).present? ?
|
259
|
-
ties_to(a) :
|
260
|
-
Array(sent_ties.create!(:receiver => a,
|
261
|
-
:relation => relation_public))
|
260
|
+
def ties_to?(subject)
|
261
|
+
ties_to(subject).present?
|
262
262
|
end
|
263
|
-
|
263
|
+
|
264
|
+
|
264
265
|
def ties_to?(a)
|
265
266
|
ties_to(a).present?
|
266
267
|
end
|
267
268
|
|
268
|
-
# The sent {Tie ties} by this {Actor} that grant subject the permission to perform action on object
|
269
|
-
def allow(subject, action, object = nil)
|
270
|
-
return [] if subject.blank?
|
271
|
-
|
272
|
-
sent_ties.allowing(subject, action, object)
|
273
|
-
end
|
274
|
-
|
275
|
-
# Does this {Actor} have any {Tie} to subject that grants her the permission of performing action on object
|
276
|
-
def allow?(subject, action, object = nil)
|
277
|
-
allow(subject, action, object).any?
|
278
|
-
end
|
279
|
-
|
280
269
|
# Can this actor be represented by subject. Does she has permissions for it?
|
281
270
|
def represented_by?(subject)
|
282
271
|
return false if subject.blank?
|
283
272
|
|
284
273
|
self.class.normalize(subject) == self ||
|
285
|
-
|
274
|
+
sent_ties.
|
275
|
+
merge(Contact.received_by(subject)).
|
276
|
+
joins(:relation => :permissions).
|
277
|
+
merge(Permission.represent).
|
278
|
+
any?
|
286
279
|
end
|
287
280
|
|
288
|
-
# The
|
289
|
-
def
|
290
|
-
|
281
|
+
# The relations that allow attaching an activity to them. This method is used for caching
|
282
|
+
def active_relations
|
283
|
+
@active_relations ||= { :sender => {}, :receiver => {} }
|
291
284
|
end
|
292
285
|
|
293
|
-
#
|
294
|
-
|
295
|
-
|
286
|
+
# An {Activity} can be shared with multiple {audicences Audience}, which corresponds to a {Relation}.
|
287
|
+
#
|
288
|
+
# This method returns all the {relations Relation} that this actor can use to broadcast an Activity
|
289
|
+
#
|
290
|
+
# Options:
|
291
|
+
# from:: limit the relations to one side, from the :sender or the :receiver of the activity
|
292
|
+
#
|
293
|
+
def activity_relations(subject, options = {})
|
294
|
+
return relations if Actor.normalize(subject) == self
|
295
|
+
|
296
|
+
case options[:from]
|
297
|
+
when :sender
|
298
|
+
sender_activity_relations(subject)
|
299
|
+
when :receiver
|
300
|
+
receiver_activity_relations(subject)
|
301
|
+
else
|
302
|
+
sender_activity_relations(subject) +
|
303
|
+
receiver_activity_relations(subject)
|
304
|
+
end
|
296
305
|
end
|
297
306
|
|
298
|
-
#
|
299
|
-
def
|
300
|
-
|
307
|
+
# Are there any activity_relations present?
|
308
|
+
def activity_relations?(*args)
|
309
|
+
activity_relations(*args).any?
|
301
310
|
end
|
302
311
|
|
303
|
-
#
|
304
|
-
def
|
305
|
-
|
306
|
-
|
307
|
-
:relation_id => relation_public.id,
|
308
|
-
:intended => false)
|
312
|
+
# Relations from this actor that can be read by subject
|
313
|
+
def sender_activity_relations(subject)
|
314
|
+
active_relations[:sender][subject] ||=
|
315
|
+
Relation.allow(subject, 'read', 'activity', :owner => self)
|
309
316
|
end
|
310
317
|
|
311
|
-
|
312
|
-
|
313
|
-
|
318
|
+
def receiver_activity_relations(subject)
|
319
|
+
active_relations[:receiver][subject] ||=
|
320
|
+
Relation.allow(self, 'create', 'activity', :owner => subject)
|
314
321
|
end
|
315
322
|
|
316
|
-
#
|
317
|
-
def
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
323
|
+
# Builds a hash of options their spheres as keys
|
324
|
+
def grouped_activity_relations(subject)
|
325
|
+
rels = activity_relations(subject)
|
326
|
+
|
327
|
+
spheres =
|
328
|
+
rels.map{ |r| r.respond_to?(:sphere) ? r.sphere : I18n.t('relation_public.name') }.uniq
|
329
|
+
|
330
|
+
spheres.sort!{ |x, y|
|
331
|
+
case x
|
332
|
+
when Sphere
|
333
|
+
case y
|
334
|
+
when Sphere
|
335
|
+
x.id <=> y.id
|
336
|
+
else
|
337
|
+
-1
|
338
|
+
end
|
339
|
+
else
|
340
|
+
1
|
341
|
+
end
|
342
|
+
}
|
343
|
+
|
344
|
+
spheres.map{ |s|
|
345
|
+
case s
|
346
|
+
when Sphere
|
347
|
+
[ s.name, rels.select{ |r| r.respond_to?(:sphere) && r.sphere == s }.sort.map{ |u| [ u.name, u.id ] } ]
|
348
|
+
else
|
349
|
+
[ s, rels.select{ |r| r.is_a?(Relation::Public) }.map{ |u| [ u.name, u.id ] } ]
|
350
|
+
end
|
351
|
+
}
|
322
352
|
end
|
323
353
|
|
324
|
-
# Is
|
325
|
-
def
|
326
|
-
|
354
|
+
# Is this {Actor} allowed to create a comment on activity?
|
355
|
+
def can_comment?(activity)
|
356
|
+
comment_relations(activity).any?
|
327
357
|
end
|
328
358
|
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
:receiver_id => i }
|
359
|
+
# Are there any relations that allow this actor to create a comment on activity?
|
360
|
+
def comment_relations(activity)
|
361
|
+
activity.relations.select{ |r| r.is_a?(Relation::Public) } |
|
362
|
+
Relation.allow(self, 'create', 'activity', :in => activity.relations)
|
334
363
|
end
|
335
364
|
|
336
|
-
# Build a new {Contact} from each
|
365
|
+
# Build a new {Contact} from each that has not inverse
|
337
366
|
def pending_contacts
|
338
|
-
|
339
|
-
|
367
|
+
received_contacts.pending.all.map do |c|
|
368
|
+
c.inverse ||
|
369
|
+
c.receiver.contact_to!(c.sender)
|
340
370
|
end
|
341
371
|
end
|
342
372
|
|
@@ -354,21 +384,39 @@ class Actor < ActiveRecord::Base
|
|
354
384
|
# the wall for members of the group.
|
355
385
|
#
|
356
386
|
def wall(type, options = {})
|
357
|
-
|
387
|
+
args = {}
|
358
388
|
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
389
|
+
args[:type] = type
|
390
|
+
args[:owner] = self
|
391
|
+
# Preserve this options
|
392
|
+
[ :for, :object_type ].each do |opt|
|
393
|
+
args[opt] = options[opt]
|
363
394
|
end
|
364
395
|
|
365
|
-
if
|
366
|
-
|
396
|
+
if type == :home
|
397
|
+
args[:followed] = Actor.followed_by(self).map(&:id)
|
367
398
|
end
|
368
399
|
|
369
|
-
|
400
|
+
# TODO: this is not scalling for sure. We must use a fact table in the future
|
401
|
+
args[:relation_ids] =
|
402
|
+
case type
|
403
|
+
when :home
|
404
|
+
# The relations from followings that can be read
|
405
|
+
Relation.allow(self, 'read', 'activity').map(&:id)
|
406
|
+
when :profile
|
407
|
+
# FIXME: options[:relation]
|
408
|
+
#
|
409
|
+
# The relations that can be read by options[:for]
|
410
|
+
options[:for].present? ?
|
411
|
+
Relation.allow(options[:for], 'read', 'activity').map(&:id) :
|
412
|
+
[]
|
413
|
+
else
|
414
|
+
raise "Unknown type of wall: #{ type }"
|
415
|
+
end
|
416
|
+
|
417
|
+
Activity.wall args
|
370
418
|
end
|
371
|
-
|
419
|
+
|
372
420
|
def logo
|
373
421
|
avatar!.logo
|
374
422
|
end
|
@@ -384,7 +432,7 @@ class Actor < ActiveRecord::Base
|
|
384
432
|
end
|
385
433
|
|
386
434
|
def liked_by(subject) #:nodoc:
|
387
|
-
likes.joins(:
|
435
|
+
likes.joins(:contact).merge(Contact.sent_by(subject))
|
388
436
|
end
|
389
437
|
|
390
438
|
# Does subject like this {Actor}?
|
@@ -395,7 +443,7 @@ class Actor < ActiveRecord::Base
|
|
395
443
|
# Build a new activity where subject like this
|
396
444
|
def new_like(subject)
|
397
445
|
a = Activity.new :verb => "like",
|
398
|
-
:
|
446
|
+
:contact => subject.contact_to!(self)
|
399
447
|
|
400
448
|
a.activity_objects << activity_object
|
401
449
|
|
@@ -405,8 +453,12 @@ class Actor < ActiveRecord::Base
|
|
405
453
|
#Returning whether an email should be sent for this object (Message or Notification).
|
406
454
|
#Required by Mailboxer gem.
|
407
455
|
def should_email?(object)
|
408
|
-
|
409
|
-
|
456
|
+
return notify_by_email
|
457
|
+
end
|
458
|
+
|
459
|
+
# Use slug as parameter
|
460
|
+
def to_param
|
461
|
+
slug
|
410
462
|
end
|
411
463
|
|
412
464
|
private
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# Every {Activity} is shared with one or more {audiences Audience}.
|
2
|
+
#
|
3
|
+
# Each {Audience} is equivalent to a {Relation}, which defines the {actors Actor}
|
4
|
+
# that are assigned to that relation and the {permissions Permission} granted to
|
5
|
+
# that {Audience}
|
6
|
+
class Audience < ActiveRecord::Base
|
7
|
+
belongs_to :activity
|
8
|
+
belongs_to :relation
|
9
|
+
end
|
data/app/models/contact.rb
CHANGED
@@ -1,121 +1,143 @@
|
|
1
|
-
#
|
2
|
-
#
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
1
|
+
# The link between two {Actor actors}
|
2
|
+
#
|
3
|
+
# Each {Contact} has many {Tie ties}, which determine the kind of the link through {Relation relations}
|
4
|
+
#
|
5
|
+
# = {Contact Contacts} and {Activity activities}
|
6
|
+
# Each {Activity} is attached to a {Contact}. When _Alice_ post in _Bob_'s wall,
|
7
|
+
# the {Activity} is attached to the {Contact} from _Alice_ to _Bob_
|
8
|
+
#
|
9
|
+
# * The sender of the {Contact} is the author of the {Activity}.
|
10
|
+
# It is the user that uploads a resource to the website or the social entity that
|
11
|
+
# originates the {Activity} (for example: add as contact).
|
12
|
+
#
|
13
|
+
# * The receiver {Actor} of the {Contact} is the receiver of the {Activity}.
|
14
|
+
# The {Activity} will appear in the wall of the receiver, depending on the permissions
|
15
|
+
#
|
16
|
+
class Contact < ActiveRecord::Base
|
17
|
+
# Send a message when this contact is created or updated
|
18
|
+
attr_accessor :message
|
19
|
+
|
20
|
+
belongs_to :inverse,
|
21
|
+
:class_name => "Contact"
|
22
|
+
|
23
|
+
belongs_to :sender,
|
24
|
+
:class_name => "Actor",
|
25
|
+
:include => SocialStream.subjects
|
26
|
+
belongs_to :receiver,
|
27
|
+
:class_name => "Actor",
|
28
|
+
:include => SocialStream.subjects
|
29
|
+
|
30
|
+
has_many :ties
|
31
|
+
has_many :relations, :through => :ties
|
32
|
+
|
33
|
+
scope :sent_by, lambda { |a|
|
34
|
+
where(:sender_id => Actor.normalize_id(a))
|
35
|
+
}
|
36
|
+
|
37
|
+
scope :received_by, lambda { |a|
|
38
|
+
where(:receiver_id => Actor.normalize_id(a))
|
39
|
+
}
|
40
|
+
|
41
|
+
scope :sent_or_received_by, lambda { |a|
|
42
|
+
where(arel_table[:sender_id].eq(Actor.normalize_id(a)).
|
43
|
+
or(arel_table[:receiver_id].eq(Actor.normalize_id(a))))
|
44
|
+
}
|
45
|
+
|
46
|
+
scope :recent, order("contacts.created_at DESC")
|
47
|
+
|
48
|
+
scope :pending, joins("LEFT JOIN contacts AS inverse_contacts ON inverse_contacts.id = contacts.inverse_id").
|
49
|
+
where(arel_table[:inverse_id].eq(nil).or(arel_table.alias("inverse_contacts")[:ties_count].eq(0)))
|
50
|
+
|
51
|
+
scope :active, where(arel_table[:ties_count].gt(0))
|
52
|
+
|
53
|
+
validates_presence_of :sender_id, :receiver_id
|
54
|
+
|
55
|
+
after_create :set_inverse
|
56
|
+
after_create :send_message
|
14
57
|
|
15
58
|
def sender_subject
|
16
|
-
sender.subject
|
59
|
+
sender.try(:subject)
|
17
60
|
end
|
18
61
|
|
19
62
|
def receiver_subject
|
20
|
-
receiver.subject
|
63
|
+
receiver.try(:subject)
|
21
64
|
end
|
22
65
|
|
23
|
-
|
24
|
-
|
25
|
-
|
66
|
+
# Does this {Contact} have the same sender and receiver?
|
67
|
+
def reflexive?
|
68
|
+
sender_id == receiver_id
|
26
69
|
end
|
27
70
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
ids.delete("gotcha")
|
33
|
-
|
34
|
-
@relation_ids =
|
35
|
-
ids.map{ |i|
|
36
|
-
# We must check that sender has those relation
|
37
|
-
sender.relations.find(i).id
|
38
|
-
}
|
39
|
-
end
|
40
|
-
|
41
|
-
def id
|
42
|
-
receiver.id
|
71
|
+
# Find or create the inverse {Contact}
|
72
|
+
def inverse!
|
73
|
+
inverse ||
|
74
|
+
receiver.contact_to!(sender)
|
43
75
|
end
|
44
76
|
|
45
|
-
|
46
|
-
|
77
|
+
# Is not the inverse of this {Contact}
|
78
|
+
def pending?
|
79
|
+
inverse &&
|
80
|
+
inverse.ties_count > 0
|
47
81
|
end
|
48
82
|
|
49
|
-
|
50
|
-
|
83
|
+
# The {ActivityVerb} corresponding to this {Contact}, depending on if
|
84
|
+
# it is pending or already replied
|
85
|
+
def verb
|
86
|
+
pending? ? "follow" : "make-friend"
|
51
87
|
end
|
52
88
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
save
|
89
|
+
# has_many collection=objects method does not trigger destroy callbacks,
|
90
|
+
# so follower_count will not be updated
|
91
|
+
#
|
92
|
+
# We need to update that status here
|
93
|
+
def relation_ids=(ids)
|
94
|
+
remove_follower(ids)
|
61
95
|
|
62
|
-
|
63
|
-
true
|
96
|
+
association(:relations).ids_writer(ids)
|
64
97
|
end
|
65
98
|
|
66
|
-
|
67
|
-
@previous = sender.ties_to(receiver).all
|
68
|
-
|
69
|
-
@continued = @previous.select{ |t| relation_ids.include?(t.relation_id) }
|
70
|
-
|
71
|
-
Tie.transaction do
|
72
|
-
# Change previous ties to not intended
|
73
|
-
# Do not destroy them, because there can be activities attached to them
|
74
|
-
(@previous - @continued).each do |t|
|
75
|
-
t.update_attribute :intended, false
|
76
|
-
end
|
77
|
-
|
78
|
-
# Activate tie or create it
|
79
|
-
new_relation_ids = relation_ids - @continued.map(&:relation_id)
|
99
|
+
private
|
80
100
|
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
ties_to(receiver).
|
85
|
-
related_by(new_relation_ids)
|
101
|
+
def remove_follower(ids)
|
102
|
+
# There was no follower
|
103
|
+
return if relation_ids.blank?
|
86
104
|
|
87
|
-
|
88
|
-
|
89
|
-
@new = (new_relation_ids - @reactivated.map(&:relation_id)).map do |i|
|
90
|
-
sender.sent_ties.create! :receiver_id => receiver.id,
|
91
|
-
:relation_id => i
|
92
|
-
end
|
105
|
+
ids = ids.map(&:to_i)
|
93
106
|
|
94
|
-
|
95
|
-
send_message
|
96
|
-
end
|
97
|
-
end
|
107
|
+
return if ids.sort == relation_ids.sort
|
98
108
|
|
99
|
-
|
109
|
+
following = Relation.
|
110
|
+
where(:id => relation_ids).
|
111
|
+
joins(:permissions).
|
112
|
+
merge(Permission.follow).
|
113
|
+
any?
|
100
114
|
|
101
|
-
|
102
|
-
|
103
|
-
|
115
|
+
if following
|
116
|
+
will_follow = Relation.
|
117
|
+
where(:id => ids).
|
118
|
+
joins(:permissions).
|
119
|
+
merge(Permission.follow).
|
120
|
+
any?
|
104
121
|
|
105
|
-
|
106
|
-
|
107
|
-
|
122
|
+
if !will_follow
|
123
|
+
receiver.decrement!(:follower_count)
|
124
|
+
end
|
108
125
|
end
|
109
126
|
end
|
110
|
-
|
111
|
-
def verb
|
112
|
-
@new.first.replied? ? "make-friend" : "follow"
|
113
|
-
end
|
114
|
-
|
127
|
+
|
115
128
|
# Send a message to the contact receiver
|
116
129
|
def send_message
|
117
130
|
if message.present?
|
118
131
|
sender.send_message(receiver, message, I18n.t("activity.verb.#{ contact_verb }.#{ receiver.subject_type }.message", :name => sender.name))
|
119
132
|
end
|
120
133
|
end
|
134
|
+
|
135
|
+
def set_inverse
|
136
|
+
inverse = Contact.sent_by(receiver_id).received_by(sender_id).first
|
137
|
+
|
138
|
+
return if inverse.blank?
|
139
|
+
|
140
|
+
update_attribute :inverse_id, inverse.id
|
141
|
+
inverse.update_attribute :inverse_id, id
|
142
|
+
end
|
121
143
|
end
|