mirror of
https://github.com/wahyd4/ocelots.git
synced 2026-08-10 05:27:03 +10:00
43 lines
1.0 KiB
Ruby
43 lines
1.0 KiB
Ruby
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 |