Created
April 20, 2010 09:00
-
-
Save anathematic/372214 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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