module Admin::UsersHelper

  def select_table
    if @current_title
      a = []
    else
      a = [[I18n.t('admin.user.select_title'),0],[I18n.t('admin.user.select_title_null'),"orphans"]]
    end
    a += Title.order('name ASC').all.collect{|t| [t.name, t.id]}
  end

  def by_default_selected
    if params[:title_id]
      params[:title_id]
    elsif params[:orphans] == 'orphans'
      @users = User.where(title_id: nil)
      "orphans"
    else
      0
    end
  end

  def select_roles_mask
    roles = [[t('admin.user.roles'),0]]
    User::ROLES_MASK.each_with_index { |r,i| roles.push([t("roles.#{r}"),2**(i)]) }
    return roles
  end

  def by_default_roles_mask
    params[:role_mask] ? params[:role_mask] : 0
  end

  def select_status
    status = [[t('status'), '']]
    I18n.t('admin.user.status').each {|k,v| status.push([t(v),k])}
    return status
  end

  def by_default_status
    params[:status] ? params[:status] : ''
  end

  def by_default_title
    @current_title
  end

  def by_default_role
    if @user
      @user.login.blank? ? "editor_user" : @user.roles.first
    elsif !session[:pixtech].blank?
      Pixways.get_pixtech_param_value(session[:pixtech],'default_user_role').blank? ? "photographer" : Pixways.get_pixtech_param_value(session[:pixtech],'default_user_role')
    end
  end

  def title_nil(value)
    if value.nil?
      "- "+I18n.t('admin.user.orphans')
    end
  end

  def deactivated_user(user)
    if user.is_deactivated? || user.status != 'active'
      raw "<span class='glyphicon glyphicon-ban-circle colorange' style='float:none' title='#{t('admin.user.deactivated_account')}/ #{t('admin.user.status.inactive')} / #{t('admin.user.status.refused')} / #{t('admin.user.status.pending')}'></span>"
    end
  end

  def title_name(value)
    if value.nil?
      I18n.t('admin.user.orphans')
    else
      Title.find(value).name
    end
  end

end