From 2447f558e4293ee693aa50e639f26b48d6947ad9 Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Mon, 26 Jan 2015 12:01:48 +0100 Subject: [PATCH] add combined method for creating databases with users - implement userdbs.models.UserDatabaseManager.create_userdatabase_with_user to setup a new database with a new database user in one step --- gnuviechadmin/userdbs/models.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnuviechadmin/userdbs/models.py b/gnuviechadmin/userdbs/models.py index c678a31..cf09969 100644 --- a/gnuviechadmin/userdbs/models.py +++ b/gnuviechadmin/userdbs/models.py @@ -202,6 +202,26 @@ class UserDatabaseManager(models.Manager): break return nextname + @transaction.atomic + def create_userdatabase_with_user( + self, db_type, osuser, password=None, commit=True): + """ + Creates a new user database with a new user. + + :param db_type: database type from :py:data:`DB_TYPES` + :param osuser: :py:class:`osusers.models.OsUser` instance + :param str password: the password of the new database user + :param boolean commit: whether the user and the database should be + persisted + :return: database instance + :rtype: :py:class:`UserDatabase` + + """ + dbuser = DatabaseUser.objects.create_database_user( + osuser, db_type, password=password, commit=commit) + database = self.create_userdatabase(dbuser, commit=commit) + return database + @transaction.atomic def create_userdatabase(self, db_user, db_name=None, commit=True): """