106 lines
3.9 KiB
Ruby
106 lines
3.9 KiB
Ruby
# encoding: utf-8
|
||
class Admin::ApplicationFormSignupsController < OrbitAdminController
|
||
include Admin::ApplicationFormsHelper
|
||
before_action ->(module_app = @app_title) { set_variables module_app }
|
||
before_action :check_manager_for_application_form
|
||
def initialize
|
||
super
|
||
@app_title = "application_form"
|
||
end
|
||
def check_manager_for_application_form
|
||
OrbitHelper.set_params(params,current_user)
|
||
access_level = OrbitHelper.user_access_level?
|
||
if (access_level.nil? || access_level == "user")
|
||
@application_form = ApplicationFormSignup.find(params[:id]).application_form_main rescue nil
|
||
if (@application_form.organizer_id != current_user.member_profile_id rescue true)
|
||
render_401
|
||
end
|
||
end
|
||
end
|
||
def edit
|
||
params[:controller] = "admin/application_forms"
|
||
|
||
@application_form_signup = ApplicationFormSignup.find(params[:id])
|
||
@application_form = ApplicationFormMain.find(@application_form_signup.application_form_main_id)
|
||
|
||
@form_index = 0
|
||
|
||
end
|
||
def view
|
||
params[:controller] = "admin/application_forms"
|
||
|
||
@application_form_signup = ApplicationFormSignup.find(params[:id])
|
||
@application_form = ApplicationFormMain.find(@application_form_signup.application_form_main_id)
|
||
|
||
@form_index = 0
|
||
end
|
||
def update
|
||
|
||
@application_form_signup = ApplicationFormSignup.find(params[:id])
|
||
@application_form_signup.update_attributes(application_form_signup_params)
|
||
|
||
# if !params[:application_form_signup_values].nil?
|
||
# params[:application_form_signup_values].each_with_index do |r,i|
|
||
# field_value = r.last[:id].present?
|
||
# @custom_field_value = ApplicationFormSignupValue.put_field_values(@application_form_signup, r.last, r.last[:id], field_value)
|
||
# end
|
||
# application_form_reviews = ApplicationFormReview.where(:application_form_main_id=>@application_form_signup.application_form_main_id).to_a
|
||
# application_form_reviews.each{|sr| sr.save}
|
||
# @application_form = @application_form_signup.application_form_main
|
||
# unassigned_application_form_signup_ids = @application_form.application_form_signup_ids.map{|s| s.to_s}
|
||
# @application_form.application_form_reviews.each do |sr|
|
||
# unassigned_application_form_signup_ids = unassigned_application_form_signup_ids - sr.all_application_form_signup_ids
|
||
# end
|
||
# @application_form.unassigned_application_form_signup_ids = unassigned_application_form_signup_ids
|
||
# @application_form.save
|
||
# end
|
||
if @application_form_signup.finish_time
|
||
build_email(@application_form_signup)
|
||
end
|
||
|
||
redirect_to "/admin/application_forms/#{@application_form_signup.application_form_main_id}/application_form_signup"
|
||
|
||
end
|
||
|
||
def build_email(email_er)
|
||
@group_mail = email_er.email
|
||
@mail_sentdate = DateTime.now
|
||
|
||
site = Site.first
|
||
mail_from = site.title_translations[site['default_locale']]
|
||
|
||
Email.create(
|
||
:mail_lang=> site['default_locale'],
|
||
:create_user=>current_user,
|
||
:mail_sentdate=>@mail_sentdate,
|
||
:module_app=>@module_app,
|
||
:mail_to=>@group_mail,
|
||
:mail_subject=>mail_from+" #{t('application_form.reply')}:",
|
||
:template=>'admin/application_forms/email',
|
||
:template_data=>{
|
||
situation_title: I18n.t('application_form.situation'),
|
||
finish_time_title: I18n.t('application_form.finish_time'),
|
||
situation: (ApplicationFormTicketStatus.where(key: email_er.situation).first.title rescue nil),
|
||
finish_time: email_er.finish_time.strftime("%Y/%m/%d"),
|
||
"reply" => email_er.reply
|
||
}
|
||
)
|
||
end
|
||
|
||
def destroy
|
||
@application_form_signup = ApplicationFormSignup.find(params[:id])
|
||
|
||
@application_form_main_id = @application_form_signup.application_form_main_id
|
||
|
||
@application_form_signup.destroy
|
||
|
||
redirect_to "/admin/application_forms/#{@application_form_main_id}/application_form_signup"
|
||
end
|
||
|
||
private
|
||
|
||
def application_form_signup_params
|
||
params.require(:application_form_signup).permit!
|
||
end
|
||
end
|