module RlogItems::ViewHelpers

Public Instance Methods

changed_field_name(key, model_name) click to toggle source
# File lib/rlog_items/view_helpers.rb, line 119
def changed_field_name key, model_name
  t("activerecord.attributes.#{model_name}.#{key}")
end
rlog_item_object(rlog_item) click to toggle source
# File lib/rlog_items/view_helpers.rb, line 39
def rlog_item_object rlog_item
  model = rlog_item.record_type.camelize.constantize
  id = rlog_item.record_id
  object = model.unscoped.find_by_id id

  return capture_haml do
    haml_tag "div", t("messages.object_not_found")
  end if object.nil?

  if object.hidden
    record_type = t("activerecord.models.#{rlog_item.record_type.underscore}")
    record_id = rlog_item.record_id
    capture_haml do
      haml_tag "div", t("messages.object_with_target_deleted", :target => object)
      haml_tag "div", t("messages.record_type", :record_type => record_type)
      haml_tag "div", t("messages.record_id", :record_id => record_id)
    end
  else
    capture_haml do
      haml_concat link_to object.to_s, url_for(object)
    end
  end
end
rlog_item_user(rlog_item) click to toggle source
# File lib/rlog_items/view_helpers.rb, line 5
def rlog_item_user rlog_item
  if rlog_item.user
    target_type = t("activerecord.models.#{rlog_item.user.target_type.underscore}")
    username = rlog_item.user.target.to_s
    target_info = "#{target_type} #{username}"
    capture_haml do
      haml_tag "div" do
        if rlog_item.user.target_type.downcase == "admin"
          target_url = "rcoi"
        elsif rlog_item.user.target_type.downcase == "rcoi"
          target_url = "rcoi"
        else
          target_url = rlog_item.user.target #TODO SHIT
        end
        haml_concat link_to(target_info, url_for(target_url))
      end
      haml_tag "div", rlog_item.ip if rlog_item.ip && current_user.has_role?("admin")
    end
  elsif rlog_item.user_id
    target_info = "#{t("messages.user_id")}: #{rlog_item.user_id}"
    capture_haml do
      haml_tag "div" do
        haml_tag "span.username", target_info
      end
    end
  else
    capture_haml do
      haml_tag "div" do
        haml_tag "span.username", t("messages.unregistered_user")
      end
    end
  end
end
value_conversion(key, value, object) click to toggle source
# File lib/rlog_items/view_helpers.rb, line 63
def value_conversion key, value, object
  begin
    is_scan = object.record.send(key.to_sym).is_a? ScanUploader
  rescue
    is_scan = false
  end
  begin
    is_date = object.record.send(key.to_sym).is_a? ActiveSupport::TimeWithZone
  rescue
    is_date = false
  end

  if !!value==value
    bool_to_word(value)
  elsif key =~ /^.*(_id|_code)$/
    full_string, model_name, foreign_key = key.match(/(^.*)_(id|code)$/).to_a
    begin
      model = model_name.camelize.constantize
      model.where(foreign_key => value).first.to_s
    rescue
      return value
    end
  elsif is_scan
    unless value.blank?
      capture_haml do
        haml_concat link_to t("messages.download"), value.to_s
      end
    end
  elsif is_date
    l(value, :format => :short)
  elsif key == "hidden" && !value.blank?
    code = value.split(":").first
    if DestroyReason::SYSTEM_CODE.include?(code.to_sym)
      case
        when code == "recursive"
          recoursive, object_id, object_type = value.split(":")
          object_type_name = t("activerecord.models.#{object_type.underscore}")
          target = object_type.constantize.unscoped.find_by_id object_id
          reason = t("messages.deleted_by_recursive", :target => target, :object_id => object_id, :object_type => object_type_name)
        else
          reason = t("messages.deleted_by_#{code}").to_s
      end
    else
      reason = DestroyReason.find_by_code(code).try(:name)
    end
    value = t("messages.removed_due_to", :reason => reason)
    value
  elsif key == "hidden" && value.blank?
    t("messages.record_was_recovered")
  elsif value.nil?
    t("messages.nil_value")
  else
    value
  end
end