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.
 
 
 
 
 
 

150 lines
4.1 KiB

from rest_framework_filters import FilterSet, RelatedFilter, AllLookupsFilter
from .models import (
Answer,
BuildingClassfication,
ConstructionType,
Order,
Portfolio,
PortfolioPhoto,
Project,
Realty,
Stage,
)
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()
id = AllLookupsFilter()
name = AllLookupsFilter()
price_and_term_required = AllLookupsFilter()
state = AllLookupsFilter()
term = AllLookupsFilter()
term_type = AllLookupsFilter()
text = AllLookupsFilter()
work_type = AllLookupsFilter()
answers = RelatedFilter('projects.filters.AnswerFilterSet')
customer = RelatedFilter('users.filters.UserFilterSet')
order = RelatedFilter('projects.filters.OrderFilterSet')
realty = RelatedFilter('projects.filters.RealtyFilterSet')
specialization = RelatedFilter('specializations.filters.SpecializationFilterSet')
class Meta:
model = Project
class AnswerFilterSet(FilterSet):
budget = AllLookupsFilter()
created = AllLookupsFilter()
currency = AllLookupsFilter()
id = AllLookupsFilter()
is_archive = AllLookupsFilter()
object_id = AllLookupsFilter()
rejected = AllLookupsFilter()
secure_deal_only = AllLookupsFilter()
term = AllLookupsFilter()
term_type = AllLookupsFilter()
# author = ... # ???
# messages = RelatedFilter('...')
content_type = RelatedFilter('common.filters.ContentTypeFilterSet')
contractors = RelatedFilter('users.filters.UserFilterSet')
portfolios = RelatedFilter('projects.filters.PortfolioFilterSet')
project = RelatedFilter('projects.filters.ProjectFilterSet')
teams = RelatedFilter('users.filters.TeamFilterSet')
class Meta:
model = Answer
class OrderFilterSet(FilterSet):
created = AllLookupsFilter()
id = AllLookupsFilter()
secure = AllLookupsFilter()
status = AllLookupsFilter()
contractor = RelatedFilter('users.filters.UserFilterSet')
project = RelatedFilter('projects.filters.ProjectFilterSet')
team = RelatedFilter('users.filters.TeamFilterSet')
class Meta:
model = Order
class StageFilterSet(FilterSet):
cost = AllLookupsFilter()
cost_type = AllLookupsFilter()
id = AllLookupsFilter()
is_paid = AllLookupsFilter()
name = AllLookupsFilter()
pos = AllLookupsFilter()
result = AllLookupsFilter()
status = AllLookupsFilter()
term = AllLookupsFilter()
term_type = AllLookupsFilter()
order = RelatedFilter('projects.filters.OrderFilterSet')
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