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
|
def show
|
||||||
@event = @conference.events.find(params[:id])
|
@event = @conference.events.find(params[:id])
|
||||||
@tracks = Track.all
|
@tracks = @conference.tracks
|
||||||
@comments = @event.root_comments
|
@comments = @event.root_comments
|
||||||
@comment_count = @event.comment_threads.count
|
@comment_count = @event.comment_threads.count
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ class ConferenceRegistrationController < ApplicationController
|
||||||
if update_registration
|
if update_registration
|
||||||
redirect_message = "Registration updated."
|
redirect_message = "Registration updated."
|
||||||
else
|
else
|
||||||
Mailbot.registration_mail(request.host_with_port, conference, current_user.person).deliver
|
Mailbot.registration_mail(conference, current_user.person).deliver
|
||||||
end
|
end
|
||||||
redirect_to(register_conference_path(:id => conference.short_title), :notice => redirect_message)
|
redirect_to(register_conference_path(:id => conference.short_title), :notice => redirect_message)
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1,36 +1,49 @@
|
||||||
class Mailbot < ActionMailer::Base
|
class Mailbot < ActionMailer::Base
|
||||||
default from: "no-reply@example.com"
|
default from: "no-reply@example.com"
|
||||||
|
|
||||||
def registration_mail(host, conference, person)
|
def registration_mail(conference, person)
|
||||||
mail(:to => person.email,
|
build_email(conference,
|
||||||
:from => conference.contact_email,
|
person.email,
|
||||||
:reply_to => conference.contact_email,
|
conference.email_settings.registration_subject,
|
||||||
:subject => conference.email_settings.registration_subject,
|
conference.email_settings.generate_registration_email(conference, person))
|
||||||
:body => conference.email_settings.generate_registration_email(host, conference, person))
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def acceptance_mail(host, conference, person, event)
|
def acceptance_mail(event)
|
||||||
mail(:to => person.email,
|
conference = event.conference
|
||||||
:from => conference.contact_email,
|
person = event.submitter
|
||||||
:reply_to => conference.contact_email,
|
build_email(conference,
|
||||||
:subject => conference.email_settings.accepted_subject,
|
person.email,
|
||||||
:body => conference.email_settings.generate_accepted_email(host, conference, person, event))
|
conference.email_settings.accepted_subject,
|
||||||
|
conference.email_settings.generate_accepted_email(event))
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def rejection_mail(host, conference, person, event)
|
def rejection_mail(event)
|
||||||
mail(:to => person.email,
|
conference = event.conference
|
||||||
:from => conference.contact_email,
|
person = event.submitter
|
||||||
:reply_to => conference.contact_email,
|
build_email(conference,
|
||||||
:subject => conference.email_settings.rejected_subject,
|
person.email,
|
||||||
:body => conference.email_settings.generate_rejected_email(host, conference, person, event))
|
conference.email_settings.rejected_subject,
|
||||||
|
conference.email_settings.generate_rejected_email(event))
|
||||||
end
|
end
|
||||||
|
|
||||||
def confirm_reminder_mail(host, conference, person, event)
|
def confirm_reminder_mail(event)
|
||||||
mail(:to => person.email,
|
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,
|
:from => conference.contact_email,
|
||||||
:reply_to => conference.contact_email,
|
:reply_to => conference.contact_email,
|
||||||
:subject => conference.email_settings.confirmed_without_registration_subject,
|
:subject => subject,
|
||||||
:body => conference.email_settings.confirmed_but_not_registered_email(host, conference, person, event))
|
:body => body)
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -3,13 +3,13 @@ class EmailSettings < ActiveRecord::Base
|
||||||
:registration_email_template, :accepted_email_template, :rejected_email_template, :confirmed_email_template,
|
:registration_email_template, :accepted_email_template, :rejected_email_template, :confirmed_email_template,
|
||||||
:registration_subject, :accepted_subject, :rejected_subject, :confirmed_without_registration_subject
|
: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 = {
|
h = {
|
||||||
"email" => person.email,
|
"email" => person.email,
|
||||||
"name" => person.public_name,
|
"name" => person.public_name,
|
||||||
"conference" => conference.title,
|
"conference" => conference.title,
|
||||||
"proposalslink" => Rails.application.routes.url_helpers.conference_proposal_index_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 => host)
|
"registrationlink" => Rails.application.routes.url_helpers.register_conference_url(conference.short_title, :host => OSEM_CONFIG["url_for_emails"])
|
||||||
}
|
}
|
||||||
|
|
||||||
if !event.nil?
|
if !event.nil?
|
||||||
|
|
@ -18,27 +18,27 @@ class EmailSettings < ActiveRecord::Base
|
||||||
h
|
h
|
||||||
end
|
end
|
||||||
|
|
||||||
def generate_registration_email(host, conference, person)
|
def generate_registration_email(conference, person)
|
||||||
values = get_values(host, conference, person, nil)
|
values = get_values(conference, person)
|
||||||
template = self.registration_email_template
|
template = self.registration_email_template
|
||||||
parse_template(template, values)
|
parse_template(template, values)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def generate_accepted_email(host, conference, person, event)
|
def generate_accepted_email(event)
|
||||||
values = get_values(host, conference, person, event)
|
values = get_values(event.conference, event.submitter, event)
|
||||||
template = self.accepted_email_template
|
template = self.accepted_email_template
|
||||||
parse_template(template, values)
|
parse_template(template, values)
|
||||||
end
|
end
|
||||||
|
|
||||||
def generate_rejected_email(host, conference, person, event)
|
def generate_rejected_email(event)
|
||||||
values = get_values(host, conference, person, event)
|
values = get_values(event.conference, event.submitter, event)
|
||||||
template = self.rejected_email_template
|
template = self.rejected_email_template
|
||||||
parse_template(template, values)
|
parse_template(template, values)
|
||||||
end
|
end
|
||||||
|
|
||||||
def confirmed_but_not_registered_email(host, conference, person, event)
|
def confirmed_but_not_registered_email(event)
|
||||||
values = get_values(host, conference, person, event)
|
values = get_values(event.conference, event.submitter, event)
|
||||||
template = self.confirmed_email_template
|
template = self.confirmed_email_template
|
||||||
parse_template(template, values)
|
parse_template(template, values)
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -91,9 +91,15 @@ class Event < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
def process_acceptance(options)
|
def process_acceptance(options)
|
||||||
#if options[:send_mail]
|
if options[:send_mail]
|
||||||
#end
|
Mailbot.acceptance_mail(self).deliver
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def process_rejection(options)
|
||||||
|
if options[:send_mail]
|
||||||
|
Mailbot.rejection_mail(self).deliver
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def public_state
|
def public_state
|
||||||
|
|
|
||||||
13
config/config.yml
Normal file
13
config/config.yml
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
defaults: &defaults
|
||||||
|
# The hostname to be used when building the URL in the emails
|
||||||
|
url_for_emails: localhost:3000
|
||||||
|
|
||||||
|
development:
|
||||||
|
<<: *defaults
|
||||||
|
|
||||||
|
test:
|
||||||
|
<<: *defaults
|
||||||
|
|
||||||
|
production:
|
||||||
|
<<: *defaults
|
||||||
|
|
||||||
1
config/initializers/osem.rb
Normal file
1
config/initializers/osem.rb
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
OSEM_CONFIG = YAML.load_file("#{Rails.root}/config/config.yml")[Rails.env]
|
||||||
Loading…
Add table
Add a link
Reference in a new issue