Reviewed-on: SGD-Nord/konova#301
This commit is contained in:
		
						commit
						ede2591cb0
					
				@ -276,6 +276,22 @@ class Geometry(BaseResource):
 | 
			
		||||
 | 
			
		||||
        return parcels
 | 
			
		||||
 | 
			
		||||
    def get_underlying_municipals(self, parcels=None):
 | 
			
		||||
        """ Getter for related municipals
 | 
			
		||||
 | 
			
		||||
        If no QuerySet of parcels is provided, the parcels will be fetched
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
            municipals (QuerySet): The related municipals as queryset
 | 
			
		||||
        """
 | 
			
		||||
        from konova.models import Municipal
 | 
			
		||||
 | 
			
		||||
        if parcels is None:
 | 
			
		||||
            parcels = self.get_underlying_parcels()
 | 
			
		||||
        municipals = parcels.order_by("municipal").distinct("municipal").values("municipal__id")
 | 
			
		||||
        municipals = Municipal.objects.filter(id__in=municipals).order_by("name")
 | 
			
		||||
        return municipals
 | 
			
		||||
 | 
			
		||||
    def count_underlying_parcels(self):
 | 
			
		||||
        """ Getter for number of underlying parcels
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -120,13 +120,14 @@ class DeletableObjectMixin(models.Model):
 | 
			
		||||
            if send_mail:
 | 
			
		||||
                # Send mail
 | 
			
		||||
                shared_users = self.shared_users.values_list("id", flat=True)
 | 
			
		||||
                municipals_names = list(self.geometry.get_underlying_municipals().values_list("name", flat=True))
 | 
			
		||||
                for user_id in shared_users:
 | 
			
		||||
                    celery_send_mail_shared_data_deleted.delay(self.identifier, self.title, user_id)
 | 
			
		||||
                    celery_send_mail_shared_data_deleted.delay(self.identifier, self.title, user_id, municipals_names)
 | 
			
		||||
 | 
			
		||||
                # Send mail
 | 
			
		||||
                shared_teams = self.shared_teams.values_list("id", flat=True)
 | 
			
		||||
                for team_id in shared_teams:
 | 
			
		||||
                    celery_send_mail_shared_data_deleted_team.delay(self.identifier, self.title, team_id)
 | 
			
		||||
                    celery_send_mail_shared_data_deleted_team.delay(self.identifier, self.title, team_id, municipals_names)
 | 
			
		||||
 | 
			
		||||
            self.save()
 | 
			
		||||
 | 
			
		||||
@ -277,12 +278,13 @@ class RecordableObjectMixin(models.Model):
 | 
			
		||||
 | 
			
		||||
        shared_users = self.shared_users.values_list("id", flat=True)
 | 
			
		||||
        shared_teams = self.shared_teams.values_list("id", flat=True)
 | 
			
		||||
        municipals_names = list(self.geometry.get_underlying_municipals().values_list("name", flat=True))
 | 
			
		||||
 | 
			
		||||
        for user_id in shared_users:
 | 
			
		||||
            celery_send_mail_shared_data_unrecorded.delay(self.identifier, self.title, user_id)
 | 
			
		||||
            celery_send_mail_shared_data_unrecorded.delay(self.identifier, self.title, user_id, municipals_names)
 | 
			
		||||
 | 
			
		||||
        for team_id in shared_teams:
 | 
			
		||||
            celery_send_mail_shared_data_unrecorded_team.delay(self.identifier, self.title, team_id)
 | 
			
		||||
            celery_send_mail_shared_data_unrecorded_team.delay(self.identifier, self.title, team_id, municipals_names)
 | 
			
		||||
 | 
			
		||||
        return action
 | 
			
		||||
 | 
			
		||||
@ -307,12 +309,13 @@ class RecordableObjectMixin(models.Model):
 | 
			
		||||
 | 
			
		||||
        shared_users = self.shared_users.values_list("id", flat=True)
 | 
			
		||||
        shared_teams = self.shared_teams.values_list("id", flat=True)
 | 
			
		||||
        municipals_names = list(self.geometry.get_underlying_municipals().values_list("name", flat=True))
 | 
			
		||||
 | 
			
		||||
        for user_id in shared_users:
 | 
			
		||||
            celery_send_mail_shared_data_recorded.delay(self.identifier, self.title, user_id)
 | 
			
		||||
            celery_send_mail_shared_data_recorded.delay(self.identifier, self.title, user_id, municipals_names)
 | 
			
		||||
 | 
			
		||||
        for team_id in shared_teams:
 | 
			
		||||
            celery_send_mail_shared_data_recorded_team.delay(self.identifier, self.title, team_id)
 | 
			
		||||
            celery_send_mail_shared_data_recorded_team.delay(self.identifier, self.title, team_id, municipals_names)
 | 
			
		||||
 | 
			
		||||
        return action
 | 
			
		||||
 | 
			
		||||
@ -404,15 +407,17 @@ class CheckableObjectMixin(models.Model):
 | 
			
		||||
        self.checked = action
 | 
			
		||||
        self.save()
 | 
			
		||||
 | 
			
		||||
        municipals_names = list(self.geometry.get_underlying_municipals().values_list("name", flat=True))
 | 
			
		||||
 | 
			
		||||
        # Send mail
 | 
			
		||||
        shared_users = self.shared_users.values_list("id", flat=True)
 | 
			
		||||
        for user_id in shared_users:
 | 
			
		||||
            celery_send_mail_shared_data_checked.delay(self.identifier, self.title, user_id)
 | 
			
		||||
            celery_send_mail_shared_data_checked.delay(self.identifier, self.title, user_id, municipals_names)
 | 
			
		||||
 | 
			
		||||
        # Send mail
 | 
			
		||||
        shared_teams = self.shared_teams.values_list("id", flat=True)
 | 
			
		||||
        for team_id in shared_teams:
 | 
			
		||||
            celery_send_mail_shared_data_checked_team.delay(self.identifier, self.title, team_id)
 | 
			
		||||
            celery_send_mail_shared_data_checked_team.delay(self.identifier, self.title, team_id, municipals_names)
 | 
			
		||||
 | 
			
		||||
        self.log.add(action)
 | 
			
		||||
        return action
 | 
			
		||||
@ -574,10 +579,11 @@ class ShareableObjectMixin(models.Model):
 | 
			
		||||
            id__in=shared_teams
 | 
			
		||||
        ).values_list("id", flat=True)
 | 
			
		||||
 | 
			
		||||
        municipals_names = list(self.geometry.get_underlying_municipals().values_list("name", flat=True))
 | 
			
		||||
        for team_id in new_teams:
 | 
			
		||||
            celery_send_mail_shared_access_given_team.delay(self.identifier, self.title,  team_id)
 | 
			
		||||
            celery_send_mail_shared_access_given_team.delay(self.identifier, self.title,  team_id, municipals_names)
 | 
			
		||||
        for team_id in removed_teams:
 | 
			
		||||
            celery_send_mail_shared_access_removed_team.delay(self.identifier, self.title, team_id)
 | 
			
		||||
            celery_send_mail_shared_access_removed_team.delay(self.identifier, self.title, team_id, municipals_names)
 | 
			
		||||
 | 
			
		||||
        self.share_with_team_list(accessing_teams)
 | 
			
		||||
 | 
			
		||||
@ -602,11 +608,12 @@ class ShareableObjectMixin(models.Model):
 | 
			
		||||
            id__in=shared_users
 | 
			
		||||
        ).values_list("id", flat=True)
 | 
			
		||||
 | 
			
		||||
        municipals_names = list(self.geometry.get_underlying_municipals().values_list("name", flat=True))
 | 
			
		||||
        # Send mails
 | 
			
		||||
        for user_id in removed_users:
 | 
			
		||||
            celery_send_mail_shared_access_removed.delay(self.identifier, self.title, user_id)
 | 
			
		||||
            celery_send_mail_shared_access_removed.delay(self.identifier, self.title, user_id, municipals_names)
 | 
			
		||||
        for user_id in new_users:
 | 
			
		||||
            celery_send_mail_shared_access_given.delay(self.identifier, self.title,  user_id)
 | 
			
		||||
            celery_send_mail_shared_access_given.delay(self.identifier, self.title,  user_id, municipals_names)
 | 
			
		||||
 | 
			
		||||
        # Set new shared users
 | 
			
		||||
        self.share_with_user_list(accessing_users)
 | 
			
		||||
@ -669,8 +676,9 @@ class ShareableObjectMixin(models.Model):
 | 
			
		||||
                default_users.append(user)
 | 
			
		||||
        self.share_with_user_list(cleaned_users)
 | 
			
		||||
 | 
			
		||||
        municipals_names = list(self.geometry.get_underlying_municipals().values_list("name", flat=True))
 | 
			
		||||
        for user in default_users:
 | 
			
		||||
            celery_send_mail_shared_access_removed.delay(self.identifier, self.title, user.id)
 | 
			
		||||
            celery_send_mail_shared_access_removed.delay(self.identifier, self.title, user.id, municipals_names)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class GeoReferencedMixin(models.Model):
 | 
			
		||||
@ -767,5 +775,6 @@ class ResubmitableObjectMixin(models.Model):
 | 
			
		||||
 | 
			
		||||
        """
 | 
			
		||||
        resubmissions = self.resubmissions.all()
 | 
			
		||||
        municipal_names = list(self.geometry.get_underlying_municipals().values_list("name", flat=True))
 | 
			
		||||
        for resubmission in resubmissions:
 | 
			
		||||
            resubmission.send_resubmission_mail(self.identifier)
 | 
			
		||||
            resubmission.send_resubmission_mail(self.identifier, municipal_names)
 | 
			
		||||
 | 
			
		||||
@ -31,7 +31,7 @@ class Resubmission(BaseResource):
 | 
			
		||||
        help_text="Optional comment for the user itself"
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    def send_resubmission_mail(self, obj_identifier):
 | 
			
		||||
    def send_resubmission_mail(self, obj_identifier, municipal_names):
 | 
			
		||||
        """ Sends a resubmission mail
 | 
			
		||||
 | 
			
		||||
        """
 | 
			
		||||
@ -41,6 +41,6 @@ class Resubmission(BaseResource):
 | 
			
		||||
            return
 | 
			
		||||
 | 
			
		||||
        mailer = Mailer()
 | 
			
		||||
        mailer.send_mail_resubmission(obj_identifier, self)
 | 
			
		||||
        mailer.send_mail_resubmission(obj_identifier, self, municipal_names)
 | 
			
		||||
        self.resubmission_sent = True
 | 
			
		||||
        self.save()
 | 
			
		||||
 | 
			
		||||
@ -25,87 +25,87 @@ def celery_update_parcels(geometry_id: str, recheck: bool = True):
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@shared_task
 | 
			
		||||
def celery_send_mail_shared_access_removed(obj_identifier, obj_title=None, user_id=None):
 | 
			
		||||
def celery_send_mail_shared_access_removed(obj_identifier, obj_title=None, user_id=None, municipals_names=[]):
 | 
			
		||||
    from user.models import User
 | 
			
		||||
    user = User.objects.get(id=user_id)
 | 
			
		||||
    user.send_mail_shared_access_removed(obj_identifier, obj_title)
 | 
			
		||||
    user.send_mail_shared_access_removed(obj_identifier, obj_title, municipals_names)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@shared_task
 | 
			
		||||
def celery_send_mail_shared_access_given(obj_identifier, obj_title=None, user_id=None):
 | 
			
		||||
def celery_send_mail_shared_access_given(obj_identifier, obj_title=None, user_id=None, municipals_names=[]):
 | 
			
		||||
    from user.models import User
 | 
			
		||||
    user = User.objects.get(id=user_id)
 | 
			
		||||
    user.send_mail_shared_access_given(obj_identifier, obj_title)
 | 
			
		||||
    user.send_mail_shared_access_given(obj_identifier, obj_title, municipals_names)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@shared_task
 | 
			
		||||
def celery_send_mail_shared_access_removed_team(obj_identifier, obj_title=None, team_id=None):
 | 
			
		||||
def celery_send_mail_shared_access_removed_team(obj_identifier, obj_title=None, team_id=None, municipals_names=[]):
 | 
			
		||||
    from user.models import Team
 | 
			
		||||
    team = Team.objects.get(id=team_id)
 | 
			
		||||
    team.send_mail_shared_access_removed(obj_identifier, obj_title)
 | 
			
		||||
    team.send_mail_shared_access_removed(obj_identifier, obj_title, municipals_names)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@shared_task
 | 
			
		||||
def celery_send_mail_shared_access_given_team(obj_identifier, obj_title=None, team_id=None):
 | 
			
		||||
def celery_send_mail_shared_access_given_team(obj_identifier, obj_title=None, team_id=None, municipals_names=[]):
 | 
			
		||||
    from user.models import Team
 | 
			
		||||
    team = Team.objects.get(id=team_id)
 | 
			
		||||
    team.send_mail_shared_access_given_team(obj_identifier, obj_title)
 | 
			
		||||
    team.send_mail_shared_access_given_team(obj_identifier, obj_title, municipals_names)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@shared_task
 | 
			
		||||
def celery_send_mail_shared_data_recorded(obj_identifier, obj_title=None, user_id=None):
 | 
			
		||||
def celery_send_mail_shared_data_recorded(obj_identifier, obj_title=None, user_id=None, municipals_names=[]):
 | 
			
		||||
    from user.models import User
 | 
			
		||||
    user = User.objects.get(id=user_id)
 | 
			
		||||
    user.send_mail_shared_data_recorded(obj_identifier, obj_title)
 | 
			
		||||
    user.send_mail_shared_data_recorded(obj_identifier, obj_title, municipals_names)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@shared_task
 | 
			
		||||
def celery_send_mail_shared_data_unrecorded(obj_identifier, obj_title=None, user_id=None):
 | 
			
		||||
def celery_send_mail_shared_data_unrecorded(obj_identifier, obj_title=None, user_id=None, municipals_names=[]):
 | 
			
		||||
    from user.models import User
 | 
			
		||||
    user = User.objects.get(id=user_id)
 | 
			
		||||
    user.send_mail_shared_data_unrecorded(obj_identifier, obj_title)
 | 
			
		||||
    user.send_mail_shared_data_unrecorded(obj_identifier, obj_title, municipals_names)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@shared_task
 | 
			
		||||
def celery_send_mail_shared_data_recorded_team(obj_identifier, obj_title=None, team_id=None):
 | 
			
		||||
def celery_send_mail_shared_data_recorded_team(obj_identifier, obj_title=None, team_id=None, municipals_names=[]):
 | 
			
		||||
    from user.models import Team
 | 
			
		||||
    team = Team.objects.get(id=team_id)
 | 
			
		||||
    team.send_mail_shared_data_recorded(obj_identifier, obj_title)
 | 
			
		||||
    team.send_mail_shared_data_recorded(obj_identifier, obj_title, municipals_names)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@shared_task
 | 
			
		||||
def celery_send_mail_shared_data_unrecorded_team(obj_identifier, obj_title=None, team_id=None):
 | 
			
		||||
def celery_send_mail_shared_data_unrecorded_team(obj_identifier, obj_title=None, team_id=None, municipals_names=[]):
 | 
			
		||||
    from user.models import Team
 | 
			
		||||
    team = Team.objects.get(id=team_id)
 | 
			
		||||
    team.send_mail_shared_data_unrecorded(obj_identifier, obj_title)
 | 
			
		||||
    team.send_mail_shared_data_unrecorded(obj_identifier, obj_title, municipals_names)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@shared_task
 | 
			
		||||
def celery_send_mail_shared_data_deleted(obj_identifier, obj_title=None, user_id=None):
 | 
			
		||||
def celery_send_mail_shared_data_deleted(obj_identifier, obj_title=None, user_id=None, municipals_names=[]):
 | 
			
		||||
    from user.models import User
 | 
			
		||||
    user = User.objects.get(id=user_id)
 | 
			
		||||
    user.send_mail_shared_data_deleted(obj_identifier, obj_title)
 | 
			
		||||
    user.send_mail_shared_data_deleted(obj_identifier, obj_title, municipals_names)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@shared_task
 | 
			
		||||
def celery_send_mail_shared_data_checked(obj_identifier, obj_title=None, user_id=None):
 | 
			
		||||
def celery_send_mail_shared_data_checked(obj_identifier, obj_title=None, user_id=None, municipals_names=[]):
 | 
			
		||||
    from user.models import User
 | 
			
		||||
    user = User.objects.get(id=user_id)
 | 
			
		||||
    user.send_mail_shared_data_checked(obj_identifier, obj_title)
 | 
			
		||||
    user.send_mail_shared_data_checked(obj_identifier, obj_title, municipals_names)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@shared_task
 | 
			
		||||
def celery_send_mail_shared_data_deleted_team(obj_identifier, obj_title=None, team_id=None):
 | 
			
		||||
def celery_send_mail_shared_data_deleted_team(obj_identifier, obj_title=None, team_id=None, municipals_names=[]):
 | 
			
		||||
    from user.models import Team
 | 
			
		||||
    team = Team.objects.get(id=team_id)
 | 
			
		||||
    team.send_mail_shared_data_deleted(obj_identifier, obj_title)
 | 
			
		||||
    team.send_mail_shared_data_deleted(obj_identifier, obj_title, municipals_names)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@shared_task
 | 
			
		||||
def celery_send_mail_shared_data_checked_team(obj_identifier, obj_title=None, team_id=None):
 | 
			
		||||
def celery_send_mail_shared_data_checked_team(obj_identifier, obj_title=None, team_id=None, municipals_names=[]):
 | 
			
		||||
    from user.models import Team
 | 
			
		||||
    team = Team.objects.get(id=team_id)
 | 
			
		||||
    team.send_mail_shared_data_checked(obj_identifier, obj_title)
 | 
			
		||||
    team.send_mail_shared_data_checked(obj_identifier, obj_title, municipals_names)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@shared_task
 | 
			
		||||
 | 
			
		||||
@ -45,12 +45,14 @@ class Mailer:
 | 
			
		||||
            auth_password=self.auth_password
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_access_removed(self, obj_identifier, obj_title, user):
 | 
			
		||||
    def send_mail_shared_access_removed(self, obj_identifier, obj_title, user, municipals_names):
 | 
			
		||||
        """ Send a mail if user has no access to the object anymore
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
            obj_identifier (str): The object identifier
 | 
			
		||||
            obj_title (str): The object title
 | 
			
		||||
            user (User): Related user
 | 
			
		||||
            municipals_names (iterable): List of municipals of the entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -59,6 +61,7 @@ class Mailer:
 | 
			
		||||
            "user": user,
 | 
			
		||||
            "obj_identifier": obj_identifier,
 | 
			
		||||
            "obj_title": obj_title,
 | 
			
		||||
            "municipals_names": municipals_names,
 | 
			
		||||
            "EMAIL_REPLY_TO": EMAIL_REPLY_TO,
 | 
			
		||||
        }
 | 
			
		||||
        msg = render_to_string("email/sharing/shared_access_removed.html", context)
 | 
			
		||||
@ -69,11 +72,14 @@ class Mailer:
 | 
			
		||||
            msg
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_access_given(self, obj_identifier, obj_title, user):
 | 
			
		||||
    def send_mail_shared_access_given(self, obj_identifier, obj_title, user, municipals_names):
 | 
			
		||||
        """ Send a mail if user just got access to the object
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
            obj_identifier (str): The object identifier
 | 
			
		||||
            obj_title (str): The object title
 | 
			
		||||
            user (User): The related user
 | 
			
		||||
            municipals_names (iterable): List of municipals for this entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -82,6 +88,7 @@ class Mailer:
 | 
			
		||||
            "user": user,
 | 
			
		||||
            "obj_identifier": obj_identifier,
 | 
			
		||||
            "obj_title": obj_title,
 | 
			
		||||
            "municipals_names": municipals_names,
 | 
			
		||||
            "EMAIL_REPLY_TO": EMAIL_REPLY_TO,
 | 
			
		||||
        }
 | 
			
		||||
        msg = render_to_string("email/sharing/shared_access_given.html", context)
 | 
			
		||||
@ -92,7 +99,7 @@ class Mailer:
 | 
			
		||||
            msg
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_access_given_team(self, obj_identifier, obj_title, team, users_to_notify):
 | 
			
		||||
    def send_mail_shared_access_given_team(self, obj_identifier, obj_title, team, users_to_notify, municipals_names):
 | 
			
		||||
        """ Send a mail if a team just got access to the object
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
@ -100,6 +107,7 @@ class Mailer:
 | 
			
		||||
            obj_title (str): Title of the main object
 | 
			
		||||
            team (Team): Team to be notified
 | 
			
		||||
            users_to_notify (QueryDict): Contains the team users which should be notified
 | 
			
		||||
            municipals_names (iterable): List of municipals for this entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -108,6 +116,7 @@ class Mailer:
 | 
			
		||||
            "team": team,
 | 
			
		||||
            "obj_identifier": obj_identifier,
 | 
			
		||||
            "obj_title": obj_title,
 | 
			
		||||
            "municipals_names": municipals_names,
 | 
			
		||||
            "EMAIL_REPLY_TO": EMAIL_REPLY_TO,
 | 
			
		||||
        }
 | 
			
		||||
        msg = render_to_string("email/sharing/shared_access_given_team.html", context)
 | 
			
		||||
@ -118,7 +127,7 @@ class Mailer:
 | 
			
		||||
            msg
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_access_removed_team(self, obj_identifier, obj_title, team, users_to_notify):
 | 
			
		||||
    def send_mail_shared_access_removed_team(self, obj_identifier, obj_title, team, users_to_notify, municipals_names):
 | 
			
		||||
        """ Send a mail if a team just lost access to the object
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
@ -126,6 +135,7 @@ class Mailer:
 | 
			
		||||
            obj_title (str): Title of the main object
 | 
			
		||||
            team (Team): Team to be notified
 | 
			
		||||
            users_to_notify (QueryDict): Contains the team users which should be notified
 | 
			
		||||
            municipals_names (iterable): List of municipals for this entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -134,6 +144,7 @@ class Mailer:
 | 
			
		||||
            "team": team,
 | 
			
		||||
            "obj_identifier": obj_identifier,
 | 
			
		||||
            "obj_title": obj_title,
 | 
			
		||||
            "municipals_names": municipals_names,
 | 
			
		||||
            "EMAIL_REPLY_TO": EMAIL_REPLY_TO,
 | 
			
		||||
        }
 | 
			
		||||
        msg = render_to_string("email/sharing/shared_access_removed_team.html", context)
 | 
			
		||||
@ -144,7 +155,7 @@ class Mailer:
 | 
			
		||||
            msg
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_data_unrecorded_team(self, obj_identifier, obj_title, team, users_to_notify):
 | 
			
		||||
    def send_mail_shared_data_unrecorded_team(self, obj_identifier, obj_title, team, users_to_notify, municipals_names):
 | 
			
		||||
        """ Send a mail if data has just been unrecorded
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
@ -152,6 +163,7 @@ class Mailer:
 | 
			
		||||
            obj_title (str): Title of the main object
 | 
			
		||||
            team (Team): Team to be notified
 | 
			
		||||
            users_to_notify (QueryDict): Contains the team users which should be notified
 | 
			
		||||
            municipals_names (iterable): List of municipals for this entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -160,6 +172,7 @@ class Mailer:
 | 
			
		||||
            "team": team,
 | 
			
		||||
            "obj_identifier": obj_identifier,
 | 
			
		||||
            "obj_title": obj_title,
 | 
			
		||||
            "municipals_names": municipals_names,
 | 
			
		||||
            "EMAIL_REPLY_TO": EMAIL_REPLY_TO,
 | 
			
		||||
        }
 | 
			
		||||
        msg = render_to_string("email/recording/shared_data_unrecorded_team.html", context)
 | 
			
		||||
@ -170,7 +183,7 @@ class Mailer:
 | 
			
		||||
            msg
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_data_recorded_team(self, obj_identifier, obj_title, team, users_to_notify):
 | 
			
		||||
    def send_mail_shared_data_recorded_team(self, obj_identifier, obj_title, team, users_to_notify, municipals_names):
 | 
			
		||||
        """ Send a mail if data has just been recorded
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
@ -178,6 +191,7 @@ class Mailer:
 | 
			
		||||
            obj_title (str): Title of the main object
 | 
			
		||||
            team (Team): Team to be notified
 | 
			
		||||
            users_to_notify (QueryDict): Contains the team users which should be notified
 | 
			
		||||
            municipals_names (iterable): List of municipals for this entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -186,6 +200,7 @@ class Mailer:
 | 
			
		||||
            "team": team,
 | 
			
		||||
            "obj_identifier": obj_identifier,
 | 
			
		||||
            "obj_title": obj_title,
 | 
			
		||||
            "municipals_names": municipals_names,
 | 
			
		||||
            "EMAIL_REPLY_TO": EMAIL_REPLY_TO,
 | 
			
		||||
        }
 | 
			
		||||
        msg = render_to_string("email/recording/shared_data_recorded_team.html", context)
 | 
			
		||||
@ -196,7 +211,7 @@ class Mailer:
 | 
			
		||||
            msg
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_data_checked_team(self, obj_identifier, obj_title, team, users_to_notify):
 | 
			
		||||
    def send_mail_shared_data_checked_team(self, obj_identifier, obj_title, team, users_to_notify, municipals_names):
 | 
			
		||||
        """ Send a mail if data has just been checked
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
@ -204,6 +219,7 @@ class Mailer:
 | 
			
		||||
            obj_title (str): Title of the main object
 | 
			
		||||
            team (Team): Team to be notified
 | 
			
		||||
            users_to_notify (QueryDict): Contains the team users which should be notified
 | 
			
		||||
            municipals_names (iterable): List of municipals for this entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -212,6 +228,7 @@ class Mailer:
 | 
			
		||||
            "team": team,
 | 
			
		||||
            "obj_identifier": obj_identifier,
 | 
			
		||||
            "obj_title": obj_title,
 | 
			
		||||
            "municipals_names": municipals_names,
 | 
			
		||||
            "EMAIL_REPLY_TO": EMAIL_REPLY_TO,
 | 
			
		||||
        }
 | 
			
		||||
        msg = render_to_string("email/checking/shared_data_checked_team.html", context)
 | 
			
		||||
@ -249,11 +266,15 @@ class Mailer:
 | 
			
		||||
            msg
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_data_deleted_team(self, obj_identifier, obj_title, team, users_to_notify):
 | 
			
		||||
    def send_mail_shared_data_deleted_team(self, obj_identifier, obj_title, team, users_to_notify, municipals_names):
 | 
			
		||||
        """ Send a mail if data has just been deleted
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
            obj_identifier (str): The object identifier
 | 
			
		||||
            obj_title (str): The object title
 | 
			
		||||
            team (Team): The related team
 | 
			
		||||
            users_to_notify (QuerySet): Contains team users who want to be notified
 | 
			
		||||
            municipals_names (iterable): List of municipals for the entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -262,6 +283,7 @@ class Mailer:
 | 
			
		||||
            "team": team,
 | 
			
		||||
            "obj_identifier": obj_identifier,
 | 
			
		||||
            "obj_title": obj_title,
 | 
			
		||||
            "municipals_names": municipals_names,
 | 
			
		||||
            "EMAIL_REPLY_TO": EMAIL_REPLY_TO,
 | 
			
		||||
        }
 | 
			
		||||
        msg = render_to_string("email/deleting/shared_data_deleted_team.html", context)
 | 
			
		||||
@ -272,11 +294,14 @@ class Mailer:
 | 
			
		||||
            msg
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_data_recorded(self, obj_identifier, obj_title, user):
 | 
			
		||||
    def send_mail_shared_data_recorded(self, obj_identifier, obj_title, user, municipals_names):
 | 
			
		||||
        """ Send a mail if the user's shared data has just been unrecorded
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
            obj_identifier (str): The object identifier
 | 
			
		||||
            obj_title (str): The object title
 | 
			
		||||
            user (User): The related user
 | 
			
		||||
            municipals_names (iterable): List of municipals for this entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -285,6 +310,7 @@ class Mailer:
 | 
			
		||||
            "user": user,
 | 
			
		||||
            "obj_identifier": obj_identifier,
 | 
			
		||||
            "obj_title": obj_title,
 | 
			
		||||
            "municipals_names": municipals_names,
 | 
			
		||||
            "EMAIL_REPLY_TO": EMAIL_REPLY_TO,
 | 
			
		||||
        }
 | 
			
		||||
        msg = render_to_string("email/recording/shared_data_recorded.html", context)
 | 
			
		||||
@ -295,11 +321,14 @@ class Mailer:
 | 
			
		||||
            msg
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_data_unrecorded(self, obj_identifier, obj_title, user):
 | 
			
		||||
    def send_mail_shared_data_unrecorded(self, obj_identifier, obj_title, user, municipals_names):
 | 
			
		||||
        """ Send a mail if the user's shared data has just been unrecorded
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
            obj_identifier (str): The object identifier
 | 
			
		||||
            obj_title (str): The object title
 | 
			
		||||
            user (User): The related user
 | 
			
		||||
            municipals_names (iterable): List of municipals for this entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -308,6 +337,7 @@ class Mailer:
 | 
			
		||||
            "user": user,
 | 
			
		||||
            "obj_identifier": obj_identifier,
 | 
			
		||||
            "obj_title": obj_title,
 | 
			
		||||
            "municipals_names": municipals_names,
 | 
			
		||||
            "EMAIL_REPLY_TO": EMAIL_REPLY_TO,
 | 
			
		||||
        }
 | 
			
		||||
        msg = render_to_string("email/recording/shared_data_unrecorded.html", context)
 | 
			
		||||
@ -318,11 +348,14 @@ class Mailer:
 | 
			
		||||
            msg
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_data_deleted(self, obj_identifier, obj_title, user):
 | 
			
		||||
    def send_mail_shared_data_deleted(self, obj_identifier, obj_title, user, municipals_names):
 | 
			
		||||
        """ Send a mail if shared data has just been deleted
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
            obj_identifier (str): The object identifier
 | 
			
		||||
            obj_title (str): The object title
 | 
			
		||||
            user (User): The related user
 | 
			
		||||
            municipals_names (iterable): List of municipals for this entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -331,6 +364,7 @@ class Mailer:
 | 
			
		||||
            "user": user,
 | 
			
		||||
            "obj_identifier": obj_identifier,
 | 
			
		||||
            "obj_title": obj_title,
 | 
			
		||||
            "municipals_names": municipals_names,
 | 
			
		||||
            "EMAIL_REPLY_TO": EMAIL_REPLY_TO,
 | 
			
		||||
        }
 | 
			
		||||
        msg = render_to_string("email/deleting/shared_data_deleted.html", context)
 | 
			
		||||
@ -341,11 +375,14 @@ class Mailer:
 | 
			
		||||
            msg
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_data_checked(self, obj_identifier, obj_title, user):
 | 
			
		||||
    def send_mail_shared_data_checked(self, obj_identifier, obj_title, user, municipals_names):
 | 
			
		||||
        """ Send a mail if shared data just has been checked
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
            obj_identifier (str): The object identifier
 | 
			
		||||
            obj_title (str): The object title
 | 
			
		||||
            user (User): The related user
 | 
			
		||||
            municipals_names (iterable): List of municipals for this entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -354,6 +391,7 @@ class Mailer:
 | 
			
		||||
            "user": user,
 | 
			
		||||
            "obj_identifier": obj_identifier,
 | 
			
		||||
            "obj_title": obj_title,
 | 
			
		||||
            "municipals_names": municipals_names,
 | 
			
		||||
            "EMAIL_REPLY_TO": EMAIL_REPLY_TO,
 | 
			
		||||
        }
 | 
			
		||||
        msg = render_to_string("email/checking/shared_data_checked.html", context)
 | 
			
		||||
@ -413,12 +451,13 @@ class Mailer:
 | 
			
		||||
            msg
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def send_mail_resubmission(self, obj_identifier, resubmission):
 | 
			
		||||
    def send_mail_resubmission(self, obj_identifier, resubmission, municipals_names):
 | 
			
		||||
        """ Send a resubmission mail for a user
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
            obj_identifier (str): The (resubmitted) object's identifier
 | 
			
		||||
            resubmission (Resubmission): The resubmission
 | 
			
		||||
            municipals_names (iterable): List of municipals for this entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -426,6 +465,7 @@ class Mailer:
 | 
			
		||||
        context = {
 | 
			
		||||
            "obj_identifier": obj_identifier,
 | 
			
		||||
            "resubmission": resubmission,
 | 
			
		||||
            "municipals_names": municipals_names,
 | 
			
		||||
            "EMAIL_REPLY_TO": EMAIL_REPLY_TO,
 | 
			
		||||
        }
 | 
			
		||||
        msg = render_to_string("email/resubmission/resubmission.html", context)
 | 
			
		||||
 | 
			
		||||
@ -44,9 +44,7 @@ def get_geom_parcels(request: HttpRequest, id: str):
 | 
			
		||||
        status_code = 200
 | 
			
		||||
 | 
			
		||||
    if parcels_available or not geometry_exists:
 | 
			
		||||
        parcels = parcels.order_by("-municipal", "flr", "flrstck_zhlr", "flrstck_nnr")
 | 
			
		||||
        municipals = parcels.order_by("municipal").distinct("municipal").values("municipal__id")
 | 
			
		||||
        municipals = Municipal.objects.filter(id__in=municipals)
 | 
			
		||||
        municipals = geom.get_underlying_municipals(parcels)
 | 
			
		||||
 | 
			
		||||
        rpp = 100
 | 
			
		||||
        num_all_parcels = parcels.count()
 | 
			
		||||
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							@ -9,8 +9,8 @@
 | 
			
		||||
#: compensation/forms/modals/payment.py:23
 | 
			
		||||
#: compensation/forms/modals/payment.py:34
 | 
			
		||||
#: compensation/forms/modals/payment.py:50
 | 
			
		||||
#: intervention/forms/intervention.py:55 intervention/forms/intervention.py:175
 | 
			
		||||
#: intervention/forms/intervention.py:187
 | 
			
		||||
#: intervention/forms/intervention.py:56 intervention/forms/intervention.py:176
 | 
			
		||||
#: intervention/forms/intervention.py:188
 | 
			
		||||
#: intervention/forms/modals/revocation.py:20
 | 
			
		||||
#: intervention/forms/modals/revocation.py:33
 | 
			
		||||
#: intervention/forms/modals/revocation.py:46
 | 
			
		||||
@ -43,7 +43,7 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: PACKAGE VERSION\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2022-12-06 08:23+0100\n"
 | 
			
		||||
"POT-Creation-Date: 2023-02-23 08:48+0100\n"
 | 
			
		||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 | 
			
		||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 | 
			
		||||
"Language-Team: LANGUAGE <LL@li.org>\n"
 | 
			
		||||
@ -74,7 +74,7 @@ msgstr "Einträge erstellt bis..."
 | 
			
		||||
#: compensation/templates/compensation/report/eco_account/report.html:16
 | 
			
		||||
#: compensation/utils/quality.py:111 ema/templates/ema/detail/view.html:49
 | 
			
		||||
#: ema/templates/ema/report/report.html:16 ema/utils/quality.py:26
 | 
			
		||||
#: intervention/forms/intervention.py:103
 | 
			
		||||
#: intervention/forms/intervention.py:104
 | 
			
		||||
#: intervention/templates/intervention/detail/view.html:56
 | 
			
		||||
#: intervention/templates/intervention/report/report.html:37
 | 
			
		||||
#: intervention/utils/quality.py:62 konova/filters/mixins/office.py:34
 | 
			
		||||
@ -85,11 +85,11 @@ msgstr "Eintragungsstelle"
 | 
			
		||||
msgid "Select the responsible office"
 | 
			
		||||
msgstr "Verantwortliche Stelle"
 | 
			
		||||
 | 
			
		||||
#: analysis/forms.py:60 compensation/forms/compensation.py:93
 | 
			
		||||
#: analysis/forms.py:60 compensation/forms/compensation.py:94
 | 
			
		||||
#: compensation/forms/mixins.py:32 compensation/forms/mixins.py:62
 | 
			
		||||
#: intervention/forms/intervention.py:65 intervention/forms/intervention.py:82
 | 
			
		||||
#: intervention/forms/intervention.py:98 intervention/forms/intervention.py:114
 | 
			
		||||
#: intervention/forms/intervention.py:155 intervention/forms/modals/share.py:41
 | 
			
		||||
#: intervention/forms/intervention.py:66 intervention/forms/intervention.py:83
 | 
			
		||||
#: intervention/forms/intervention.py:99 intervention/forms/intervention.py:115
 | 
			
		||||
#: intervention/forms/intervention.py:156 intervention/forms/modals/share.py:41
 | 
			
		||||
#: intervention/forms/modals/share.py:55 user/forms/modals/team.py:48
 | 
			
		||||
#: user/forms/modals/team.py:112
 | 
			
		||||
msgid "Click for selection"
 | 
			
		||||
@ -309,7 +309,7 @@ msgstr ""
 | 
			
		||||
"    "
 | 
			
		||||
 | 
			
		||||
#: analysis/templates/analysis/reports/includes/intervention/laws.html:14
 | 
			
		||||
#: intervention/forms/intervention.py:70
 | 
			
		||||
#: intervention/forms/intervention.py:71
 | 
			
		||||
#: intervention/templates/intervention/detail/view.html:39
 | 
			
		||||
#: intervention/templates/intervention/report/report.html:20
 | 
			
		||||
msgid "Law"
 | 
			
		||||
@ -368,7 +368,7 @@ msgstr "Kennung"
 | 
			
		||||
msgid "Generated automatically - not editable"
 | 
			
		||||
msgstr "Automatisch generiert - nicht bearbeitbar"
 | 
			
		||||
 | 
			
		||||
#: compensation/forms/compensation.py:42 compensation/tables/compensation.py:28
 | 
			
		||||
#: compensation/forms/compensation.py:43 compensation/tables/compensation.py:28
 | 
			
		||||
#: compensation/tables/eco_account.py:28
 | 
			
		||||
#: compensation/templates/compensation/detail/compensation/includes/documents.html:28
 | 
			
		||||
#: compensation/templates/compensation/detail/compensation/view.html:32
 | 
			
		||||
@ -379,7 +379,7 @@ msgstr "Automatisch generiert - nicht bearbeitbar"
 | 
			
		||||
#: ema/tables.py:31 ema/templates/ema/detail/includes/documents.html:28
 | 
			
		||||
#: ema/templates/ema/detail/view.html:31
 | 
			
		||||
#: ema/templates/ema/report/report.html:12
 | 
			
		||||
#: intervention/forms/intervention.py:41 intervention/tables.py:28
 | 
			
		||||
#: intervention/forms/intervention.py:42 intervention/tables.py:28
 | 
			
		||||
#: intervention/templates/intervention/detail/includes/compensations.html:33
 | 
			
		||||
#: intervention/templates/intervention/detail/includes/documents.html:33
 | 
			
		||||
#: intervention/templates/intervention/detail/view.html:31
 | 
			
		||||
@ -388,15 +388,15 @@ msgstr "Automatisch generiert - nicht bearbeitbar"
 | 
			
		||||
msgid "Title"
 | 
			
		||||
msgstr "Bezeichnung"
 | 
			
		||||
 | 
			
		||||
#: compensation/forms/compensation.py:44 intervention/forms/intervention.py:43
 | 
			
		||||
#: compensation/forms/compensation.py:45 intervention/forms/intervention.py:44
 | 
			
		||||
msgid "An explanatory name"
 | 
			
		||||
msgstr "Aussagekräftiger Titel"
 | 
			
		||||
 | 
			
		||||
#: compensation/forms/compensation.py:48 ema/forms.py:51 ema/forms.py:114
 | 
			
		||||
#: compensation/forms/compensation.py:49 ema/forms.py:51 ema/forms.py:114
 | 
			
		||||
msgid "Compensation XY; Location ABC"
 | 
			
		||||
msgstr "Kompensation XY; Flur ABC"
 | 
			
		||||
 | 
			
		||||
#: compensation/forms/compensation.py:55
 | 
			
		||||
#: compensation/forms/compensation.py:56
 | 
			
		||||
#: compensation/forms/modals/compensation_action.py:81
 | 
			
		||||
#: compensation/forms/modals/deadline.py:49
 | 
			
		||||
#: compensation/forms/modals/payment.py:49
 | 
			
		||||
@ -409,7 +409,7 @@ msgstr "Kompensation XY; Flur ABC"
 | 
			
		||||
#: ema/templates/ema/detail/includes/actions.html:34
 | 
			
		||||
#: ema/templates/ema/detail/includes/deadlines.html:39
 | 
			
		||||
#: ema/templates/ema/detail/includes/documents.html:34
 | 
			
		||||
#: intervention/forms/intervention.py:199
 | 
			
		||||
#: intervention/forms/intervention.py:200
 | 
			
		||||
#: intervention/forms/modals/revocation.py:45
 | 
			
		||||
#: intervention/templates/intervention/detail/includes/documents.html:39
 | 
			
		||||
#: intervention/templates/intervention/detail/includes/payments.html:34
 | 
			
		||||
@ -420,29 +420,29 @@ msgstr "Kompensation XY; Flur ABC"
 | 
			
		||||
msgid "Comment"
 | 
			
		||||
msgstr "Kommentar"
 | 
			
		||||
 | 
			
		||||
#: compensation/forms/compensation.py:57
 | 
			
		||||
#: compensation/forms/compensation.py:58
 | 
			
		||||
#: compensation/forms/modals/compensation_action.py:83
 | 
			
		||||
#: intervention/forms/intervention.py:201
 | 
			
		||||
#: intervention/forms/intervention.py:202
 | 
			
		||||
#: konova/forms/modals/resubmission_form.py:37
 | 
			
		||||
msgid "Additional comment"
 | 
			
		||||
msgstr "Zusätzlicher Kommentar"
 | 
			
		||||
 | 
			
		||||
#: compensation/forms/compensation.py:84
 | 
			
		||||
#: compensation/forms/compensation.py:85
 | 
			
		||||
#: compensation/templates/compensation/detail/compensation/view.html:36
 | 
			
		||||
#: compensation/templates/compensation/report/compensation/report.html:16
 | 
			
		||||
msgid "compensates intervention"
 | 
			
		||||
msgstr "kompensiert Eingriff"
 | 
			
		||||
 | 
			
		||||
#: compensation/forms/compensation.py:86
 | 
			
		||||
#: compensation/forms/compensation.py:87
 | 
			
		||||
msgid "Select the intervention for which this compensation compensates"
 | 
			
		||||
msgstr "Wählen Sie den Eingriff, für den diese Kompensation bestimmt ist"
 | 
			
		||||
 | 
			
		||||
#: compensation/forms/compensation.py:113
 | 
			
		||||
#: compensation/forms/compensation.py:114
 | 
			
		||||
#: compensation/views/compensation/compensation.py:115
 | 
			
		||||
msgid "New compensation"
 | 
			
		||||
msgstr "Neue Kompensation"
 | 
			
		||||
 | 
			
		||||
#: compensation/forms/compensation.py:189
 | 
			
		||||
#: compensation/forms/compensation.py:190
 | 
			
		||||
msgid "Edit compensation"
 | 
			
		||||
msgstr "Bearbeite Kompensation"
 | 
			
		||||
 | 
			
		||||
@ -488,14 +488,14 @@ msgstr ""
 | 
			
		||||
#: compensation/templates/compensation/report/eco_account/report.html:20
 | 
			
		||||
#: compensation/utils/quality.py:113 ema/templates/ema/detail/view.html:53
 | 
			
		||||
#: ema/templates/ema/report/report.html:20 ema/utils/quality.py:28
 | 
			
		||||
#: intervention/forms/intervention.py:131
 | 
			
		||||
#: intervention/forms/intervention.py:132
 | 
			
		||||
#: intervention/templates/intervention/detail/view.html:60
 | 
			
		||||
#: intervention/templates/intervention/report/report.html:41
 | 
			
		||||
#: intervention/utils/quality.py:55
 | 
			
		||||
msgid "Conservation office file number"
 | 
			
		||||
msgstr "Aktenzeichen Eintragungsstelle"
 | 
			
		||||
 | 
			
		||||
#: compensation/forms/mixins.py:43 intervention/forms/intervention.py:137
 | 
			
		||||
#: compensation/forms/mixins.py:43 intervention/forms/intervention.py:138
 | 
			
		||||
msgid "ETS-123/ABC.456"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
@ -511,11 +511,11 @@ msgstr "Zu welcher Kategorie dieser Maßnahmenträger gehört"
 | 
			
		||||
msgid "Eco-Account handler detail"
 | 
			
		||||
msgstr "Detailangabe zum Maßnahmenträger"
 | 
			
		||||
 | 
			
		||||
#: compensation/forms/mixins.py:71 intervention/forms/intervention.py:164
 | 
			
		||||
#: compensation/forms/mixins.py:71 intervention/forms/intervention.py:165
 | 
			
		||||
msgid "Detail input on the handler"
 | 
			
		||||
msgstr "Name der Behörde, Stadt, Firma, ..."
 | 
			
		||||
 | 
			
		||||
#: compensation/forms/mixins.py:74 intervention/forms/intervention.py:167
 | 
			
		||||
#: compensation/forms/mixins.py:74 intervention/forms/intervention.py:168
 | 
			
		||||
msgid "Company Mustermann"
 | 
			
		||||
msgstr "Firma Mustermann"
 | 
			
		||||
 | 
			
		||||
@ -1284,7 +1284,7 @@ msgstr "Kompensation {} bearbeitet"
 | 
			
		||||
 | 
			
		||||
#: compensation/views/compensation/compensation.py:187
 | 
			
		||||
#: compensation/views/eco_account/eco_account.py:161 ema/views/ema.py:212
 | 
			
		||||
#: intervention/views/intervention.py:230
 | 
			
		||||
#: intervention/views/intervention.py:231
 | 
			
		||||
msgid "Edit {}"
 | 
			
		||||
msgstr "Bearbeite {}"
 | 
			
		||||
 | 
			
		||||
@ -1306,7 +1306,7 @@ msgstr "Ökokonto {} hinzugefügt"
 | 
			
		||||
msgid "Eco-Account {} edited"
 | 
			
		||||
msgstr "Ökokonto {} bearbeitet"
 | 
			
		||||
 | 
			
		||||
#: compensation/views/eco_account/eco_account.py:267
 | 
			
		||||
#: compensation/views/eco_account/eco_account.py:268
 | 
			
		||||
msgid "Eco-account removed"
 | 
			
		||||
msgstr "Ökokonto entfernt"
 | 
			
		||||
 | 
			
		||||
@ -1354,70 +1354,70 @@ msgstr "EMA {} bearbeitet"
 | 
			
		||||
msgid "EMA removed"
 | 
			
		||||
msgstr "EMA entfernt"
 | 
			
		||||
 | 
			
		||||
#: intervention/forms/intervention.py:47
 | 
			
		||||
#: intervention/forms/intervention.py:48
 | 
			
		||||
msgid "Construction XY; Location ABC"
 | 
			
		||||
msgstr "Bauvorhaben XY; Flur ABC"
 | 
			
		||||
 | 
			
		||||
#: intervention/forms/intervention.py:53
 | 
			
		||||
#: intervention/forms/intervention.py:54
 | 
			
		||||
#: intervention/templates/intervention/detail/view.html:35
 | 
			
		||||
#: intervention/templates/intervention/report/report.html:16
 | 
			
		||||
#: intervention/utils/quality.py:95
 | 
			
		||||
msgid "Process type"
 | 
			
		||||
msgstr "Verfahrenstyp"
 | 
			
		||||
 | 
			
		||||
#: intervention/forms/intervention.py:72
 | 
			
		||||
#: intervention/forms/intervention.py:73
 | 
			
		||||
msgid "Multiple selection possible"
 | 
			
		||||
msgstr "Mehrfachauswahl möglich"
 | 
			
		||||
 | 
			
		||||
#: intervention/forms/intervention.py:87
 | 
			
		||||
#: intervention/forms/intervention.py:88
 | 
			
		||||
#: intervention/templates/intervention/detail/view.html:48
 | 
			
		||||
#: intervention/templates/intervention/report/report.html:29
 | 
			
		||||
#: intervention/utils/quality.py:59 konova/filters/mixins/office.py:66
 | 
			
		||||
msgid "Registration office"
 | 
			
		||||
msgstr "Zulassungsbehörde"
 | 
			
		||||
 | 
			
		||||
#: intervention/forms/intervention.py:119
 | 
			
		||||
#: intervention/forms/intervention.py:120
 | 
			
		||||
#: intervention/templates/intervention/detail/view.html:52
 | 
			
		||||
#: intervention/templates/intervention/report/report.html:33
 | 
			
		||||
#: intervention/utils/quality.py:52
 | 
			
		||||
msgid "Registration office file number"
 | 
			
		||||
msgstr "Aktenzeichen Zulassungsbehörde"
 | 
			
		||||
 | 
			
		||||
#: intervention/forms/intervention.py:125
 | 
			
		||||
#: intervention/forms/intervention.py:126
 | 
			
		||||
msgid "ZB-123/ABC.456"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: intervention/forms/intervention.py:143
 | 
			
		||||
#: intervention/forms/intervention.py:144
 | 
			
		||||
msgid "Intervention handler type"
 | 
			
		||||
msgstr "Art des Eingriffsverursachers"
 | 
			
		||||
 | 
			
		||||
#: intervention/forms/intervention.py:145
 | 
			
		||||
#: intervention/forms/intervention.py:146
 | 
			
		||||
msgid "What type of handler is responsible for the intervention?"
 | 
			
		||||
msgstr "Zu welcher Kategorie dieser Eingriffsverursacher gehört"
 | 
			
		||||
 | 
			
		||||
#: intervention/forms/intervention.py:160
 | 
			
		||||
#: intervention/forms/intervention.py:161
 | 
			
		||||
msgid "Intervention handler detail"
 | 
			
		||||
msgstr "Detailangabe zum Eingriffsverursacher"
 | 
			
		||||
 | 
			
		||||
#: intervention/forms/intervention.py:174
 | 
			
		||||
#: intervention/forms/intervention.py:175
 | 
			
		||||
#: intervention/templates/intervention/detail/view.html:101
 | 
			
		||||
#: intervention/templates/intervention/report/report.html:81
 | 
			
		||||
#: intervention/utils/quality.py:86
 | 
			
		||||
msgid "Registration date"
 | 
			
		||||
msgstr "Datum Zulassung bzw. Satzungsbeschluss"
 | 
			
		||||
 | 
			
		||||
#: intervention/forms/intervention.py:186
 | 
			
		||||
#: intervention/forms/intervention.py:187
 | 
			
		||||
#: intervention/templates/intervention/detail/view.html:105
 | 
			
		||||
#: intervention/templates/intervention/report/report.html:85
 | 
			
		||||
msgid "Binding on"
 | 
			
		||||
msgstr "Datum Bestandskraft bzw. Rechtskraft"
 | 
			
		||||
 | 
			
		||||
#: intervention/forms/intervention.py:212
 | 
			
		||||
#: intervention/forms/intervention.py:213
 | 
			
		||||
#: intervention/views/intervention.py:100
 | 
			
		||||
msgid "New intervention"
 | 
			
		||||
msgstr "Neuer Eingriff"
 | 
			
		||||
 | 
			
		||||
#: intervention/forms/intervention.py:302
 | 
			
		||||
#: intervention/forms/intervention.py:303
 | 
			
		||||
msgid "Edit intervention"
 | 
			
		||||
msgstr "Eingriff bearbeiten"
 | 
			
		||||
 | 
			
		||||
@ -1653,11 +1653,11 @@ msgstr "Eingriffe - Übersicht"
 | 
			
		||||
msgid "Intervention {} added"
 | 
			
		||||
msgstr "Eingriff {} hinzugefügt"
 | 
			
		||||
 | 
			
		||||
#: intervention/views/intervention.py:218
 | 
			
		||||
#: intervention/views/intervention.py:219
 | 
			
		||||
msgid "Intervention {} edited"
 | 
			
		||||
msgstr "Eingriff {} bearbeitet"
 | 
			
		||||
 | 
			
		||||
#: intervention/views/intervention.py:255
 | 
			
		||||
#: intervention/views/intervention.py:256
 | 
			
		||||
msgid "{} removed"
 | 
			
		||||
msgstr "{} entfernt"
 | 
			
		||||
 | 
			
		||||
@ -1744,7 +1744,8 @@ msgstr "Verzeichnete anzeigen"
 | 
			
		||||
 | 
			
		||||
#: konova/filters/mixins/record.py:27
 | 
			
		||||
msgid "If activated also shows entries which have been already recorded"
 | 
			
		||||
msgstr "Wenn aktiviert werden auch Einträge angezeigt, die bereits verzeichnet wurden"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Wenn aktiviert werden auch Einträge angezeigt, die bereits verzeichnet wurden"
 | 
			
		||||
 | 
			
		||||
#: konova/filters/mixins/self_created.py:23
 | 
			
		||||
msgid "Show only self created"
 | 
			
		||||
@ -1752,7 +1753,9 @@ msgstr "Nur selbst erstellte anzeigen"
 | 
			
		||||
 | 
			
		||||
#: konova/filters/mixins/self_created.py:28
 | 
			
		||||
msgid "If activated only shows entries which have been created by you"
 | 
			
		||||
msgstr "Wenn aktiviert werden nur Einträge angezeigt, die von Ihnen erstellt worden sind"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Wenn aktiviert werden nur Einträge angezeigt, die von Ihnen erstellt worden "
 | 
			
		||||
"sind"
 | 
			
		||||
 | 
			
		||||
#: konova/filters/mixins/share.py:22
 | 
			
		||||
msgid "Show unshared"
 | 
			
		||||
@ -1760,13 +1763,15 @@ msgstr "Nicht freigegebene anzeigen"
 | 
			
		||||
 | 
			
		||||
#: konova/filters/mixins/share.py:27
 | 
			
		||||
msgid "If activated also shows entries which are not shared with you"
 | 
			
		||||
msgstr "Wenn aktiviert werden auch Einträge angezeigt, die nicht für Sie freigegeben sind"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Wenn aktiviert werden auch Einträge angezeigt, die nicht für Sie freigegeben "
 | 
			
		||||
"sind"
 | 
			
		||||
 | 
			
		||||
#: konova/forms/base_form.py:23 templates/form/collapsable/form.html:62
 | 
			
		||||
msgid "Save"
 | 
			
		||||
msgstr "Speichern"
 | 
			
		||||
 | 
			
		||||
#: konova/forms/base_form.py:57
 | 
			
		||||
#: konova/forms/base_form.py:72
 | 
			
		||||
msgid "Not editable"
 | 
			
		||||
msgstr "Nicht editierbar"
 | 
			
		||||
 | 
			
		||||
@ -1822,11 +1827,11 @@ msgstr ""
 | 
			
		||||
msgid "Confirm"
 | 
			
		||||
msgstr "Bestätige"
 | 
			
		||||
 | 
			
		||||
#: konova/forms/modals/remove_form.py:31 konova/forms/remove_form.py:30
 | 
			
		||||
#: konova/forms/modals/remove_form.py:32 konova/forms/remove_form.py:30
 | 
			
		||||
msgid "Remove"
 | 
			
		||||
msgstr "Löschen"
 | 
			
		||||
 | 
			
		||||
#: konova/forms/modals/remove_form.py:32
 | 
			
		||||
#: konova/forms/modals/remove_form.py:33
 | 
			
		||||
msgid "Are you sure?"
 | 
			
		||||
msgstr "Sind Sie sicher?"
 | 
			
		||||
 | 
			
		||||
@ -1976,39 +1981,39 @@ msgstr "In Zwischenablage kopiert"
 | 
			
		||||
msgid "Search"
 | 
			
		||||
msgstr "Suchen"
 | 
			
		||||
 | 
			
		||||
#: konova/utils/mailer.py:68 konova/utils/mailer.py:143
 | 
			
		||||
#: konova/utils/mailer.py:71 konova/utils/mailer.py:154
 | 
			
		||||
msgid "{} - Shared access removed"
 | 
			
		||||
msgstr "{} - Zugriff entzogen"
 | 
			
		||||
 | 
			
		||||
#: konova/utils/mailer.py:91 konova/utils/mailer.py:117
 | 
			
		||||
#: konova/utils/mailer.py:98 konova/utils/mailer.py:126
 | 
			
		||||
msgid "{} - Shared access given"
 | 
			
		||||
msgstr "{} - Zugriff freigegeben"
 | 
			
		||||
 | 
			
		||||
#: konova/utils/mailer.py:169 konova/utils/mailer.py:317
 | 
			
		||||
#: konova/utils/mailer.py:182 konova/utils/mailer.py:346
 | 
			
		||||
msgid "{} - Shared data unrecorded"
 | 
			
		||||
msgstr "{} - Freigegebene Daten entzeichnet"
 | 
			
		||||
 | 
			
		||||
#: konova/utils/mailer.py:195 konova/utils/mailer.py:294
 | 
			
		||||
#: konova/utils/mailer.py:210 konova/utils/mailer.py:319
 | 
			
		||||
msgid "{} - Shared data recorded"
 | 
			
		||||
msgstr "{} - Freigegebene Daten verzeichnet"
 | 
			
		||||
 | 
			
		||||
#: konova/utils/mailer.py:221 konova/utils/mailer.py:363
 | 
			
		||||
#: konova/utils/mailer.py:238 konova/utils/mailer.py:400
 | 
			
		||||
msgid "{} - Shared data checked"
 | 
			
		||||
msgstr "{} - Freigegebene Daten geprüft"
 | 
			
		||||
 | 
			
		||||
#: konova/utils/mailer.py:248 konova/utils/mailer.py:391
 | 
			
		||||
#: konova/utils/mailer.py:265 konova/utils/mailer.py:428
 | 
			
		||||
msgid "{} - Deduction changed"
 | 
			
		||||
msgstr "{} - Abbuchung geändert"
 | 
			
		||||
 | 
			
		||||
#: konova/utils/mailer.py:271 konova/utils/mailer.py:340
 | 
			
		||||
#: konova/utils/mailer.py:293 konova/utils/mailer.py:373
 | 
			
		||||
msgid "{} - Shared data deleted"
 | 
			
		||||
msgstr "{} - Freigegebene Daten gelöscht"
 | 
			
		||||
 | 
			
		||||
#: konova/utils/mailer.py:412 templates/email/api/verify_token.html:4
 | 
			
		||||
#: konova/utils/mailer.py:449 templates/email/api/verify_token.html:4
 | 
			
		||||
msgid "Request for new API token"
 | 
			
		||||
msgstr "Anfrage für neuen API Token"
 | 
			
		||||
 | 
			
		||||
#: konova/utils/mailer.py:435
 | 
			
		||||
#: konova/utils/mailer.py:474
 | 
			
		||||
msgid "Resubmission - {}"
 | 
			
		||||
msgstr "Wiedervorlage - {}"
 | 
			
		||||
 | 
			
		||||
@ -2369,7 +2374,7 @@ msgstr ""
 | 
			
		||||
#: templates/email/recording/shared_data_unrecorded.html:20
 | 
			
		||||
#: templates/email/recording/shared_data_unrecorded_team.html:20
 | 
			
		||||
#: templates/email/resubmission/resubmission.html:21
 | 
			
		||||
#: templates/email/sharing/shared_access_given.html:21
 | 
			
		||||
#: templates/email/sharing/shared_access_given.html:29
 | 
			
		||||
#: templates/email/sharing/shared_access_given_team.html:21
 | 
			
		||||
#: templates/email/sharing/shared_access_removed.html:21
 | 
			
		||||
#: templates/email/sharing/shared_access_removed_team.html:21
 | 
			
		||||
@ -2535,11 +2540,19 @@ msgid "the following dataset has just been shared with you"
 | 
			
		||||
msgstr "der folgende Datensatz wurde soeben für Sie freigegeben "
 | 
			
		||||
 | 
			
		||||
#: templates/email/sharing/shared_access_given.html:17
 | 
			
		||||
msgid "This entry is located in"
 | 
			
		||||
msgstr "Dieser Eintrag befindet sich in"
 | 
			
		||||
 | 
			
		||||
#: templates/email/sharing/shared_access_given.html:23
 | 
			
		||||
msgid "Unknown - No administrative location recognized"
 | 
			
		||||
msgstr "Unbekannt - Keine administrative Verortung möglich"
 | 
			
		||||
 | 
			
		||||
#: templates/email/sharing/shared_access_given.html:25
 | 
			
		||||
#: templates/email/sharing/shared_access_given_team.html:17
 | 
			
		||||
msgid "This means you can now edit this dataset."
 | 
			
		||||
msgstr "Das bedeutet, dass Sie diesen Datensatz nun auch bearbeiten können."
 | 
			
		||||
 | 
			
		||||
#: templates/email/sharing/shared_access_given.html:18
 | 
			
		||||
#: templates/email/sharing/shared_access_given.html:26
 | 
			
		||||
#: templates/email/sharing/shared_access_given_team.html:18
 | 
			
		||||
msgid ""
 | 
			
		||||
"The shared dataset appears now by default on your overview for this dataset "
 | 
			
		||||
@ -2548,7 +2561,7 @@ msgstr ""
 | 
			
		||||
"Der freigegebene Datensatz ist nun standardmäßig in Ihrer Übersicht für den "
 | 
			
		||||
"Datensatztyp im KSP gelistet."
 | 
			
		||||
 | 
			
		||||
#: templates/email/sharing/shared_access_given.html:28
 | 
			
		||||
#: templates/email/sharing/shared_access_given.html:36
 | 
			
		||||
#: templates/email/sharing/shared_access_given_team.html:28
 | 
			
		||||
msgid ""
 | 
			
		||||
"Please note: Shared access on an intervention means you automatically have "
 | 
			
		||||
@ -2665,7 +2678,7 @@ msgstr ""
 | 
			
		||||
"Vergessen Sie nicht ihn anschließend wieder zu verzeichnen.\n"
 | 
			
		||||
" "
 | 
			
		||||
 | 
			
		||||
#: templates/form/table/generic_table_form_body.html:24
 | 
			
		||||
#: templates/form/table/generic_table_form_body.html:30
 | 
			
		||||
msgid "Fields with * are required."
 | 
			
		||||
msgstr "* sind Pflichtfelder."
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -14,6 +14,16 @@
 | 
			
		||||
        <br>
 | 
			
		||||
        <strong>{{obj_title}}</strong>
 | 
			
		||||
        <br>
 | 
			
		||||
        <br>
 | 
			
		||||
        {% trans 'This entry is located in' %}
 | 
			
		||||
        <ul>
 | 
			
		||||
        {% for municipal in municipals_names %}
 | 
			
		||||
            <li>{{municipal}}</li>
 | 
			
		||||
        {% empty %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'Unknown - No administrative location recognized' %}
 | 
			
		||||
        {% endfor %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'This means, the responsible registration office just confirmed the correctness of this dataset.' %}
 | 
			
		||||
        <br>
 | 
			
		||||
        <br>
 | 
			
		||||
 | 
			
		||||
@ -14,6 +14,16 @@
 | 
			
		||||
        <br>
 | 
			
		||||
        <strong>{{obj_title}}</strong>
 | 
			
		||||
        <br>
 | 
			
		||||
        <br>
 | 
			
		||||
        {% trans 'This entry is located in' %}
 | 
			
		||||
        <ul>
 | 
			
		||||
        {% for municipal in municipals_names %}
 | 
			
		||||
            <li>{{municipal}}</li>
 | 
			
		||||
        {% empty %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'Unknown - No administrative location recognized' %}
 | 
			
		||||
        {% endfor %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'This means, the responsible registration office just confirmed the correctness of this dataset.' %}
 | 
			
		||||
        <br>
 | 
			
		||||
        <br>
 | 
			
		||||
 | 
			
		||||
@ -14,6 +14,16 @@
 | 
			
		||||
        <br>
 | 
			
		||||
        <strong>"{{obj_title}}"</strong>
 | 
			
		||||
        <br>
 | 
			
		||||
        <br>
 | 
			
		||||
        {% trans 'This entry is located in' %}
 | 
			
		||||
        <ul>
 | 
			
		||||
        {% for municipal in municipals_names %}
 | 
			
		||||
            <li>{{municipal}}</li>
 | 
			
		||||
        {% empty %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'Unknown - No administrative location recognized' %}
 | 
			
		||||
        {% endfor %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'If this should not have been happened, please contact us. See the signature for details.' %}
 | 
			
		||||
        <br>
 | 
			
		||||
        <br>
 | 
			
		||||
 | 
			
		||||
@ -14,6 +14,16 @@
 | 
			
		||||
        <br>
 | 
			
		||||
        <strong>"{{obj_title}}"</strong>
 | 
			
		||||
        <br>
 | 
			
		||||
        <br>
 | 
			
		||||
        {% trans 'This entry is located in' %}
 | 
			
		||||
        <ul>
 | 
			
		||||
        {% for municipal in municipals_names %}
 | 
			
		||||
            <li>{{municipal}}</li>
 | 
			
		||||
        {% empty %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'Unknown - No administrative location recognized' %}
 | 
			
		||||
        {% endfor %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'If this should not have been happened, please contact us. See the signature for details.' %}
 | 
			
		||||
        <br>
 | 
			
		||||
        <br>
 | 
			
		||||
 | 
			
		||||
@ -14,6 +14,16 @@
 | 
			
		||||
        <br>
 | 
			
		||||
        <strong>"{{obj_title}}"</strong>
 | 
			
		||||
        <br>
 | 
			
		||||
        <br>
 | 
			
		||||
        {% trans 'This entry is located in' %}
 | 
			
		||||
        <ul>
 | 
			
		||||
        {% for municipal in municipals_names %}
 | 
			
		||||
            <li>{{municipal}}</li>
 | 
			
		||||
        {% empty %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'Unknown - No administrative location recognized' %}
 | 
			
		||||
        {% endfor %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'This means the data is now publicly available, e.g. in LANIS' %}
 | 
			
		||||
        <br>
 | 
			
		||||
        <br>
 | 
			
		||||
 | 
			
		||||
@ -14,6 +14,16 @@
 | 
			
		||||
        <br>
 | 
			
		||||
        <strong>"{{obj_title}}"</strong>
 | 
			
		||||
        <br>
 | 
			
		||||
        <br>
 | 
			
		||||
        {% trans 'This entry is located in' %}
 | 
			
		||||
        <ul>
 | 
			
		||||
        {% for municipal in municipals_names %}
 | 
			
		||||
            <li>{{municipal}}</li>
 | 
			
		||||
        {% empty %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'Unknown - No administrative location recognized' %}
 | 
			
		||||
        {% endfor %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'This means the data is now publicly available, e.g. in LANIS' %}
 | 
			
		||||
        <br>
 | 
			
		||||
        <br>
 | 
			
		||||
 | 
			
		||||
@ -14,6 +14,16 @@
 | 
			
		||||
        <br>
 | 
			
		||||
        <strong>"{{obj_title}}"</strong>
 | 
			
		||||
        <br>
 | 
			
		||||
        <br>
 | 
			
		||||
        {% trans 'This entry is located in' %}
 | 
			
		||||
        <ul>
 | 
			
		||||
        {% for municipal in municipals_names %}
 | 
			
		||||
            <li>{{municipal}}</li>
 | 
			
		||||
        {% empty %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'Unknown - No administrative location recognized' %}
 | 
			
		||||
        {% endfor %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'This means the data is no longer publicly available.' %}
 | 
			
		||||
        <br>
 | 
			
		||||
        <br>
 | 
			
		||||
 | 
			
		||||
@ -14,6 +14,17 @@
 | 
			
		||||
        <br>
 | 
			
		||||
        <strong>"{{obj_title}}"</strong>
 | 
			
		||||
        <br>
 | 
			
		||||
        <br>
 | 
			
		||||
        {% trans 'This entry is located in' %}
 | 
			
		||||
        <ul>
 | 
			
		||||
        {% for municipal in municipals_names %}
 | 
			
		||||
            <li>{{municipal}}</li>
 | 
			
		||||
        {% empty %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'Unknown - No administrative location recognized' %}
 | 
			
		||||
        <br>
 | 
			
		||||
        {% endfor %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'This means the data is no longer publicly available.' %}
 | 
			
		||||
        <br>
 | 
			
		||||
        <br>
 | 
			
		||||
 | 
			
		||||
@ -18,6 +18,16 @@
 | 
			
		||||
        {% endif %}
 | 
			
		||||
        <br>
 | 
			
		||||
        <br>
 | 
			
		||||
        {% trans 'This entry is located in' %}
 | 
			
		||||
        <ul>
 | 
			
		||||
        {% for municipal in municipals_names %}
 | 
			
		||||
            <li>{{municipal}}</li>
 | 
			
		||||
        {% empty %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'Unknown - No administrative location recognized' %}
 | 
			
		||||
        {% endfor %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        <br>
 | 
			
		||||
        {% trans 'Best regards' %}
 | 
			
		||||
        <br>
 | 
			
		||||
        KSP
 | 
			
		||||
 | 
			
		||||
@ -14,6 +14,16 @@
 | 
			
		||||
        <br>
 | 
			
		||||
        <strong>"{{obj_title}}"</strong>
 | 
			
		||||
        <br>
 | 
			
		||||
        <br>
 | 
			
		||||
        {% trans 'This entry is located in' %}
 | 
			
		||||
        <ul>
 | 
			
		||||
        {% for municipal in municipals_names %}
 | 
			
		||||
            <li>{{municipal}}</li>
 | 
			
		||||
        {% empty %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'Unknown - No administrative location recognized' %}
 | 
			
		||||
        {% endfor %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'This means you can now edit this dataset.' %}
 | 
			
		||||
        {% trans 'The shared dataset appears now by default on your overview for this dataset type.' %}
 | 
			
		||||
        <br>
 | 
			
		||||
 | 
			
		||||
@ -14,6 +14,17 @@
 | 
			
		||||
        <br>
 | 
			
		||||
        <strong>"{{obj_title}}"</strong>
 | 
			
		||||
        <br>
 | 
			
		||||
        <br>
 | 
			
		||||
        {% trans 'This entry is located in' %}
 | 
			
		||||
        <br>
 | 
			
		||||
        <ul>
 | 
			
		||||
        {% for municipal in municipals_names %}
 | 
			
		||||
            <li>{{municipal}}</li>
 | 
			
		||||
        {% empty %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'Unknown - No administrative location recognized' %}
 | 
			
		||||
        {% endfor %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'This means you can now edit this dataset.' %}
 | 
			
		||||
        {% trans 'The shared dataset appears now by default on your overview for this dataset type.' %}
 | 
			
		||||
        <br>
 | 
			
		||||
 | 
			
		||||
@ -14,6 +14,16 @@
 | 
			
		||||
        <br>
 | 
			
		||||
        <strong>"{{obj_title}}"</strong>
 | 
			
		||||
        <br>
 | 
			
		||||
        <br>
 | 
			
		||||
        {% trans 'This entry is located in' %}
 | 
			
		||||
        <ul>
 | 
			
		||||
        {% for municipal in municipals_names %}
 | 
			
		||||
            <li>{{municipal}}</li>
 | 
			
		||||
        {% empty %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'Unknown - No administrative location recognized' %}
 | 
			
		||||
        {% endfor %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'However, you are still able to view the dataset content.' %}
 | 
			
		||||
        {% trans 'Please use the provided search filter on the dataset`s overview pages to find them.' %}
 | 
			
		||||
        <br>
 | 
			
		||||
 | 
			
		||||
@ -14,6 +14,16 @@
 | 
			
		||||
        <br>
 | 
			
		||||
        <strong>"{{obj_title}}"</strong>
 | 
			
		||||
        <br>
 | 
			
		||||
        <br>
 | 
			
		||||
        {% trans 'This entry is located in' %}
 | 
			
		||||
        <ul>
 | 
			
		||||
        {% for municipal in municipals_names %}
 | 
			
		||||
            <li>{{municipal}}</li>
 | 
			
		||||
        {% empty %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'Unknown - No administrative location recognized' %}
 | 
			
		||||
        {% endfor %}
 | 
			
		||||
        </ul>
 | 
			
		||||
        {% trans 'However, you are still able to view the dataset content.' %}
 | 
			
		||||
        {% trans 'Please use the provided search filter on the dataset`s overview pages to find them.' %}
 | 
			
		||||
        <br>
 | 
			
		||||
 | 
			
		||||
@ -31,12 +31,13 @@ class Team(UuidModel, DeletableObjectMixin):
 | 
			
		||||
        self.deleted = delete_action
 | 
			
		||||
        self.save()
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_access_given_team(self, obj_identifier, obj_title):
 | 
			
		||||
    def send_mail_shared_access_given_team(self, obj_identifier, obj_title, municipals_names):
 | 
			
		||||
        """ Sends a mail to the team members in case of given shared access
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
            obj_identifier ():
 | 
			
		||||
            obj_title ():
 | 
			
		||||
            obj_identifier (str): The entry identifier
 | 
			
		||||
            obj_title (str): The entry title
 | 
			
		||||
            municipals_names (iterable): List of municipals for this entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -45,14 +46,15 @@ class Team(UuidModel, DeletableObjectMixin):
 | 
			
		||||
        users_to_notify = self.users.filter(
 | 
			
		||||
            notifications__in=[UserNotificationEnum.NOTIFY_ON_SHARED_ACCESS_GAINED.value]
 | 
			
		||||
        )
 | 
			
		||||
        mailer.send_mail_shared_access_given_team(obj_identifier, obj_title, self, users_to_notify)
 | 
			
		||||
        mailer.send_mail_shared_access_given_team(obj_identifier, obj_title, self, users_to_notify, municipals_names)
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_access_removed(self, obj_identifier, obj_title):
 | 
			
		||||
    def send_mail_shared_access_removed(self, obj_identifier, obj_title, municipals_names):
 | 
			
		||||
        """ Sends a mail to the team members in case of removed shared access
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
            obj_identifier ():
 | 
			
		||||
            obj_title ():
 | 
			
		||||
            obj_identifier (str): The entry identifier
 | 
			
		||||
            obj_title (str): The entry title
 | 
			
		||||
            municipals_names (iterable): List of municipals for this entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -61,14 +63,15 @@ class Team(UuidModel, DeletableObjectMixin):
 | 
			
		||||
        users_to_notify = self.users.filter(
 | 
			
		||||
            notifications__in=[UserNotificationEnum.NOTIFY_ON_SHARED_ACCESS_REMOVED.value]
 | 
			
		||||
        )
 | 
			
		||||
        mailer.send_mail_shared_access_removed_team(obj_identifier, obj_title, self, users_to_notify)
 | 
			
		||||
        mailer.send_mail_shared_access_removed_team(obj_identifier, obj_title, self, users_to_notify, municipals_names)
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_data_unrecorded(self, obj_identifier, obj_title):
 | 
			
		||||
    def send_mail_shared_data_unrecorded(self, obj_identifier, obj_title, municipals_names):
 | 
			
		||||
        """ Sends a mail to the team members in case of unrecorded data
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
            obj_identifier ():
 | 
			
		||||
            obj_title ():
 | 
			
		||||
            obj_identifier (str): The entry identifier
 | 
			
		||||
            obj_title (str): The entry title
 | 
			
		||||
            municipals_names (iterable): List of municipals for this entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -77,14 +80,15 @@ class Team(UuidModel, DeletableObjectMixin):
 | 
			
		||||
        users_to_notify = self.users.filter(
 | 
			
		||||
            notifications__in=[UserNotificationEnum.NOTIFY_ON_SHARED_DATA_RECORDED.value]
 | 
			
		||||
        )
 | 
			
		||||
        mailer.send_mail_shared_data_unrecorded_team(obj_identifier, obj_title, self, users_to_notify)
 | 
			
		||||
        mailer.send_mail_shared_data_unrecorded_team(obj_identifier, obj_title, self, users_to_notify, municipals_names)
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_data_recorded(self, obj_identifier, obj_title):
 | 
			
		||||
    def send_mail_shared_data_recorded(self, obj_identifier, obj_title, municipals_names):
 | 
			
		||||
        """ Sends a mail to the team members in case of unrecorded data
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
            obj_identifier ():
 | 
			
		||||
            obj_title ():
 | 
			
		||||
            obj_identifier (str): The entry identifier
 | 
			
		||||
            obj_title (str): The entry title
 | 
			
		||||
            municipals_names (iterable): List of municipals for this entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -93,14 +97,15 @@ class Team(UuidModel, DeletableObjectMixin):
 | 
			
		||||
        users_to_notify = self.users.filter(
 | 
			
		||||
            notifications__in=[UserNotificationEnum.NOTIFY_ON_SHARED_DATA_RECORDED.value]
 | 
			
		||||
        )
 | 
			
		||||
        mailer.send_mail_shared_data_recorded_team(obj_identifier, obj_title, self, users_to_notify)
 | 
			
		||||
        mailer.send_mail_shared_data_recorded_team(obj_identifier, obj_title, self, users_to_notify, municipals_names)
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_data_checked(self, obj_identifier, obj_title):
 | 
			
		||||
    def send_mail_shared_data_checked(self, obj_identifier, obj_title, municipals_names):
 | 
			
		||||
        """ Sends a mail to the team members in case of checked data
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
            obj_identifier ():
 | 
			
		||||
            obj_title ():
 | 
			
		||||
            obj_identifier (str): The entry identifier
 | 
			
		||||
            obj_title (str): The entry title
 | 
			
		||||
            municipals_names (iterable): List of municipals for this entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -109,7 +114,7 @@ class Team(UuidModel, DeletableObjectMixin):
 | 
			
		||||
        users_to_notify = self.users.filter(
 | 
			
		||||
            notifications__in=[UserNotificationEnum.NOTIFY_ON_SHARED_DATA_CHECKED.value]
 | 
			
		||||
        )
 | 
			
		||||
        mailer.send_mail_shared_data_checked_team(obj_identifier, obj_title, self, users_to_notify)
 | 
			
		||||
        mailer.send_mail_shared_data_checked_team(obj_identifier, obj_title, self, users_to_notify, municipals_names)
 | 
			
		||||
 | 
			
		||||
    def send_mail_deduction_changed(self, obj_identifier, obj_title, data_changes):
 | 
			
		||||
        """ Sends a mail to the team members in case of changed deduction values
 | 
			
		||||
@ -128,12 +133,13 @@ class Team(UuidModel, DeletableObjectMixin):
 | 
			
		||||
        )
 | 
			
		||||
        mailer.send_mail_deduction_changed_team(obj_identifier, obj_title, self, data_changes, users_to_notify)
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_data_deleted(self, obj_identifier, obj_title):
 | 
			
		||||
    def send_mail_shared_data_deleted(self, obj_identifier, obj_title, municipals_names):
 | 
			
		||||
        """ Sends a mail to the team members in case of deleted data
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
            obj_identifier ():
 | 
			
		||||
            obj_title ():
 | 
			
		||||
            obj_identifier (str): The entry identifier
 | 
			
		||||
            obj_title (str): The entry title
 | 
			
		||||
            municipals_names (iterable): List of municipals for this entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -142,7 +148,7 @@ class Team(UuidModel, DeletableObjectMixin):
 | 
			
		||||
        users_to_notify = self.users.filter(
 | 
			
		||||
            notifications__in=[UserNotificationEnum.NOTIFY_ON_SHARED_DATA_DELETED.value]
 | 
			
		||||
        )
 | 
			
		||||
        mailer.send_mail_shared_data_deleted_team(obj_identifier, obj_title, self, users_to_notify)
 | 
			
		||||
        mailer.send_mail_shared_data_deleted_team(obj_identifier, obj_title, self, users_to_notify, municipals_names)
 | 
			
		||||
 | 
			
		||||
    def remove_user(self, user):
 | 
			
		||||
        """ Removes a user from the team
 | 
			
		||||
 | 
			
		||||
@ -60,12 +60,13 @@ class User(AbstractUser):
 | 
			
		||||
            name=ETS_GROUP
 | 
			
		||||
        ).exists()
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_access_removed(self, obj_identifier, obj_title):
 | 
			
		||||
    def send_mail_shared_access_removed(self, obj_identifier, obj_title, municipals_names):
 | 
			
		||||
        """ Sends a mail to the user in case of removed shared access
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
            obj_identifier ():
 | 
			
		||||
            obj_title ():
 | 
			
		||||
            municipals_names ():
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -73,13 +74,15 @@ class User(AbstractUser):
 | 
			
		||||
        notification_set = self.is_notification_setting_set(UserNotificationEnum.NOTIFY_ON_SHARED_ACCESS_REMOVED)
 | 
			
		||||
        if notification_set:
 | 
			
		||||
            mailer = Mailer()
 | 
			
		||||
            mailer.send_mail_shared_access_removed(obj_identifier, obj_title, self)
 | 
			
		||||
            mailer.send_mail_shared_access_removed(obj_identifier, obj_title, self, municipals_names)
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_access_given(self, obj_identifier, obj_title):
 | 
			
		||||
    def send_mail_shared_access_given(self, obj_identifier, obj_title, municipals_names):
 | 
			
		||||
        """ Sends a mail to the user in case of given shared access
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
            obj_identifier ():
 | 
			
		||||
            obj_identifier (str): The entry identifier
 | 
			
		||||
            obj_title (str): The entry title
 | 
			
		||||
            municipals_names (iterable): List of municipals for this entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -87,13 +90,15 @@ class User(AbstractUser):
 | 
			
		||||
        notification_set = self.is_notification_setting_set(UserNotificationEnum.NOTIFY_ON_SHARED_ACCESS_GAINED)
 | 
			
		||||
        if notification_set:
 | 
			
		||||
            mailer = Mailer()
 | 
			
		||||
            mailer.send_mail_shared_access_given(obj_identifier, obj_title, self)
 | 
			
		||||
            mailer.send_mail_shared_access_given(obj_identifier, obj_title, self, municipals_names)
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_data_recorded(self, obj_identifier, obj_title):
 | 
			
		||||
    def send_mail_shared_data_recorded(self, obj_identifier, obj_title, municipals_names):
 | 
			
		||||
        """ Sends a mail to the user in case of shared data has been recorded
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
            obj_identifier ():
 | 
			
		||||
            obj_identifier (str): The entry identifier
 | 
			
		||||
            obj_title (str): The entry title
 | 
			
		||||
            municipals_names (iterable): List of municipals for this entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -101,13 +106,15 @@ class User(AbstractUser):
 | 
			
		||||
        notification_set = self.is_notification_setting_set(UserNotificationEnum.NOTIFY_ON_SHARED_DATA_RECORDED)
 | 
			
		||||
        if notification_set:
 | 
			
		||||
            mailer = Mailer()
 | 
			
		||||
            mailer.send_mail_shared_data_recorded(obj_identifier, obj_title, self)
 | 
			
		||||
            mailer.send_mail_shared_data_recorded(obj_identifier, obj_title, self, municipals_names)
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_data_unrecorded(self, obj_identifier, obj_title):
 | 
			
		||||
    def send_mail_shared_data_unrecorded(self, obj_identifier, obj_title, municipals_names):
 | 
			
		||||
        """ Sends a mail to the user in case of shared data has been unrecorded
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
            obj_identifier ():
 | 
			
		||||
            obj_identifier (str): The entry identifier
 | 
			
		||||
            obj_title (str): The entry title
 | 
			
		||||
            municipals_names (iterable): List of municipals for this entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -115,13 +122,15 @@ class User(AbstractUser):
 | 
			
		||||
        notification_set = self.is_notification_setting_set(UserNotificationEnum.NOTIFY_ON_SHARED_DATA_RECORDED)
 | 
			
		||||
        if notification_set:
 | 
			
		||||
            mailer = Mailer()
 | 
			
		||||
            mailer.send_mail_shared_data_unrecorded(obj_identifier, obj_title, self)
 | 
			
		||||
            mailer.send_mail_shared_data_unrecorded(obj_identifier, obj_title, self, municipals_names)
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_data_deleted(self, obj_identifier, obj_title):
 | 
			
		||||
    def send_mail_shared_data_deleted(self, obj_identifier, obj_title, municipals_names):
 | 
			
		||||
        """ Sends a mail to the user in case of shared data has been deleted
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
            obj_identifier ():
 | 
			
		||||
            obj_identifier (str): The entry identifier
 | 
			
		||||
            obj_title (str): The entry title
 | 
			
		||||
            municipals_names (iterable): List of municipals for this entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -129,13 +138,15 @@ class User(AbstractUser):
 | 
			
		||||
        notification_set = self.is_notification_setting_set(UserNotificationEnum.NOTIFY_ON_SHARED_DATA_DELETED)
 | 
			
		||||
        if notification_set:
 | 
			
		||||
            mailer = Mailer()
 | 
			
		||||
            mailer.send_mail_shared_data_deleted(obj_identifier, obj_title, self)
 | 
			
		||||
            mailer.send_mail_shared_data_deleted(obj_identifier, obj_title, self, municipals_names)
 | 
			
		||||
 | 
			
		||||
    def send_mail_shared_data_checked(self, obj_identifier, obj_title):
 | 
			
		||||
    def send_mail_shared_data_checked(self, obj_identifier, obj_title, municipals_names):
 | 
			
		||||
        """ Sends a mail to the user in case of shared data has been deleted
 | 
			
		||||
 | 
			
		||||
        Args:
 | 
			
		||||
            obj_identifier ():
 | 
			
		||||
            obj_identifier (str): The entry identifier
 | 
			
		||||
            obj_title (str): The entry title
 | 
			
		||||
            municipals_names (iterable): List of municipals for this entry
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
 | 
			
		||||
@ -143,7 +154,7 @@ class User(AbstractUser):
 | 
			
		||||
        notification_set = self.is_notification_setting_set(UserNotificationEnum.NOTIFY_ON_SHARED_DATA_CHECKED)
 | 
			
		||||
        if notification_set:
 | 
			
		||||
            mailer = Mailer()
 | 
			
		||||
            mailer.send_mail_shared_data_checked(obj_identifier, obj_title, self)
 | 
			
		||||
            mailer.send_mail_shared_data_checked(obj_identifier, obj_title, self, municipals_names)
 | 
			
		||||
 | 
			
		||||
    def send_mail_deduction_changed(self, obj_identifier, obj_title, data_changes):
 | 
			
		||||
        """ Sends a mail to the user in case of a changed deduction
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user