Exemple #1
0
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)
Exemple #4
0
 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
Exemple #8
0
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()