You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by br...@apache.org on 2013/04/24 19:16:21 UTC
[12/28] git commit: [#2835] ticket:292 Better search for url shortener
[#2835] ticket:292 Better search for url shortener
Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/b38865b3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/b38865b3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/b38865b3
Branch: refs/heads/db/2835
Commit: b38865b36b24f7aa727a82729ae3a55f79debe7f
Parents: 7b42446
Author: Igor Bondarenko <je...@gmail.com>
Authored: Mon Mar 25 14:47:22 2013 +0000
Committer: Dave Brondsema <db...@slashdotmedia.com>
Committed: Wed Apr 24 16:34:41 2013 +0000
----------------------------------------------------------------------
ForgeShortUrl/forgeshorturl/main.py | 49 +++++-----------
ForgeShortUrl/forgeshorturl/templates/search.html | 7 ++-
2 files changed, 21 insertions(+), 35 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/b38865b3/ForgeShortUrl/forgeshorturl/main.py
----------------------------------------------------------------------
diff --git a/ForgeShortUrl/forgeshorturl/main.py b/ForgeShortUrl/forgeshorturl/main.py
index b85b7a3..79c48ce 100644
--- a/ForgeShortUrl/forgeshorturl/main.py
+++ b/ForgeShortUrl/forgeshorturl/main.py
@@ -17,19 +17,17 @@
from tg import expose, validate, redirect, flash, request
from tg.decorators import without_trailing_slash
-from urllib import urlencode
from allura.app import Application, SitemapEntry, DefaultAdminController
from allura import model as M
from allura.lib.security import require_access, has_access
from allura.lib import helpers as h
-from allura.lib.search import search, SearchError
+from allura.lib.search import search_app
from allura.controllers import BaseController
from allura.lib.widgets import form_fields as ffw
from allura.lib.widgets.search import SearchResults
from webob import exc
-import pylons
from pylons import tmpl_context as c, app_globals as g
from datetime import datetime
from formencode import validators
@@ -163,38 +161,23 @@ class RootController(BaseController):
@expose('jinja:forgeshorturl:templates/search.html')
@validate(dict(q=validators.UnicodeString(if_empty=None),
- history=validators.StringBool(if_empty=False),
project=validators.StringBool(if_empty=False)))
- def search(self, q=None,
- history=None, project=None,
- limit=None, page=0, **kw):
- if project:
- redirect(c.project.url() +
- 'search?' +
- urlencode(dict(q=q, history=history)))
- results = []
- search_error = None
- count = 0
- limit, page, start = g.handle_paging(limit, page, default=25)
- if not q:
- q = ''
- else:
- query = ['is_history_b:%s' % history,
- 'project_id_s:%s' % c.project._id,
- 'mount_point_s:%s' % c.app.config.options.mount_point,
- 'type_s:%s' % ShortUrl.type_s]
- if not has_access(c.app, 'view_private'):
- query.append('private_b:False')
- try:
- results = search(q, fq=query, short_timeout=True, ignore_errors=False)
- except SearchError as e:
- search_error = e
-
- if results:
- count = results.hits
+ def search(self, q=None, project=None, limit=None, page=0, **kw):
c.search_results = W.search_results
- return dict(q=q, history=history, results=results or [],
- count=count, limit=limit, page=page, search_error=search_error)
+ search_params = kw
+ search_params.update({
+ 'q': q or '',
+ 'project': project,
+ 'limit': limit,
+ 'page': page,
+ 'allowed_types': ['ShortUrl'],
+ })
+ if not has_access(c.app, 'view_private'):
+ search_params['fq'] = ['private_b:False']
+ d = search_app(**search_params)
+ d['search_comments_disable'] = True
+ d['search_history_disable'] = True
+ return d
@expose()
def _lookup(self, pname, *remainder):
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/b38865b3/ForgeShortUrl/forgeshorturl/templates/search.html
----------------------------------------------------------------------
diff --git a/ForgeShortUrl/forgeshorturl/templates/search.html b/ForgeShortUrl/forgeshorturl/templates/search.html
index 1093121..87aa838 100644
--- a/ForgeShortUrl/forgeshorturl/templates/search.html
+++ b/ForgeShortUrl/forgeshorturl/templates/search.html
@@ -23,7 +23,10 @@
{% block header %}Search {{c.app.config.options.mount_point}}: {{q}}{% endblock %}
{% block short_url_content %}{% endblock %}
{% block content %}
-{{c.search_results.display(results=results,q=q,history=history,
-count=count,limit=limit,page=page,search_error=search_error)}}
+ {{c.search_results.display(results=results,q=q,history=history,
+ count=count,limit=limit,page=page,search_error=search_error,
+ sort_score_url=sort_score_url, sort_date_url=sort_date_url, sort_field=sort_field,
+ search_comments_disable=search_comments_disable,
+ search_history_disable=search_history_disable)}}
{% endblock %}