@ -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 intervention . settings import INTERVENTION_IDENTIFIER_LENGTH , INTERVENTION_IDENTIFIER_TEMPLATE
from konova . utils import generators
from konova . utils import generators
from konova . utils . generators import generate_random_string
from konova . utils . generators import generate_random_string
from konova . utils . message_templates import CHECKED_RECORDED_RESET , GEOMETRY_OVERLAPS_WITH_TEMPLATE , \
from konova . utils . message_templates import CHECKED_RECORDED_RESET , GEOMETRY_CONFLICT_WITH_TEMPLATE
GEOMETRY_OVERLAPPED_BY_TEMPLATE
from user . models import UserActionLogEntry , UserAction
from user . models import UserActionLogEntry , UserAction
@ -421,26 +420,21 @@ class GeoReferencedMixin(models.Model):
class Meta :
class Meta :
abstract = True
abstract = True
def _set_overlapping_message ( self , request : HttpRequest ) :
def _set_geometry_conflict_message ( self , request : HttpRequest ) :
geom_conflicts = self . geometry . conflicts_geometries . all ( )
instance_objs = [ ]
if geom_conflicts :
add_message = False
data_objs = [ ]
conflicts = self . geometry . conflicts_geometries . all ( )
for conflict in geom_conflicts :
for conflict in conflicts :
data_objs + = conflict . existing_geometry . get_data_objects ( )
instance_objs + = conflict . existing_geometry . get_data_objects ( )
data_identifiers = [ x . identifier for x in data_objs ]
add_message = True
data_identifiers = " , " . join ( data_identifiers )
conflicts = self . geometry . conflicted_by_geometries . all ( )
message_str = GEOMETRY_OVERLAPS_WITH_TEMPLATE . format ( data_identifiers )
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 )
messages . info ( request , message_str )
return request
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