This repository has been archived on 2020-05-27. You can view files and clone it, but cannot push or open issues/pull-requests.
barleysodas/app/controllers/friends_controller.rb

52 lines
1.3 KiB
Ruby

class FriendsController < ApplicationController
append_before_filter :fetch_people, :only => [ :show, :destroy ]
# GET /friends/1
# GET /friends/1.xml
def show
@content_title = "Friends of #{@people.title}"
@friends = @people.actual_friends
respond_to do |format|
format.html # show.rhtml
format.xml { render :xml => @friends.to_xml }
end
end
# POST /friends
# POST /friends.xml
def create
@friend = Friend.new(params[:friend])
@people = @friend.source
@dest = @friend.destination
respond_to do |format|
if @friend.save
flash[:notice] = 'Successfully added the new friend'
format.html { redirect_to people_path(@dest) }
else
format.html { render :action => "new" }
end
end
end
# DELETE /friends/1
# DELETE /friends/1.xml
def destroy
@friend = Friend.find :first,
:conditions => [ 'source_id = ? AND destination_id = ?',
params[:d].to_i, @people.id ]
@friend.destroy if @friend
respond_to do |format|
flash[:notice] = 'Removed the friend'
format.html { redirect_to people_path(@people) }
end
end
protected
def fetch_people
@people = People.find_by_title(Page.title_from_url(params[:id]))
raise ActiveRecord::RecordNotFound.new if @people.nil?
@page = @people.page
end
end