Exemple #1
0
def create_anonymous_user(apps, schema_editor):
    # Create anonymous user
    username = settings.ANONYMOUS_ROLE
    email = settings.ANONYMOUS_ROLE_EMAIL
    users = User.objects.filter(username=username)

    dh_user_exists = False
    if len(users) > 0:
        dh_user_exists = True
    db_exists = DataHubManager.database_exists(username)
    db_role_exists = DataHubManager.user_exists(username)
    user_data_folder_exists = DataHubManager.user_data_folder_exists(username)

    # try to create the django user. Get the password from them
    password = None
    if not dh_user_exists:
        password = User.objects.create_user(username=username,
                                            email=email,
                                            password=None).password

    # try to create the db role
    if not db_role_exists:
        DataHubManager.create_user(username=username,
                                   password=password,
                                   create_db=False)

    # delete any db that exists
    if db_exists:
        DataHubManager.remove_database(repo_base=username,
                                       revoke_collaborators=False)

    # delete any user data folder that exists
    if user_data_folder_exists:
        DataHubManager.delete_user_data_folder(username)
Exemple #2
0
def create_public_user(apps, schema_editor):
    # Create public user
    username = settings.PUBLIC_ROLE
    email = settings.PUBLIC_ROLE_EMAIL
    users = User.objects.filter(username=username)

    dh_user_exists = False
    if len(users) > 0:
        dh_user_exists = True
    db_exists = DataHubManager.database_exists(username)
    db_role_exists = DataHubManager.user_exists(username)
    user_data_folder_exists = DataHubManager.user_data_folder_exists(username)

    # try to create the django user. Get the password from them
    password = None
    if not dh_user_exists:
        password = User.objects.create_user(username=username,
                                            email=email,
                                            password=None).password

    # try to create the db role
    if not db_role_exists:
        DataHubManager.create_user(username=username,
                                   password=password,
                                   create_db=False)

    # try to create the db
    if not db_exists:
        DataHubManager.create_user_database(username=username)

    # delete any user data folder that exists
    if user_data_folder_exists:
        DataHubManager.delete_user_data_folder(username)
Exemple #3
0
def create_oauth2_user(apps, schema_editor):
    """
    Create a user to own default oauth2 applications.
    This user has a django account, but not a database role/db, or data folder.
    """
    username = OAUTH2_APP_OWNER
    users = User.objects.filter(username=username)

    dh_user_exists = bool(len(users) > 0)
    db_exists = DataHubManager.database_exists(username)
    db_role_exists = DataHubManager.user_exists(username)
    user_data_folder_exists = DataHubManager.user_data_folder_exists(username)

    # try to create the django user. This skips validation, so the password
    # and email may as well be none.
    if not dh_user_exists:
        User.objects.create_user(username=username, email=None, password=None)
        print_if_not_testing('...django user created')

    # delete any db that exists
    if db_exists:
        DataHubManager.remove_database(repo_base=username,
                                       revoke_collaborators=True)
        print_if_not_testing('...db removed')

    # delete any db role that exists
    if db_role_exists:
        DataHubManager.remove_user(username,
                                   remove_db=False,
                                   ignore_missing_user=False)
        print_if_not_testing('...db role removed')

    # delete any user data folder that exists
    if user_data_folder_exists:
        DataHubManager.delete_user_data_folder(username)
        print_if_not_testing('...data folder removed')

    print_if_not_testing('...success.')
def create_oauth2_user(apps, schema_editor):
    """
    Create a user to own default oauth2 applications.
    This user has a django account, but not a database role/db, or data folder.
    """
    username = OAUTH2_APP_OWNER
    users = User.objects.filter(username=username)

    dh_user_exists = bool(len(users) > 0)
    db_exists = DataHubManager.database_exists(username)
    db_role_exists = DataHubManager.user_exists(username)
    user_data_folder_exists = DataHubManager.user_data_folder_exists(username)

    # try to create the django user. This skips validation, so the password
    # and email may as well be none.
    if not dh_user_exists:
        User.objects.create_user(
            username=username, email=None, password=None)
        print_if_not_testing('...django user created')

    # delete any db that exists
    if db_exists:
        DataHubManager.remove_database(
            repo_base=username, revoke_collaborators=True)
        print_if_not_testing('...db removed')

    # delete any db role that exists
    if db_role_exists:
        DataHubManager.remove_user(username, remove_db=False,
                                   ignore_missing_user=False)
        print_if_not_testing('...db role removed')

    # delete any user data folder that exists
    if user_data_folder_exists:
        DataHubManager.delete_user_data_folder(username)
        print_if_not_testing('...data folder removed')

    print_if_not_testing('...success.')