def create_new_user(request): if not request.user.is_superuser: return HttpResponseRedirect(reverse('sentry')) form = NewUserForm(request.POST or None, initial={ 'send_welcome_mail': True, 'create_project': True, }) if form.is_valid(): user = form.save(commit=False) # create a random password password = uuid.uuid4().hex user.set_password(password) user.save() if form.cleaned_data['create_project']: project = Project.objects.create(owner=user, name='%s\'s New Project' % user.username.capitalize()) member = project.team.member_set.get(user=user) key = project.key_set.get(user=user) if form.cleaned_data['send_welcome_mail']: context = { 'username': user.username, 'password': password, 'url': absolute_uri(reverse('sentry')), } if form.cleaned_data['create_project']: context.update({ 'project': project, 'member': member, 'dsn': key.get_dsn(), }) body = render_to_string('sentry/emails/welcome_mail.txt', context, request) try: send_mail('%s Welcome to Sentry' % (settings.EMAIL_SUBJECT_PREFIX, ), body, settings.SERVER_EMAIL, [user.email], fail_silently=False) except Exception as e: logger = logging.getLogger('sentry.mail.errors') logger.exception(e) return HttpResponseRedirect(reverse('sentry-admin-users')) context = { 'form': form, } context.update(csrf(request)) return render_to_response('sentry/admin/users/new.html', context, request)
def create_new_user(request): if not request.user.is_superuser: return HttpResponseRedirect(reverse('sentry')) form = NewUserForm(request.POST or None, initial={ 'send_welcome_mail': True, 'create_project': True, }) if form.is_valid(): user = form.save(commit=False) # create a random password password = uuid.uuid4().hex user.set_password(password) user.save() if form.cleaned_data['create_project']: project = Project.objects.create( owner=user, name='%s\'s New Project' % user.username.capitalize() ) member = project.team.member_set.get(user=user) key = project.key_set.get(user=user) if form.cleaned_data['send_welcome_mail']: context = { 'username': user.username, 'password': password, 'url': absolute_uri(reverse('sentry')), } if form.cleaned_data['create_project']: context.update({ 'project': project, 'member': member, 'dsn': key.get_dsn(), }) body = render_to_string('sentry/emails/welcome_mail.txt', context, request) try: send_mail( '%s Welcome to Sentry' % (settings.EMAIL_SUBJECT_PREFIX,), body, settings.SERVER_EMAIL, [user.email], fail_silently=False ) except Exception as e: logger = logging.getLogger('sentry.mail.errors') logger.exception(e) return HttpResponseRedirect(reverse('sentry-admin-users')) context = { 'form': form, } context.update(csrf(request)) return render_to_response('sentry/admin/users/new.html', context, request)
def create_new_user(request): if not request.user.has_perm('auth.can_add_user'): return HttpResponseRedirect(reverse('sentry')) form = NewUserForm(request.POST or None, initial={ 'send_welcome_mail': True, 'create_project': True, }) if form.is_valid(): user = form.save(commit=False) # create a random password password = uuid.uuid4().hex user.set_password(password) user.save() if form.cleaned_data['create_project']: project = Project.objects.create( owner=user, name='New Project', ) member = project.member_set.get() if form.cleaned_data['send_welcome_mail']: context = { 'username': user.username, 'password': password, 'url': request.build_absolute_uri(reverse('sentry')), } if form.cleaned_data['create_project']: context.update({ 'project': project, 'member': member, 'dsn': member.get_dsn(request.get_host(), secure=request.is_secure()), }) body = render_to_string('sentry/emails/welcome_mail.txt', context, request) send_mail('%s Welcome to Sentry' % (settings.EMAIL_SUBJECT_PREFIX,), body, settings.SERVER_EMAIL, [user.email], fail_silently=True) return HttpResponseRedirect(reverse('sentry-admin-users')) context = { 'form': form, } context.update(csrf(request)) return render_to_response('sentry/admin/users/new.html', context, request)
def create_new_user(request): if not request.is_superuser(): return HttpResponseRedirect(auth.get_login_url()) form = NewUserForm( request.POST or None, initial={ 'send_welcome_mail': True, 'create_project': True, } ) if form.is_valid(): user = form.save(commit=False) # create a random password password = uuid.uuid4().hex user.set_password(password) user.save() if form.cleaned_data['send_welcome_mail']: context = { 'username': user.username, 'password': password, 'url': absolute_uri(auth.get_login_url()), } body = render_to_string('sentry/emails/welcome_mail.txt', context, request) try: send_mail( '%s Welcome to Sentry' % (options.get('mail.subject-prefix'), ), body, options.get('mail.from'), [user.email], fail_silently=False ) except Exception as e: logger = logging.getLogger('sentry.mail.errors') logger.exception(e) return HttpResponseRedirect(absolute_uri('/manage/users/')) context = { 'form': form, } context.update(csrf(request)) return render_to_response('sentry/admin/users/new.html', context, request)
def create_new_user(request): if not request.is_superuser(): return HttpResponseRedirect(reverse('sentry')) form = NewUserForm(request.POST or None, initial={ 'send_welcome_mail': True, 'create_project': True, }) if form.is_valid(): user = form.save(commit=False) # create a random password password = uuid.uuid4().hex user.set_password(password) user.save() if form.cleaned_data['send_welcome_mail']: context = { 'username': user.username, 'password': password, 'url': absolute_uri(reverse('sentry')), } body = render_to_string('sentry/emails/welcome_mail.txt', context, request) try: send_mail('%s Welcome to Sentry' % (options.get('mail.subject-prefix'), ), body, options.get('mail.from'), [user.email], fail_silently=False) except Exception as e: logger = logging.getLogger('sentry.mail.errors') logger.exception(e) return HttpResponseRedirect(reverse('sentry-admin-users')) context = { 'form': form, } context.update(csrf(request)) return render_to_response('sentry/admin/users/new.html', context, request)
def create_new_user(request): if not request.user.is_superuser: return HttpResponseRedirect(reverse("sentry")) form = NewUserForm(request.POST or None, initial={"send_welcome_mail": True, "create_project": True}) if form.is_valid(): user = form.save(commit=False) # create a random password password = uuid.uuid4().hex user.set_password(password) user.save() if form.cleaned_data["create_project"]: project = Project.objects.create(owner=user, name="%s's New Project" % user.username.capitalize()) member = project.team.member_set.get(user=user) key = project.key_set.get(user=user) if form.cleaned_data["send_welcome_mail"]: context = {"username": user.username, "password": password, "url": absolute_uri(reverse("sentry"))} if form.cleaned_data["create_project"]: context.update({"project": project, "member": member, "dsn": key.get_dsn()}) body = render_to_string("sentry/emails/welcome_mail.txt", context, request) try: send_mail( "%s Welcome to Sentry" % (settings.EMAIL_SUBJECT_PREFIX,), body, settings.SERVER_EMAIL, [user.email], fail_silently=False, ) except Exception as e: logger = logging.getLogger("sentry.mail.errors") logger.exception(e) return HttpResponseRedirect(reverse("sentry-admin-users")) context = {"form": form} context.update(csrf(request)) return render_to_response("sentry/admin/users/new.html", context, request)
def create_new_user(request): if not request.is_superuser(): return HttpResponseRedirect(reverse("sentry")) form = NewUserForm(request.POST or None, initial={"send_welcome_mail": True, "create_project": True}) if form.is_valid(): user = form.save(commit=False) # create a random password password = uuid.uuid4().hex user.set_password(password) user.save() if form.cleaned_data["send_welcome_mail"]: context = {"username": user.username, "password": password, "url": absolute_uri(reverse("sentry"))} body = render_to_string("sentry/emails/welcome_mail.txt", context, request) try: send_mail( "%s Welcome to Sentry" % (options.get("mail.subject-prefix"),), body, options.get("mail.from"), [user.email], fail_silently=False, ) except Exception as e: logger = logging.getLogger("sentry.mail.errors") logger.exception(e) return HttpResponseRedirect(reverse("sentry-admin-users")) context = {"form": form} context.update(csrf(request)) return render_to_response("sentry/admin/users/new.html", context, request)