#ARC-21 Multilevel elations filter

remotes/origin/setup
ArturBaybulatov 10 years ago
parent 6a12f2dd62
commit ec8da23d62
  1. 6
      users/forms.py
  2. 10
      users/templates/contractor_filter.html
  3. 9
      users/views.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

@ -102,13 +102,18 @@
<div class="slideRes disTab activeSlide">
<div class="titleF1 disTab">
<div class="col-lg-3">Foooooooo</div>
<div class="col-lg-3">Классификация здания</div>
{# <div class="col-lg-3">Вид строительства</div>#}
</div>
<div class="polsF1 disTab">
<div class="col-lg-3">
<input type="hidden" class="-spec-select -spec-select-level-4" style="width: 100%">
{{ form.building_classification }}
</div>
{# <div class="col-lg-3">#}
{# {{ realty_form.construction_type }}#}
{# </div>#}
</div>
</div>
@ -234,6 +239,7 @@
-->Specializations: {{ contractor.contractor_specializations.all }}<br><!--
--><br><!--
-->Location: {{ contractor.location }}<br><!--
-->Build. classif.: {% for o in contractor.orders.all %}{{ o.project.realty.building_classification }},{% endfor %}<br><!--
--></pre>
</div>
{% endif %}

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

Loading…
Cancel
Save