From d0b75bafa5947e89d12c5293350be956500db220 Mon Sep 17 00:00:00 2001 From: Gokuldevx Date: Thu, 28 Aug 2025 10:48:04 +0530 Subject: [PATCH] initial commit --- .gitignore | 2 +- civicfix/.env | 5 +++- .../__pycache__/settings.cpython-313.pyc | Bin 3036 -> 3331 bytes .../core/management/commands/init_admin.py | 22 ++++++++++++++++++ 4 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 civicfix/core/management/commands/init_admin.py diff --git a/.gitignore b/.gitignore index 739911f..13d15e2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ civicenv -civicProject.code-workspace +civicProject.code-workspace \ No newline at end of file diff --git a/civicfix/.env b/civicfix/.env index e9edc48..6037fc7 100644 --- a/civicfix/.env +++ b/civicfix/.env @@ -4,4 +4,7 @@ CLOUDINARY_CLOUD_NAME="dkxbfoesf" CLOUDINARY_API_KEY="658671916285379" CLOUDINARY_API_SECRET="_CwNDj4L2dE9yH90Ynj7slPlbo0" CLOUDINARY_URL="cloudinary://658671916285379:_CwNDj4L2dE9yH90Ynj7slPlbo0@dkxbfoesf" -DATABASE_URL="postgresql://civicfix_user:YG56PWj9Xj1DvYIKF35TKmIEjrsfis6d@dpg-d2mpapripnbc73f5vaj0-a/civicfix" \ No newline at end of file +DATABASE_URL="postgresql://civicfix_user:YG56PWj9Xj1DvYIKF35TKmIEjrsfis6d@dpg-d2mpapripnbc73f5vaj0-a.oregon-postgres.render.com/civicfix" +SUPERUSER_USERNAME="admin" +SUPERUSER_PASSWORD="82c96bb18606401630ab9d2836325fbd" +SUPERUSER_EMAIL="gokuldevse2001@gmail.com" \ No newline at end of file diff --git a/civicfix/civicfix/__pycache__/settings.cpython-313.pyc b/civicfix/civicfix/__pycache__/settings.cpython-313.pyc index ec3b6ba801bdd8d49fb0b766a76464d36167906c..5d110c02441e7ed167ddba1f25c8a584b8568a1d 100644 GIT binary patch delta 1664 zcmZ`(+i%-c7(b2^*N$^@ZcXp^cIimcX{*XWLQ9*pbiJg@N!cn@SYG0EhBPk6X}48~ zSb~R99@@>CT8S6l5D$olN&FAIIrO2H#{`HcB!sf<4}jyOflRO?`Ft1uzRU0XEdSK` zX?OLd+wBDS_`m-4&R;G7ezT0$={Q$jUb6x47(f7tC4ekxTOzL8kZrK(BN2&x_L zLHezCG1dhc=uFszjnws^w`sLyN^k6QyJbZviZMmZBe4?uP`qzCQt8?C1=BGLlPl>bKU3Yr zEjrQcE`bq^Hj7e8RQ6}unoue-!YOdm+dD{96tS=(l%=AmRA3`w-im-t(0)f^TP#RI zLi?P&JZpyLmNVkrqvF;RC)PRD|1tBJ#VaWKsoL+ocm6wIy2HMh=WZ6uz|Y>A^?LMQw)Z z3sHDDc=~1sMo365nhvH)0kgePD38%GTG!p+GJMJsl}u< zZ!?%m&nMTHbG(K42hdLMJV<-WTofPStoMli;+->gsKySRvLk2gWR0CXV=vX%ODbKbfX8>Z zajAtw?enI*CHq}!f1%ZCm z`@+t6dTgq*9tOSv)m5iKFijX-*U3_io6vn1G?E>w(!k+)P(AaG{pcMteEwtSL+7#Q zq37h2Q(xQ&MT}tNd57Ic)k(^2Q<-`YP%hnlQ@7tT9IWnM(e0}ZWmUIl8cIgDuhkhx zuT2M$x({#>)or*ql`&YaN*jz@r7T_%%*7Kv>8lkz<0@-}Gdc+T;tF9{=XD(fajSvQ zar9AC@4bBLzhZc~!}|yK^{&{dH*WZY|GvS!g>fZ+-2=i=EDcux=Lq-Wbhu1-x(57c H9&h7sP~56O delta 1326 zcmb7DO-$oP6dotekDWMiLP!Dx2)`u@B;hAO4l6Yf^HW#?oDoSD#%!U{y;V*|` zsg$Ytlxv^l_ue=2=9}-$ zj6duA!^ht;3=OcsFMrtk%>lq)P4M2V56SIM1OQ(H2q3WvP%|1UxgMQcn zJ7E_Lgw0U``CvEf!G+zh_s$3Jd|#A^kjM}FQ3o7AomhMq{sM3ib;BXl^S`7GU%c0b zdf^8s2uDyK455Db2n`g8(CC|{@bwU(lN-6}p6*y!OJ$NP>j{24o8i}L^TK|vT$IP9 zaz!j0BXRsRH***lMvL;msCcq}R2n)M85LtMy3Z7q#yDM#4fqoX-`Wie;e^K9nofA`&Y{CEZ$(PNc%Fbf%kf!huxQ zsiRX7RnI3Tr*x_$7jmUNT&$C^>8Z((SvPa*ODpS~POc}OV4r~;uUj_~5N@UTq)slU zU>YB2icg~se7v>gS8vUJV%Acr=BiR5QnN%3L_x|$bkkjI6?Y&DVyP0Imx_tws=O$P zB|-hi8XO7@>IS)@TMqFpm83i}VqV==l5;{Fnal8kc<-Rez?&Y-DpEo!pnDvidjGqju7t zc&R5`awXAx7CL>O@~Ko>C2St`S9+TM9^5wHl0Lqm_S!ytRKq`E!$=Us?|}Lf_;0L$ zuz$|fU2QKqzUsK@8ohRnDGoepXVp(_0l@(rJfYAHGoTp7RA=1^^NzN;4T_@?0ByaR zGpM;EHx|-sxB~8m9r#y?E8wZSyA|g<(&{kar5?ccD)xpIcsN4C`}i(>F9Mf=mwVsY zu3ghtY)t*vHgw?tCWq#p(AZ9m^=Y17jqTD{?+s&N%?%^P7!;}z1eEiN{kUN?n9P{2 z2{u~6W-H+DK|2$`%KVLC;PNX>-R@GTy3MIr>$n{=*6Z*oblu*r#3+q%KHqw_^?c{q l&dZT+m#&#HtepnlShF!R@P=^I>}?9Ac>}LO8(PGN`X6})UwQxl diff --git a/civicfix/core/management/commands/init_admin.py b/civicfix/core/management/commands/init_admin.py new file mode 100644 index 0000000..759fec3 --- /dev/null +++ b/civicfix/core/management/commands/init_admin.py @@ -0,0 +1,22 @@ +from django.core.management.base import BaseCommand +from django.contrib.auth import get_user_model +import os + +class Command(BaseCommand): + help = "Create a superuser if none exists (using env vars)." + + def handle(self, *args, **options): + User = get_user_model() + username = os.environ.get("SUPERUSER_USERNAME") + email = os.environ.get("SUPERUSER_EMAIL") + password = os.environ.get("SUPERUSER_PASSWORD") + + if not username or not password: + self.stdout.write(self.style.WARNING("SUPERUSER_* env vars not set. Skipping.")) + return + + if not User.objects.filter(username=username).exists(): + User.objects.create_superuser(username=username, email=email, password=password) + self.stdout.write(self.style.SUCCESS(f"Superuser '{username}' created.")) + else: + self.stdout.write(self.style.NOTICE(f"Superuser '{username}' already exists."))