#50 Overlaying geometries KOM + OEK
* removes unused messages * adds geometry conflict message rendering for KOM and OEK * removes unused methods in GeoReferencedMixin * generalizes geometrical lookup for conflicts from overlaps to intersects
This commit is contained in:
@@ -21,8 +21,7 @@ from ema.settings import EMA_ACCOUNT_IDENTIFIER_LENGTH, EMA_ACCOUNT_IDENTIFIER_T
|
||||
from intervention.settings import INTERVENTION_IDENTIFIER_LENGTH, INTERVENTION_IDENTIFIER_TEMPLATE
|
||||
from konova.utils import generators
|
||||
from konova.utils.generators import generate_random_string
|
||||
from konova.utils.message_templates import CHECKED_RECORDED_RESET, GEOMETRY_OVERLAPS_WITH_TEMPLATE, \
|
||||
GEOMETRY_OVERLAPPED_BY_TEMPLATE
|
||||
from konova.utils.message_templates import CHECKED_RECORDED_RESET, GEOMETRY_CONFLICT_WITH_TEMPLATE
|
||||
from user.models import UserActionLogEntry, UserAction
|
||||
|
||||
|
||||
@@ -421,26 +420,21 @@ class GeoReferencedMixin(models.Model):
|
||||
class Meta:
|
||||
abstract = True
|
||||
|
||||
def _set_overlapping_message(self, request: HttpRequest):
|
||||
geom_conflicts = self.geometry.conflicts_geometries.all()
|
||||
if geom_conflicts:
|
||||
data_objs = []
|
||||
for conflict in geom_conflicts:
|
||||
data_objs += conflict.existing_geometry.get_data_objects()
|
||||
data_identifiers = [x.identifier for x in data_objs]
|
||||
data_identifiers = ", ".join(data_identifiers)
|
||||
message_str = GEOMETRY_OVERLAPS_WITH_TEMPLATE.format(data_identifiers)
|
||||
def _set_geometry_conflict_message(self, request: HttpRequest):
|
||||
instance_objs = []
|
||||
add_message = False
|
||||
conflicts = self.geometry.conflicts_geometries.all()
|
||||
for conflict in conflicts:
|
||||
instance_objs += conflict.existing_geometry.get_data_objects()
|
||||
add_message = True
|
||||
conflicts = self.geometry.conflicted_by_geometries.all()
|
||||
for conflict in conflicts:
|
||||
instance_objs += conflict.conflicting_geometry.get_data_objects()
|
||||
add_message = True
|
||||
|
||||
if add_message:
|
||||
instance_identifiers = [x.identifier for x in instance_objs]
|
||||
instance_identifiers = ", ".join(instance_identifiers)
|
||||
message_str = GEOMETRY_CONFLICT_WITH_TEMPLATE.format(instance_identifiers)
|
||||
messages.info(request, message_str)
|
||||
return request
|
||||
|
||||
def _set_overlapped_by_message(self, request: HttpRequest):
|
||||
geom_conflicts = self.geometry.conflicted_by_geometries.all()
|
||||
if geom_conflicts:
|
||||
data_objs = []
|
||||
for conflict in geom_conflicts:
|
||||
data_objs += conflict.conflicting_geometry.get_data_objects()
|
||||
data_identifiers = [x.identifier for x in data_objs]
|
||||
data_identifiers = ", ".join(data_identifiers)
|
||||
message_str = GEOMETRY_OVERLAPPED_BY_TEMPLATE.format(data_identifiers)
|
||||
messages.info(request, message_str)
|
||||
return request
|
||||
Reference in New Issue
Block a user