# frozen_string_literal: true class Profiles::SourceChangesController < ApplicationController before_action :load_user before_action :load_source_changes skip_authorization_check respond_to :html, :json # GET /profiles/:profile_id/source_changes def index @title = "Source Changes for #{@user.name}" respond_with @source_changes end private def load_user @user = User.find_by!(slug: params[:profile_id]) end def load_source_changes @source_changes = if can? :manage, User SourceChange.where(user: @user).includes(:post) else SourceChange.where("source_changes.user_id = ? AND NOT EXISTS (SELECT * FROM posts WHERE source_changes.post_id = posts.id AND posts.user_id = source_changes.user_id AND posts.anonymous = 't')", @user.id).includes(:post) end.page(params[:page]).per(20) end end