venue_management/app/controllers/admin/venue_management_memorabili...

84 lines
3.0 KiB
Ruby

class Admin::VenueManagementMemorabiliasController < Admin::VenueAdminController
include Admin::VenueManagementsHelper
before_action ->(module_app = @app_title) { set_variables module_app }
before_action :set_venue_management_memorabilia, only: [:edit, :update, :destroy]
def initialize
super
@app_title = 'venue_management'
end
def index
@table_fields = [
'venue_management.title',
'vm_memorabilia.case_no',
'vm_memorabilia.event_date',
'vm_memorabilia.details',
]
filter_memorabilia
@memorabilias = @memorabilias.order(updated_at: :desc).page(params[:page]).per(10)
@venue_management_page_url = Page.where(:module =>"venue_management").last.url rescue ""
if request.xhr?
render :partial => 'index'
end
end
def filter_memorabilia
@memorabilias = VenueManagementMemorabilia.all
@filter_fields = {}
if params[:keywords].present?
@main_ids = @memorabilias.pluck(:venue_management_main_id)
@invintings = VenueManagementInviting.where(:id.in => VenueManagementMemorabilia.all.pluck(:venue_management_inviting_id))
@venue_managements = VenueManagementMain.where(:id.in=>@main_ids)
@main_ids = search_data(@venue_managements,[:title]).pluck(:id)
ids2 = []
if params[:keywords] == I18n.t(:empty)
@invintings = @invintings.where(:case_no=>"")
ids2 = VenueManagementMemorabilia.where(:venue_management_inviting_id =>nil ).pluck(:id)
else
@invintings = search_data(@invintings,[:case_no])
end
ids = VenueManagementMemorabilia.where(:venue_management_inviting_id.in=>@invintings.pluck(:id)).pluck(:id)
ids1 = VenueManagementMemorabilia.where(:venue_management_main_id.in=>@main_ids).pluck(:id)
@memorabilias = VenueManagementMemorabilia.where(:id.in=>(ids + ids1 + ids2))
end
end
def new
@venue_management = VenueManagementMain.find(params[:id])
@venue_management_memorabilia = VenueManagementMemorabilia.new(venue_management_main_id: params[:id])
end
def create
@venue_management_memorabilia = VenueManagementMemorabilia.new(venue_management_memorabilia_params)
@venue_management_memorabilia.save
redirect_to params['referer_url']
end
def edit
@venue_management = VenueManagementMain.find(@venue_management_memorabilia.venue_management_main_id)
end
def update
@venue_management_memorabilia.update_attributes(venue_management_memorabilia_params)
redirect_to venue_management_memorabilias_admin_venue_management_path(@venue_management_memorabilia.venue_management_main_id)
end
def destroy
@venue_management_main_id = @venue_management_memorabilia.venue_management_main_id
@venue_management_memorabilia.destroy
redirect_to venue_management_memorabilias_admin_venue_management_path(@venue_management_main_id)
end
private
def set_venue_management_memorabilia
@venue_management_memorabilia = VenueManagementMemorabilia.find(params[:id])
end
def venue_management_memorabilia_params
params.require(:venue_management_memorabilia).permit!
end
end