diff --git a/api/providers/serializers.py b/api/providers/serializers.py index 188fbe579ea..749b8305cd5 100644 --- a/api/providers/serializers.py +++ b/api/providers/serializers.py @@ -14,7 +14,7 @@ from osf.models.user import Email, OSFUser from osf.models.validators import validate_email from osf.utils.permissions import REVIEW_GROUPS, ADMIN -from website.settings import DOMAIN +from website.settings import DOMAIN, OSF_PREPRINTS_LOGO class ProviderSerializer(JSONAPISerializer): @@ -365,6 +365,11 @@ def create(self, validated_data): context['is_reviews_moderator_notification'] = True context['is_admin'] = perm_group == ADMIN context['provider_url'] = f'{provider.domain or DOMAIN}preprints/{(provider._id if not provider.domain else '').strip('/')}', + if provider._id == 'osf': + logo = OSF_PREPRINTS_LOGO + else: + logo = provider._id + context['logo'] = logo provider.add_to_group(user, perm_group) setattr(user, 'permission_group', perm_group) # Allows reserialization diff --git a/api/requests/serializers.py b/api/requests/serializers.py index cca3f713094..7adb633f3fb 100644 --- a/api/requests/serializers.py +++ b/api/requests/serializers.py @@ -200,6 +200,8 @@ def make_node_institutional_access_request(self, node, validated_data) -> NodeRe 'comment': comment, 'domain': settings.DOMAIN, 'institution_name': institution.name if institution else None, + 'logo': settings.OSF_LOGO, + }, email_context={ 'bcc_addr': [sender.username] if validated_data['bcc_sender'] else None, diff --git a/notifications/tasks.py b/notifications/tasks.py index cea827f86cd..7b962296ffa 100644 --- a/notifications/tasks.py +++ b/notifications/tasks.py @@ -163,7 +163,8 @@ def send_moderator_email_task(self, user_id, notification_ids, **kwargs): 'reviews_submissions_url': submissions_url, 'provider_type': provider_type, 'additional_context': additional_context, - 'is_admin': provider.get_group(ADMIN).user_set.filter(id=user.id).exists() + 'is_admin': provider.get_group(ADMIN).user_set.filter(id=user.id).exists(), + 'logo': provider._id if not provider.is_default else settings.OSF_PREPRINTS_LOGO, } NotificationType.Type.DIGEST_REVIEWS_MODERATORS.instance.emit( diff --git a/osf/models/collection_submission.py b/osf/models/collection_submission.py index aa8631052ab..0b41bb19e67 100644 --- a/osf/models/collection_submission.py +++ b/osf/models/collection_submission.py @@ -148,7 +148,9 @@ def _notify_moderators_pending(self, event_data): 'reviews_submission_url': f'{DOMAIN}reviews/registries/{self.guid.referent._id}/{self.guid.referent._id}', 'is_request_email': False, 'is_initiator': self.creator == user, - 'profile_image_url': user.profile_image_url() + 'profile_image_url': user.profile_image_url(), + 'logo': self.collection.provider._id if + self.collection.provider and not self.collection.provider.is_default else settings.OSF_PREPRINTS_LOGO, }, is_digest=True, ) @@ -189,6 +191,8 @@ def _notify_accepted(self, event_data): 'domain': settings.DOMAIN, 'osf_contact_email': settings.OSF_CONTACT_EMAIL, 'is_initiator': self.creator == contributor, + 'logo': self.collection.provider._id if + self.collection.provider and not self.collection.provider.is_default else settings.OSF_PREPRINTS_LOGO, }, ) @@ -228,6 +232,8 @@ def _notify_moderated_rejected(self, event_data): 'reviews_submission_url': f'{DOMAIN}reviews/registries/{self.guid.referent._id}/{self.guid.referent._id}', 'rejection_justification': event_data.kwargs.get('comment'), 'osf_contact_email': settings.OSF_CONTACT_EMAIL, + 'logo': self.collection.provider._id if + self.collection.provider and not self.collection.provider.is_default else settings.OSF_PREPRINTS_LOGO, }, ) @@ -271,6 +277,8 @@ def _notify_removed(self, event_data): 'profile_image_url': user.profile_image_url(), 'domain': settings.DOMAIN, 'osf_contact_email': settings.OSF_CONTACT_EMAIL, + 'logo': self.collection.provider._id if + self.collection.provider and not self.collection.provider.is_default else settings.OSF_PREPRINTS_LOGO, } if removed_due_to_privacy and self.collection.provider: @@ -405,6 +413,8 @@ def _notify_cancel(self, event_data): 'message': '', 'osf_contact_email': settings.OSF_CONTACT_EMAIL, 'reviews_submission_url': f'{DOMAIN}reviews/registries/{self.guid.referent._id}/{self.guid.referent._id}', + 'logo': self.collection.provider._id if + self.collection.provider and not self.collection.provider.is_default else settings.OSF_PREPRINTS_LOGO, }, )