def mail_managers(request, object, subject_template, message_template): """Mails managers summarizing something.""" context = RequestContext(request, {'object': object}) subject = fix_apos(loader.render_to_string(subject_template, context)) subject = subject.replace('\n','') message = fix_apos(loader.render_to_string(message_template, context)) to = [] for r in settings.MANAGERS: to.append(u'%s <%s>' % (r[0], r[1])) sender = settings.DEFAULT_FROM_EMAIL send_mail(subject=subject, message=message, from_email=sender, recipient_list=to)
def mail_somebody(request, object, subject_template, message_template): if not object.email: return False context = RequestContext(request, {'object': object}) translation.activate(object.language) subject = fix_apos(loader.render_to_string(subject_template, context)) subject = subject.replace('\n','') to = u'%s <%s>' % (object.get_full_name(), object.email) sender = settings.DEFAULT_FROM_EMAIL message = fix_apos(loader.render_to_string(message_template, context)) translation.deactivate() send_mail(subject=subject, message=message, from_email=sender, recipient_list=(to,))
def mail_admin(request, user): """Mails managers about a new user.""" subject_template = "new_account_subject.txt" message_template = "new_account_message.txt" context = RequestContext(request, {"object": user}) subject = fix_apos(loader.render_to_string(subject_template, context)) subject = subject.replace("\n", "") message = fix_apos(loader.render_to_string(message_template, context)) sender = u"%s <%s>" % (user.get_full_name(), user.email) to = [u"%s <%s>" % (k[0], k[1]) for k in settings.ADMINS] send_mail(subject=subject, message=message, from_email=sender, recipient_list=to)
def mail_new_user(request, user): """Mails users about their new registration.""" subject_template = "new_account_confirm_subject.txt" message_template = "new_account_confirm_message.txt" context = RequestContext(request, {"object": user}) translation.activate(user.get_profile().language) subject = fix_apos(loader.render_to_string(subject_template, context)) subject = subject.replace("\n", "") message = fix_apos(loader.render_to_string(message_template, context)) translation.deactivate() to = u"%s <%s>" % (user.get_full_name(), user.email) send_mail(subject=subject, message=message, from_email=settings.DEFAULT_FROM_EMAIL, recipient_list=(to,))
def mail_admin(request, object, recipients, subject_template, message_template): """Mails managers summarizing something.""" context = RequestContext(request, {'object': object}) subject = fix_apos(loader.render_to_string(subject_template, context)) subject = subject.replace('\n','') message = fix_apos(loader.render_to_string(message_template, context)) to = [] for r in recipients: to.append(u'%s <%s>' % (r[0], r[1])) if not request.user: sender = settings.DEFAULT_FROM_EMAIL else: sender = u'%s <%s>' % (request.user.get_full_name(), request.user.email) send_mail(subject=subject, message=message, from_email=sender, recipient_list=to)
def mail_user(request, object, subject_template, message_template, user=None): """Mails a user about a new object created on its name.""" if not user: user = object.user if not user.email: return False context = RequestContext(request, {'object': object}) translation.activate(user.get_profile().language) subject = fix_apos(loader.render_to_string(subject_template, context)) subject = subject.replace('\n','') to = u'%s <%s>' % (user.get_full_name(), user.email) if not request.user: sender = settings.DEFAULT_FROM_EMAIL else: sender = u'%s <%s>' % (request.user.get_full_name(), request.user.email) message = fix_apos(loader.render_to_string(message_template, context)) translation.deactivate() send_mail(subject=subject, message=message, from_email=sender, recipient_list=(to,))
def mail_concert_members(request, concert, subject_template='concert_subject.txt', message_template='concert_message_members.txt'): """Mails members about a concert.""" for m in Member.objects.all(): if not m.email: continue data = {'object': concert, 'member': m} context = RequestContext(request, data) translation.activate(m.get_profile().language) subject = fix_apos(loader.render_to_string(subject_template, context)) subject = subject.replace('\n','') message = fix_apos(loader.render_to_string(message_template, context)) to = (u'%s <%s>' % (m.get_full_name(), m.email),) translation.deactivate() send_mail(subject=subject, message=message, from_email=settings.DEFAULT_FROM_EMAIL, recipient_list=to)
def mail_convocation_summary(request, changeset, recipients, subject_template='convocation_summary_subject.txt', message_template='convocation_summary_message.txt'): """Mails managers about a convocation.""" if not changeset: return False if not isinstance(changeset[0], (list, tuple)): changeset = zip(changeset, len(changeset)*(None,)) concert = changeset[0][0].concert responsible = changeset[0][0].modified_by context = RequestContext(request, {'changeset': changeset, 'concert': concert, 'responsible': responsible}) subject = fix_apos(loader.render_to_string(subject_template, context)) subject = subject.replace('\n','') message = fix_apos(loader.render_to_string(message_template, context)) to = [] for r in recipients: to.append(u'%s <%s>' % (r[0], r[1])) send_mail(subject=subject, message=message, from_email=settings.DEFAULT_FROM_EMAIL, recipient_list=to)
def mail_user_with_summary(user): if not user.email: return False subject_template = 'user_summary_subject.txt' message_template = 'user_summary_message.txt' site = Site.objects.get_current() # check all stuff for the user and compute some parameters rehearsal, concert, account = last_month_summary(user) context = Context({'object': user, 'account': account, 'rehearsals': rehearsal, 'concerts': concert, 'site': site}) translation.activate(user.get_profile().language) subject = fix_apos(loader.render_to_string(subject_template, context)) subject = subject.replace('\n','') to = u'%s <%s>' % (user.get_full_name(), user.email) sender = settings.DEFAULT_FROM_EMAIL message = fix_apos(loader.render_to_string(message_template, context)) translation.deactivate() send_mail(subject=subject, message=message, from_email=sender, recipient_list=(to,))