class Admin::HonorsController < OrbitMemberController layout "member_plugin" before_action :set_plugin before_action :get_settings,:only => [:new, :edit, :setting] def index @honors = Honor.all end def new @member = MemberProfile.find_by(:uid=>params['uid']) rescue nil @honor = Honor.new end def create @member = MemberProfile.find(honor_params['member_profile_id']) rescue nil @honor = Honor.new(honor_params) @honor.save redirect_to '/admin/members/'+@member.to_param+'/Honor' end def edit @member = MemberProfile.find_by(:uid=>params['uid']) rescue nil @honor = Honor.find(params[:id]) end def update @member = MemberProfile.find(honor_params['member_profile_id']) rescue nil @honor = Honor.find(params[:id]) @honor.update_attributes(honor_params) @honor.save redirect_to '/admin/members/'+@member.to_param+'/Honor' end def destroy @honor = Honor.find(params[:id]) @honor.destroy end def toggle_hide if params[:ids] @honors = Honor.any_in(_id: params[:ids]) @honors.each do |honor| honor.is_hidden = params[:disable] honor.save end end render json: {"success"=>true} end def setting end def frontend_setting @member = MemberProfile.find_by(:uid=>params['uid']) rescue nil @intro = HonorIntro.find_by(:member_profile_id=>@member.id) rescue nil @intro = @intro.nil? ? HonorIntro.new({:member_profile_id=>@member.id}) : @intro end def update_frontend_setting @member = MemberProfile.find(intro_params['member_profile_id']) rescue nil @intro = HonorIntro.find_by(:member_profile_id=>@member.id) rescue nil @intro = @intro.nil? ? HonorIntro.new({:member_profile_id=>@member.id}) : @intro @intro.update_attributes(intro_params) @intro.save redirect_to '/admin/members/'+@member.to_param+'/Honor' end def get_settings @honor_types = HonorType.all end def set_plugin @plugin = OrbitApp::Plugin::Registration.all.select{|plugin| plugin.app_name.eql? 'Honor'}.first end private def honor_params params.require(:honor).permit! rescue nil end def intro_params params.require(:honor_intro).permit! rescue nil end end