Commit 9a292d38 authored by Maël Kervella's avatar Maël Kervella

pep8 et pylint

parent 439b0fb3
......@@ -21,8 +21,8 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
from __future__ import unicode_literals
"""The field used in the admin view for the search app"""
from django.contrib import admin
from __future__ import unicode_literals
# Register your models here.
......@@ -20,6 +20,8 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
"""The forms used by the search app"""
from __future__ import unicode_literals
from django import forms
......@@ -44,14 +46,18 @@ CHOICES_AFF = (
def initial_choices(c):
"""Return the choices that should be activated by default for a
given set of choices"""
return [i[0] for i in c]
class SearchForm(Form):
"""The form for a simple search"""
q = forms.CharField(label='Search', max_length=100)
class SearchFormPlus(Form):
"""The form for an advanced search (with filters)"""
q = forms.CharField(
label='Search',
max_length=100,
......
......@@ -20,6 +20,8 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
"""The urls used by the search app"""
from __future__ import unicode_literals
from django.conf.urls import url
......
......@@ -20,21 +20,19 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# App de recherche pour re2o
# Augustin lemesle, Gabriel Détraz, Goulven Kermarec
# Gplv2
"""The views for the search app, responsible for finding the matches
Augustin lemesle, Gabriel Détraz, Goulven Kermarec, Maël Kervella
Gplv2"""
from __future__ import unicode_literals
from django.shortcuts import render
from django.shortcuts import get_object_or_404
from django.template.context_processors import csrf
from django.template import Context, RequestContext, loader
from django.contrib.auth.decorators import login_required
from django.db.models import Q
from users.models import User, Ban, Whitelist
from machines.models import Machine, Interface
from machines.models import Machine
from topologie.models import Port, Switch, Room
from cotisations.models import Facture
from preferences.models import GeneralOption
......@@ -72,36 +70,24 @@ def get_results(query, request, filters={}):
user_state = filters.get('u', initial_choices(CHOICES_USER))
aff = filters.get('a', initial_choices(CHOICES_AFF))
options, created = GeneralOption.objects.get_or_create()
options, _ = GeneralOption.objects.get_or_create()
max_result = options.search_display_page
user_state_filter = Q()
for s in user_state:
user_state_filter |= Q(state = s)
connexion = []
for state in user_state:
user_state_filter |= Q(state=state)
results = {
'users_list': User.objects.none(),
'machines_list' : Machine.objects.none(),
'factures_list' : Facture.objects.none(),
'bans_list' : Ban.objects.none(),
'machines_list': Machine.objects.none(),
'factures_list': Facture.objects.none(),
'bans_list': Ban.objects.none(),
'whitelists_list': Whitelist.objects.none(),
'rooms_list': Room.objects.none(),
'switch_ports_list': Port.objects.none(),
'switches_list': Switch.objects.none()
}
users_filter = Q(
user__pseudo__icontains=query
) | Q(
user__adherent__name__icontains=query
) | Q(
user__surname__icontains=query
)
if not request.user.has_perms(('cableur',)):
users_filter &= Q(user=request.user)
# Users
if '0' in aff:
filter_user_list = Q(
......@@ -155,9 +141,9 @@ def get_results(query, request, filters={}):
filter_facture_list = Q(
user__pseudo__icontains=query
)
if start != None:
if start is not None:
filter_facture_list &= Q(date__gte=start)
if end != None:
if end is not None:
filter_facture_list &= Q(date__lte=end)
results['factures_list'] = Facture.objects.filter(filter_facture_list)
results['factures_list'] = SortTable.sort(
......@@ -174,7 +160,7 @@ def get_results(query, request, filters={}):
) | Q(
raison__icontains=query
)
if start != None:
if start is not None:
date_filter &= (
Q(date_start__gte=start) & Q(date_end__gte=start)
) | (
......@@ -182,7 +168,7 @@ def get_results(query, request, filters={}):
) | (
Q(date_start__gte=start) & Q(date_end__lte=start)
)
if end != None:
if end is not None:
date_filter &= (
Q(date_start__lte=end) & Q(date_end__lte=end)
) | (
......@@ -205,7 +191,7 @@ def get_results(query, request, filters={}):
) | Q(
raison__icontains=query
)
if start != None:
if start is not None:
date_filter &= (
Q(date_start__gte=start) & Q(date_end__gte=start)
) | (
......@@ -213,7 +199,7 @@ def get_results(query, request, filters={}):
) | (
Q(date_start__gte=start) & Q(date_end__lte=start)
)
if end != None:
if end is not None:
date_filter &= (
Q(date_start__lte=end) & Q(date_end__lte=end)
) | (
......@@ -248,7 +234,7 @@ def get_results(query, request, filters={}):
# Switch ports
if '6' in aff and request.user.has_perms(('cableur',)):
filter_switch_ports_list = Q(
filter_ports_list = Q(
room__name__icontains=query
) | Q(
machine_interface__domain__name__icontains=query
......@@ -262,10 +248,10 @@ def get_results(query, request, filters={}):
details__icontains=query
)
if is_int(query):
filter_switch_ports_list |= Q(
filter_ports_list |= Q(
port=query
)
results['switch_ports_list'] = Port.objects.filter(filter_switch_ports_list)
results['switch_ports_list'] = Port.objects.filter(filter_ports_list)
results['switch_ports_list'] = SortTable.sort(
results['switch_ports_list'],
request.GET.get('col'),
......@@ -275,7 +261,7 @@ def get_results(query, request, filters={}):
# Switches
if '7' in aff and request.user.has_perms(('cableur',)):
filter_switches = Q(
filter_switches_list = Q(
switch_interface__domain__name__icontains=query
) | Q(
switch_interface__ipv4__ipv4__icontains=query
......@@ -291,12 +277,12 @@ def get_results(query, request, filters={}):
details__icontains=query
)
if is_int(query):
filter_switch_ports_list |= Q(
filter_switches_list |= Q(
number=query
) | Q(
stack_member_id=query
)
results['switches_list'] = Switch.objects.filter(filter_switches)
results['switches_list'] = Switch.objects.filter(filter_switches_list)
results['switches_list'] = SortTable.sort(
results['switches_list'],
request.GET.get('col'),
......@@ -304,16 +290,18 @@ def get_results(query, request, filters={}):
SortTable.TOPOLOGIE_INDEX
)
for r in results.keys():
results[r] = results[r].distinct()[:max_result]
for name, val in results.items():
results[name] = val.distinct()[:max_result]
results.update({'max_result': max_result})
results.update({'search_term': query})
return results
@login_required
def search(request):
""" La page de recherche standard """
search_form = SearchForm(request.GET or None)
if search_form.is_valid():
return render(
......@@ -325,10 +313,12 @@ def search(request):
search_form.cleaned_data
)
)
return render(request, 'search/search.html', {'search_form' : search_form})
return render(request, 'search/search.html', {'search_form': search_form})
@login_required
def searchp(request):
""" La page de recherche avancée """
search_form = SearchFormPlus(request.GET or None)
if search_form.is_valid():
return render(
......@@ -340,4 +330,4 @@ def searchp(request):
search_form.cleaned_data
)
)
return render(request, 'search/search.html', {'search_form' : search_form})
return render(request, 'search/search.html', {'search_form': search_form})
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment