Example #1
0
def createuser(email, password, superuser, no_password, no_input):
    "Create a new user."
    if not no_input:
        if not email:
            email = _get_email()

        if not (password or no_password):
            password = _get_password()

        if superuser is None:
            superuser = _get_superuser()

    if superuser is None:
        superuser = False

    if not email:
        raise click.ClickException("Invalid or missing email address.")

    # TODO(mattrobenolt): Accept password over stdin?
    if not no_password and not password:
        raise click.ClickException(
            "No password set and --no-password not passed.")

    from sentry import roles
    from sentry.models import User
    from django.conf import settings

    user = User(email=email,
                username=email,
                is_superuser=superuser,
                is_staff=superuser,
                is_active=True)

    if password:
        user.set_password(password)

    user.save()

    click.echo("User created: %s" % (email, ))

    # TODO(dcramer): kill this when we improve flows
    if settings.SENTRY_SINGLE_ORGANIZATION:
        from sentry.models import Organization, OrganizationMember, OrganizationMemberTeam, Team

        org = Organization.get_default()
        if superuser:
            role = roles.get_top_dog().id
        else:
            role = org.default_role
        member = OrganizationMember.objects.create(organization=org,
                                                   user=user,
                                                   role=role)

        # if we've only got a single team let's go ahead and give
        # access to that team as its likely the desired outcome
        teams = list(Team.objects.filter(organization=org)[0:2])
        if len(teams) == 1:
            OrganizationMemberTeam.objects.create(team=teams[0],
                                                  organizationmember=member)
        click.echo("Added to organization: %s" % (org.slug, ))
Example #2
0
 def clean(self, value):
     value = super(CorpEmailField, self).clean(value)
     if not value:
         return None
     # valid corp email
     value = value.lower()
     if value.endswith('@corp.netease.com') or value.endswith(
             '@mesg.corp.netease.com'):
         # valid ok
         user_add = User.objects.filter(username__iexact=value)
         if user_add.exists():
             # user exist
             user_add = user_add[0]
             user_add.set_password("sentry_netease_openid_pwd")
         else:
             # user not exist, save to db
             user_add = User(username=value, name=value, email=value)
             user_add.set_password("sentry_netease_openid_pwd")
             user_add.save()  #save to db
         return user_add
     else:
         # invalid user, give the tip
         raise ValidationError(
             _('Invalid Corp Email, must end with @corp.netease.com or @mesg.corp.netease.com'
               ))
Example #3
0
def openid_login_callback(request):
    #构造需要检查签名的内容
    OPENID_RESPONSE = dict(request.GET)
    SIGNED_CONTENT = []
    #import json
    #print json.dumps(OPENID_RESPONSE, indent=4)
    for k in OPENID_RESPONSE['openid.signed'][0].split(","):
        response_data = OPENID_RESPONSE["openid.%s" % k]
        SIGNED_CONTENT.append("%s:%s\n" % (k, response_data[0]))
    SIGNED_CONTENT = "".join(SIGNED_CONTENT).encode("UTF-8")
    # 使用associate请求获得的mac_key与SIGNED_CONTENT进行assoc_type hash,
    # 检查是否与OpenID Server返回的一致
    SIGNED_CONTENT_SIG = base64.b64encode(
        hmac.new(base64.b64decode(request.session.get('mac_key', '')),
                 SIGNED_CONTENT, hashlib.sha256).digest())

    if SIGNED_CONTENT_SIG != OPENID_RESPONSE['openid.sig'][0]:
        return '认证失败,请重新登录验证'

    request.session.pop('mac_key', None)
    email = request.GET.get('openid.sreg.email', '')
    fullname = request.GET.get('openid.sreg.fullname', '')
    next_url = request.GET.get('next', '/')

    login_user = User.objects.filter(username__iexact=email)
    if login_user.exists():
        login_user = login_user[0]
        login_user.set_password("sentry_netease_openid_pwd")
        login_user.name = fullname  # update by hzwangzhiwei @20160329
        login_user.save()
    else:
        #不存在数据,则增加数据数用户表
        login_user = User(username=email, name=fullname, email=email)
        login_user.set_password("sentry_netease_openid_pwd")
        login_user.save()  #save to db

    # 如果不存在将这个人加入到组织member表中
    if not OrganizationMember.objects.filter(
            user=login_user, organization=Organization.get_default()).exists():
        # 同时给他们默认的trace收集
        # 将用户到组织中
        orgMember = OrganizationMember(user=login_user,
                                       organization=Organization.get_default())
        orgMember.save()
        orgMember = OrganizationMember.objects.get(
            user=login_user, organization=Organization.get_default())
        # 保存组织者到第一个小组
        orgMemTeam = OrganizationMemberTeam(organizationmember=orgMember,
                                            team=Team.objects.get(id=1))
        orgMemTeam.save()

    # HACK: grab whatever the first backend is and assume it works
    login_user.backend = settings.AUTHENTICATION_BACKENDS[0]

    auth.login(request, login_user)
    # can_register should only allow a single registration
    request.session.pop('can_register', None)
    request.session.pop('needs_captcha', None)
    return HttpResponseRedirect(next_url)
Example #4
0
 def user(self):
     user = User(username="******",
                 email="admin@localhost",
                 is_staff=True,
                 is_superuser=True)
     user.set_password('admin')
     user.save()
     return user
Example #5
0
    def owner(self):
        user = User(username="******", email="owner@localhost")
        user.set_password('owner')
        user.save()

        Team.objects.create(owner=user, name='foo', slug='foo')

        return user
Example #6
0
    def owner(self):
        user = User(username="******", email="owner@localhost")
        user.set_password('owner')
        user.save()

        Team.objects.create(owner=user, name='foo', slug='foo')

        return user
Example #7
0
def createuser(email, password, superuser, no_password, no_input):
    "Create a new user."
    if not no_input:
        if not email:
            email = _get_email()

        if not (password or no_password):
            password = _get_password()

        if superuser is None:
            superuser = _get_superuser()

    if superuser is None:
        superuser = False

    if not email:
        raise click.ClickException('Invalid or missing email address.')

    # TODO(mattrobenolt): Accept password over stdin?
    if not no_password and not password:
        raise click.ClickException(
            'No password set and --no-password not passed.')

    from sentry import roles
    from sentry.models import User
    from django.conf import settings

    user = User(
        email=email,
        username=email,
        is_superuser=superuser,
        is_staff=superuser,
        is_active=True,
    )

    if password:
        user.set_password(password)

    user.save()

    click.echo('User created: %s' % (email, ))

    # TODO(dcramer): kill this when we improve flows
    if settings.SENTRY_SINGLE_ORGANIZATION:
        from sentry.models import Organization, OrganizationMember
        org = Organization.get_default()
        if superuser:
            role = roles.get_top_dog().id
        else:
            role = org.default_role
        OrganizationMember.objects.create(
            organization=org,
            user=user,
            role=role,
        )
        click.echo('Added to organization: %s' % (org.slug, ))
Example #8
0
    def create_user(self, email, **kwargs):
        kwargs.setdefault("username", email)
        kwargs.setdefault("is_staff", True)
        kwargs.setdefault("is_superuser", True)

        user = User(email=email, **kwargs)
        user.set_password("admin")
        user.save()

        return user
Example #9
0
    def create_user(self, email, **kwargs):
        kwargs.setdefault('username', email)
        kwargs.setdefault('is_staff', True)
        kwargs.setdefault('is_superuser', True)

        user = User(email=email, **kwargs)
        user.set_password('admin')
        user.save()

        return user
Example #10
0
    def create_user(self, email, **kwargs):
        kwargs.setdefault('username', email)
        kwargs.setdefault('is_staff', True)
        kwargs.setdefault('is_superuser', True)

        user = User(email=email, **kwargs)
        user.set_password('admin')
        user.save()

        return user
Example #11
0
def createuser(email, password, superuser, no_password, no_input):
    "Create a new user."
    if not no_input:
        if not email:
            email = _get_email()

        if not (password or no_password):
            password = _get_password()

        if superuser is None:
            superuser = _get_superuser()

    if superuser is None:
        superuser = False

    if not email:
        raise click.ClickException('Invalid or missing email address.')

    # TODO(mattrobenolt): Accept password over stdin?
    if not no_password and not password:
        raise click.ClickException('No password set and --no-password not passed.')

    from sentry import roles
    from sentry.models import User
    from django.conf import settings

    user = User(
        email=email,
        username=email,
        is_superuser=superuser,
        is_staff=superuser,
        is_active=True,
    )

    if password:
        user.set_password(password)

    user.save()

    click.echo('User created: %s' % (email,))

    # TODO(dcramer): kill this when we improve flows
    if settings.SENTRY_SINGLE_ORGANIZATION:
        from sentry.models import Organization, OrganizationMember
        org = Organization.get_default()
        if superuser:
            role = roles.get_top_dog().id
        else:
            role = org.default_role
        OrganizationMember.objects.create(
            organization=org,
            user=user,
            role=role,
        )
        click.echo('Added to organization: %s' % (org.slug,))
def sentry_create_user(username, password, admin=False):
    model = sentry_find_user(username)
    existing = model is not None
    if not existing:
        model = User()
        model.username = username
        model.is_superuser = admin
        model.set_password(password)
        model.save()

    return model, existing
Example #13
0
    def member(self):
        user = User(username="******", email="member@localhost")
        user.set_password('member')
        user.save()

        TeamMember.objects.create(
            user=user,
            team=self.team,
            type=MEMBER_USER,
        )
        return user
Example #14
0
    def member(self):
        user = User(username="******", email="member@localhost")
        user.set_password('member')
        user.save()

        TeamMember.objects.create(
            user=user,
            team=self.team,
            type=MEMBER_USER,
        )
        return user
Example #15
0
    def member(self):
        user = User(username="******", email="member@localhost")
        user.set_password('member')
        user.save()

        om = self.create_member(
            organization=self.team.organization,
            user=user,
            type=MEMBER_USER,
            teams=[self.team],
        )
        return user
Example #16
0
    def member(self):
        user = User(username="******", email="member@localhost")
        user.set_password('member')
        user.save()

        om = OrganizationMember.objects.create(
            organization=self.team.organization,
            user=user,
            type=MEMBER_USER,
        )
        om.teams.add(self.team)
        return user
Example #17
0
    def member(self):
        user = User(username="******", email="member@localhost")
        user.set_password('member')
        user.save()

        om = self.create_member(
            organization=self.team.organization,
            user=user,
            type=MEMBER_USER,
            teams=[self.team],
        )
        return user
Example #18
0
    def member(self):
        user = User(username="******", email="member@localhost")
        user.set_password('member')
        user.save()

        om = OrganizationMember.objects.create(
            organization=self.team.organization,
            user=user,
            type=MEMBER_USER,
        )
        om.teams.add(self.team)
        return user
Example #19
0
    def create_user(self, email=None, **kwargs):
        if not email:
            email = uuid4().hex + '@example.com'

        kwargs.setdefault('username', email)
        kwargs.setdefault('is_staff', True)
        kwargs.setdefault('is_superuser', False)

        user = User(email=email, **kwargs)
        user.set_password('admin')
        user.save()

        return user
Example #20
0
    def create_user(self, email=None, **kwargs):
        if not email:
            email = uuid4().hex + "@example.com"

        kwargs.setdefault("username", email)
        kwargs.setdefault("is_staff", True)
        kwargs.setdefault("is_superuser", False)

        user = User(email=email, **kwargs)
        user.set_password("admin")
        user.save()

        return user
Example #21
0
    def create_user(self, email=None, **kwargs):
        if not email:
            email = uuid4().hex + '@example.com'

        kwargs.setdefault('username', email)
        kwargs.setdefault('is_staff', True)
        kwargs.setdefault('is_superuser', False)

        user = User(email=email, **kwargs)
        user.set_password('admin')
        user.save()

        return user
Example #22
0
    def handle(self, **options):
        email = options['email']
        is_superuser = options['is_superuser']
        password = options['password']

        if not options['noinput']:
            try:
                if not email:
                    email = self.get_email()

                if not (password or options['nopassword']):
                    password = self.get_password()

                if is_superuser is None:
                    is_superuser = self.get_superuser()
            except KeyboardInterrupt:
                self.stderr.write("\nOperation cancelled.")
                sys.exit(1)

        if not email:
            raise CommandError('Invalid or missing email address')

        if not options['nopassword'] and not password:
            raise CommandError('No password set and --no-password not passed')

        user = User(
            email=email,
            username=email,
            is_superuser=is_superuser,
            is_staff=is_superuser,
            is_active=True,
        )

        if password:
            user.set_password(password)

        user.save()

        self.stdout.write('User created: %s' % (email,))

        # TODO(dcramer): kill this when we improve flows
        if settings.SENTRY_SINGLE_ORGANIZATION:
            org = Organization.objects.all()[0]
            OrganizationMember.objects.create(
                organization=org,
                user=user,
                type=OrganizationMemberType.OWNER,
                has_global_access=user.is_superuser,
            )
            self.stdout.write('Added to organization: %s' % (org.slug,))
Example #23
0
    def handle(self, **options):
        email = options['email']
        is_superuser = options['is_superuser']

        password = None
        if not options['noinput']:
            try:
                if not email:
                    email = self.get_email()

                if not options['nopassword']:
                    password = self.get_password()

                if is_superuser is None:
                    is_superuser = self.get_superuser()
            except KeyboardInterrupt:
                self.stderr.write("\nOperation cancelled.")
                sys.exit(1)

        if not email:
            raise CommandError('Invalid or missing email address')

        if not options['nopassword'] and not password:
            raise CommandError('No password set and --no-password not passed')

        user = User(
            email=email,
            username=email,
            is_superuser=is_superuser,
            is_staff=is_superuser,
            is_active=True,
        )

        if password:
            user.set_password(password)

        user.save()

        self.stdout.write('User created: %s' % (email,))

        # TODO(dcramer): kill this when we improve flows
        if settings.SENTRY_SINGLE_ORGANIZATION:
            org = Organization.objects.all()[0]
            OrganizationMember.objects.create(
                organization=org,
                user=user,
                type=OrganizationMemberType.OWNER,
                has_global_access=user.is_superuser,
            )
            self.stdout.write('Added to organization: %s' % (org.slug,))
Example #24
0
    def create_user(email=None, **kwargs):
        if email is None:
            email = uuid4().hex + "@example.com"

        kwargs.setdefault("username", email)
        kwargs.setdefault("is_staff", True)
        kwargs.setdefault("is_active", True)
        kwargs.setdefault("is_superuser", False)

        user = User(email=email, **kwargs)
        if not kwargs.get("password"):
            user.set_password("admin")
        user.save()

        # UserEmail is created by a signal
        assert UserEmail.objects.filter(user=user, email=email).update(is_verified=True)

        return user
Example #25
0
    def create_user(self, email=None, **kwargs):
        if not email:
            email = uuid4().hex + '@example.com'

        kwargs.setdefault('username', email)
        kwargs.setdefault('is_staff', True)
        kwargs.setdefault('is_active', True)
        kwargs.setdefault('is_superuser', False)

        user = User(email=email, **kwargs)
        user.set_password('admin')
        user.save()

        # UserEmail is created by a signal
        UserEmail.objects.filter(
            user=user,
            email=email,
        ).update(is_verified=True)

        return user
Example #26
0
    def create_user(self, email=None, **kwargs):
        if not email:
            email = uuid4().hex + '@example.com'

        kwargs.setdefault('username', email)
        kwargs.setdefault('is_staff', True)
        kwargs.setdefault('is_active', True)
        kwargs.setdefault('is_superuser', False)

        user = User(email=email, **kwargs)
        user.set_password('admin')
        user.save()

        # UserEmail is created by a signal
        UserEmail.objects.filter(
            user=user,
            email=email,
        ).update(is_verified=True)

        return user
Example #27
0
    def handle(self, **options):
        email = options['email']
        is_superuser = options['is_superuser']

        if not options['noinput']:
            try:
                if not email:
                    email = self.get_email()

                if not options['nopassword']:
                    password = self.get_password()

                if is_superuser is None:
                    is_superuser = self.get_superuser()
            except KeyboardInterrupt:
                self.stderr.write("\nOperation cancelled.")
                sys.exit(1)

        else:
            password = None

        if not email:
            raise CommandError('Invalid or missing email address')

        if not options['nopassword'] and not password:
            raise CommandError('No password set and --no-password not passed')

        user = User(
            email=email,
            username=email,
            is_superuser=is_superuser,
            is_staff=is_superuser,
            is_active=True,
        )

        if password:
            user.set_password(password)

        user.save()

        self.stdout.write('User created: %s' % (email,))
Example #28
0
class EmailAuthBackendTest(TestCase):
    def setUp(self):
        self.user = User(username="******", email="*****@*****.**")
        self.user.set_password("bar")
        self.user.save()

    @property
    def backend(self):
        return EmailAuthBackend()

    def test_can_authenticate_with_username(self):
        result = self.backend.authenticate(username='******', password='******')
        self.assertEquals(result, self.user)

    def test_can_authenticate_with_email(self):
        result = self.backend.authenticate(username='******', password='******')
        self.assertEquals(result, self.user)

    def test_does_not_authenticate_with_invalid_password(self):
        result = self.backend.authenticate(username='******', password='******')
        self.assertEquals(result, None)
Example #29
0
class EmailAuthBackendTest(TestCase):
    def setUp(self):
        self.user = User(username="******", email="*****@*****.**")
        self.user.set_password("bar")
        self.user.save()

    @property
    def backend(self):
        return EmailAuthBackend()

    def test_can_authenticate_with_username(self):
        result = self.backend.authenticate(username='******', password='******')
        self.assertEquals(result, self.user)

    def test_can_authenticate_with_email(self):
        result = self.backend.authenticate(username='******', password='******')
        self.assertEquals(result, self.user)

    def test_does_not_authenticate_with_invalid_password(self):
        result = self.backend.authenticate(username='******', password='******')
        self.assertEquals(result, None)
Example #30
0
    def handle(self, **options):
        email = options['email']
        is_superuser = options['is_superuser']

        password = None
        if not options['noinput']:
            try:
                if not email:
                    email = self.get_email()

                if not options['nopassword']:
                    password = self.get_password()

                if is_superuser is None:
                    is_superuser = self.get_superuser()
            except KeyboardInterrupt:
                self.stderr.write("\nOperation cancelled.")
                sys.exit(1)

        if not email:
            raise CommandError('Invalid or missing email address')

        if not options['nopassword'] and not password:
            raise CommandError('No password set and --no-password not passed')

        user = User(
            email=email,
            username=email,
            is_superuser=is_superuser,
            is_staff=is_superuser,
            is_active=True,
        )

        if password:
            user.set_password(password)

        user.save()

        self.stdout.write('User created: %s' % (email, ))
Example #31
0
def set_admin(args):
    try:
        user = User.objects.get(username=args.email)
        user.set_password(args.password)
        user.save()
        return True
    except:
        pass

    try:
        user = User(
            email=args.email,
            username=args.email,
            is_superuser=True,
            is_staff=True,
            is_active=True,
        )
        user.set_password(args.password)
        user.save()
        return True
    except:
        pass

    return False
Example #32
0
 def nobody(self):
     user = User(username="******", email="nobody@localhost")
     user.set_password('nobody')
     user.save()
     return user
#!/usr/bin/env python

import sys

# Bootstrap the Sentry environment
from sentry.utils.runner import configure
configure()

# Add default superuser
from sentry.models import User

user = User()
user.username = sys.argv[1]
user.email = sys.argv[2]
user.is_superuser = True
user.set_password(sys.argv[3])
user.save()
Example #34
0
    def owner(self):
        user = User(username="******", email="owner@localhost")
        user.set_password('owner')
        user.save()

        return user
Example #35
0
 def nobody(self):
     user = User(username="******", email="nobody@localhost")
     user.set_password('nobody')
     user.save()
     return user
configure()

# Do something crazy
from sentry.models import (
    Team, Project, ProjectKey, User, Organization, OrganizationMember,
    OrganizationMemberTeam, Option
)

organization = Organization.objects.filter(id=1)[0]
team = Team.objects.filter(id=1)[0]

user = User()
user.username = env('AUTH_LOGIN')
user.email = env('AUTH_EMAIL')
user.is_superuser = True
user.set_password(env('AUTH_PASSWORD'))
user.save()

member = OrganizationMember.objects.create(
    organization=organization,
    user=user,
    role='owner',
)

project = Project()
project.slug = 'Default'
project.platform = 'php'
project.name = 'Default'
project.organization = organization
project.save()
Example #37
0
 def admin(self):
     user = User(username="******", email="admin@localhost", is_staff=True, is_superuser=True)
     user.set_password('admin')
     user.save()
     return user
Example #38
0
    def owner(self):
        user = User(username="******", email="owner@localhost")
        user.set_password('owner')
        user.save()

        return user
Example #39
0
def createuser(email, password, superuser, no_password, no_input):
    "Create a new user."
    if not no_input:
        if not email:
            email = _get_email()

        if not (password or no_password):
            password = _get_password()

        if superuser is None:
            superuser = _get_superuser()

    if superuser is None:
        superuser = False

    if not email:
        raise click.ClickException('Invalid or missing email address.')

    # TODO(mattrobenolt): Accept password over stdin?
    if not no_password and not password:
        raise click.ClickException('No password set and --no-password not passed.')

    from sentry import roles
    from sentry.models import User
    from django.conf import settings

    user = User(
        email=email,
        username=email,
        is_superuser=superuser,
        is_staff=superuser,
        is_active=True,
    )

    if password:
        user.set_password(password)

    user.save()

    click.echo('User created: %s' % (email, ))

    # TODO(dcramer): kill this when we improve flows
    if settings.SENTRY_SINGLE_ORGANIZATION:
        from sentry.models import (Organization, OrganizationMember, OrganizationMemberTeam, Team)

        org = Organization.get_default()
        if superuser:
            role = roles.get_top_dog().id
        else:
            role = org.default_role
        member = OrganizationMember.objects.create(
            organization=org,
            user=user,
            role=role,
        )

        # if we've only got a single team let's go ahead and give
        # access to that team as its likely the desired outcome
        teams = list(Team.objects.filter(organization=org)[0:2])
        if len(teams) == 1:
            OrganizationMemberTeam.objects.create(
                team=teams[0],
                organizationmember=member,
            )
        click.echo('Added to organization: %s' % (org.slug, ))
Example #40
0
 def test_requires_password_on_valid_accounts(self):
     user = User()
     user.set_password('foo')
     form = RemoveProjectForm(user=user, project_list=[])
     self.assertIn('password', form.fields)
Example #41
0
    react_project.team = team

    react_project.name = 'React'
    react_project.organization = organization
    react_project.save()

    react_project.add_team(team)
    react_project.save()

user = User.objects.filter(username='******').first()
if not user:
    user = User()
    user.username = '******'
    user.email = 'admin@localhost'
    user.is_superuser = True
    user.set_password('admin')
    user.save()

    member = OrganizationMember.objects.create(
        organization=organization,
        user=user,
        role='owner',
    )

    OrganizationMemberTeam.objects.create(
        organizationmember=member,
        team=team,
    )

django_key = ProjectKey.objects.filter(project=django_project).first()
react_key = ProjectKey.objects.filter(project=react_project).first()
Example #42
0
 def test_requires_password_on_valid_accounts(self):
     user = User()
     user.set_password('foo')
     form = AccountSettingsForm(user=user)
     self.assertIn('old_password', form.fields)
Example #43
0
# Bootstrap the Sentry environment
from sentry.models import Organization, OrganizationMember, \
    OrganizationMemberTeam, Project, ProjectKey, Team, User
from sentry.utils.runner import configure

configure()


# Make an assumption that if 'admin' -User exists Sentry has been initialized
if not User.objects.filter(username='******').exists():
    user = User()
    user.username = '******'
    user.email = '*****@*****.**'
    user.is_superuser = True
    user.set_password('admin')
    user.save()

    organization = Organization.objects.filter(slug='sentry')[0]

    team = Team()
    team.name = 'COD'
    team.organization = organization
    team.save()

    project = Project()
    project.team = team
    project.add_team(team)
    project.name = 'Cern Open Data Portal'
    project.organization = organization
    project.save()
Example #44
0
#!/srv/sentry/application/current/bin/python
{% from "sentry/map.jinja" import sentry with context %}

from sentry.utils.runner import configure
configure()

from sentry.models import Team, Project, ProjectKey, User, Organization

user = User()
user.username = '******'
user.email = '{{sentry.bootstrap.email}}'
user.is_superuser = True
user.set_password('{{sentry.bootstrap.password}}')
user.save()

organization = Organization()
organization.name = '{{sentry.bootstrap.organization}}'
organization.owner = user
organization.save()

team = Team()
team.organization = organization
team.name = '{{sentry.bootstrap.team}}'
team.owner = user
team.save()

project = Project()
project.organization = organization
project.team = team
project.owner = user
project.name = '{{sentry.bootstrap.project}}'
    organization.save()

    team = Team()
    team.name = os.environ.get('TEAM_NAME', 'Aptible')
    team.organization = organization
    team.save()

    project = Project()
    project.team = team
    project.name = 'Default'
    project.organization = organization
    project.save()

    user = User()
    user.username = os.environ.get('ADMIN_USERNAME', 'aptible')
    user.email = 'admin@localhost'
    user.is_superuser = True
    user.set_password(os.environ['ADMIN_PASSWORD'])
    user.save()

    member = OrganizationMember.objects.create(
        organization=organization,
        user=user,
        role='owner',
    )

    OrganizationMemberTeam.objects.create(
        organizationmember=member,
        team=team,
    )