require_dependency "phcmemberspro/application_controller" module Phcmemberspro class Directory::ListingsController < ApplicationController # Security & Action Filters before_action :require_user before_action :set_paper_trail_whodunnit before_action :set_directory_listing, only: [:show, :edit, :update, :destroy] layout 'layouts/phcmemberspro/directory/directory_all.html.erb' # Directory Listing Index def index @directory_listings = Directory::Listing.where(oganization_id: membership_info.org_id) end # Show Directory Listing def show end # New Directory Listing def new @directory_listing = Directory::Listing.new end # Edit Directory Listing Action def edit end # Create Directory Listing Action def create @directory_listing = Directory::Listing.new(directory_listing_params) @directory_listing.user_id = current_user.id @directory_listing.membership_id = membership_info.id @directory_listing.oganization_id = membership_info.org_id if @directory_listing.save redirect_to @directory_listing, notice: 'Listing was successfully created.' else render :new end end # Update Directory Listing Action def update @directory_listing.user_id = current_user.id @directory_listing.membership_id = membership_info.id @directory_listing.oganization_id = membership_info.org_id if @directory_listing.update(directory_listing_params) redirect_to @directory_listing, notice: 'Listing was successfully updated.' else render :edit end end # Delete Directory Listing def destroy @directory_listing.destroy redirect_to directory_listings_url, notice: 'Listing was successfully destroyed.' end private # Grab User Session Key (For ID) def current_user @_current_user ||= AuthRocket::Session.from_token(session[:ar_token]).try(:user) end # Get Current User from Above and Get Membership Info def membership_info AuthRocket::Membership.all(user_id: current_user.id).first end # Common Callbacks def set_directory_listing @directory_listing = Directory::Listing.find(params[:id]) end # Whitelists def directory_listing_params params.require(:directory_listing).permit(:business_id, :category_id, :main_id, :user_id, :membership_id, :oganization_id) end end end