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