Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Disable grails Searchable plugin default search page?

I'm trying to disable the Searchable plugin default search page (http://localhost/searchable/), but haven't found a way to do it. Anyone know how this can be done, preferably in a legit way, but resorting to trickery if necessary?

like image 529
Kaleb Brasee Avatar asked Oct 15 '22 03:10

Kaleb Brasee


1 Answers

I usually re-route error code handlers to a controller so I can do some logging or whatever before rendering the view. You can use that here also:

class UrlMappings {

   static mappings = {

      "/searchable/$action?"(controller: "errors", action: "urlMapping")

      "/$controller/$action?/$id?" { }

      "/"(view:"/index")

      "403"(controller: "errors", action: "accessDenied")
      "404"(controller: "errors", action: "notFound")
      "405"(controller: "errors", action: "notAllowed")
      "500"(view: '/error')
   }
}

where ErrorsController looks something like this:

class ErrorsController {

   def accessDenied = {}

   def notFound = {
      log.debug "could not find $request.forwardURI"
   }

   def notAllowed = {}

   def urlMapping = {
      log.warn "unexpected call to URL-Mapped $request.forwardURI"
      render view: 'notFound'
   }
}

and you'll need to create accessDenied.gsp, notFound.gsp, and notAllowed.gsp in grails-app/errors

By sending a 'hidden' controller to its custom mapping you can log unexpected access to it, but still render the 404 page to hide its existence.

like image 179
Burt Beckwith Avatar answered Oct 18 '22 12:10

Burt Beckwith