Class: CabooseRets::MultiFamilyController

Inherits:
ApplicationController show all
Defined in:
app/controllers/caboose_rets/multi_family_controller.rb

Instance Method Summary collapse

Instance Method Details

#admin_editObject

GET /admin/multi_family/:mls_acct/edit



92
93
94
95
96
# File 'app/controllers/caboose_rets/multi_family_controller.rb', line 92

def admin_edit
  return if !user_is_allowed('properties', 'edit')    
  @property = MultiFamilyProperty.where(:mls_acct => params[:mls_acct]).first
  render :layout => 'caboose/admin'
end

#admin_indexObject

GET /admin/multi_family



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'app/controllers/caboose_rets/multi_family_controller.rb', line 75

def admin_index
  return if !user_is_allowed('properties', 'view')
    
  @gen = Caboose::PageBarGenerator.new(params, {
      'mls_acct'     => ''
  },{
      'model'    => 'CabooseRets::MultiFamilyProperty',
      'sort'     => 'mls_acct',
      'desc'     => false,
      'base_url' => '/admin/multi_family',
      'use_url_params'  => false
  })
  @properties = @gen.items    
  render :layout => 'caboose/admin'
end

#admin_refreshObject

GET /admin/multi_family/:mls_acct/refresh



99
100
101
102
103
104
# File 'app/controllers/caboose_rets/multi_family_controller.rb', line 99

def admin_refresh
  p = MultiFamilyProperty.find(params[:mls_acct])        
  RetsImporter.import("(MLS_ACCT=#{p.mls_acct})", 'Property', 'LND')
  RetsImporter.download_property_images(p)
  render :json => Caboose::StdClass.new({ 'success' => "The property's info has been updated from MLS." })
end

#detailsObject

GET /multi_family/:mls_acct/details



59
60
61
62
63
64
65
66
67
68
# File 'app/controllers/caboose_rets/multi_family_controller.rb', line 59

def details
  @property = MultiFamilyProperty.where(:mls_acct => params[:mls_acct]).first
  @saved = logged_in? && SavedProperty.where(:user_id => logged_in_user.id, :mls_acct => params[:mls_acct]).exists?      
  if @property.nil?
    @mls_acct = params[:mls_acct]
    CabooseRets::RetsImporter.delay(:queue => 'rets').import_property(@mls_acct.to_i)
    render 'multi_family/not_exists'
    return
  end          
end

#indexObject

GET /multi-family



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'app/controllers/caboose_rets/multi_family_controller.rb', line 6

def index
	params[:street_num_like] = params[:street_name_like].tr('A-z', '').tr(' ', '') unless params[:street_name_like].nil?
	unless params[:street_name_like].nil?
		params[:street_name_like] = params[:street_name_like].tr('0-9', "") 
		until params[:street_name_like][0] != " " || params[:street_name_like] == ''
			params[:street_name_like][0] = '' if params[:street_name_like][0].to_i == 0
		end
	end
	
  @gen = Caboose::PageBarGenerator.new(params, {
    'name'               => '',
    'current_price_gte'  => '',
    'current_price_lte'  => '',
    'bedrooms_gte'       => '',
    'bedrooms_lte'       => '',
    'prop_type'          => '',
    'tot_heat_sqft_gte'  => '',
    'tot_heat_sqft_lte'  => '',
    'neighborhood'       => '',
    'elem_school'        => '',
    'middle_school'      => '',
    'high_school'        => '',
    'address'            => '',
    'lo_lo_code'         => '',
    'remarks_like'       => '',
    'waterfront'         => '',
    'ftr_lotdesc_like'   => '',
    'mls_acct'           => '',
    'subdivision'        => '',
    'foreclosure_yn'     => '',
    'address_like'       => '',        
    'street_name_like'   => '',
    'street_num_like'    => '',
    'date_created_gte'   => '',
    'date_created_lte'   => '',
    'date_modified_gte'  => '',
    'date_modified_lte'  => '',
    'status'             => 'Active'                
  },{
    'model'           => 'CabooseRets::MultiFamilyProperty',        
    'sort'            => CabooseRets::default_property_sort,
    'desc'            => false,
    'skip'            => ['status'],
    'abbreviations'   => { 
      'address_like' => 'street_num_concat_street_name_like'
    },
    'base_url'        => '/multi-family/search',
    'items_per_page'  => 10
  })      
  @properties = @gen.items
end