# 86 LANIS link fix
* simplifies creation of LANIS link by refactoring into super class
This commit is contained in:
parent
6ea66180d1
commit
a096b2a413
@ -331,28 +331,6 @@ class Compensation(AbstractCompensation, CEFMixin, CoherenceMixin):
|
|||||||
"""
|
"""
|
||||||
return self.intervention.users.all()
|
return self.intervention.users.all()
|
||||||
|
|
||||||
def get_LANIS_link(self) -> str:
|
|
||||||
""" Generates a link for LANIS depending on the geometry
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
|
|
||||||
"""
|
|
||||||
try:
|
|
||||||
geom = self.geometry.geom.transform(DEFAULT_SRID_RLP, clone=True)
|
|
||||||
x = geom.centroid.x
|
|
||||||
y = geom.centroid.y
|
|
||||||
zoom_lvl = 16
|
|
||||||
except AttributeError:
|
|
||||||
# If no geometry has been added, yet.
|
|
||||||
x = 1
|
|
||||||
y = 1
|
|
||||||
zoom_lvl = 6
|
|
||||||
return LANIS_LINK_TEMPLATE.format(
|
|
||||||
zoom_lvl,
|
|
||||||
x,
|
|
||||||
y,
|
|
||||||
)
|
|
||||||
|
|
||||||
def get_documents(self) -> QuerySet:
|
def get_documents(self) -> QuerySet:
|
||||||
""" Getter for all documents of a compensation
|
""" Getter for all documents of a compensation
|
||||||
|
|
||||||
|
@ -123,28 +123,6 @@ class EcoAccount(AbstractCompensation, ShareableObjectMixin, RecordableObjectMix
|
|||||||
|
|
||||||
return ret_val_total, ret_val_relative
|
return ret_val_total, ret_val_relative
|
||||||
|
|
||||||
def get_LANIS_link(self) -> str:
|
|
||||||
""" Generates a link for LANIS depending on the geometry
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
|
|
||||||
"""
|
|
||||||
try:
|
|
||||||
geom = self.geometry.geom.transform(DEFAULT_SRID_RLP, clone=True)
|
|
||||||
x = geom.centroid.x
|
|
||||||
y = geom.centroid.y
|
|
||||||
zoom_lvl = 16
|
|
||||||
except AttributeError:
|
|
||||||
# If no geometry has been added, yet.
|
|
||||||
x = 1
|
|
||||||
y = 1
|
|
||||||
zoom_lvl = 6
|
|
||||||
return LANIS_LINK_TEMPLATE.format(
|
|
||||||
zoom_lvl,
|
|
||||||
x,
|
|
||||||
y,
|
|
||||||
)
|
|
||||||
|
|
||||||
def quality_check(self) -> EcoAccountQualityChecker:
|
def quality_check(self) -> EcoAccountQualityChecker:
|
||||||
""" Quality check
|
""" Quality check
|
||||||
|
|
||||||
|
@ -51,28 +51,6 @@ class Ema(AbstractCompensation, ShareableObjectMixin, RecordableObjectMixin):
|
|||||||
self.identifier = new_id
|
self.identifier = new_id
|
||||||
super().save(*args, **kwargs)
|
super().save(*args, **kwargs)
|
||||||
|
|
||||||
def get_LANIS_link(self) -> str:
|
|
||||||
""" Generates a link for LANIS depending on the geometry
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
|
|
||||||
"""
|
|
||||||
try:
|
|
||||||
geom = self.geometry.geom.transform(DEFAULT_SRID_RLP, clone=True)
|
|
||||||
x = geom.centroid.x
|
|
||||||
y = geom.centroid.y
|
|
||||||
zoom_lvl = 16
|
|
||||||
except AttributeError:
|
|
||||||
# If no geometry has been added, yet.
|
|
||||||
x = 1
|
|
||||||
y = 1
|
|
||||||
zoom_lvl = 6
|
|
||||||
return LANIS_LINK_TEMPLATE.format(
|
|
||||||
zoom_lvl,
|
|
||||||
x,
|
|
||||||
y,
|
|
||||||
)
|
|
||||||
|
|
||||||
def quality_check(self) -> EmaQualityChecker:
|
def quality_check(self) -> EmaQualityChecker:
|
||||||
""" Quality check
|
""" Quality check
|
||||||
|
|
||||||
|
@ -100,34 +100,6 @@ class Intervention(BaseObject, ShareableObjectMixin, RecordableObjectMixin, Chec
|
|||||||
checker.run_check()
|
checker.run_check()
|
||||||
return checker
|
return checker
|
||||||
|
|
||||||
def get_LANIS_link(self) -> str:
|
|
||||||
""" Generates a link for LANIS depending on the geometry
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
|
|
||||||
"""
|
|
||||||
try:
|
|
||||||
geom = self.geometry.geom.transform(DEFAULT_SRID_RLP, clone=True)
|
|
||||||
x = geom.centroid.x
|
|
||||||
y = geom.centroid.y
|
|
||||||
area = int(geom.envelope.area)
|
|
||||||
z_l = 16
|
|
||||||
for k_area, v_zoom in LANIS_ZOOM_LUT.items():
|
|
||||||
if k_area < area:
|
|
||||||
z_l = v_zoom
|
|
||||||
break
|
|
||||||
zoom_lvl = z_l
|
|
||||||
except (AttributeError, IndexError) as e:
|
|
||||||
# If no geometry has been added, yet.
|
|
||||||
x = 1
|
|
||||||
y = 1
|
|
||||||
zoom_lvl = 6
|
|
||||||
return LANIS_LINK_TEMPLATE.format(
|
|
||||||
zoom_lvl,
|
|
||||||
x,
|
|
||||||
y,
|
|
||||||
)
|
|
||||||
|
|
||||||
def get_documents(self) -> (QuerySet, QuerySet):
|
def get_documents(self) -> (QuerySet, QuerySet):
|
||||||
""" Getter for all documents of an intervention
|
""" Getter for all documents of an intervention
|
||||||
|
|
||||||
|
@ -12,6 +12,7 @@ from abc import abstractmethod
|
|||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
from django.db.models import QuerySet
|
from django.db.models import QuerySet
|
||||||
|
|
||||||
|
from konova.sub_settings.lanis_settings import DEFAULT_SRID_RLP, LANIS_ZOOM_LUT, LANIS_LINK_TEMPLATE
|
||||||
from konova.tasks import celery_send_mail_shared_access_removed, celery_send_mail_shared_access_given, \
|
from konova.tasks import celery_send_mail_shared_access_removed, celery_send_mail_shared_access_given, \
|
||||||
celery_send_mail_shared_data_recorded, celery_send_mail_shared_data_unrecorded, \
|
celery_send_mail_shared_data_recorded, celery_send_mail_shared_data_unrecorded, \
|
||||||
celery_send_mail_shared_data_deleted, celery_send_mail_shared_data_checked
|
celery_send_mail_shared_data_deleted, celery_send_mail_shared_data_checked
|
||||||
@ -544,3 +545,31 @@ class GeoReferencedMixin(models.Model):
|
|||||||
message_str = GEOMETRY_CONFLICT_WITH_TEMPLATE.format(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 get_LANIS_link(self) -> str:
|
||||||
|
""" Generates a link for LANIS depending on the geometry
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
geom = self.geometry.geom.transform(DEFAULT_SRID_RLP, clone=True)
|
||||||
|
x = geom.centroid.x
|
||||||
|
y = geom.centroid.y
|
||||||
|
area = int(geom.envelope.area)
|
||||||
|
z_l = 16
|
||||||
|
for k_area, v_zoom in LANIS_ZOOM_LUT.items():
|
||||||
|
if k_area < area:
|
||||||
|
z_l = v_zoom
|
||||||
|
break
|
||||||
|
zoom_lvl = z_l
|
||||||
|
except (AttributeError, IndexError) as e:
|
||||||
|
# If no geometry has been added, yet.
|
||||||
|
x = 1
|
||||||
|
y = 1
|
||||||
|
zoom_lvl = 6
|
||||||
|
return LANIS_LINK_TEMPLATE.format(
|
||||||
|
zoom_lvl,
|
||||||
|
x,
|
||||||
|
y,
|
||||||
|
)
|
Loading…
Reference in New Issue
Block a user