X-Git-Url: http://git.veekun.com/zzz-floof.git/blobdiff_plain/6fb3ad2a578aa2e0eced735187a02a79a8907668..366dedf71b3cdd775251c7cea4b1519b44b37164:/floof/controllers/search.py diff --git a/floof/controllers/search.py b/floof/controllers/search.py index 3b6faef..57ff4d2 100644 --- a/floof/controllers/search.py +++ b/floof/controllers/search.py @@ -1,14 +1,16 @@ import logging from pylons import request, response, session, tmpl_context as c, h -from pylons.controllers.util import abort, redirect_to +from pylons.controllers.util import abort, redirect +from pylons import url from floof.lib.base import BaseController, render +from floof.lib.search import do_search log = logging.getLogger(__name__) from floof.model.art import Art, Tag, TagText -from floof.model.search import SavedSearch +from floof.model.search import SavedSearch, GalleryWidget import elixir class SearchController(BaseController): @@ -18,16 +20,7 @@ class SearchController(BaseController): return self.save() c.query = request.params.get('query', '') - tags = c.query.split() - - tagtexts = TagText.query.filter(TagText.text.in_(tags)) - tagtext_ids = [_.id for _ in tagtexts] - - # Fetch art that has all the tags - c.artwork = Art.query.join(Tag) \ - .filter(Tag.tagtext_id.in_(tagtext_ids)) \ - .all() - + c.artwork = do_search(c.query) return render('/index.mako') # TODO: login required @@ -35,7 +28,7 @@ class SearchController(BaseController): c.query = request.params.get('query', '') saved_search = SavedSearch(author=c.user, string=c.query) elixir.session.commit() - redirect_to(action="list") + redirect(url('saved_searches')) # TODO: do something better than this. @@ -47,9 +40,9 @@ class SearchController(BaseController): # TODO: login required def display(self, id): c.search = h.get_object_or_404(SavedSearch, id=id) - # TODO: create a gallery widget - - redirect_to(controller="users", action="view", name=c.user.name) + c.gallery = GalleryWidget(search=c.search, page=c.user.primary_page) + elixir.session.commit() + redirect(url(controller="users", action="view", name=c.user.name)) \ No newline at end of file