Municipal calculation to background

* moves municipal names fetching from fore- to background for mail sending
This commit is contained in:
2023-12-11 12:12:19 +01:00
parent 743bb320d7
commit b1e7acc5f4
2 changed files with 49 additions and 33 deletions

View File

@@ -116,14 +116,13 @@ 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, municipals_names)
celery_send_mail_shared_data_deleted.delay(self.identifier, self.title, user_id)
# 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.id, self.__class__, team_id, municipals_names)
celery_send_mail_shared_data_deleted_team.delay(self.id, self.__class__, team_id)
self.save()
@@ -253,13 +252,12 @@ 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.id, self.__class__, user_id, municipals_names)
celery_send_mail_shared_data_unrecorded.delay(self.id, self.__class__, user_id)
for team_id in shared_teams:
celery_send_mail_shared_data_unrecorded_team.delay(self.id, self.__class__, team_id, municipals_names)
celery_send_mail_shared_data_unrecorded_team.delay(self.id, self.__class__, team_id)
return action
@@ -284,13 +282,12 @@ 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.id, self.__class__, user_id, municipals_names)
celery_send_mail_shared_data_recorded.delay(self.id, self.__class__, user_id)
for team_id in shared_teams:
celery_send_mail_shared_data_recorded_team.delay(self.id, self.__class__, team_id, municipals_names)
celery_send_mail_shared_data_recorded_team.delay(self.id, self.__class__, team_id)
return action
@@ -361,17 +358,15 @@ 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.id, self.__class__, user_id, municipals_names)
celery_send_mail_shared_data_checked.delay(self.id, self.__class__, user_id)
# 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.id, self.__class__, team_id, municipals_names)
celery_send_mail_shared_data_checked_team.delay(self.id, self.__class__, team_id)
self.log.add(action)
return action
@@ -554,11 +549,10 @@ 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.id, self.__class__, team_id, municipals_names)
celery_send_mail_shared_access_given_team.delay(self.id, self.__class__, team_id)
for team_id in removed_teams:
celery_send_mail_shared_access_removed_team.delay(self.id, self.__class__, team_id, municipals_names)
celery_send_mail_shared_access_removed_team.delay(self.id, self.__class__, team_id)
self.share_with_team_list(accessing_teams)
@@ -583,12 +577,11 @@ 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(self.id, self.__class__, user_id, municipals_names)
celery_send_mail_shared_access_removed.delay(self.id, self.__class__, user_id)
for user_id in new_users:
celery_send_mail_shared_access_given(self.id, self.__class__, user_id, municipals_names)
celery_send_mail_shared_access_given.delay(self.id, self.__class__, user_id)
# Set new shared users
self.share_with_user_list(accessing_users)
@@ -650,9 +643,8 @@ 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, municipals_names)
celery_send_mail_shared_access_removed.delay(self.id, self.__class__, user.id)
class GeoReferencedMixin(models.Model):