From 5b464780576e23c7246a71b78d3ff3bbdda58bb1 Mon Sep 17 00:00:00 2001 From: Norm Rasmussen Date: Wed, 22 Feb 2023 20:18:34 -0500 Subject: [PATCH] Added error messages and ability to bulk add groups --- app/__pycache__/routes.cpython-311.pyc | Bin 11947 -> 12847 bytes app/routes.py | 27 ++++++++++++++++--------- app/templates/bulk_add_groups.html | 9 +++++---- 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/app/__pycache__/routes.cpython-311.pyc b/app/__pycache__/routes.cpython-311.pyc index 6eefdbf4ac82fc4f54bc31e099740413298eabc4..54d8a9c45294a23de9dddde28b3987a012ec1913 100644 GIT binary patch delta 2837 zcmbtWU2Gf25xyfS@g$KVC6c1W-xXz_5HsmclUqLnQ7r~vLCg?c{h8n~%*Rq&{?f$RA{R=L=55jy4=aV`!Y+ zclNjmbn7-rT~actC?%5GB0a~1t~uC3qU)}SA7mr$k#Yrh7m>(MiIsk#sTVG z$-Jhk*@U<#>LN|#X@>5{!2<{f5e@+qI;Yc`PSo?{w5;YbGChpUwxyJ)6NH-%`V`7e zAXosp=#CHR)5r|4uiTL*k7F0Z5$mKU;8hoLxlBSzCw2N94n2=Bjew4(-$EE=RiD>H zXV{CLP&WZiy&avKYZ#KOyy>|JzOC53HB;*#3_pyqw?e_Q^Hj~}w5N08ygWhwS8sTX zSqWL8Y9^DF6+MwjD+`Z$g#Ey`cghIY_tCg-AiM;yy&*epCb5$eU%#s_e0@BrwEBOE zn|LqqCC?YwT4<=%h|@T`6Y?F{vHqr+J^^bLY)Mto!Mb66B`4FpxO}_e_J-H}zyOCk z!vp*jI}ncX)9j_Ne-FA;!$cxmt#KG^FXuB02~m;~5DQvh*TbJf5?&^8{`c&#_j~+U z<+HB)JiFT4%|3GND|cg{^&r4jlUzC~-KM&Fx4WF=zU{eT=D1t%G};U&^~`WF?z?&-V+}DG&J%_XkOVM1kNCJkl$nKiG?xN)e58B~rG@iQ>W*4Kqyp3Ir22SaY?E#LvuoLlOOR=?R zz3q5B&Lu&2HKlb=vtJY%i@Y7`Df67}{nwFgPDzlQMFCtvq^?q%-b^b_>eexHwwmN> z4oU7}8{`~Rpj%jljD|U9=&?xNQk%p9z007>MC$!N75n~qzT^V~{Es^W7KBA(fk%>_ zX2CS}$LJY;HwzC!0brAZ`}xn<;$RGt=Gx#3UgLsz6{P5o0W{1LLLd*Fv0=~W$o?rp z1fXtF#H@@(qrcoJdW{-y9F*pXdIdydCi)CcGj1{S_~>|HcqX4r%9_?kP8ju)q{Ky; zye!KKfr=nYL~D$n&u20#aazRLc-jiKE%`~5ikTZXSlNx^811@w|LDGgI-4SDDo&@=y0x`tab$8zu`W*dhDJnQtdzd2k*ze+T@w) z4=+^dQq{G*?pm(7maDeq4SV-ms%j6xf78Tyj+<7G;cvr!W{1Dw*1uNG1Gj%$=8m^| zdbaACTX)UXTys_1+~!f96G+t>rV$o;B3U-RPo4q)P#vJ&niCaC)EXZ&c+b^a;ArSF z?L(0PgjodRBj6nNk_Zm4{EL}09jfsMH%$ib6weCrVGAnx2jRJ_#{d8T delta 1886 zcmbW1+ix316o+Sgi|wp0sqLo3PJGF&8|s9pkfb!U3ZtKqw2r;Yu zW@qNNGiS~@Gw;bOqwcp|E+>KV-GyILKZdWkGgd0{S!*Zt@ypixsh@vueUwH@`)sYW ztsZnDWi?PO6BdPvg#qPSretM>Nt5cd!dm#bni!3iuGH+bz$9z6M+0}D(vC_yQ=ZN% zny#@R9~8!$;+vgXPR(jcSvaAoS*BE4tczb0628g`6N)aS)I8G^jU6j>y56NU%0G9f zX)oXJ=?*mG3RQ#HE^O}NFM2vbb=7l~_VB!S*lXC~z%ew2#rc=st$t&EK~_&?Gip+n zQrby2!tHgB!4{;tYbM&xyZl{q+wli4LPYF9bRxPCcOkj~<+@Z})75Dyc`~UdnUrT4 zwi5^MLG&Pc0W7!hC_6-2cat4bGeKpr&BsRfPzDaK?FLQB@l+ehw*C&aRhM`@i0FgXxd`9!-?+B zRZJTzoeMk*-Y&W7Z-OL z>Fm_)KH^U{>=-oyIE+@^i;w`zn_G0@_M~c({GWY((-5WMk}dcaZtHSrjnWN%zNy1z zxTc$b+|mw!vjZZVrE*||v3zDqO3JbX@nW<5&G1){sAnRbrM~)QQy87hWJJ}B+tZFm8+?8R zhyR>fGyIe0cHcM-RK3O~pviAF_-U9w(Go4S1jnc?_RjX}yAymV)Cj9O+G0UWF*CeB z|3nFSl}wN#Ns}U#Y0<=2L-h{RlnF)&TfNX2=TnV!f@~?6PZAa@m@iuRfG@y5YV@_7 zAqDdTv4|JgGGy8%SYNn?t-O2Wjh{(0=Z~| zwfy|*HXp6!?{90ItKD417`+6xufSU=lq?<6|8-n;6s@vTu9eLNlBW0+ZL%N>y8HJz z2$5ZQ?kYugziuwp6l{+W(Q}xgL%3Z$PMi6J2p}=y+ZTtHh8Eyi zv%3~17d=a!1u#$~q`jm-nfwp=nRC$-A$7{VSa+(Np- zA}DD=977oQ#|VCnAx5k&;}al9&-S42p43H~jYgX;sc= rls$|?Cv2Z+FO^>D8Zy-fsc)SCZkdUx?*{E%H(^gd|Ft`A!3ll?y=<;? diff --git a/app/routes.py b/app/routes.py index 071d00f..993b9cb 100644 --- a/app/routes.py +++ b/app/routes.py @@ -203,10 +203,10 @@ def add_groups_options(): if "next" not in nextlink: break - dfgroups = dataframe.to_html() + session["dfgroups"] = dataframe.to_html() session["dfcsv"] = dataframe.to_csv() return render_template( - "bulk_add_groups.html", table=dfgroups, titles="Bulk Add Groups" + "bulk_add_groups.html", table=session["dfgroups"], titles="Bulk Add Groups" ) else: return "This isn't working. Let's go our own way." @@ -215,7 +215,6 @@ def add_groups_options(): @app.route("/bulk_add_groups", methods=["GET", "POST"]) def bulk_add_groups(): grouparr = [] - groupdict = {} i = 0 if request.method == "POST": groups = request.form.get("groups") @@ -226,21 +225,31 @@ def bulk_add_groups(): groups = groups.split(",") groups = [group.strip() for group in groups] for group in groups: - print(group) + groupdict = {} groupdict["name"] = group grouparr.append(groupdict) - print(groupdict) - print(grouparr) - print(grouparr) - url = "https://api.northpass.com/v2/bulk/people" + url = "https://api.northpass.com/v2/bulk/groups" payload = {"data": {"attributes": {"groups": grouparr}}} headers = { "accept": "application/json", "content-type": "application/json", "X-Api-Key": session["key"], } - return payload + response = requests.post(url, json=payload, headers=headers) + print(type(response)) + response = str(response) + if "202" in response: + error = "Success! Groups have been added successfully." + return render_template("bulk_add_groups.html", table=session["dfgroups"], title="Groups Added", error=error) + elif "403" in response: + error = "Uh oh. Looks like you're not the admin or don't have appropriate privileges. Please talk to your academy admin." + elif "422" in response: + error = "Hm. Looks like something was wrong with the group names. Reach out to the manager of this app." + return render_template("bulk_add_groups.html", table=session["dfgroups"], title="Groups Added", error=error) + else: + error = "Shrug" + return render_template("bulk_add_groups.html", title="Shrug", error=error) app.secret_key = "@&I\x1a?\xce\x94\xbb0w\x17\xbf&Y\xa2\xc2(A\xf5\xf2\x97\xba\xeb\xfa" diff --git a/app/templates/bulk_add_groups.html b/app/templates/bulk_add_groups.html index 3873855..fa304f7 100644 --- a/app/templates/bulk_add_groups.html +++ b/app/templates/bulk_add_groups.html @@ -1,12 +1,13 @@ {% extends 'head.html' %} {% block content %} -

Hello! Please enter Group Names below.

+

Hello! Please enter Group Names below.

+

{% if error %} -

{{ error }}

+

{{ error }}

{% endif %} - -

+

+

Please enter a comma separated list of Groups you'd like to add