You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
3.1 KiB
109 lines
3.1 KiB
from rest_framework_filters import FilterSet, RelatedFilter, AllLookupsFilter
|
|
|
|
from .models import Project, Stage, Order, Realty, BuildingClassfication, ConstructionType, Portfolio, PortfolioPhoto
|
|
|
|
|
|
class BuildingClassficationFilterSet(FilterSet):
|
|
id = AllLookupsFilter()
|
|
name = AllLookupsFilter()
|
|
|
|
class Meta:
|
|
model = BuildingClassfication
|
|
|
|
|
|
class ConstructionTypeFilterSet(FilterSet):
|
|
id = AllLookupsFilter()
|
|
name = AllLookupsFilter()
|
|
|
|
class Meta:
|
|
model = ConstructionType
|
|
|
|
|
|
class ProjectFilterSet(FilterSet):
|
|
budget = AllLookupsFilter()
|
|
budget_by_agreement = AllLookupsFilter()
|
|
created = AllLookupsFilter()
|
|
cro = AllLookupsFilter()
|
|
currency = AllLookupsFilter()
|
|
deal_type = AllLookupsFilter()
|
|
name = AllLookupsFilter()
|
|
price_and_term_required = AllLookupsFilter()
|
|
state = AllLookupsFilter()
|
|
term = AllLookupsFilter()
|
|
term_type = AllLookupsFilter()
|
|
text = AllLookupsFilter()
|
|
work_type = AllLookupsFilter()
|
|
|
|
customer = RelatedFilter('users.filters.UserFilterSet')
|
|
realty = RelatedFilter('projects.filters.RealtyFilterSet')
|
|
specialization = RelatedFilter('specializations.filters.SpecializationFilterSet')
|
|
|
|
class Meta:
|
|
model = Project
|
|
|
|
|
|
class OrderFilterSet(FilterSet):
|
|
id = AllLookupsFilter()
|
|
contractor = RelatedFilter('users.filters.UserFilterSet')
|
|
team = RelatedFilter('users.filters.TeamFilterSet')
|
|
created = AllLookupsFilter()
|
|
project = RelatedFilter('projects.filters.ProjectFilterSet')
|
|
secure = AllLookupsFilter()
|
|
status = AllLookupsFilter()
|
|
|
|
class Meta:
|
|
model = Order
|
|
|
|
|
|
class StageFilterSet(FilterSet):
|
|
id = AllLookupsFilter()
|
|
name = AllLookupsFilter()
|
|
result = AllLookupsFilter()
|
|
cost = AllLookupsFilter()
|
|
term = AllLookupsFilter()
|
|
cost_type = AllLookupsFilter()
|
|
term_type = AllLookupsFilter()
|
|
status = AllLookupsFilter()
|
|
pos = AllLookupsFilter()
|
|
order = RelatedFilter('projects.filters.OrderFilterSet')
|
|
is_paid = AllLookupsFilter()
|
|
|
|
class Meta:
|
|
model = Stage
|
|
|
|
|
|
class RealtyFilterSet(FilterSet):
|
|
id = AllLookupsFilter()
|
|
name = AllLookupsFilter()
|
|
|
|
building_classification = RelatedFilter('projects.filters.BuildingClassficationFilterSet')
|
|
construction_type = RelatedFilter('projects.filters.ConstructionTypeFilterSet')
|
|
location = RelatedFilter('common.filters.LocationFilterSet')
|
|
user = RelatedFilter('users.filters.UserFilterSet')
|
|
|
|
class Meta:
|
|
model = Realty
|
|
|
|
|
|
class PortfolioPhotoFilterSet(FilterSet):
|
|
id = AllLookupsFilter()
|
|
portfolio = RelatedFilter('projects.filters.PortfolioFilterSet')
|
|
# img = ???
|
|
|
|
class Meta:
|
|
model = PortfolioPhoto
|
|
|
|
|
|
class PortfolioFilterSet(FilterSet):
|
|
budget = AllLookupsFilter()
|
|
currency = AllLookupsFilter()
|
|
id = AllLookupsFilter()
|
|
name = AllLookupsFilter()
|
|
term = AllLookupsFilter()
|
|
term_type = AllLookupsFilter()
|
|
|
|
photos = RelatedFilter('projects.filters.PortfolioPhotoFilterSet')
|
|
user = RelatedFilter('users.filters.UserFilterSet')
|
|
|
|
class Meta:
|
|
model = Portfolio
|
|
|