def send_mail_to_group(self, context, exclude_emails=None): """ Send email to org/group users. @param context: Is dict of data required by email template. @exclude_emails: Is list of email to be excluded from email update. """ if exclude_emails is None: exclude_emails = [] # Collage POC and admin email poc_admin_user = Profile.get_user_with_type( user_type=['Collage POC', 'admin']).values_list('email', flat=True) # Org user email org_user_emails = self.object.requester.user.filter( is_active=True).values_list('email', flat=True) # all presenter if any all_presenter_email = self.object.presenter.values_list('email', flat=True) # List of tutor who have shown interest in that location region_interested_member = Profile.objects.filter( interested_locations=self.object.requester.location, usertype__slug='tutor').values_list('user__email', flat=True) all_email = [] all_email.extend(org_user_emails) all_email.extend(all_presenter_email) all_email.extend(poc_admin_user) all_email.extend(region_interested_member) all_email = set(all_email) all_email = list(all_email.difference(exclude_emails)) send_mail(all_email, context, self.email_dir)
def send_mail_to_presenter(self, user, context): """ Send email to presenter. @param user: Is user object @param context: Is dict of data required by email template. """ # Send email to presenter return send_mail([user.email], context, self.email_dir)
def send_mail(self, user, assigned): """Send email to presenter and org users.""" workshop = self.object email_dir = 'workshops/email/assign_me/' last_presenter = user # Collage POC and admin email poc_admin_user = Profile.get_user_with_type( user_type=['Collage POC', 'admin'] ).values_list('email', flat=True) # Org user email org_user_emails = workshop.requester.user.filter( is_active=True ).values_list('email', flat=True) # all presenter except current assigned presenter all_presenter_email = workshop.presenter.exclude( pk=last_presenter.pk ).values_list( 'email', flat=True ) context = { 'presenter': True, 'assigned': assigned, 'date': workshop.expected_date, 'presenter_name': last_presenter.username, 'workshop_organization': workshop.requester, 'workshop_url': self.request.build_absolute_uri(reverse( 'workshops:workshop_detail', args=[workshop.pk] )) } # Send email to presenter send_mail([last_presenter.email], context, email_dir) # Send email to org users and other presenter(s). context['presenter'] = False all_email = [] all_email.extend(org_user_emails) all_email.extend(all_presenter_email) all_email.extend(poc_admin_user) all_email = list(set(all_email)) send_mail(all_email, context, email_dir)
def send_mail_to_group(self, context, exclude_emails=None): """ Send email to org/group users. @param context: Is dict of data required by email template. @exclude_emails: Is list of email to be excluded from email update. """ if exclude_emails is None: exclude_emails = [] # Collage POC and admin email poc_admin_user = Profile.get_user_with_type( user_type=['Collage POC', 'admin'] ).values_list('email', flat=True) # Org user email org_user_emails = self.object.requester.user.filter( is_active=True ).values_list('email', flat=True) # all presenter if any all_presenter_email = self.object.presenter.values_list( 'email', flat=True ) # List of tutor who have shown interest in that location region_interested_member = Profile.objects.filter( interested_locations=self.object.requester.location, usertype__slug='tutor' ).values_list('user__email', flat=True) all_email = [] all_email.extend(org_user_emails) all_email.extend(all_presenter_email) all_email.extend(poc_admin_user) all_email.extend(region_interested_member) all_email = set(all_email) all_email = list(all_email.difference(exclude_emails)) send_mail(all_email, context, self.email_dir)