From 686cf182e4a194ab11f47e6f428697c6215e0916 Mon Sep 17 00:00:00 2001 From: Cayo Puigdefabregas Date: Tue, 7 Nov 2023 17:43:23 +0100 Subject: [PATCH] add initial datas from envs vars --- examples/organizations.csv | 2 ++ idhub/management/commands/initial_datas.py | 29 +++++++++++++--------- 2 files changed, 19 insertions(+), 12 deletions(-) create mode 100644 examples/organizations.csv diff --git a/examples/organizations.csv b/examples/organizations.csv new file mode 100644 index 0000000..61f0f82 --- /dev/null +++ b/examples/organizations.csv @@ -0,0 +1,2 @@ +"ExO";"https://verify.exo.cat" +"Somos Connexión";"https://verify.somosconexion.coop" diff --git a/idhub/management/commands/initial_datas.py b/idhub/management/commands/initial_datas.py index 71506c6..acdf6c7 100644 --- a/idhub/management/commands/initial_datas.py +++ b/idhub/management/commands/initial_datas.py @@ -1,5 +1,10 @@ +import os +import csv + +from pathlib import Path from django.core.management.base import BaseCommand, CommandError from django.contrib.auth import get_user_model +from decouple import config from idhub.models import Organization @@ -10,20 +15,20 @@ class Command(BaseCommand): help = "Insert minimum datas for the project" def handle(self, *args, **kwargs): - admin = 'admin@example.org' - pw_admin = '1234' + ADMIN_EMAIL = config('ADMIN_EMAIL', 'admin@example.org') + ADMIN_PASSWORD = config('ADMIN_PASSWORD', '1234') + USER_EMAIL = config('USER_EMAIL', 'user1@example.org') + USER_PASSWORD = config('USER_PASSWORD', '1234') - user = 'user1@example.org' - pw_user = '1234' - organization = [ - ("ExO", "https://verify.exo.cat"), - ("Somos Connexión", "https://verify.somosconexion.coop") - ] + self.create_admin_users(ADMIN_EMAIL, ADMIN_PASSWORD) + self.create_users(USER_EMAIL, USER_PASSWORD) - # self.create_admin_users(admin, pw_admin) - self.create_users(user, pw_user) - for o in organization: - self.create_organizations(*o) + BASE_DIR = Path(__file__).resolve().parent.parent.parent.parent + ORGANIZATION = os.path.join(BASE_DIR, 'examples/organizations.csv') + with open(ORGANIZATION, newline='\n') as csvfile: + f = csv.reader(csvfile, delimiter=';', quotechar='"') + for r in f: + self.create_organizations(r[0].strip(), r[1].strip()) def create_admin_users(self, email, password): User.objects.create_superuser(email=email, password=password)