mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-13 19:54:02 +00:00
Fix bug in track list, also send accept/reject mails
This commit is contained in:
parent
f10d5e4c0e
commit
caa0dec6c4
7 changed files with 70 additions and 37 deletions
|
|
@ -17,7 +17,7 @@ class Admin::EventsController < ApplicationController
|
|||
|
||||
def show
|
||||
@event = @conference.events.find(params[:id])
|
||||
@tracks = Track.all
|
||||
@tracks = @conference.tracks
|
||||
@comments = @event.root_comments
|
||||
@comment_count = @event.comment_threads.count
|
||||
end
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ class ConferenceRegistrationController < ApplicationController
|
|||
if update_registration
|
||||
redirect_message = "Registration updated."
|
||||
else
|
||||
Mailbot.registration_mail(request.host_with_port, conference, current_user.person).deliver
|
||||
Mailbot.registration_mail(conference, current_user.person).deliver
|
||||
end
|
||||
redirect_to(register_conference_path(:id => conference.short_title), :notice => redirect_message)
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,36 +1,49 @@
|
|||
class Mailbot < ActionMailer::Base
|
||||
default from: "no-reply@example.com"
|
||||
|
||||
def registration_mail(host, conference, person)
|
||||
mail(:to => person.email,
|
||||
:from => conference.contact_email,
|
||||
:reply_to => conference.contact_email,
|
||||
:subject => conference.email_settings.registration_subject,
|
||||
:body => conference.email_settings.generate_registration_email(host, conference, person))
|
||||
def registration_mail(conference, person)
|
||||
build_email(conference,
|
||||
person.email,
|
||||
conference.email_settings.registration_subject,
|
||||
conference.email_settings.generate_registration_email(conference, person))
|
||||
|
||||
end
|
||||
|
||||
def acceptance_mail(host, conference, person, event)
|
||||
mail(:to => person.email,
|
||||
:from => conference.contact_email,
|
||||
:reply_to => conference.contact_email,
|
||||
:subject => conference.email_settings.accepted_subject,
|
||||
:body => conference.email_settings.generate_accepted_email(host, conference, person, event))
|
||||
def acceptance_mail(event)
|
||||
conference = event.conference
|
||||
person = event.submitter
|
||||
build_email(conference,
|
||||
person.email,
|
||||
conference.email_settings.accepted_subject,
|
||||
conference.email_settings.generate_accepted_email(event))
|
||||
|
||||
end
|
||||
|
||||
def rejection_mail(host, conference, person, event)
|
||||
mail(:to => person.email,
|
||||
:from => conference.contact_email,
|
||||
:reply_to => conference.contact_email,
|
||||
:subject => conference.email_settings.rejected_subject,
|
||||
:body => conference.email_settings.generate_rejected_email(host, conference, person, event))
|
||||
def rejection_mail(event)
|
||||
conference = event.conference
|
||||
person = event.submitter
|
||||
build_email(conference,
|
||||
person.email,
|
||||
conference.email_settings.rejected_subject,
|
||||
conference.email_settings.generate_rejected_email(event))
|
||||
end
|
||||
|
||||
def confirm_reminder_mail(host, conference, person, event)
|
||||
mail(:to => person.email,
|
||||
def confirm_reminder_mail(event)
|
||||
conference = event.conference
|
||||
person = event.submitter
|
||||
|
||||
build_email(conference,
|
||||
person.email,
|
||||
conference.email_settings.confirmed_without_registration_subject,
|
||||
conference.email_settings.confirmed_but_not_registered_email(event))
|
||||
end
|
||||
|
||||
def build_email(conference, to, subject, body)
|
||||
mail(:to => to,
|
||||
:from => conference.contact_email,
|
||||
:reply_to => conference.contact_email,
|
||||
:subject => conference.email_settings.confirmed_without_registration_subject,
|
||||
:body => conference.email_settings.confirmed_but_not_registered_email(host, conference, person, event))
|
||||
:subject => subject,
|
||||
:body => body)
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
|||
|
|
@ -3,13 +3,13 @@ class EmailSettings < ActiveRecord::Base
|
|||
:registration_email_template, :accepted_email_template, :rejected_email_template, :confirmed_email_template,
|
||||
:registration_subject, :accepted_subject, :rejected_subject, :confirmed_without_registration_subject
|
||||
|
||||
def get_values(host, conference, person, event)
|
||||
def get_values(conference, person, event = nil)
|
||||
h = {
|
||||
"email" => person.email,
|
||||
"name" => person.public_name,
|
||||
"conference" => conference.title,
|
||||
"proposalslink" => Rails.application.routes.url_helpers.conference_proposal_index_url(conference.short_title, :host => host),
|
||||
"registrationlink" => Rails.application.routes.url_helpers.register_conference_url(conference.short_title, :host => host)
|
||||
"proposalslink" => Rails.application.routes.url_helpers.conference_proposal_url(conference.short_title, event, :host => OSEM_CONFIG["url_for_emails"]),
|
||||
"registrationlink" => Rails.application.routes.url_helpers.register_conference_url(conference.short_title, :host => OSEM_CONFIG["url_for_emails"])
|
||||
}
|
||||
|
||||
if !event.nil?
|
||||
|
|
@ -18,27 +18,27 @@ class EmailSettings < ActiveRecord::Base
|
|||
h
|
||||
end
|
||||
|
||||
def generate_registration_email(host, conference, person)
|
||||
values = get_values(host, conference, person, nil)
|
||||
def generate_registration_email(conference, person)
|
||||
values = get_values(conference, person)
|
||||
template = self.registration_email_template
|
||||
parse_template(template, values)
|
||||
end
|
||||
|
||||
|
||||
def generate_accepted_email(host, conference, person, event)
|
||||
values = get_values(host, conference, person, event)
|
||||
def generate_accepted_email(event)
|
||||
values = get_values(event.conference, event.submitter, event)
|
||||
template = self.accepted_email_template
|
||||
parse_template(template, values)
|
||||
end
|
||||
|
||||
def generate_rejected_email(host, conference, person, event)
|
||||
values = get_values(host, conference, person, event)
|
||||
def generate_rejected_email(event)
|
||||
values = get_values(event.conference, event.submitter, event)
|
||||
template = self.rejected_email_template
|
||||
parse_template(template, values)
|
||||
end
|
||||
|
||||
def confirmed_but_not_registered_email(host, conference, person, event)
|
||||
values = get_values(host, conference, person, event)
|
||||
def confirmed_but_not_registered_email(event)
|
||||
values = get_values(event.conference, event.submitter, event)
|
||||
template = self.confirmed_email_template
|
||||
parse_template(template, values)
|
||||
end
|
||||
|
|
|
|||
|
|
@ -91,9 +91,15 @@ class Event < ActiveRecord::Base
|
|||
end
|
||||
|
||||
def process_acceptance(options)
|
||||
#if options[:send_mail]
|
||||
#end
|
||||
if options[:send_mail]
|
||||
Mailbot.acceptance_mail(self).deliver
|
||||
end
|
||||
end
|
||||
|
||||
def process_rejection(options)
|
||||
if options[:send_mail]
|
||||
Mailbot.rejection_mail(self).deliver
|
||||
end
|
||||
end
|
||||
|
||||
def public_state
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue