Class: Calagator::VenuesController

Inherits:
ApplicationController show all
Includes:
DuplicateChecking::ControllerActions
Defined in:
app/controllers/calagator/venues_controller.rb

Defined Under Namespace

Classes: CreateOrUpdate, Destroy, Show

Instance Method Summary collapse

Methods included from DuplicateChecking::ControllerActions

#duplicates, #squash_many_duplicates

Methods inherited from ApplicationController

#recaptcha_enabled?

Instance Method Details

#autocompleteObject

GET /autocomplete via AJAX



38
39
40
41
42
43
44
45
46
# File 'app/controllers/calagator/venues_controller.rb', line 38

def autocomplete
  @venues = Venue
            .non_duplicates
            .in_business
            .where(['LOWER(title) LIKE ?', "%#{params[:term]}%".downcase])
            .order(Arel.sql('LOWER(title)'))

  render json: @venues
end

#createObject Also known as: update

POST /venues, # PUT /venues/1



101
102
103
# File 'app/controllers/calagator/venues_controller.rb', line 101

def create
  CreateOrUpdate.new(self).call(recaptcha_verified?(venue))
end

#destroyObject

DELETE /venues/1



149
150
151
# File 'app/controllers/calagator/venues_controller.rb', line 149

def destroy
  Destroy.new(self).call
end

#editObject

GET /venues/1/edit



96
97
98
# File 'app/controllers/calagator/venues_controller.rb', line 96

def edit
  venue
end

#indexObject

GET /venues



16
17
18
19
20
21
22
23
24
# File 'app/controllers/calagator/venues_controller.rb', line 16

def index
  @search = Venue::Search.new(params.permit!)
  @venues = @search.venues

  flash[:failure] = @search.failure_message
  return redirect_to venues_path if @search.hard_failure?

  render_venues @venues
end

#mapObject

GET /venues/map



49
50
51
# File 'app/controllers/calagator/venues_controller.rb', line 49

def map
  @venues = Venue.non_duplicates.in_business
end

#newObject

GET /venues/new



90
91
92
93
# File 'app/controllers/calagator/venues_controller.rb', line 90

def new
  venue
  render layout: params[:layout] != 'false'
end

#showObject

GET /venues/1



54
55
56
# File 'app/controllers/calagator/venues_controller.rb', line 54

def show
  Show.new(self).call
end

#venueObject



11
12
13
# File 'app/controllers/calagator/venues_controller.rb', line 11

def venue
  @venue ||= params[:id] ? Venue.find(params[:id]) : Venue.new
end