osem-fcy/app/controllers/admin/audiences_controller.rb
2014-08-12 18:04:55 +02:00

46 lines
1.7 KiB
Ruby

module Admin
class AudiencesController < ApplicationController
before_action :set_conference, only: [:edit, :update]
before_action :set_audience, only: [:edit, :update]
def edit
end
def update
@audience.assign_attributes(audience_params)
notify_on_conf_reg_dates_updates = (@audience.registration_start_date_changed? || @audience.registration_end_date_changed?)\
&& @conference.email_settings.send_on_updated_conference_registration_dates\
&& !@conference.email_settings.updated_conference_registration_dates_subject.blank?\
&& @conference.email_settings.updated_conference_registration_dates_template
if @audience.update(audience_params)
Mailbot.delay.conference_registration_date_update_mail(@conference) if notify_on_conf_reg_dates_updates
redirect_to edit_admin_conference_audience_path(@conference.short_title),
notice: 'Audience was successfully updated.'
else
render :edit
end
end
private
def set_conference
@conference = Conference.find_by(short_title: params[:conference_id])
end
# Use callbacks to share common setup or constraints between actions.
def set_audience
@audience = @conference.audience
end
# Only allow a trusted parameter "white list" through.
def audience_params
# params.require(:audience).permit(:conference_id,
# :registration_start_date,
# :registration_end_date,
# :registration_description)
params[:audience]
end
end
end