2017-03-07 09:37:28 +00:00
|
|
|
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
|
2017-03-08 06:10:32 +00:00
|
|
|
|
|
|
|
def make_contract
|
|
|
|
@site_request = SiteRequest.find(params[:id])
|
|
|
|
@user = @site_request.c_panel_user
|
2017-03-10 06:53:25 +00:00
|
|
|
@contract = RequestContract.new
|
|
|
|
end
|
|
|
|
|
2017-10-09 09:44:59 +00:00
|
|
|
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])
|
2017-11-28 11:47:23 +00:00
|
|
|
@members = []
|
|
|
|
@project_post = ProjectPost.new
|
|
|
|
MemberProfile.all.each do |mp|
|
|
|
|
user = mp.user rescue nil
|
|
|
|
if !user.nil? && user.id.to_s != current_user.id.to_s
|
|
|
|
avatar = (mp.avatar.thumb.url == "thumb_person.png" ? "/assets/thumb_person.png" : mp.avatar.thumb.url rescue "/assets/thumb_person.png")
|
|
|
|
@members << {
|
|
|
|
"id" => user.id.to_s,
|
|
|
|
"user_name" => (user.user_name rescue ""),
|
|
|
|
"avatar" => avatar,
|
|
|
|
"name" => (mp.name_translations rescue {"en" => "","zh_tw" => ""})
|
|
|
|
}
|
|
|
|
end
|
|
|
|
end
|
|
|
|
@timeline = []
|
|
|
|
timeline = @site_request.site_timeline
|
|
|
|
@timeline << [{"test_site_creation_start" => timeline.test_site_creation_start.strftime("%Y-%m-%d"), "test_site_creation_end" => timeline.test_site_creation_end.strftime("%Y-%m-%d")}] if !timeline.test_site_creation_start.nil?
|
|
|
|
@timeline << [{"template_design_images_start" => timeline.template_design_images_start.strftime("%Y-%m-%d"), "template_design_images_end" => timeline.template_design_images_end.strftime("%Y-%m-%d")}] if !timeline.template_design_images_start.nil?
|
|
|
|
@timeline << [{"template_html_css_start" => timeline.template_html_css_start.strftime("%Y-%m-%d"), "template_html_css_end" => timeline.template_html_css_end.strftime("%Y-%m-%d")}] if !timeline.template_html_css_start.nil?
|
|
|
|
@timeline << [{"customized_module_start" => timeline.customized_module_start.strftime("%Y-%m-%d"), "customized_module_end" => timeline.customized_module_end.strftime("%Y-%m-%d")}] if !timeline.customized_module_start.nil?
|
|
|
|
@timeline << [{"data_migration_start" => timeline.data_migration_start.strftime("%Y-%m-%d"), "data_migration_end" => timeline.data_migration_end.strftime("%Y-%m-%d")}] if !timeline.data_migration_start.nil?
|
|
|
|
@timeline << [{"site_structure_start" => timeline.site_structure_start.strftime("%Y-%m-%d"), "site_structure_end" => timeline.site_structure_end.strftime("%Y-%m-%d")}] if !timeline.site_structure_start.nil?
|
|
|
|
@timeline << [{"site_migration_start" => timeline.site_migration_start.strftime("%Y-%m-%d"), "site_migration_end" => timeline.site_migration_end.strftime("%Y-%m-%d")}] if !timeline.site_migration_start.nil?
|
|
|
|
|
2017-10-09 09:44:59 +00:00
|
|
|
end
|
|
|
|
|
2017-03-10 06:53:25 +00:00
|
|
|
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)
|
2017-03-08 06:10:32 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def create_contract
|
2017-03-10 06:53:25 +00:00
|
|
|
rc = RequestContract.new(contract_params)
|
|
|
|
rc.save
|
2017-03-08 07:06:40 +00:00
|
|
|
sr = SiteRequest.find(contract_params[:site_request])
|
|
|
|
sr.request_contract = rc
|
2017-03-10 06:53:25 +00:00
|
|
|
sr.completed = true
|
2017-03-08 07:06:40 +00:00
|
|
|
sr.save
|
2017-03-10 06:53:25 +00:00
|
|
|
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)
|
2017-03-08 06:10:32 +00:00
|
|
|
end
|
|
|
|
|
2017-03-08 07:06:40 +00:00
|
|
|
def edit_contract
|
2017-03-10 06:53:25 +00:00
|
|
|
@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
|
2017-03-29 07:09:14 +00:00
|
|
|
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)
|
2017-03-10 06:53:25 +00:00
|
|
|
end
|
|
|
|
|
2017-10-09 09:44:59 +00:00
|
|
|
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
|
|
|
|
|
2017-03-10 06:53:25 +00:00
|
|
|
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
|
2017-03-21 12:58:11 +00:00
|
|
|
@contracts = RequestContract.all.order_by(:created_at => "desc", :confirmed => 'desc').page(params[:page]).per(10)
|
2017-03-08 07:06:40 +00:00
|
|
|
end
|
|
|
|
|
2017-11-28 11:47:23 +00:00
|
|
|
def create_project_post
|
|
|
|
ppost = ProjectPost.new(project_post_params)
|
|
|
|
ppost.save
|
|
|
|
render :partial => "conversation", :object => ppost
|
|
|
|
end
|
|
|
|
|
|
|
|
def timeline_update
|
|
|
|
timeline = SiteTimeline.find(params[:id])
|
|
|
|
if params[:checked] == "true"
|
|
|
|
case params[:field]
|
|
|
|
when "test_site_creation"
|
|
|
|
timeline.test_site_creation_completed = Time.now
|
|
|
|
timeline.test_site_creation_by = current_user.id.to_s
|
|
|
|
time = timeline.test_site_creation_completed.strftime("%Y/%m/%d")
|
|
|
|
when "template_design_images"
|
|
|
|
timeline.template_design_images_completed = Time.now
|
|
|
|
timeline.template_design_images_by = current_user.id.to_s
|
|
|
|
time = timeline.template_design_images_completed.strftime("%Y/%m/%d")
|
|
|
|
when "template_html_css"
|
|
|
|
timeline.template_html_css_completed = Time.now
|
|
|
|
timeline.template_html_css_by = current_user.id.to_s
|
|
|
|
time = timeline.template_html_css_completed.strftime("%Y/%m/%d")
|
|
|
|
when "customized_module"
|
|
|
|
timeline.customized_module_completed = Time.now
|
|
|
|
timeline.customized_module_by = current_user.id.to_s
|
|
|
|
time = timeline.customized_module_completed.strftime("%Y/%m/%d")
|
|
|
|
when "data_migration"
|
|
|
|
timeline.data_migration_completed = Time.now
|
|
|
|
timeline.data_migration_by = current_user.id.to_s
|
|
|
|
time = timeline.data_migration_completed.strftime("%Y/%m/%d")
|
|
|
|
when "site_structure"
|
|
|
|
timeline.site_structure_completed = Time.now
|
|
|
|
timeline.site_structure_by = current_user.id.to_s
|
|
|
|
time = timeline.site_structure_completed.strftime("%Y/%m/%d")
|
|
|
|
when "site_migration"
|
|
|
|
timeline.site_migration_completed = Time.now
|
|
|
|
timeline.site_migration_by = current_user.id.to_s
|
|
|
|
time = timeline.site_migration_completed.strftime("%Y/%m/%d")
|
|
|
|
when "psd_approval"
|
|
|
|
timeline.psd_approval_completed = Time.now
|
|
|
|
time = timeline.psd_approval_completed.strftime("%Y/%m/%d")
|
|
|
|
when "cutomer_approval"
|
|
|
|
timeline.cutomer_approval_completed = Time.now
|
|
|
|
time = timeline.cutomer_approval_completed.strftime("%Y/%m/%d")
|
|
|
|
when "module_approval"
|
|
|
|
timeline.module_approval_completed = Time.now
|
|
|
|
time = timeline.module_approval_completed.strftime("%Y/%m/%d")
|
|
|
|
end
|
|
|
|
else
|
|
|
|
case params[:field]
|
|
|
|
when "test_site_creation"
|
|
|
|
timeline.test_site_creation_completed = nil
|
|
|
|
timeline.test_site_creation_by = nil
|
|
|
|
time = timeline.test_site_creation_end.strftime("%Y/%m/%d")
|
|
|
|
when "template_design_images"
|
|
|
|
timeline.template_design_images_completed = nil
|
|
|
|
timeline.template_design_images_by = nil
|
|
|
|
time = timeline.template_design_images_end.strftime("%Y/%m/%d")
|
|
|
|
when "template_html_css"
|
|
|
|
timeline.template_html_css_completed = nil
|
|
|
|
timeline.template_html_css_by = nil
|
|
|
|
time = timeline.template_html_css_end.strftime("%Y/%m/%d")
|
|
|
|
when "customized_module"
|
|
|
|
timeline.customized_module_completed = nil
|
|
|
|
timeline.customized_module_by = nil
|
|
|
|
time = timeline.customized_module_end.strftime("%Y/%m/%d")
|
|
|
|
when "data_migration"
|
|
|
|
timeline.data_migration_completed = nil
|
|
|
|
timeline.data_migration_by = nil
|
|
|
|
time = timeline.data_migration_end.strftime("%Y/%m/%d")
|
|
|
|
when "site_structure"
|
|
|
|
timeline.site_structure_completed = nil
|
|
|
|
timeline.site_structure_by = nil
|
|
|
|
time = timeline.site_structure_end.strftime("%Y/%m/%d")
|
|
|
|
when "site_migration"
|
|
|
|
timeline.site_migration_completed = nil
|
|
|
|
timeline.site_migration_by = nil
|
|
|
|
time = timeline.site_migration_end.strftime("%Y/%m/%d")
|
|
|
|
when "psd_approval"
|
|
|
|
timeline.psd_approval_completed = nil
|
|
|
|
time = ""
|
|
|
|
when "cutomer_approval"
|
|
|
|
timeline.cutomer_approval_completed = nil
|
|
|
|
time = ""
|
|
|
|
when "module_approval"
|
|
|
|
timeline.module_approval_completed = nil
|
|
|
|
time = ""
|
|
|
|
end
|
|
|
|
end
|
|
|
|
timeline.save
|
|
|
|
render :json => {"success" => true, "time" => time, "name" => current_user.name}.to_json
|
|
|
|
end
|
|
|
|
|
2017-03-08 06:10:32 +00:00
|
|
|
private
|
|
|
|
|
2017-11-28 11:47:23 +00:00
|
|
|
def project_post_params
|
|
|
|
params.require(:project_post).permit!
|
|
|
|
end
|
|
|
|
|
2017-03-29 07:09:14 +00:00
|
|
|
def receipt_params
|
|
|
|
params.require(:purchase_receipt).permit!
|
|
|
|
end
|
|
|
|
|
2017-03-08 06:10:32 +00:00
|
|
|
def contract_params
|
|
|
|
params.require(:request_contract).permit!
|
|
|
|
end
|
2017-03-10 06:53:25 +00:00
|
|
|
|
|
|
|
def site_request_params
|
|
|
|
params.require(:site_request).permit!
|
|
|
|
end
|
2017-10-09 09:44:59 +00:00
|
|
|
|
|
|
|
def timeline_params
|
|
|
|
params.require(:site_timeline).permit!
|
|
|
|
end
|
2017-03-07 09:37:28 +00:00
|
|
|
|
|
|
|
end
|