Removing unused search app
parent
814ccb2d54
commit
d9c142491f
|
@ -1,8 +0,0 @@
|
||||||
# -* coding: utf-8 -*-
|
|
||||||
from haystack import forms
|
|
||||||
|
|
||||||
|
|
||||||
class SearchForm(forms.SearchForm):
|
|
||||||
def __init__(self, *args, **kwargs):
|
|
||||||
kwargs['load_all'] = True
|
|
||||||
super(SearchForm, self).__init__(*args, **kwargs)
|
|
|
@ -1,54 +0,0 @@
|
||||||
{% extends 'base.html' %}
|
|
||||||
{% load static from staticfiles %}
|
|
||||||
{% load i18n %}
|
|
||||||
{% load rawinclude greenmine_utils %}
|
|
||||||
|
|
||||||
{% block title %}
|
|
||||||
<span class="separator"> › </span>
|
|
||||||
<span class="title-item">{% trans "Search" %}</span>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block wrapper %}
|
|
||||||
<h1>{% trans "Search Results" %}</h1>
|
|
||||||
{% if page.object_list %}
|
|
||||||
<div id="search" class="search-ds list-container" >
|
|
||||||
<div class="middle-box">
|
|
||||||
<div class="list-header">
|
|
||||||
<div class="header-left">
|
|
||||||
<div class="header-item project left">{% trans "Project" %}</div>
|
|
||||||
<div class="header-item type left">{% trans "Type" %}</div>
|
|
||||||
<div class="header-item title">{% trans "Title" %}</div>
|
|
||||||
<div class="clearfix"></div>
|
|
||||||
</div>
|
|
||||||
<div class="clearfix"></div>
|
|
||||||
</div>
|
|
||||||
<div class="list-body">
|
|
||||||
{% for result in page.object_list %}
|
|
||||||
<div class="list-item">
|
|
||||||
<div class="body-left">
|
|
||||||
<div class="body-item project left">{{ result.object.project }}</div>
|
|
||||||
<div class="body-item type left">{{ result.verbose_name }}</div>
|
|
||||||
<div class="body-item title"><a href="{{ result.object.get_absolute_url }}">{{ result.object }}</a></div>
|
|
||||||
<div class="clearfix"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% if page.has_previous or page.has_next %}
|
|
||||||
<div>
|
|
||||||
{% if page.has_previous %}<a href="?q={{ query }}&page={{ page.previous_page_number }}">{% endif %}« {% trans "Previous" %}{% if page.has_previous %}</a>{% endif %}
|
|
||||||
|<span class="current">
|
|
||||||
{% blocktrans with number=page.number total=page.paginator.num_pages %}Page {{ number }} of {{ total }}{% endblocktrans %}</span>|
|
|
||||||
{% if page.has_next %}<a href="?q={{ query }}&page={{ page.next_page_number }}">{% endif %}{% trans "Next" %} »{% if page.has_next %}</a>{% endif %}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
{% else %}
|
|
||||||
<p>{% trans "No results found." %}</p>
|
|
||||||
{% endif %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block top-headers %}
|
|
||||||
<link type="text/css" media="screen" rel="stylesheet" href="{% static 'css/search.css' %}" />
|
|
||||||
{% endblock %}
|
|
|
@ -1,8 +0,0 @@
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
from django.conf.urls.defaults import patterns, url
|
|
||||||
|
|
||||||
from greenmine.search.views import SearchView
|
|
||||||
|
|
||||||
urlpatterns = patterns('',
|
|
||||||
url(r'^$', SearchView.as_view(), name='search'),
|
|
||||||
)
|
|
|
@ -1,57 +0,0 @@
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
from haystack.query import EmptySearchQuerySet
|
|
||||||
|
|
||||||
from django.core.paginator import Paginator, InvalidPage
|
|
||||||
from django.conf import settings
|
|
||||||
from django.http import Http404
|
|
||||||
from django.utils.translation import ugettext as _
|
|
||||||
|
|
||||||
from greenmine.base.decorators import login_required
|
|
||||||
from greenmine.base.generic import GenericView
|
|
||||||
from greenmine.scrum.models import Project
|
|
||||||
from greenmine.search.forms import SearchForm
|
|
||||||
|
|
||||||
|
|
||||||
SEARCH_RESULTS_PER_PAGE = getattr(settings, 'SEARCH_RESULTS_PER_PAGE', 20)
|
|
||||||
|
|
||||||
|
|
||||||
class SearchView(GenericView):
|
|
||||||
template_path = 'search-results.html'
|
|
||||||
|
|
||||||
@login_required
|
|
||||||
def get(self, request):
|
|
||||||
query = ''
|
|
||||||
results = EmptySearchQuerySet()
|
|
||||||
|
|
||||||
if request.user.is_staff:
|
|
||||||
projects = Project.objects.all()
|
|
||||||
else:
|
|
||||||
projects = request.user.projects.all() | \
|
|
||||||
request.user.projects_participant.all()
|
|
||||||
|
|
||||||
projects = projects.order_by('name').distinct()
|
|
||||||
|
|
||||||
if request.GET.get('q'):
|
|
||||||
form = SearchForm(request.GET)
|
|
||||||
|
|
||||||
if form.is_valid():
|
|
||||||
query = form.cleaned_data['q']
|
|
||||||
results = form.search().filter(project__in=projects)
|
|
||||||
else:
|
|
||||||
form = SearchForm()
|
|
||||||
|
|
||||||
paginator = Paginator(results, SEARCH_RESULTS_PER_PAGE)
|
|
||||||
|
|
||||||
try:
|
|
||||||
page = paginator.page(int(request.GET.get('page', 1)))
|
|
||||||
except InvalidPage:
|
|
||||||
raise Http404(_(u'No such page of results!'))
|
|
||||||
|
|
||||||
context = {
|
|
||||||
'form': form,
|
|
||||||
'page': page,
|
|
||||||
'paginator': paginator,
|
|
||||||
'query': query,
|
|
||||||
}
|
|
||||||
|
|
||||||
return self.render_to_response(self.template_path, context)
|
|
|
@ -206,7 +206,6 @@ INSTALLED_APPS = [
|
||||||
'greenmine.wiki',
|
'greenmine.wiki',
|
||||||
'greenmine.documents',
|
'greenmine.documents',
|
||||||
'greenmine.questions',
|
'greenmine.questions',
|
||||||
'greenmine.search',
|
|
||||||
|
|
||||||
'south',
|
'south',
|
||||||
'haystack',
|
'haystack',
|
||||||
|
|
Loading…
Reference in New Issue