+ if @user.moderator?
+ @issue_types = @moderator_issues
+ @users = User.joins(:roles).where(user_roles: {role: 'moderator'})
+ else
+ @issue_types = @admin_issues
+ @users = User.joins(:roles).where(user_roles: {role: 'administrator'})
+ end
+
+ @issues = Issue.where(issue_type: @user_role).order(sort_column + " " + sort_direction)
+
+ # If search
+ if params[:search_by_user] and !params[:search_by_user].blank?
+ @find_user = User.find_by_display_name(params[:search_by_user])
+ if @find_user
+ @issues = @issues.where(reported_user_id: @find_user.id)
+ else
+ notice = t('issues.index.search.user_not_found')
+ end
+ end
+
+
+ if params[:status] and !params[:status][0].blank?
+ @issues = @issues.where(status: params[:status][0].to_i)
+ end
+
+ if params[:issue_type] and !params[:issue_type][0].blank?
+ @issues = @issues.where(reportable_type: params[:issue_type][0])
+ end
+
+ if @issues.first == nil
+ notice = t('issues.index.search.issues_not_found')
+ end
+
+ if params[:last_reported_by] and !params[:last_reported_by][0].blank?
+ last_reported_by = params[:last_reported_by][0].to_s == "nil" ? nil : params[:last_reported_by][0].to_i
+ @issues = @issues.where(updated_by: last_reported_by)
+ end
+
+ if notice
+ redirect_to issues_path, notice: notice
+ end