forked from spen/seminar
first commit for seminar
This commit is contained in:
commit
52d3581130
121 files changed
+6015
No files matched your search
@@ -0,0 +1,20 @@
|
||||
class Admin::SeminarAgreementsController < OrbitAdminController
|
||||
|
||||
def initialize
|
||||
super
|
||||
@app_title = 'seminar'
|
||||
end
|
||||
|
||||
def index
|
||||
@seminar_agreement = SeminarAgreement.first || SeminarAgreement.create
|
||||
@url = admin_seminar_agreement_path(@seminar_agreement)
|
||||
end
|
||||
|
||||
def update
|
||||
@seminar_agreement = SeminarAgreement.first
|
||||
@seminar_agreement.update_attributes(params.require(:seminar_agreement).permit!)
|
||||
|
||||
redirect_to admin_seminar_agreements_path, notice: t('seminar.save_success')
|
||||
end
|
||||
|
||||
end
|
||||
@@ -0,0 +1,70 @@
|
||||
# encoding: utf-8
|
||||
class Admin::SeminarItemContentsController < OrbitAdminController
|
||||
|
||||
before_action ->(module_app = @app_title) { set_variables module_app }
|
||||
|
||||
def initialize
|
||||
super
|
||||
@app_title = "seminar"
|
||||
end
|
||||
|
||||
def index
|
||||
|
||||
@seminar_item_contents = SeminarItemContent.where(:seminar_main_id => params[:seminar_main_id]).page(params[:page]).per(10)
|
||||
@seminar = SeminarMain.find(params[:seminar_main_id])
|
||||
|
||||
@seminar_items = SeminarItem.where(:_id.nin=> SeminarItemContent.where(:seminar_main_id => params[:seminar_main_id]).collect{|t| t.seminar_item_id} ).collect{|a| [a.title,a.id]}
|
||||
end
|
||||
|
||||
def new
|
||||
|
||||
@contents = SeminarItemContent.where(:seminar_main_id => params[:seminar_main_id]).collect{|t| t.seminar_item_id}
|
||||
@seminar_item_content = SeminarItemContent.new
|
||||
|
||||
@seminar_items = SeminarItem.where(:_id.nin=> @contents).collect{|a| [a.title,a.id]}
|
||||
|
||||
end
|
||||
|
||||
def create
|
||||
|
||||
seminar_item_content = SeminarItemContent.new(seminar_item_content_params)
|
||||
|
||||
seminar_item_content.create_user_id = current_user.id
|
||||
seminar_item_content.update_user_id = current_user.id
|
||||
|
||||
seminar_item_content.save
|
||||
|
||||
redirect_to params['referer_url']+"?seminar_main_id="+seminar_item_content.seminar_main_id
|
||||
|
||||
end
|
||||
|
||||
def edit
|
||||
|
||||
@seminar_item_content = SeminarItemContent.find(params[:id])
|
||||
@seminar = SeminarMain.find(@seminar_item_content.seminar_main_id)
|
||||
|
||||
end
|
||||
|
||||
def update
|
||||
|
||||
@seminar_item_content = SeminarItemContent.find(params[:id])
|
||||
@seminar_item_content.update_attributes(seminar_item_content_params)
|
||||
|
||||
redirect_to "/admin/seminar_item_contents?seminar_main_id="+@seminar_item_content.seminar_main_id
|
||||
|
||||
end
|
||||
|
||||
def destroy
|
||||
@seminar_item_content = SeminarItemContent.find(params[:id])
|
||||
|
||||
@seminar_item_content.destroy
|
||||
|
||||
redirect_to "/admin/seminar_item_contents?seminar_main_id="+@seminar_item_content.seminar_main_id
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def seminar_item_content_params
|
||||
params.require(:seminar_item_content).permit!
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,52 @@
|
||||
class Admin::SeminarItemsController < OrbitAdminController
|
||||
|
||||
def initialize
|
||||
super
|
||||
@app_title = 'seminar'
|
||||
end
|
||||
|
||||
def index
|
||||
@seminar_items = SeminarItem.all
|
||||
@url = admin_seminar_item_path(@seminar_items)
|
||||
end
|
||||
|
||||
def create
|
||||
@seminar_item = SeminarItem.new(seminar_item_params)
|
||||
@seminar_item.save
|
||||
redirect_to request.referer, :status => 303
|
||||
end
|
||||
|
||||
def create_in_form
|
||||
@seminar_item = SeminarItem.new(seminar_item_params)
|
||||
@seminar_item.saveseminar_item
|
||||
render :json => {:id=>@seminar_item.id.to_s, :title=>@seminar_item.title}.to_json ,:layout => false
|
||||
end
|
||||
|
||||
def update
|
||||
@seminar_item = SeminarItem.find(params[:id])
|
||||
@seminar_item.update_attributes(seminar_item_params)
|
||||
redirect_to request.referer, :status => 303
|
||||
end
|
||||
|
||||
def toggle
|
||||
@seminar_item = SeminarItem.find(params[:id])
|
||||
@seminar_item.save!
|
||||
redirect_to request.referer, :status => 303
|
||||
end
|
||||
|
||||
def delete_items
|
||||
items = SeminarItem.find(params[:ids].split(',')) rescue nil
|
||||
if items
|
||||
items.each(&:destroy)
|
||||
end
|
||||
redirect_to request.referer, :status => 303
|
||||
end
|
||||
|
||||
|
||||
private
|
||||
|
||||
def seminar_item_params
|
||||
params.require(:seminar_item).permit!
|
||||
end
|
||||
|
||||
end
|
||||
@@ -0,0 +1,53 @@
|
||||
# encoding: utf-8
|
||||
class Admin::SeminarSignupsController < OrbitAdminController
|
||||
include Admin::SeminarsHelper
|
||||
before_action ->(module_app = @app_title) { set_variables module_app }
|
||||
|
||||
def initialize
|
||||
super
|
||||
@app_title = "seminar"
|
||||
end
|
||||
|
||||
def edit
|
||||
|
||||
params[:controller] = "admin/seminars"
|
||||
|
||||
@seminar_signup = SeminarSignup.find(params[:id])
|
||||
@seminar = SeminarMain.find(@seminar_signup.seminar_main_id)
|
||||
|
||||
@form_index = 0
|
||||
|
||||
end
|
||||
|
||||
def update
|
||||
|
||||
@seminar_signup = SeminarSignup.find(params[:id])
|
||||
@seminar_signup.update_attributes(seminar_signup_params)
|
||||
|
||||
if !params[:seminar_signup_values].nil?
|
||||
params[:seminar_signup_values].each_with_index do |r,i|
|
||||
field_value = r.last[:id].present?
|
||||
@custom_field_value = SeminarSignupValue.put_field_values(@seminar_signup, r.last, r.last[:id], field_value)
|
||||
end
|
||||
end
|
||||
|
||||
redirect_to "/admin/seminars/#{@seminar_signup.seminar_main_id}/seminar_signup"
|
||||
|
||||
end
|
||||
|
||||
def destroy
|
||||
@seminar_signup = SeminarSignup.find(params[:id])
|
||||
|
||||
@seminar_main_id = @seminar_signup.seminar_main_id
|
||||
|
||||
@seminar_signup.destroy
|
||||
|
||||
redirect_to "/admin/seminars/#{@seminar_main_id}/seminar_signup"
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def seminar_signup_params
|
||||
params.require(:seminar_signup).permit!
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,194 @@
|
||||
# encoding: utf-8
|
||||
class Admin::SeminarsController < OrbitAdminController
|
||||
|
||||
require 'axlsx'
|
||||
|
||||
before_action ->(module_app = @app_title) { set_variables module_app }
|
||||
before_action :set_seminar, only: [:edit, :set_write_off, :seminar_signup, :destroy]
|
||||
|
||||
def initialize
|
||||
super
|
||||
@app_title = "seminar"
|
||||
end
|
||||
|
||||
def filter_fields(categories)
|
||||
{
|
||||
:category=>categories.map{|c| {:title=>(c.title.blank? ? " " : c.title), :id=>c.id}}
|
||||
}
|
||||
end
|
||||
|
||||
def index
|
||||
@categories = @module_app.categories.enabled
|
||||
@filter_fields = filter_fields(@categories)
|
||||
@table_fields = [:category, 'seminar.title', 'seminar.event_during', 'seminar.signup_during', 'seminar.signup_count', 'seminar.export']
|
||||
|
||||
if !params[:sort].blank?
|
||||
if params[:sort] == 'event_during'
|
||||
sort = {:seminar_start_date.to_sym=>params[:order]}
|
||||
elsif params[:sort] == 'signup_during'
|
||||
sort = {:signup_start_date.to_sym=>params[:order]}
|
||||
else
|
||||
sort = {params[:sort].to_sym=>params[:order]}
|
||||
end
|
||||
else
|
||||
sort = {:signup_start_date=>"desc"}
|
||||
end
|
||||
|
||||
@seminars = SeminarMain.all.order_by(sort).with_categories(filters("category"))
|
||||
|
||||
@seminars = search_data(@seminars,[:title]).page(params[:page]).per(10)
|
||||
|
||||
if request.xhr?
|
||||
render :partial => "index"
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def export
|
||||
|
||||
@seminar = SeminarMain.find(params[:id])
|
||||
@seminar_signups = SeminarSignup.where(:seminar_main_id => params[:id])
|
||||
|
||||
respond_to do |format|
|
||||
format.xlsx {
|
||||
response.headers['Content-Disposition'] = 'attachment; filename="export.xlsx"'
|
||||
}
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def new
|
||||
|
||||
@seminar = SeminarMain.new
|
||||
|
||||
@seminar_items = SeminarItem.all
|
||||
|
||||
end
|
||||
|
||||
def create
|
||||
|
||||
if !seminar_params['seminar_links_attributes'].nil?
|
||||
seminar_params['seminar_links_attributes'].each do |idx,link|
|
||||
seminar_params['seminar_links_attributes'].delete(idx.to_s) if link['url'].blank?
|
||||
end
|
||||
end
|
||||
|
||||
seminar = SeminarMain.new(seminar_params)
|
||||
|
||||
seminar.create_user_id = current_user.id
|
||||
seminar.update_user_id = current_user.id
|
||||
|
||||
seminar.save
|
||||
|
||||
redirect_to params['referer_url']
|
||||
|
||||
end
|
||||
|
||||
def edit
|
||||
|
||||
@seminar_items = SeminarItem.all
|
||||
|
||||
end
|
||||
|
||||
def update
|
||||
|
||||
|
||||
params[:seminar_main][:registration_status] = (params[:seminar_main][:registration_status] ? params[:seminar_main][:registration_status] : [])
|
||||
|
||||
uid = params[:id].split('-').last
|
||||
@seminar = SeminarMain.find_by(:uid=>uid)
|
||||
|
||||
if params[:seminar_main][:seminar_signup_fields]
|
||||
seminar_params[:seminar_signup_fields].each do |a|
|
||||
@field_name = 'seminar_main'
|
||||
field_status = a.last[:id].present?
|
||||
@attribute_field = SeminarSignupField.add_seminar_signup_field(@seminar, a.last, a.last[:id], field_status)
|
||||
@attribute = @seminar
|
||||
end
|
||||
flash.now[:notice] = "Updated Fields"
|
||||
@seminar.seminar_signup_fields.each{|t| t.destroy if t["to_delete"] == true}
|
||||
|
||||
redirect_to admin_seminars_path
|
||||
|
||||
else
|
||||
|
||||
if !seminar_params['seminar_links_attributes'].nil?
|
||||
seminar_params['seminar_links_attributes'].each do |idx,link|
|
||||
seminar_params['seminar_links_attributes'].delete(idx.to_s) if link['url'].blank?
|
||||
end
|
||||
end
|
||||
|
||||
@seminar.update_user_id = current_user.id
|
||||
|
||||
if @seminar.update_attributes(seminar_params)
|
||||
@seminar.seminar_signup_fields.each{|t| t.destroy if t["to_delete"] == true}
|
||||
redirect_to params['referer_url']
|
||||
else
|
||||
flash.now[:error] = t('update.error.category')
|
||||
render action: :edit
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def set_write_off
|
||||
|
||||
@seminar.donation_write_off_status = true
|
||||
@seminar.save
|
||||
|
||||
redirect_to "/admin/seminars?page=#{params['page']}"
|
||||
|
||||
end
|
||||
|
||||
def destroy
|
||||
|
||||
@seminar.destroy
|
||||
redirect_to "/admin/seminars"
|
||||
|
||||
end
|
||||
|
||||
def seminar_signup_field
|
||||
@field_name = 'seminar_main'
|
||||
@attribute = SeminarMain.find(params[:id])
|
||||
@attribute_type = 'seminar'
|
||||
@class = 'seminars'
|
||||
end
|
||||
|
||||
def seminar_signup
|
||||
|
||||
if !params[:search].blank?
|
||||
@seminar_signups = SeminarSignup.where(:seminar_main_id => @seminar.id, :name=>params[:search]).page(params[:page]).per(10)
|
||||
else
|
||||
@seminar_signups = SeminarSignup.where(:seminar_main_id => @seminar.id).page(params[:page]).per(10)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def edit_seminar_signup
|
||||
@seminar_signup = SeminarSignup.find(params[:id])
|
||||
@seminar = SeminarMain.find(@seminar_signup.seminar_main_id)
|
||||
end
|
||||
|
||||
def delete_seminar_signup
|
||||
|
||||
@seminar_signup = SeminarSignup.find(params[:id])
|
||||
|
||||
@seminar_id = @seminar_signup.seminar_main_id
|
||||
|
||||
@seminar_signup.destroy
|
||||
|
||||
redirect_to "/admin/seminars/@seminar_id.to_s/seminar_signup"
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_seminar
|
||||
@seminar = SeminarMain.find(params[:id])
|
||||
end
|
||||
|
||||
def seminar_params
|
||||
params.require(:seminar_main).permit!
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
Reference in new issue
Block a user