def post(self,request,pk): form = ContactUsForm (request.POST) #bound form to contact get_response = False user = request.user resp = HttpResponse("") if user.is_authenticated() and form.is_valid(): c=form.save(commit= True) send_mails(c.email, ['*****@*****.**'], 'message from open community', c.message, '') return resp
def send_mail(self, template, sender, send_to, data=None, base_url=None): if not base_url: base_url = settings.HOST_URL d = data.copy() if data else {} d.update({ 'base_url': base_url, 'community': self, 'LANGUAGE_CODE': settings.LANGUAGE_CODE, 'MEDIA_URL': settings.MEDIA_URL, 'STATIC_URL': settings.STATIC_URL, }) subject = render_to_string("emails/%s_title.txt" % template, d).strip() message = render_to_string("emails/%s.txt" % template, d) html_message = render_to_string("emails/%s.html" % template, d) from_email = "%s <%s>" % (sender.display_name, sender.email) recipient_list = set([sender.email]) open_invitation_list = set() if send_to == SendToOption.ALL_MEMBERS: recipient_list.update(list( self.memberships.values_list('user__email', flat=True))) open_invitation_email_list = self.invitations.values_list('email', flat=True) if open_invitation_email_list.count(): open_invitation_list.update(list(open_invitation_email_list)) elif send_to == SendToOption.BOARD_ONLY: recipient_list.update(list( self.memberships.board().values_list('user__email', flat=True))) open_invitation_email_list = self.invitations.exclude( default_group_name=DefaultGroups.MEMBER).values_list('email', flat=True) if open_invitation_email_list.count(): open_invitation_list.update(list(open_invitation_email_list)) elif send_to == SendToOption.ONLY_ATTENDEES: recipient_list.update(list( self.upcoming_meeting_participants.values_list( 'email', flat=True))) logger.info("Sending agenda to %d users" % len(recipient_list)) send_mails(from_email, recipient_list, subject, message, html_message) if open_invitation_list: send_mails(from_email, open_invitation_list, subject, message, html_message) return len(recipient_list)
def send_mail(self, template, sender, send_to, data=None, base_url=None): if not base_url: base_url = settings.HOST_URL d = data.copy() if data else {} d.update({ 'base_url': base_url, 'community': self, 'LANGUAGE_CODE': settings.LANGUAGE_CODE, 'MEDIA_URL': settings.MEDIA_URL, 'STATIC_URL': settings.STATIC_URL, }) subject = render_to_string("emails/%s_title.txt" % template, d).strip() message = render_to_string("emails/%s.txt" % template, d) html_message = render_to_string("emails/%s.html" % template, d) from_email = "%s <%s>" % (self.name, settings.FROM_EMAIL) recipient_list = set([sender.email]) if send_to == SendToOption.ALL_MEMBERS: recipient_list.update( list(self.memberships.values_list('user__email', flat=True))) elif send_to == SendToOption.BOARD_ONLY: recipient_list.update( list(self.memberships.board().values_list('user__email', flat=True))) elif send_to == SendToOption.ONLY_ATTENDEES: recipient_list.update( list( self.upcoming_meeting_participants.values_list('email', flat=True))) logger.info("Sending agenda to %d users" % len(recipient_list)) send_mails(from_email, recipient_list, subject, message, html_message) return len(recipient_list)
def send_agenda(self, sender, send_to, base_url=None): if not base_url: base_url = settings.HOST_URL d = { 'base_url': base_url, 'object': self, 'community': self, 'LANGUAGE_CODE': settings.LANGUAGE_CODE, } subject = render_to_string("emails/agenda_title.txt", d) message = render_to_string("emails/agenda.txt", d) html_message = render_to_string("emails/agenda.html", d) from_email = "%s <%s>" % (self.name, settings.FROM_EMAIL) recipient_list = set([sender.email]) if send_to == SendToOption.ALL_MEMBERS: recipient_list.update(list( self.memberships.values_list('user__email', flat=True))) elif send_to == SendToOption.BOARD_ONLY: recipient_list.update(list( self.memberships.filter( default_group_name=DefaultGroups.BOARD ).values_list('user__email', flat=True))) elif send_to == SendToOption.ONLY_ATTENDEES: recipient_list.update(list( self.upcoming_meeting_participants.values_list( 'email', flat=True))) logger.info("Sending agenda to %d users" % len(recipient_list)) send_mails(from_email, recipient_list, subject, message, html_message) return len(recipient_list)
def send_mail(self, template, sender, send_to, data=None, base_url=None): if not base_url: base_url = settings.HOST_URL d = data.copy() if data else {} d.update({ 'base_url': base_url, 'community': self, 'LANGUAGE_CODE': settings.LANGUAGE_CODE, }) subject = render_to_string("emails/%s_title.txt" % template, d) message = render_to_string("emails/%s.txt" % template, d) html_message = render_to_string("emails/%s.html" % template, d) from_email = "%s <%s>" % (self.name, settings.FROM_EMAIL) recipient_list = set([sender.email]) if send_to == SendToOption.ALL_MEMBERS: recipient_list.update(list( self.memberships.values_list('user__email', flat=True))) elif send_to == SendToOption.BOARD_ONLY: recipient_list.update(list( self.memberships.board().values_list('user__email', flat=True))) elif send_to == SendToOption.ONLY_ATTENDEES: recipient_list.update(list( self.upcoming_meeting_participants.values_list( 'email', flat=True))) logger.info("Sending agenda to %d users" % len(recipient_list)) send_mails(from_email, recipient_list, subject, message, html_message) return len(recipient_list)