Guest User

Untitled

a guest
Feb 19th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.71 KB | None | 0 0
  1. def search_sale
  2.  
  3. if not params['queryc'].nil? then
  4. @queryc = params['queryc']
  5. else
  6. @queryc = "sale_type = 'sale'"
  7. unless params[:min_price].blank?
  8. @queryc += " AND asking_price > " + params[:min_price]
  9. end
  10. unless params[:min_cap].blank?
  11. @queryc += " AND cap_rate > " + params[:min_cap]
  12. end
  13. unless params[:square_feet_search] == 'All' || params[:square_feet_search].blank?
  14. if params[:square_feet_search] == '0-5,000'
  15. @queryc += " AND square_feet > 0 AND square_feet < 5000"
  16. end
  17. if params[:square_feet_search] == '5,000-10,000'
  18. @queryc += " AND square_feet > 5000 AND square_feet < 10000"
  19. end
  20. if params[:square_feet_search] == '10,000-20,000'
  21. @queryc += " AND square_feet > 10000 AND square_feet < 20000"
  22. end
  23. if params[:square_feet_search] == '20,000-50,000'
  24. @queryc += " AND square_feet > 20000 AND square_feet < 50000"
  25. end
  26. if params[:square_feet_search] == '50,000+'
  27. @queryc += " AND square_feet > 50000"
  28. end
  29. end
  30. unless params[:max_price].blank?
  31. @queryc += " AND asking_price < " + params[:max_price]
  32. end
  33. unless params[:property_type] == 'All' || params[:property_type].blank?
  34. @queryc += " AND property_use = '" + params[:property_type].to_s + "'"
  35. end
  36. unless params[:agent_name].blank?
  37. @queryc += " AND (agent_1 LIKE '" + params[:agent_name] + "' OR agent_2 LIKE '%" + params[:agent_name] + "%')"
  38. end
  39. unless params[:city_search].blank?
  40. @queryc += " AND city = '" + params[:city_search] + "'"
  41. end
  42. unless params[:state_search].blank?
  43. @queryc += " AND state = '" + params[:state_search] + "'"
  44. end
  45. unless params[:county_search].blank?
  46. @queryc += " AND county = '" + params[:county_search] + "'"
  47. end
  48. unless params[:search_terms].blank?
  49. if params[:search_terms].length > 3
  50. @queryc += " AND (header_1 LIKE '%" + params[:search_terms] + "%' OR header_2 LIKE '%" + params[:search_terms] + "%' OR description LIKE '%" + params[:search_terms] + "%')"
  51. else
  52. @warning_message = "Search terms must be at least 4 characters long."
  53. end
  54. end
  55. unless params[:id].blank?
  56. @queryc = "sale_type = 'sale' AND status = 'Active' AND id=" + params[:id]
  57. end
  58. if @queryc == "sale_type = 'sale'"
  59. @search_results = ""
  60. @results_message = "Please enter search criteria above."
  61. else
  62. if logged_in? && (current_user.access == 'Admin' || current_user.access == 'Agent')
  63. unless params[:search_type] == 'All'
  64. @queryc += " AND status = '" + params[:search_type] + "'"
  65. else
  66. @queryc += " AND status = 'Active'"
  67. end
  68. else
  69. @queryc += " AND status = 'Active' AND hl_listing = 1"
  70. end
  71. end
  72. end
  73. if @queryc == "sale_type = 'sale'"
  74. @search_pages = ""
  75. @search_results = ""
  76. @results_message = "Please enter search criteria above."
  77. else
  78. @search_pages = Paginator.new self, Property.count( :conditions => @queryc ), 3, params[:page]
  79. @search_results = Property.find( :all, :conditions => @queryc, :offset => @search_pages.current.offset, :limit => @search_pages.items_per_page )
  80. @results_message = "No matches found."
  81. end
  82.  
  83.  
  84. if @search_results == ""
  85. @featured_properties = Property.find(:all, :limit => 2, :conditions => "featured = 1 AND sale_type = 'sale' AND status = 'active' AND hl_listing = 1")
  86. else
  87. @featured_properties = ""
  88. end
  89. end
Add Comment
Please, Sign In to add comment