class Admin::ClientManagementsController < OrbitAdminController def index @site_requests = SiteRequest.where(:completed => false).order_by(sort).page(params[:page]).per(10) end def show @site_request = SiteRequest.find(params[:id]) @user = @site_request.c_panel_user end def make_contract @site_request = SiteRequest.find(params[:id]) @user = @site_request.c_panel_user @contract = RequestContract.new end def make_timeline @timeline = SiteTimeline.new @site_request = SiteRequest.find(params[:id]) @user = @site_request.c_panel_user end def edit_timeline @timeline = SiteTimeline.find(params[:id]) @site_request = @timeline.site_request @user = @site_request.c_panel_user end def create_timeline timeline = SiteTimeline.new(timeline_params) timeline.save redirect_to admin_client_management_path(timeline.site_request.id) end def update_timeline timeline = SiteTimeline.find(params[:id]) timeline.update_attributes(timeline_params) timeline.save redirect_to admin_client_management_path(timeline.site_request.id) end def project_dashboard @site_request = SiteRequest.find(params[:id]) end def complete_request site_request = SiteRequest.find(params[:id]) site_request.completed = true site_request.save redirect_to admin_client_management_path(site_request.id) end def create_contract rc = RequestContract.new(contract_params) rc.save sr = SiteRequest.find(contract_params[:site_request]) sr.request_contract = rc sr.completed = true sr.save redirect_to see_contract_admin_client_management_path(rc.id) end def update_contract contract = RequestContract.find(params[:id]) contract.update_attributes(contract_params) contract.save redirect_to see_contract_admin_client_management_path(contract.id) end def edit_contract @contract = RequestContract.find(params[:id]) @site_request = @contract.site_request @user = @site_request.c_panel_user end def see_contract @contract = RequestContract.find(params[:id]) @site_request = @contract.site_request end def completed_requests @site_requests = SiteRequest.where(:completed => true).order_by(sort).page(params[:page]).per(10) end def confirm_contract contract = RequestContract.find(params[:id]) if params["confirm"] == "true" contract.confirmed = true elsif params["confirm"] == "false" contract.confirmed = false end contract.save redirect_to see_contract_admin_client_management_path(contract.id) end def make_purchase contract = RequestContract.find(params[:id]) rescue nil if !contract.nil? purchase = ContractPurchase.new purchase.request_contract = contract purchase.total_amount = contract.total_amount purchase.save end redirect_to see_contract_admin_client_management_path(contract.id) end def receipts @purchase = ContractPurchase.find(params[:id]) rescue nil @contract = @purchase.request_contract @total_received_amount = @purchase.total_amount_recieved @total_adjustable_amount = @purchase.total_adjusted_amount end def add_receipt @receipt = PurchaseReceipt.new @purchase = ContractPurchase.find(params[:id]) rescue nil end def create_receipt receipt = PurchaseReceipt.create(receipt_params) redirect_to receipts_admin_client_management_path(receipt.contract_purchase.id) end def edit_receipt @receipt = PurchaseReceipt.find(params[:id]) @purchase = @receipt.contract_purchase rescue nil end def update_receipt receipt = PurchaseReceipt.find(params[:id]) receipt.update_attributes(receipt_params) receipt.save redirect_to receipts_admin_client_management_path(receipt.contract_purchase.id) end def update_site_request sr = SiteRequest.find(params[:id]) sr.update_attributes(site_request_params) render :json => {"success" => true, "url" => sr.new_site_url}.to_json end def add_sites sr = SiteRequest.find(params[:id]) sr.update_attributes(site_request_params) user = CPanelUser.find(sr.c_panel_user.id) site_request_params[:sites_added].each do |sid| site = RegisteredSite.find(sid) sr.sites_to_add.delete(site.site_domain) user.registered_site_ids << site.id end sr.completed = true sr.save user.save redirect_to admin_client_management_path(sr.id) end def contracts @contracts = RequestContract.all.order_by(:created_at => "desc", :confirmed => 'desc').page(params[:page]).per(10) end private def receipt_params params.require(:purchase_receipt).permit! end def contract_params params.require(:request_contract).permit! end def site_request_params params.require(:site_request).permit! end def timeline_params params.require(:site_timeline).permit! end end