Skip to content

Commit

Permalink
Merge pull request #199 from ertush/dev
Browse files Browse the repository at this point in the history
Reverted back with some old changes
  • Loading branch information
ertush authored Oct 25, 2024
2 parents 5aea8df + e366d3b commit e05a524
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 40 deletions.
6 changes: 0 additions & 6 deletions common/models/model_declarations.py
Original file line number Diff line number Diff line change
Expand Up @@ -215,12 +215,6 @@ class SubCounty(AdministrativeUnitBase):
"""
county = models.ForeignKey(County, on_delete=models.PROTECT)

@property
def sub_county_bound(self):
from mfl_gis.models import SubCountyBoundary
unit = SubCountyBoundary.objects.filter(area=self)
return unit[0].bound if len(unit) else {}

def __str__(self):
return self.name

Expand Down
41 changes: 7 additions & 34 deletions mfl_gis/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from django.contrib.gis.geos import MultiPolygon
from django.utils import timezone, encoding
from rest_framework.exceptions import ValidationError
from common.models import AbstractBase, County, Constituency, SubCounty, Ward
from common.models import AbstractBase, County, Constituency, Ward
from facilities.models import Facility


Expand Down Expand Up @@ -57,11 +57,8 @@ def _validate_within_boundaries(self, boundary_model, area, raise_not_found=True
]
})

# def validate_long_and_lat_within_constituency(self, constituency):
# return self._validate_within_boundaries(ConstituencyBoundary, constituency)
def validate_long_and_lat_within_sub_county(self, sub_county):
return self._validate_within_boundaries(SubCountyBoundary, sub_county)

def validate_long_and_lat_within_constituency(self, constituency):
return self._validate_within_boundaries(ConstituencyBoundary, constituency)

def validate_long_and_lat_within_county(self, county):
return self._validate_within_boundaries(CountyBoundary, county)
Expand Down Expand Up @@ -211,15 +208,15 @@ def clean(self):
areas_passed += 1


if self.validate_long_and_lat_within_sub_county(
self.facility.ward.sub_county):
areas_passed += 1
# if self.validate_long_and_lat_within_constituency(
# self.facility.ward.constituency):
# areas_passed += 1

if self.validate_long_and_lat_within_ward(
self.facility.ward):
areas_passed += 1

if areas_passed < 2:
if areas_passed < 1:
raise ValidationError({
"coordinates": [
"The coordinates did not validate"
Expand Down Expand Up @@ -415,30 +412,6 @@ class Meta(GISAbstractBase.Meta):
verbose_name_plural = 'constituency boundaries'


@reversion.register(follow=['area'])
@encoding.python_2_unicode_compatible
class SubCountyBoundary(AdministrativeUnitBoundary):
area = gis_models.OneToOneField(SubCounty)

def __str__(self):
return self.name

@property
def ward_ids(self):
return Ward.objects.filter(
sub_county=self.area).values_list('id', flat=True)

@property
def ward_boundary_ids(self):
ward_boundary_ids = WardBoundary.objects.filter(
area__id__in=self.ward_ids
).values_list('id', flat=True)
return ward_boundary_ids

class Meta(GISAbstractBase.Meta):
verbose_name_plural = 'sub_county boundaries'


@reversion.register(follow=['area'])
@encoding.python_2_unicode_compatible
class WardBoundary(AdministrativeUnitBoundary):
Expand Down

0 comments on commit e05a524

Please sign in to comment.