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')