def notify_to_redington(self): nf_groups = NotificationGroups.objects.filter( actions__action=self.action).exclude(recipients='') non_users_emails = list( nf_groups.values_list('non_user_recipients__email', flat=True)) sets = list(nf_groups.values_list('recipients', flat=True)) available_user_ids_in_groups = [] if len(sets) > 0: available_user_ids_in_groups = [ user_id for set_string in sets for user_id in set_string.split(',') ] available_user_ids_in_groups = list( set(available_user_ids_in_groups)) available_user_ids_in_groups = list( map(lambda x: str(x), available_user_ids_in_groups)) """ Send Notifications """ if len(available_user_ids_in_groups) > 0: nf_recipients = ','.join(available_user_ids_in_groups) NfActions.publish( params={ 'user': RedUser.objects.filter(is_superuser=True).first(), 'nf_type': "message", 'recipients': nf_recipients, 'message': "Reject ISV Service Request: %s" % (self.details['rejection_reason']), 'status': "unread", 'details_obj': self.details['isv_marketplace_service_instance'] }) users_emails = RedUser.objects.filter( id__in=available_user_ids_in_groups).values_list('email', flat=True) users_emails = list(users_emails) recipients = users_emails + non_users_emails """ Send Emails """ subject = 'Service Request Rejected: %s ' % ( self.template_data['isv_detail']['service_name']) if len(recipients) > 0: BaseMails.send_mail(subject=subject, recipients=recipients, template_name=choose_template( self.action)['business_html'], template_data=self.template_data)
def notify_to_redington(self): """ Sending emails & notifications to the respective persons in REDINGTON """ nf_groups = NotificationGroups.objects.filter(actions__action=self.action) non_users_emails = list(nf_groups.values_list('non_user_recipients__email', flat=True)) sets = list(nf_groups.values_list('recipients', flat=True)) available_user_ids_in_groups = [] partner_jbacode = self.details['partner'].jba_code partner_jbacode=partner_jbacode.strip() if len(sets) > 0: user_ids = list(set(UserProfileVendorCategory.objects.filter(Q(location__icontains=partner_jbacode[0:2]) | Q(location='CO')).values_list('user_profile__user__id', flat=True))) available_user_ids_in_groups = [user_id for set_string in sets for user_id in set_string.split(',')] available_user_ids_in_groups = list(set(available_user_ids_in_groups)) available_user_ids_in_groups = list(filter(lambda x: re.match(r'[0-9]', x) and int(x) in user_ids, available_user_ids_in_groups)) available_user_ids_in_groups = RedUser.objects\ .filter(id__in=available_user_ids_in_groups, profile__vendor_category=self.details['vendor']).values_list('id', flat=True) available_user_ids_in_groups = list(map(lambda x: str(x), available_user_ids_in_groups)) """ Send Notifications """ if len(available_user_ids_in_groups) > 0: NfActions.publish(params={ 'user': self.details['user'], 'nf_type': "message", 'recipients': ','.join(available_user_ids_in_groups), 'message': "New Account request", 'status': "unread", 'details_obj': self.details['pending_request'] }) users_emails = RedUser.objects.filter(id__in=available_user_ids_in_groups).values_list('email', flat=True) users_emails = list(users_emails) """ Send Emails """ if len(users_emails) > 0: data = {'customer_name': self.details['customer'].company_name, 'partner_name': self.details['partner'].company_name, 'message': self.details['message'], 'domain_name': settings.DOMAIN_NAME} BaseMails.send_mail(subject=self.details['subject'], recipients=users_emails + non_users_emails, template_name=choose_template(self.action)['business'], template_data=data) return True
def notify_to_partner(self): from partner.models import PartnerUserDetails partneruserdetails = PartnerUserDetails.objects.filter( partner=self.details['partner']) if len(partneruserdetails) != 0: parteruser_id = list( partneruserdetails.values_list('user_id', flat=True)) NfActions.publish( params={ 'user': self.details['user'], 'nf_type': "message", 'recipients': str(parteruser_id[0]), 'message': "New Account request(%s) rejected" % (self.details['pending_request'].cloud_account. details['reference_number']), 'status': 'unread', 'details_obj': self.details['pending_request'] }) data = { 'request_number': self.details['pending_request'].reference_number, 'discount': self.details['discount'], 'partner_name': self.details['partner'].company_name, 'reject_msg': self.details['reject_msg'], 'customer_name': self.details['customer'].company_name, } red_user_object = RedUser.objects.filter( id=parteruser_id[0]).first() BaseMails.send_mail(subject=self.details['subject'], recipients=[red_user_object.email], template_name=choose_template( self.action)['partner'], template_data=data) return True
def notify_to_respects(self): """ Sending emails & notifications to the respective persons for the order """ """ Publishing Notifications """ nf_recipients = ','.join([str(self.details['user'].id)]) NfActions.publish( params={ 'user': self.details['user'], 'nf_type': "message", 'recipients': nf_recipients, 'message': "Support Tracking Id: " + self.template_data['feedback_number'], 'status': 'unread', 'details_obj': self.details['feedback_details'] }) return True
def notify_to_redington(self): nf_groups = NotificationGroups.objects.filter( actions__action=self.action).exclude(recipients='') non_users_emails = list( nf_groups.values_list('non_user_recipients__email', flat=True)) sets = list(nf_groups.values_list('recipients', flat=True)) available_user_ids_in_groups = [] if len(sets) > 0: available_user_ids_in_groups = [ user_id for set_string in sets for user_id in set_string.split(',') ] available_user_ids_in_groups = list( set(available_user_ids_in_groups)) available_user_ids_in_groups = list( map(lambda x: str(x), available_user_ids_in_groups)) """ Send Notifications """ if len(available_user_ids_in_groups) > 0: nf_recipients = ','.join(available_user_ids_in_groups) NfActions.publish( params={ 'user': self.details['user'], 'nf_type': "message", 'recipients': nf_recipients, 'message': "Partner Support", 'status': "unread", 'details_obj': self.details['feedback_details'] }) users_emails = RedUser.objects.filter( id__in=available_user_ids_in_groups).values_list('email', flat=True) users_emails = list(users_emails) from cloudapp.generics.constant import AppContants recipients = users_emails + non_users_emails + AppContants.DEVELOPER_EMAILS subject = 'Support from Partner: ' + self.details[ 'feedback_details'].reason """ Send Emails """ if len(recipients) > 0: if self.details['feedback_details'].attachment.name != '': import magic mime = magic.Magic(mime=True) attachements_url = self.details[ 'feedback_details'].attachment.url file_extension = mime.from_file(settings.BASE_DIR + '/' + attachements_url) attchements = dict() attchements['url'] = attachements_url attchements['extenstions'] = file_extension BaseMails.send_mail(subject=subject, recipients=recipients, template_name=choose_template( self.action)['html'], template_data=self.template_data, attachements=attchements) else: BaseMails.send_mail(subject=subject, recipients=recipients, template_name=choose_template( self.action)['html'], template_data=self.template_data)