mirror of
https://github.com/openSUSE/osem.git
synced 2026-05-08 15:44:07 -04:00
48 lines
1.6 KiB
Ruby
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
|