-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathviews.py
90 lines (63 loc) · 2.21 KB
/
views.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
from django.views.generic import ListView
from django.shortcuts import render, redirect
from .models import ProjetoDeLei, ExPresidente, Pagina
from .forms import ESICForm, OuvidoriaForm
# Create your views here.
def index(request):
template = "index.html"
return render(request, template)
def municipio(request):
template = "app/municipio.html"
return render(request, template)
def ouvidoria(request):
template = "app/ouvidoria.html"
context = {}
form = OuvidoriaForm()
context["form"] = form
if request.method == "POST":
context["form_sended"] = True
return render(request, template, context)
def esic(request):
template = "app/esic.html"
context = {}
form = ESICForm()
context["form"] = form
if request.method == "POST":
context["form_sended"] = True
return render(request, template, context)
class ExPresidentesView(ListView):
model = ExPresidente
template_name = "app/ex-presidentes.html"
context_object_name = "object_list"
paginate_by = 12
class ProjetosDeLeiView(ListView):
model = ProjetoDeLei
template_name = "app/projetos-de-lei.html"
context_object_name = "object_list"
paginate_by = 5
def get_queryset(self):
queryset = super().get_queryset()
search = self.request.GET.get("search")
ano = self.request.GET.get("ano")
if search:
queryset = queryset.filter(numero__icontains=search) | queryset.filter(
descricao__icontains=search
)
if ano:
queryset = queryset.filter(ano=int(ano))
queryset = queryset.order_by("-ano")
return queryset
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context["anos"] = ["2021", "2022", "2023", "2024"]
context["search"] = self.request.GET.get("search", "")
context["ano_selected"] = self.request.GET.get("ano")
return context
def search_pages(request):
template = "search.html"
context = {}
query = request.GET.get("q", "")
context["query"] = query
pages = Pagina.objects.filter(nome__icontains=query)
context["pages"] = pages
return render(request, template, context)