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()
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()
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)
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)
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))
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))
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()
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()
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)