Sha256: 4a88a34cedcf3dce76c0ae8cc6805d1a18739582081c6b38d8f3e6dfaf707cad

Contents?: true

Size: 1.41 KB

Versions: 2

Compression:

Stored size: 1.41 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 activity based on the current_subject. Useful for authorization queries
  def new_activity(receiver)
    return Activity.new unless user_signed_in?

    Activity.new :contact_id => current_subject.contact_to!(receiver).id,
    :relation_ids => current_subject.activity_relations(receiver, :from => :receiver).map(&:id)
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
social_stream-base-0.6.3 app/helpers/activities_helper.rb
social_stream-base-0.6.2 app/helpers/activities_helper.rb