Sha256: beb80c8bdffd06cecdb195fe8bc4ca8e8a22364d7ec21843fa6e207a5dd11f48

Contents?: true

Size: 1.04 KB

Versions: 2

Compression:

Stored size: 1.04 KB

Contents

class MergesController < ArtfullyOseController
  def new
    @loser = Person.find(params[:loser])
    without_winner do
      if is_search(params)
        @people = Person.search_index(params[:search].dup, current_user.current_organization)
      else
        @people = Person.recent(current_user.current_organization)
      end
      @people = @people.paginate(:page => params[:page], :per_page => 20)  
      @people = @people.reject { |person| person.id == @loser.id }  
      render :find_person
    end
  end
  
  def create
    @winner = Person.find(params[:winner])
    @loser = Person.find(params[:loser])
    @result = Person.merge(@winner, @loser)
    flash[:notice] = "#{@loser.first_name} #{@loser.last_name} has been merged into this record"
    redirect_to person_path(:id => @winner.id)
  end

  private    
    def is_search(params)
      params[:commit].present?
    end    
    
    def without_winner
      if params[:winner]
        @winner = Person.find(params[:winner])
        render :new and return
      else
        yield
      end
    end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
artfully_ose-1.0.0.rc4 app/controllers/merges_controller.rb
artfully_ose-1.0.0.rc3 app/controllers/merges_controller.rb