Application_Form/app/controllers/admin/application_form_signups_co...

106 lines
3.9 KiB
Ruby
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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