def send_speakers_reminder(self, request, queryset): for instance in queryset: if instance.acl.count() == 0: continue email = SessionSpeakersReminderEmail(instance=instance) send_task("hipeac.tasks.emails.send_from_template", email.data) admin.ModelAdmin.message_user(self, request, "Emails are being sent.")
def registration_post_save(sender, instance, created, *args, **kwargs): if created: event = instance.event event.registrations_count = event.registrations.count() event.save() from hipeac.tools.notifications.events import RegistrationPendingNotificator RegistrationPendingNotificator().deleteOne(user_id=instance.user_id, event_id=event.id) email = ( "events.registrations.created", f"[HiPEAC] Your registration for #{instance.event.hashtag} / {instance.id}", "HiPEAC <*****@*****.**>", [instance.user.email], { "event_city": instance.event.city, "event_hashtag": instance.event.hashtag, "event_name": instance.event.name, "registration_id": instance.id, "registration_url": instance.get_absolute_url(), "visa_requested": instance.visa_requested, }, ) send_task("hipeac.tasks.emails.send_from_template", email)
def open_registration_post_save(sender, instance, created, *args, **kwargs): if created: event = instance.event event.registrations_count = event.registrations.count() event.save() email = OpenRegistrationCreatedEmail(instance=instance) send_task("hipeac.tasks.emails.send_from_template", email.data)
def extract_publications_from_dblp(self, request, queryset): for user in queryset: send_task("hipeac.tasks.dblp.extract_publications_for_user", (user.id, )) admin.ModelAdmin.message_user( self, request, "Publication extraction has started, " "results from DBLP will be available soon.") return True
def send_members_welcome(queryset): for instance in queryset: email = ( "users.members.welcome" if instance.membership_type == "member" else "users.members.non_eu.welcome", "Welcome to HiPEAC", "HiPEAC <*****@*****.**>", [instance.clean_email, "*****@*****.**"], { "user_name": instance.name, "is_registered": True if instance.user else False }, ) send_task("hipeac.tasks.emails.send_from_template", email)
def send_payment_reminder(self, request, queryset): queryset = queryset.exclude(saldo__gte=0) # check if `registration.saldo` >= 0 (aka `is_paid()`) for instance in queryset: email = ( "events.registrations.payment_reminder", f"[HiPEAC] Payment reminder #{instance.event.hashtag} / {instance.id}", "HiPEAC <*****@*****.**>", [instance.user.email], { "user_name": instance.user.profile.name, "event_name": instance.event.name, "registration_id": instance.id, "payment_url": instance.get_payment_url(), "invoice_requested": instance.invoice_requested, }, ) send_task("hipeac.tasks.emails.send_from_template", email) admin.ModelAdmin.message_user(self, request, "Emails are being sent.")
def send_profile_update_reminders(queryset): for instance in queryset: profile = instance.profile email = ( "users.profile.update_reminder", "Update your HiPEAC profile: affiliation, research interests", "HiPEAC <*****@*****.**>", [instance.email], { "username": instance.username, "user_name": profile.name, "institution": profile.institution.name if profile.institution else "(none)", "second_institution": profile.second_institution.name if profile.second_institution else "(none)", "topics": profile.get_metadata_display("topics") if profile.topics != "" else "(none)", }, ) send_task("hipeac.tasks.emails.send_from_template", email)
def job_post_save(sender, instance, created, *args, **kwargs): if created: try: image_url = instance.institution.images["th"] except Exception: image_url = None email = ( "recruitment.jobs.created", f'HiPEAC Job created: "{instance.title}"', "HiPEAC Recruitment <*****@*****.**>", [instance.created_by.email], { "job_url": instance.get_absolute_url(), "job_title": instance.title, "job_pdf_url": instance.get_pdf_url(), "user_name": instance.created_by.profile.name, "show_euraxess": instance.add_to_euraxess, }, ) send_task("hipeac.tasks.emails.send_from_template", email) send_task("hipeac.tasks.recruitment.process_keywords", (instance.id,)) send_task("hipeac.tasks.recruitment.share_in_linkedin", (instance.title, instance.get_status(), image_url)) send_task("hipeac.tasks.recruitment.tweet", (instance.get_status("twitter"),))
def project_post_save(sender, instance, created, *args, **kwargs): if instance.image_has_changed(): send_task("hipeac.tasks.imaging.generate_logo_variants", (instance.image.path, ))
def post_save_profile(sender, instance, created, **kwargs): if instance.image_has_changed(): send_task("hipeac.tasks.imaging.generate_avatar_variants", (instance.image.path,))
def session_proposal_post_save(sender, instance, created, *args, **kwargs): if created: email = SessionProposalEmail(instance=instance) send_task("hipeac.tasks.emails.send_from_template", email.data)
def handle(self, *args, **options): for event in Event.objects.all(): if event.image: send_task("hipeac.tasks.imaging.generate_banner_variants", (event.image.path,))
def post_save_link(sender, instance, created, **kwargs): if instance.type == Link.DBLP and instance.content_type.model == "profile": send_task("hipeac.tasks.dblp.extract_publications_for_user", (instance.object_id, ))
def send_reminder(self, request, queryset): for instance in queryset: email = RegistrationReminderEmail(instance=instance) send_task("hipeac.tasks.emails.send_from_template", email.data) admin.ModelAdmin.message_user(self, request, "Emails are being sent.")