# HG changeset patch # User Mads Kiilerich # Date 2013-01-30 20:17:03 # Node ID 666fc6ac9ce50eb4c73cf8ffec72f7ba0a67e4a9 # Parent 6cdf2cd9d9d8626f32dddf19f803e1008fb7aa65 search: repo search is a repo thing - show it that way in ui and url diff --git a/rhodecode/config/routing.py b/rhodecode/config/routing.py --- a/rhodecode/config/routing.py +++ b/rhodecode/config/routing.py @@ -389,8 +389,12 @@ def make_map(config): #SEARCH rmap.connect('search', '%s/search' % ADMIN_PREFIX, controller='search',) - rmap.connect('search_repo', '%s/search/{search_repo:.*}' % ADMIN_PREFIX, - controller='search') + rmap.connect('search_repo_admin', '%s/search/{repo_name:.*}' % ADMIN_PREFIX, + controller='search') + rmap.connect('search_repo', '/{repo_name:.*?}/search', + controller='search', + conditions=dict(function=check_repo), + ) #LOGIN/LOGOUT/REGISTER/SIGN IN rmap.connect('login_home', '%s/login' % ADMIN_PREFIX, controller='login') diff --git a/rhodecode/controllers/search.py b/rhodecode/controllers/search.py --- a/rhodecode/controllers/search.py +++ b/rhodecode/controllers/search.py @@ -29,7 +29,7 @@ from pylons.i18n.translation import _ from pylons import request, config, tmpl_context as c from rhodecode.lib.auth import LoginRequired -from rhodecode.lib.base import BaseController, render +from rhodecode.lib.base import BaseRepoController, render from rhodecode.lib.indexers import CHGSETS_SCHEMA, SCHEMA, CHGSET_IDX_NAME, \ IDX_NAME, WhooshResultWrapper @@ -46,14 +46,14 @@ from rhodecode.lib.utils2 import safe_st log = logging.getLogger(__name__) -class SearchController(BaseController): +class SearchController(BaseRepoController): @LoginRequired() def __before__(self): super(SearchController, self).__before__() - def index(self, search_repo=None): - c.repo_name = search_repo + def index(self, repo_name=None): + c.repo_name = repo_name c.formated_results = [] c.runtime = '' c.cur_query = request.GET.get('q', None) diff --git a/rhodecode/templates/base/base.html b/rhodecode/templates/base/base.html --- a/rhodecode/templates/base/base.html +++ b/rhodecode/templates/base/base.html @@ -221,7 +221,7 @@ %if c.rhodecode_db_repo.fork:
  • ${h.link_to(_('compare fork'),h.url('compare_url',repo_name=c.repo_name,org_ref_type='branch',org_ref=request.GET.get('branch') or 'default',other_ref_type='branch',other_ref='default',repo=c.rhodecode_db_repo.fork.repo_name),class_='compare_request')}
  • %endif -
  • ${h.link_to(_('search'),h.url('search_repo',search_repo=c.repo_name),class_='search')}
  • +
  • ${h.link_to(_('search'),h.url('search_repo',repo_name=c.repo_name),class_='search')}
  • %if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name) and c.rhodecode_db_repo.enable_locking: %if c.rhodecode_db_repo.locked[0]: diff --git a/rhodecode/templates/search/search.html b/rhodecode/templates/search/search.html --- a/rhodecode/templates/search/search.html +++ b/rhodecode/templates/search/search.html @@ -1,43 +1,47 @@ ## -*- coding: utf-8 -*- <%inherit file="/base/base.html"/> + <%def name="title()"> - %if c.cur_query: + %if c.repo_name: + ${_('Search repository')} ${c.repo_name} - ${c.rhodecode_name} + %else: + ${_('Search in all repositories')} + %endif + + +<%def name="breadcrumbs_links()"> + %if c.repo_name: + ${h.link_to(_(u'Home'),h.url('/'))} + » + ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))} + » + ${_('Search')} + %else: + ${_('Search in all repositories')} + %endif + %if c.cur_query: + » + ${c.cur_query} + %endif + + +<%def name="page_nav()"> %if c.repo_name: - ${_('Search "%s" in repository: %s') % (c.cur_query, c.repo_name)} - %else: - ${_('Search "%s" in all repositories') % c.cur_query} - %endif - %else: - %if c.repo_name: - ${_('Search in repository: %s') % c.repo_name} + ${self.menu('options')} %else: - ${_('Search in all repositories')} + ${self.menu('search')} %endif - %endif - - ${c.rhodecode_name} - -<%def name="breadcrumbs()"> - ${c.rhodecode_name} - -<%def name="page_nav()"> - ${self.menu('search')} <%def name="main()">
    -
    - %if c.repo_name: - ${_('Search in repository: %s') % c.repo_name} - %else: - ${_('Search in all repositories')} - %endif -
    + ${self.breadcrumbs()}
    %if c.repo_name: - ${h.form(h.url('search_repo',search_repo=c.repo_name),method='get')} + ${h.form(h.url('search_repo',repo_name=c.repo_name),method='get')} %else: ${h.form(h.url('search'),method='get')} %endif