Sha256: 3c98a5cf1fa6b14268d139925718b61e62afc579625b4a27a730311d25584889

Contents?: true

Size: 1.78 KB

Versions: 9

Compression:

Stored size: 1.78 KB

Contents

module Admin::FeedbackHelper
  def comment_class(state)
    return 'label-info' if state.to_s.casecmp('presumed_ham').zero?
    return 'label-warning' if state.to_s.casecmp('presumed_spam').zero?
    return 'label-success' if state.to_s.casecmp('ham').zero?
    'label-danger'
  end

  def show_feedback_actions(item, context = 'listing')
    return unless can? :manage, 'admin/feedback'
    content_tag(:div, class: 'action', style: '') do
      safe_join [
        content_tag(:small, change_status(item, context)),
        button_to_edit_comment(item),
        button_to_delete_comment(item),
        button_to_conversation(item)
      ], ' '
    end
  end

  def button_to_edit_comment(item)
    link_to(content_tag(:span, '', class: 'glyphicon glyphicon-pencil'), { controller: 'admin/feedback', action: 'edit', id: item.id }, { class: 'btn btn-primary btn-xs btn-action' })
  end

  def button_to_delete_comment(item)
    link_to(content_tag(:span, '', class: 'glyphicon glyphicon-trash'), { controller: 'admin/feedback', action: 'destroy', id: item.id }, { class: 'btn btn-danger btn-xs btn-action' })
  end

  def button_to_conversation(item)
    link_to(content_tag(:span, '', class: 'glyphicon glyphicon-share-alt'), { controller: 'admin/feedback', action: 'article', id: item.article_id }, { class: 'btn btn-default btn-xs btn-action' })
  end

  def change_status(item, context = 'listing')
    spammy = item.state.to_s.downcase =~ /spam/
    direction = spammy ? 'up' : 'down'
    button_type = spammy ? 'success' : 'warning'

    link_to(content_tag(:span, '', class: "glyphicon glyphicon-thumbs-#{direction}"),
            { controller: 'admin/feedback', action: 'change_state', id: item.id, context: context },
            { class: "btn btn-#{button_type} btn-xs btn-action", remote: true })
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
publify_core-9.1.0 app/helpers/admin/feedback_helper.rb
publify_core-9.0.1 app/helpers/admin/feedback_helper.rb
publify_core-9.0.0 app/helpers/admin/feedback_helper.rb
publify_core-9.0.0.pre6 app/helpers/admin/feedback_helper.rb
publify_core-9.0.0.pre5 app/helpers/admin/feedback_helper.rb
publify_core-9.0.0.pre4 app/helpers/admin/feedback_helper.rb
publify_core-9.0.0.pre3 app/helpers/admin/feedback_helper.rb
publify_core-9.0.0.pre2 app/helpers/admin/feedback_helper.rb
publify_core-9.0.0.pre1 app/helpers/admin/feedback_helper.rb