Skip to content

Instantly share code, notes, and snippets.

@anathematic
Created April 20, 2010 09:00
Show Gist options
  • Save anathematic/372214 to your computer and use it in GitHub Desktop.
Save anathematic/372214 to your computer and use it in GitHub Desktop.
class ContractController < ApplicationController
def save
sc = params[:id].nil? ? Contract.new : Contract.find(params[:id])
sc.site_id = session[:site_id]
sc.site_contract_type_id = params[:contract][:site_contract_type_id].to_i
if Date.parse(params[:contract_info][:date_start]) > Date.parse(params[:contract_info][:date_end])
render :update do | page |
page.alert('Start Date can\'t be later than End Date.')
end
return
end
sc.contract_start_date = Date.parse(params[:contract_info][:date_start]) + 1.day
sc.contract_expiry_date = Date.parse(params[:contract_info][:date_end]) + 1.day
sc.auto_renew = params[:contract][:auto_renew].to_i
sc.save
@contract = sc
if [1, 6, 7, 9, 15].include?(params[:contract][:site_contract_type_id].to_i)
cih = ContractInfoHSIA.find_by_site_contract_id(sc.id)
if cih.nil?
cih = ContractInfoHSIA.new
cih.site_contract_id = sc.id
end
cih.equipment_ownership_id = params[:contract_info][:equipment_ownership_id].to_i
cih.guest_room_commercial_id = params[:contract_info][:guest_room_commercial_id].to_i
cih.function_room_commercial_id = params[:contract_info][:function_room_commercial_id].to_i
cih.cable_ownership_id = params[:contract_info][:cable_ownership_id].to_i
cih.cable_type_id = params[:contract_info][:cable_type_id].to_i
cih.sla = params[:sla].to_s.strip
cih.isp = params[:contract_info][:isp].to_s.strip
cih.termination_clause = params[:termination_clause].to_s.strip
cih.num_contracted_rooms = params[:contract_info][:hsia_contracted_rooms].to_i
cih.currency_type_id = params[:contract_info][:currency_type_id]
cih.guest_room_per_min_cap = params[:contract_info][:guest_room_per_min_cap].to_f
cih.guest_room_charge_minute = params[:contract_info][:guest_room_charge_minute].to_f
cih.guest_room_charge_hour = params[:contract_info][:guest_room_charge_hour].to_f
cih.guest_room_charge_day = params[:contract_info][:guest_room_charge_day].to_f
cih.guest_room_charge_week = params[:contract_info][:guest_room_charge_week].to_f
cih.guest_room_charge_month = params[:contract_info][:guest_room_charge_month].to_f
cih.guest_room_charge_3months = params[:contract_info][:guest_room_charge_3months].to_f
cih.meeting_room_charge_day = params[:contract_info][:meeting_room_charge_day].to_f
cih.rebate = params[:contract_info][:rebate].to_f
cih.bandwidth_in = params[:contract_info][:bandwidth_in].to_i
cih.bandwidth_out = params[:contract_info][:bandwidth_out].to_i
cih.save
end
if [2, 6, 12, 13, 15].include?(params[:contract][:site_contract_type_id].to_i)
cih = ContractInfoDVOD.find_by_site_contract_id(sc.id)
if cih.nil?
cih = ContractInfoDVOD.new
cih.site_contract_id = sc.id
end
if [2, 12, 13].include?(params[:contract][:site_contract_type_id].to_i)
cih.currency_type_id = params[:contract_info][:currency_type_id]
cih.termination_clause = params[:termination_clause].to_s.strip
end
cih.num_contracted_rooms = params[:contract_info][:dvod_contracted_rooms].to_i
cih.charge_blockbuster = params[:contract_info][:charge_blockbuster].to_f
cih.charge_library = params[:contract_info][:charge_library].to_f
cih.charge_all_day_adult = params[:contract_info][:charge_all_day_adult].to_f
cih.charge_adult = params[:contract_info][:charge_adult].to_f
cih.save
end
if params[:id].nil?
render :update do | page |
page.visual_effect(:blind_up, "contract_data_panel")
page.visual_effect(:blind_down, "add_contract_button")
page.insert_html(:bottom, "contract_widget", :partial => 'contract_row')
end
else
render :update do | page |
page.visual_effect(:blind_up, "contract_data_panel")
page.replace_html 'con' + params[:id], :partial => 'contract_row', :object => @contract, :layout => false
end
end
end
def edit
@contract = Contract.find(params[:id])
session[:contract_type_id] = @contract.site_contract_type_id
if [1, 6, 7, 9, 15].include?(@contract.site_contract_type_id)
@hsia_info = ContractInfoHSIA.find_by_site_contract_id(@contract.id)
@curr = @hsia_info.currency_type_id rescue 1
end
if [2, 6, 12, 13, 15].include?(@contract.site_contract_type_id)
@dvod_info = ContractInfoDVOD.find_by_site_contract_id(@contract.id)
if [2, 12, 13].include?(@contract.site_contract_type_id)
@curr = @dvod_info.currency_type_id rescue 1
end
end
render :partial => 'contract/edit_contract', :layout => false
end
def cancel
render :text => ''
end
def add_contract
session[:contract_type_id] = 0
render :partial => 'contract/add_contract'
end
def view_contract
@contract = Contract.find(params[:id])
if [1, 6, 7, 9, 15].include?(@contract.site_contract_type_id)
@hsia_info = ContractInfoHSIA.find_by_site_contract_id(@contract.id)
end
if [2, 6, 12, 13, 15].include?(@contract.site_contract_type_id)
@dvod_info = ContractInfoDVOD.find_by_site_contract_id(@contract.id)
if [2, 12, 13].include?(@contract.site_contract_type_id)
@currency = ''
end
end
render :partial => 'view_contract', :layout => false
end
def delete_contract
sc = Contract.find(params[:id])
sc.deleted = 1
sc.save
render :text => ""
end
def check_contract_type_1
session[:contract_type_id] = params[:contract_type_id].to_i
if [1, 6, 7, 9, 15].include?(params[:contract_type_id].to_i)
render :partial => "hsia_info_1", :layout => false
else
render :text => ''
end
end
def check_contract_type_2
session[:contract_type_id] = params[:contract_type_id].to_i
case params[:contract_type_id].to_i
when 1, 6, 7, 9, 15
render :partial => "hsia_info_2", :layout => false
else
render :text => ''
end
end
def check_contract_type_4
session[:contract_type_id] = params[:contract_type_id].to_i
case params[:contract_type_id].to_i
when 2, 6, 12, 13, 15
render :partial => "dvod_info_1", :layout => false
else
render :text => ''
end
end
def check_contract_type_5
session[:contract_type_id] = params[:contract_type_id].to_i
case params[:contract_type_id].to_i
when 2, 12, 13
render :partial => "currency", :layout => false
else
render :text => ''
end
end
def test_me
@contracts = Contract.find_by_sql("SELECT site_contracts.id AS crap
FROM site_contracts
INNER JOIN sites ON sites.id = site_contracts.site_id
WHERE deleted = 0
AND sites.site_status_id = 7
AND deleted = 0
AND (contract_expiry_date - current_timestamp < '90 days')") rescue []
@contracts.each do | con |
logger.info con.crap.to_s + " "
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment