Exemple #1
0
def account_remove(username, app_id, app_token):
    if not app_id:
        raise Exception("Invalid app_id")

    if not app_token:
        raise Exception("Invalid app_token")

    app = None
    try:
        app = App.objects.get(app_id=app_id)
    except App.DoesNotExist:
        raise Exception("Invalid app_id")

    if app.app_token != app_token:
        raise Exception("Invalid app_token")

    app = App.objects.get(app_id=app_id)

    if app.app_token != app_token:
        raise Exception("Incorrect app token")

    DataHubManager.remove_user(username=username)

    user = User.objects.get(username=username)
    user.delete()
Exemple #2
0
def account_remove (username, app_id, app_token):
  if not app_id:
    raise Exception("Invalid app_id")

  if not app_token:
    raise Exception("Invalid app_token")

  app = None
  try:
    app = App.objects.get(app_id=app_id)
  except App.DoesNotExist:
    raise Exception("Invalid app_id")
  
  if app.app_token != app_token:
    raise Exception("Invalid app_token")
  
  app = App.objects.get(app_id=app_id)
  
  if app.app_token != app_token:
    raise Exception("Incorrect app token")

  DataHubManager.remove_user(username=username)
  
  user = User.objects.get(username=username)
  user.delete()
Exemple #3
0
def app_remove (request, app_id):
  try:
    login = get_login(request)
    user = User.objects.get(username=login)
    app = App.objects.get(user=user, app_id=app_id)
    app.delete()

    DataHubManager.remove_user(username=app_id)

    return HttpResponseRedirect('/developer/apps')
  except Exception, e:
    c = {'errors': [str(e)]}
    c.update(csrf(request))
    return render_to_response('apps.html', c)
Exemple #4
0
def app_remove(request, app_id):
    try:
        login = get_login(request)
        user = User.objects.get(username=login)
        app = App.objects.get(user=user, app_id=app_id)
        app.delete()

        DataHubManager.remove_user(username=app_id)

        return HttpResponseRedirect('/developer/apps')
    except Exception, e:
        c = {'errors': [str(e)]}
        c.update(csrf(request))
        return render_to_response('apps.html', c)
Exemple #5
0
def delete(request):
    """
    Deletes a django user, database user, and any databases they own.

    Data from deleted databases is not saved.
    """
    if request.method != 'POST':
        return HttpResponseNotAllowed(['POST'])
    username = request.user.get_username()
    context = RequestContext(request, {'username': username})
    try:
        DataHubManager.remove_user(username=username, remove_db=True)
        django_logout(request)
        return render(request, 'delete-done.html', context)
    except User.DoesNotExist:
        return HttpResponseNotFound('User {0} not found.'.format(username))
Exemple #6
0
def delete(request):
    """
    Deletes a django user, database user, and any databases they own.

    Data from deleted databases is not saved.
    """
    if request.method != 'POST':
        return HttpResponseNotAllowed(['POST'])
    username = request.user.get_username()
    context = RequestContext(request, {
        'username': username})
    try:
        DataHubManager.remove_user(username=username, remove_db=True)
        django_logout(request)
        return render(request, 'delete-done.html', context)
    except User.DoesNotExist:
        return HttpResponseNotFound('User {0} not found.'.format(username))
Exemple #7
0
    def delete_all_test_users(cls):
        # When building tests, it's possible to delete some combination of the
        # django user/postgres user/postgres user database
        # This tries to catch the edge cases.
        all_users = DataHubManager.list_all_users()
        test_users = filter(lambda x: x.startswith('delete_me_'), all_users)
        for user in test_users:
            try:
                DataHubManager.remove_user(user, remove_db=True,
                                           ignore_missing_user=True)
            except:
                print('UNABLE TO DELETE USER ' + user)

        # Delete all django users whose name starts with 'delete_me_'.
        all_users = User.objects.all()
        test_users = all_users.filter(username__startswith='delete_me_')
        for user in test_users:
            user.delete()
Exemple #8
0
    def delete_all_test_users(self):

        # When building tests, it's possible to delete some combination of the
        # django user/postgres user/postgres user database
        # This tries to catch the edge cases.
        all_users = DataHubManager.list_all_users()
        test_users = filter(lambda x: x.startswith('delete_me_'), all_users)
        for user in test_users:
            try:
                DataHubManager.remove_user(user, remove_db=True)
            except:
                print('UNABLE TO DELETE USER ' + user)

        # Delete all django users whose name starts with 'delete_me_'.
        all_users = User.objects.all()
        test_users = all_users.filter(username__startswith='delete_me_')
        for user in test_users:
            user.delete()
Exemple #9
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.')
 def tearDown(self):
     DataHubManager.remove_user(self.username)