gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-bank] branch master updated: add_bank_account management command


From: gnunet
Subject: [taler-bank] branch master updated: add_bank_account management command
Date: Wed, 18 Dec 2019 19:33:50 +0100

This is an automated email from the git hooks/post-receive script.

dold pushed a commit to branch master
in repository bank.

The following commit(s) were added to refs/heads/master by this push:
     new 55ae824  add_bank_account management command
55ae824 is described below

commit 55ae8249beaebee46a1be6f1a8453bd6681a6f46
Author: Florian Dold <address@hidden>
AuthorDate: Wed Dec 18 19:33:47 2019 +0100

    add_bank_account management command
---
 .../{provide_accounts.py => add_bank_account.py}   | 46 ++++++++--------------
 .../app/management/commands/provide_accounts.py    |  6 ++-
 2 files changed, 21 insertions(+), 31 deletions(-)

diff --git a/talerbank/app/management/commands/provide_accounts.py 
b/talerbank/app/management/commands/add_bank_account.py
similarity index 63%
copy from talerbank/app/management/commands/provide_accounts.py
copy to talerbank/app/management/commands/add_bank_account.py
index 2ce2511..39b2519 100644
--- a/talerbank/app/management/commands/provide_accounts.py
+++ b/talerbank/app/management/commands/add_bank_account.py
@@ -29,40 +29,17 @@ from django.conf import settings
 from ...models import BankAccount
 from ...views import wire_transfer
 from taler.util.amount import Amount
+import getpass
 
 LOGGER = logging.getLogger(__name__)
 LOGGER.setLevel(logging.INFO)
 
 
-##
-# Create a new bank account.
-#
-# @param username the username to associate to this account.
-def make_account(username):
-    try:
-        User.objects.get(username=username)
-    except User.DoesNotExist:
-        LOGGER.info("Creating account for '%s'", username)
-        BankAccount(
-            user=User.objects.create_user(username=username, password='x'),
-            is_public=True
-        ).save()
-
-    except (OperationalError, ProgrammingError):
-        LOGGER.error(
-            "db does not exist, or the project"
-            " is not migrated.  Try 'taler-bank-manage"
-            " django migrate' in the latter case.",
-            stack_info=False,
-            exc_info=True
-        )
-        sys.exit(1)
-
-
-##
-# Django-specific definition to register this command.
 class Command(BaseCommand):
-    help = "Provide initial user accounts"
+    help = "Add bank accounts."
+
+    def add_arguments(self, parser):
+        parser.add_argument("accountname", nargs="1", type=str)
 
     ##
     # Django-specific definition to invoke the account creator
@@ -70,5 +47,14 @@ class Command(BaseCommand):
     # (defined in the settings) and invoke the account creator
     # for each one of them.
     def handle(self, *args, **options):
-        for username in settings.TALER_PREDEFINED_ACCOUNTS:
-            make_account(username)
+        accountname = options["accountname"]
+        pw = getpass.getpass("Enter new password")
+        pw2 = getpass.getpass("Enter repeat new password")
+        if pw != pw2:
+            print("Error: Passwords do not match")
+            return
+        BankAccount(
+            user=User.objects.create_user(username=accountname, password=pw),
+            is_public=False,
+        ).save()
+        print("Created new bank account.")
diff --git a/talerbank/app/management/commands/provide_accounts.py 
b/talerbank/app/management/commands/provide_accounts.py
index 2ce2511..ce84835 100644
--- a/talerbank/app/management/commands/provide_accounts.py
+++ b/talerbank/app/management/commands/provide_accounts.py
@@ -29,6 +29,7 @@ from django.conf import settings
 from ...models import BankAccount
 from ...views import wire_transfer
 from taler.util.amount import Amount
+import uuid
 
 LOGGER = logging.getLogger(__name__)
 LOGGER.setLevel(logging.INFO)
@@ -44,7 +45,10 @@ def make_account(username):
     except User.DoesNotExist:
         LOGGER.info("Creating account for '%s'", username)
         BankAccount(
-            user=User.objects.create_user(username=username, password='x'),
+            user=User.objects.create_user(
+                username=username,
+                password=str(uuid.uuid4())
+            ),
             is_public=True
         ).save()
 

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]