Introduces new audience object

#416
This commit is contained in:
Chrisbr 2014-08-12 17:59:35 +02:00
parent 63d2980fe3
commit 27fc0acbf8
24 changed files with 388 additions and 116 deletions

View file

@ -0,0 +1,46 @@
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

View file

@ -81,14 +81,8 @@ module Admin
&& !@conference.email_settings.updated_conference_dates_subject.blank?\
&& @conference.email_settings.updated_conference_dates_template
notify_on_conf_reg_dates_updates = (@conference.registration_start_date_changed? || @conference.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 @conference.update_attributes(params[:conference])
Mailbot.delay.conference_date_update_mail(@conference) if notify_on_conf_dates_updates
Mailbot.delay.conference_registration_date_update_mail(@conference) if notify_on_conf_reg_dates_updates
redirect_to(edit_admin_conference_path(id: @conference.short_title),
notice: 'Conference was successfully updated.')
else

View file

@ -112,8 +112,8 @@ module Admin
@tickets_time = []
if @conference.registration_start_date && @conference.end_date && @registered > 0 && @supporter_levels
start_date = @conference.registration_start_date
if @conference.audience.registration_start_date && @conference.end_date && @registered > 0 && @supporter_levels
start_date = @conference.audience.registration_start_date
end_date = @conference.end_date
levels = []
@conference.supporter_levels.each do |level|
@ -154,8 +154,8 @@ module Admin
]
# REGISTRATIONS, registered_time
if @conference.registration_start_date && @conference.end_date && @registered > 0
start_date = @conference.registration_start_date
if @conference.audience.registration_start_date && @conference.end_date && @registered > 0
start_date = @conference.audience.registration_start_date
end_date = @conference.end_date
@registered_time = var_time(start_date, end_date, @registrations, 'created_at')
end