Files
osem/app/controllers/conference_controller.rb

48 lines
1.6 KiB
Ruby

class ConferenceController < ApplicationController
def show
@conference = Conference.find_by_short_title(params[:id])
redirect_to root_path, notice: "Conference not ready yet!!" unless @conference.make_conference_public?
end
def subscribe
conference = Conference.find_by_short_title(params[:id])
if current_user.subscriptions.where(conference: conference).blank?
subscription = Subscription.new(user_id: current_user.id, conference_id: conference.id)
begin
subscription.save!
flash[:success] = "You have been subscribed to receive Email Notifications from this Conference."
redirect_to root_path
rescue ActiveRecord::RecordInvalid
flash[:error] = subscription.errors.full_messages.to_sentence
redirect_to root_path
end
else
flash[:notice] = "Already Subscribed"
redirect_to root_path
end
end
def unsubscribe
conference = Conference.find_by_short_title(params[:id])
subscription = current_user.subscriptions.where(conference_id: conference.id).first
if subscription.blank?
flash[:notice] = "Already Unsubscribed"
redirect_to root_path
else
begin
subscription.destroy!
flash[:notice] = "You have been unsubscribed and now you won't be receiving any Email Notifications."
redirect_to root_path
rescue ActiveRecord::RecordInvalid
flash[:error] = subscription.errors.full_messages.to_sentence
redirect_to root_path
end
end
end
def gallery_photos
@photos = Conference.find_by_short_title(params[:id]).photos
render "photos", formats: [:js]
end
end