diff --git a/users/forms.py b/users/forms.py
index 81904f9..55d625e 100644
--- a/users/forms.py
+++ b/users/forms.py
@@ -3,6 +3,7 @@ from django.forms import ModelForm
from .models import User, ContractorFinancialInfo
from common.models import Location
+from projects.models import BuildingClassfication, ConstructionType
from specializations.models import Specialization
@@ -61,6 +62,11 @@ class ContractorFilterForm(forms.ModelForm):
required=False,
)
+ building_classification = forms.ModelChoiceField(
+ queryset=BuildingClassfication.objects,
+ required=False,
+ )
+
class Meta:
model = User
diff --git a/users/templates/contractor_filter.html b/users/templates/contractor_filter.html
index 827e5b7..1c26209 100644
--- a/users/templates/contractor_filter.html
+++ b/users/templates/contractor_filter.html
@@ -102,13 +102,18 @@
-
Foooooooo
+
Классификация здания
+{#
Вид строительства
#}
-
+ {{ form.building_classification }}
+
+{#
#}
+{# {{ realty_form.construction_type }}#}
+{#
#}
@@ -234,6 +239,7 @@
-->Specializations: {{ contractor.contractor_specializations.all }}
Location: {{ contractor.location }}
Build. classif.: {% for o in contractor.orders.all %}{{ o.project.realty.building_classification }},{% endfor %}
{% endif %}
diff --git a/users/views.py b/users/views.py
index 05b1847..b2633e0 100644
--- a/users/views.py
+++ b/users/views.py
@@ -34,16 +34,13 @@ class UserListView(ListView):
class ContractorFilterView(BaseMixin, View):
template_name = 'contractor_filter.html'
form_class = ContractorFilterForm
- # realty_form = ProjectFilterRealtyForm
def get(self, request, *args, **kwargs):
form = self.form_class(request.GET, request=request)
- # realty_form = self.realty_form(request.GET, request=request, prefix='realty_form')
context = self.get_context_data(**_.merge({}, request.GET, kwargs))
contractors = User.contractor_objects
- # if form.is_valid() and realty_form.is_valid():
if form.is_valid():
# keywords = form.cleaned_data.get('keywords')
# cro = form.cleaned_data.get('cro')
@@ -54,6 +51,8 @@ class ContractorFilterView(BaseMixin, View):
# construction_type = realty_form.cleaned_data.get('construction_type')
location = form.cleaned_data.get('location')
+ build_classif = form.cleaned_data.get('building_classification')
+
# if keywords:
# keywords = tuple(filter(None, re.split(r'\s|,|;', keywords)))
#
@@ -85,6 +84,10 @@ class ContractorFilterView(BaseMixin, View):
location__rght__lte=location.rght,
)
+ if build_classif:
+ contractors = contractors.filter(orders__project__realty__building_classification=build_classif)
+
+
# order_by = form.cleaned_data.get('order_by')
# last_order_by = form.cleaned_data.get('last_order_by')
# reverse_order = form.cleaned_data.get('reverse_order')