Sha256: 3f1f67091e0f1e4cc80f183107abd54cdb4972db818fec0f53e464b8bdef012e

Contents?: true

Size: 1.92 KB

Versions: 64

Compression:

Stored size: 1.92 KB

Contents

module ActivitiesHelper
  # Link to 'like' or 'unlike' depending on the like status of the activity to current_subject
  #
  # @param [Object]
  # @return [String]
  def link_like(object)
    params = link_like_params(object)
    link_to params[0],params[1],params[2]
  end

  def link_like_params(object)
    params = Array.new
    if !user_signed_in?
      params << image_tag("btn/nolike.png", :class => "menu_icon")+t('activity.like')
      params << new_user_session_path
      params << {:class => "verb_like",:id => "like_" + dom_id(object)}
    else
      if (object.liked_by?(current_subject))
        params << image_tag("btn/like.png", :class => "menu_icon")+t('activity.unlike')
        params << [object, :like]
        params << {:class => "verb_like",:id => "like_" + dom_id(object),:method => :delete, :remote => true}
      else
        params << image_tag("btn/nolike.png", :class => "menu_icon")+t('activity.like')
        params << [object, :like]
        params << {:class => "verb_like",:id => "like_" + dom_id(object),:method => :post, :remote => true}
      end
    end
  end

  # Build a new post based on the current_subject. Useful for authorization queries
  def new_post(receiver)
    return Post.new unless user_signed_in?

    Post.new :author_id => Actor.normalize_id(current_subject),
             :owner_id  => Actor.normalize_id(receiver)
  end

  def like_sentence(activity, options = {})
    options[:likers_shown] ||= 2

    # TODO: select likers from current_subject's contacts
    likers =
      activity.likes.first(options[:likers_shown]).
      map{ |a| a.sender_subject }.
      map{ |l| link_to l.name, l }

    likers_count = activity.likes.count
    likers_other = likers_count - options[:likers_shown]

    if likers_other > 0
      likers.push t("activity_action.sentence.more", :count => likers_other)
    end

    t("activity.like_sentence", :likers => likers.to_sentence, :count => likers_count).html_safe
  end
end

Version data entries

64 entries across 64 versions & 2 rubygems

Version Path
social_stream-1.1.12 base/app/helpers/activities_helper.rb
social_stream-base-1.1.11 app/helpers/activities_helper.rb
social_stream-1.1.11 base/app/helpers/activities_helper.rb
social_stream-base-1.1.10 app/helpers/activities_helper.rb
social_stream-1.1.10 base/app/helpers/activities_helper.rb
social_stream-base-1.1.9 app/helpers/activities_helper.rb
social_stream-1.1.9 base/app/helpers/activities_helper.rb
social_stream-base-1.1.8 app/helpers/activities_helper.rb
social_stream-1.1.8 base/app/helpers/activities_helper.rb
social_stream-base-1.1.7 app/helpers/activities_helper.rb
social_stream-1.1.7 base/app/helpers/activities_helper.rb
social_stream-base-1.1.6 app/helpers/activities_helper.rb
social_stream-1.1.6 base/app/helpers/activities_helper.rb
social_stream-base-1.1.5 app/helpers/activities_helper.rb
social_stream-1.1.5 base/app/helpers/activities_helper.rb
social_stream-base-1.1.4 app/helpers/activities_helper.rb
social_stream-1.1.4 base/app/helpers/activities_helper.rb
social_stream-1.1.3 base/app/helpers/activities_helper.rb
social_stream-base-1.1.3 app/helpers/activities_helper.rb
social_stream-1.1.2 base/app/helpers/activities_helper.rb