def send_volunteer_mail(domain, event, volunteers, template, sender=None, token_generator=default_token_generator, verbosity=0, dry_run=False): if not sender: sender = viewutil.get_default_email_from_user() adminGroup, created = Group.objects.get_or_create(name='Bid Admin') trackerGroup, created = Group.objects.get_or_create(name='Bid Tracker') for volunteer in volunteers: try: with transaction.atomic(): user, created = AuthUser.objects.get_or_create( email=volunteer.email, defaults=dict(username=volunteer.username, first_name=volunteer.firstname, last_name=volunteer.lastname, is_active=False)) user.is_staff = True if volunteer.isHead: user.groups.add(adminGroup) user.groups.remove(trackerGroup) else: user.groups.remove(adminGroup) user.groups.add(trackerGroup) user.save() if verbosity > 0: if created: print("Created user {0} with email {1}".format( volunteer.username, volunteer.email)) else: print("Found existing user {0} with email {1}".format( volunteer.username, volunteer.email)) context = dict(event=event, is_head=volunteer.isHead, password_reset_url=domain + reverse('password_reset'), registration_url=domain + reverse('register')) if verbosity > 0: print("Sending email to {0}, active = {1}, head = {2}". format(volunteer.username, user.is_active, volunteer.isHead)) if not dry_run: auth.send_registration_mail(domain, user, template, sender, token_generator, extra_context=context) else: raise DryRunException except DryRunException: pass # do not commit anything to the db in dry run mode
def password_reset(request): return djauth_views.password_reset(request, template_name='tracker/password_reset.html', email_template_name='password_reset_template', password_reset_form=forms.PostOfficePasswordResetForm, from_email=viewutil.get_default_email_from_user(), extra_context={'event': viewutil.get_event(None), 'csrftoken': get_csrf_token(request)})
def delegate_password_reset_render(request, template, context=None, status=200): return djauth_views.password_reset(request, template_name=template, email_template_name=tracker.auth.default_password_reset_template(), password_reset_form=forms.PostOfficePasswordResetForm, from_email=viewutil.get_default_email_from_user(), extra_context=context)
def delegate_password_reset_render(request, template, context=None, status=200): return djauth_views.password_reset(request, template_name=template, email_template_name=tracker.auth.default_password_reset_template(), password_reset_form=forms.PostOfficePasswordResetForm, from_email=viewutil.get_default_email_from_user(), post_reset_redirect=reverse('tracker:password_reset_done'), extra_context=context)
def send_auth_token_mail(domain, user, viewURI, template, sender=None, token_generator=default_token_generator, extra_context=None): if not sender: sender = viewutil.get_default_email_from_user() reset_url = make_auth_token_url(domain, user, viewURI, token_generator) formatContext = { 'user': user, 'domain': domain, 'reset_url': mark_safe( reset_url ), } if extra_context: formatContext.update(extra_context) return post_office.mail.send(recipients=[user.email], sender=sender, template=template, context=formatContext)
def send_auth_token_mail(domain, user, viewURI, template, sender=None, token_generator=default_token_generator, extra_context=None): if not sender: sender = viewutil.get_default_email_from_user() reset_url = make_auth_token_url(domain, user, viewURI, token_generator) formatContext = { 'user': user, 'domain': domain, 'reset_url': mark_safe(reset_url), } if extra_context: formatContext.update(extra_context) return post_office.mail.send(recipients=[user.email], sender=sender, template=template, context=formatContext)
def send_volunteer_mail(domain, event, volunteers, template, sender=None, token_generator=default_token_generator, verbosity=0, dry_run=False): if not sender: sender = viewutil.get_default_email_from_user() adminGroup, created = Group.objects.get_or_create(name='Bid Admin') trackerGroup, created = Group.objects.get_or_create(name='Bid Tracker') for volunteer in volunteers: try: with transaction.atomic(): user,created = AuthUser.objects.get_or_create(email=volunteer.email, defaults=dict(username=volunteer.username, first_name=volunteer.firstname, last_name=volunteer.lastname, is_active=False)) user.is_staff = True if volunteer.isHead: user.groups.add(adminGroup) user.groups.remove(trackerGroup) else: user.groups.remove(adminGroup) user.groups.add(trackerGroup) user.save() if verbosity > 0: if created: print("Created user {0} with email {1}".format(volunteer.username, volunteer.email)) else: print("Found existing user {0} with email {1}".format(volunteer.username, volunteer.email)) context = dict( event=event, is_head=volunteer.isHead, password_reset_url=domain + reverse('password_reset'), registration_url=domain + reverse('register')) if verbosity > 0: print("Sending email to {0}, active = {1}, head = {2}".format(volunteer.username, user.is_active, volunteer.isHead)) if not dry_run: auth.send_registration_mail(domain, user, template, sender, token_generator, extra_context=context) else: raise DryRunException except DryRunException: pass # do not commit anything to the db in dry run mode
def get_event_default_sender_email(event): if event and event.prizecoordinator: return event.prizecoordinator.email else: return viewutil.get_default_email_from_user()
def get_event_default_sender_email(event): if event and event.prizecoordinator: return event.prizecoordinator.email else: return viewutil.get_default_email_from_user()