app/controllers/membership_controller.rb
require 'soundcloudvalidate'
class MembershipController < ApplicationController
include Soundcloudvalidate
def accept_invitation
membership = Membership.find_by_pending_approval_token params[:token]
if membership and membership.person == current_person
membership.approve
redirect_to "/teams/#{membership.team_slug}"
end
end
def update
with_membership do |membership|
membership.update_attributes params[:membership]
process_sc_embed_code membership, membership.person
redirect_to "/teams/#{membership.team_slug}"
end
end
def approve
with_membership do |membership|
membership.approve if membership.person == current_person
redirect_to "/teams/#{membership.team_slug}"
end
end
def leave
with_membership do |membership|
membership.destroy if membership.person == current_person
redirect_to '/'
end
end
private
def with_membership
if membership = Membership.find(params[:id])
yield membership
else
redirect_to '/'
end
end
end