From eac471b5049c0b6c3e5e111a01b66545de4dcf97 Mon Sep 17 00:00:00 2001
From: Holger Trampe
Date: Wed, 11 Dec 2019 19:25:33 +0100
Subject: [PATCH] =?UTF-8?q?L=C3=B6schabl=C3=A4ufe=20gecheckt=20und=20ferti?=
=?UTF-8?q?g=20implementiert=20-=20BITTE=20CHECKEN!=20E-Mail-Tempates=20Re?=
=?UTF-8?q?gistrierung,=20Passwort=20vergessen=20und=20neue=20Nutzer=20dri?=
=?UTF-8?q?nnen?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
areas/__pycache__/__init__.cpython-38.pyc | Bin 154 -> 154 bytes
areas/__pycache__/admin.cpython-38.pyc | Bin 266 -> 266 bytes
areas/__pycache__/apps.cpython-38.pyc | Bin 372 -> 372 bytes
areas/__pycache__/forms.cpython-38.pyc | Bin 867 -> 867 bytes
areas/__pycache__/models.cpython-38.pyc | Bin 1390 -> 1390 bytes
areas/__pycache__/urls.cpython-38.pyc | Bin 899 -> 899 bytes
areas/__pycache__/views.cpython-38.pyc | Bin 4180 -> 4502 bytes
areas/views.py | 7 ++
.../__pycache__/__init__.cpython-38.pyc | Bin 164 -> 164 bytes
.../__pycache__/settings.cpython-38.pyc | Bin 4375 -> 4399 bytes
.../__pycache__/urls.cpython-38.pyc | Bin 2012 -> 2055 bytes
.../__pycache__/views.cpython-38.pyc | Bin 356 -> 356 bytes
.../__pycache__/wsgi.cpython-38.pyc | Bin 583 -> 583 bytes
news/__pycache__/__init__.cpython-38.pyc | Bin 153 -> 153 bytes
news/__pycache__/admin.cpython-38.pyc | Bin 264 -> 264 bytes
news/__pycache__/apps.cpython-38.pyc | Bin 369 -> 369 bytes
news/__pycache__/forms.cpython-38.pyc | Bin 1307 -> 1307 bytes
news/__pycache__/models.cpython-38.pyc | Bin 1455 -> 1455 bytes
news/__pycache__/urls.cpython-38.pyc | Bin 643 -> 643 bytes
news/__pycache__/views.cpython-38.pyc | Bin 3493 -> 3493 bytes
orga/__pycache__/__init__.cpython-38.pyc | Bin 153 -> 153 bytes
orga/__pycache__/admin.cpython-38.pyc | Bin 194 -> 194 bytes
orga/__pycache__/apps.cpython-38.pyc | Bin 369 -> 369 bytes
orga/__pycache__/models.cpython-38.pyc | Bin 191 -> 191 bytes
orga/__pycache__/urls.cpython-38.pyc | Bin 351 -> 351 bytes
orga/__pycache__/views.cpython-38.pyc | Bin 1817 -> 1817 bytes
standards/__pycache__/__init__.cpython-38.pyc | Bin 158 -> 158 bytes
standards/__pycache__/admin.cpython-38.pyc | Bin 274 -> 274 bytes
standards/__pycache__/apps.cpython-38.pyc | Bin 384 -> 384 bytes
standards/__pycache__/forms.cpython-38.pyc | Bin 3023 -> 3023 bytes
standards/__pycache__/models.cpython-38.pyc | Bin 1653 -> 1653 bytes
standards/__pycache__/urls.cpython-38.pyc | Bin 1126 -> 1126 bytes
standards/__pycache__/views.cpython-38.pyc | Bin 5801 -> 6123 bytes
.../templates/standards/standards_single.html | 1 +
standards/views.py | 7 ++
tasks/__pycache__/__init__.cpython-38.pyc | Bin 154 -> 154 bytes
tasks/__pycache__/admin.cpython-38.pyc | Bin 266 -> 266 bytes
tasks/__pycache__/apps.cpython-38.pyc | Bin 372 -> 372 bytes
tasks/__pycache__/forms.cpython-38.pyc | Bin 1168 -> 1168 bytes
tasks/__pycache__/models.cpython-38.pyc | Bin 1335 -> 1335 bytes
tasks/__pycache__/urls.cpython-38.pyc | Bin 902 -> 902 bytes
tasks/__pycache__/views.cpython-38.pyc | Bin 4777 -> 5097 bytes
tasks/views.py | 7 ++
users/__pycache__/__init__.cpython-38.pyc | Bin 154 -> 154 bytes
users/__pycache__/admin.cpython-38.pyc | Bin 351 -> 351 bytes
users/__pycache__/apps.cpython-38.pyc | Bin 519 -> 519 bytes
users/__pycache__/models.cpython-38.pyc | Bin 3108 -> 3108 bytes
users/__pycache__/priomodel.cpython-38.pyc | Bin 670 -> 670 bytes
users/__pycache__/signals.cpython-38.pyc | Bin 1070 -> 1091 bytes
users/__pycache__/urls.cpython-38.pyc | Bin 1745 -> 1743 bytes
users/__pycache__/usersforms.cpython-38.pyc | Bin 4737 -> 4737 bytes
users/__pycache__/views.cpython-38.pyc | Bin 12809 -> 13593 bytes
users/signals.py | 5 +-
users/templates/users/newusers_email.html | 29 ++++++++
.../templates/users/password_reset_mail.html | 24 ++++---
users/templates/users/register_mail.html | 13 +++-
users/views.py | 64 ++++++++++++++----
57 files changed, 130 insertions(+), 27 deletions(-)
diff --git a/areas/__pycache__/__init__.cpython-38.pyc b/areas/__pycache__/__init__.cpython-38.pyc
index 3ff9165446ebb00592cac02f68b94e6289c870f1..3fed7162d68d91bd728d1a576fd560f9afc8b2f4 100644
GIT binary patch
delta 29
jcmbQmIE#@xl$V!_0SNw!y`0GH#ul1al$w|`G29sdX<`U7
delta 29
jcmbQmIE#@xl$V!_0SNxzem0TYjm;xJCq1=jVz@H^bYuwc
diff --git a/areas/__pycache__/admin.cpython-38.pyc b/areas/__pycache__/admin.cpython-38.pyc
index c67ec552f61826b88ab750f12a9eadc0b42d5925..f4e758adddf887535dd07acbe39c5fe7eee5dcf4 100644
GIT binary patch
delta 29
jcmeBT>SE#!<>lpK0D}KwFDG(uWed$KN=?j}c+3R=YrF{b
delta 29
jcmeBT>SE#!<>lpK0D}LwpH1Z6%I1-ulb%{M@t6w$cD@O)
diff --git a/areas/__pycache__/apps.cpython-38.pyc b/areas/__pycache__/apps.cpython-38.pyc
index e7a6b788707ede82f983f1105cea9a3dc78988b8..9290f60dc3911dbbfa0e9ed6cd8df4d767e4199d 100644
GIT binary patch
delta 29
jcmeyu^o5B#l$V!_0SNw!y`0E>pDi@6C^a!>;)fOhg-!}w
delta 29
jcmeyu^o5B#l$V!_0SNxzem0T&KAT5=PI_w5#1Ab1kWdR4
diff --git a/areas/__pycache__/forms.cpython-38.pyc b/areas/__pycache__/forms.cpython-38.pyc
index c9f46acf804bdbbb80bdcadd5ec68ddb1e9eb1ed..b1a2c81d59630316b43eb0e3c53af8afb6943d9a 100644
GIT binary patch
delta 32
mcmaFN_Lz-3l$V!_0SNw!z1+yH$ixl$V!_0SNw!z1+xM&cqg)SCpEVv$=!m8501U7z#Q7
delta 32
mcmaFI^^S`>l$V!_0SNxzezuXjoQcgNKPNr4XmbbCGbRA3R0{S0
diff --git a/areas/__pycache__/urls.cpython-38.pyc b/areas/__pycache__/urls.cpython-38.pyc
index ddff2d14dbbf441c927891c51fa832017ea49def..768345688f79b2e8666d8302aa8263e19894e813 100644
GIT binary patch
delta 31
lcmZo>Z)WEX<>lpK0D}KwFE?__GqZ)}6{RNTOg3N+1^{uF2m1g3
delta 31
lcmZo>Z)WEX<>lpK0D}LwpKaupXJ+%r&q+@$nry%v3;=!?2)6(L
diff --git a/areas/__pycache__/views.cpython-38.pyc b/areas/__pycache__/views.cpython-38.pyc
index aae0ee2a76fcd62df330337ec0bebd82928f1ef2..bf32680fe31316eccd9c793cd3ddb111f3b8dc00 100644
GIT binary patch
delta 721
zcmY+B%WD%s7{K@2$LuECY;{RYDpu2n(TG;D*w$xbZKzraYOP2hhtQp-iEUcG-B2i7
zswfr&JvdU(gXqzt6#NG~2znKS`~{wrdi3OcYqdDb{N{Vi_nQ5Z-RN_s6N$JY*W)8w
z6*cwFIjphiCi3e1<~eO$6G!!=_{!YmEO>^;9$IBjumT+Bd^cQWm{{zr8&FYLXT%_eE!3Ge`YS|$;Z%^cFah$
zwHgm_52?eXGLO&mfVcH#b%A3C*^f))P0W(KSE8*~vF2mXw#ch(3%S3v*z`G`rAvK;
zgM`5x@r=ZX+7gh_EB_DRJN(Gjm?3Q;8C-@JHQs^WgUbO6tjV}h{L
zaMW*F+U|%S@oCvc(H=4iQZI^ob_xoc8}kDB3~f!7i94gd5dBy
z(c@kx@dn|hL|(^|c$DC&Yh?MqCA{*?*=O(EzbXzn-Ex|ubF4RNv?OE7_VOa$tv72_
o3a2Q`7-2#@cTU1B@zKdaO?-DwK}Ga;eq#l4R)o82RCC?l-{8cWtN;K2
delta 420
zcmbQHd_{pTl$V!_0SJ;`zl?n&ypd0Xnav|VCq1=jvkh}QGo!}jiJan-Z?o}nurNe%
z1T$!|PX5bgHaV4}h|yy54GsfF&dE7EQj?WAMHs~=7qH2Sngh);2I684Ai=@N0)kAN
z3poWD8C@nfbDd&Y$yg*e*`GUB!V;*UNE}3Pg9r&Aaf>-UwPf-UZavGO9QM#fz+g#4Wbc;?$zd
zlqmM1)Lanr7o$RvElAdW@>D)WAs-Oa7ex302~CzFugNF)Qf)jyB5)TKIfJ+^K;jm2
zVoFL8ABe?LoLH86iw$UOepzY}!W`Ghnf$VhZj;;jb(P#f`n-Td6nA-kQFdltI>-q{
u{vcr+5aBra8ov=^z+_GVHO7R=1_Gvxk(1K|Ua*0KC313zpgl9UkP-j{31NW%
diff --git a/areas/views.py b/areas/views.py
index 7d40c1b..47a209d 100644
--- a/areas/views.py
+++ b/areas/views.py
@@ -53,6 +53,13 @@ class AreaDeleteView(LoginRequiredMixin, DeleteView):
success_url = '/areas'
template_name = 'areas/area_confirm_delete.html'
+ def delete(self, request, *args, **kwargs):
+ area = Areas.objects.get(pk=kwargs['pk'])
+ response = super(AreaDeleteView, self).delete(request, *args, **kwargs)
+ name = area.name
+ messages.success(request, f'Bereich ' +name+ ' wurde gelöscht!')
+ return response
+
def get_context_data(self, **kwargs):
context = super(AreaDeleteView, self).get_context_data(**kwargs)
context['active_link'] = 'areasmanagement'
diff --git a/digitaleagentur/__pycache__/__init__.cpython-38.pyc b/digitaleagentur/__pycache__/__init__.cpython-38.pyc
index f932871733a77d6ad81880de62bc990e9c8b7a3e..1ffa4967aa6ad31bc116f53d1659daac2b1a8ac7 100644
GIT binary patch
delta 29
jcmZ3&xP*~Al$V!_0SNw!y`0GH#ul1al$w|`G29mbYn%vC
delta 29
jcmZ3&xP*~Al$V!_0SNxzem0TYjm;xJCq1=jVz@5=cAg0h
diff --git a/digitaleagentur/__pycache__/settings.cpython-38.pyc b/digitaleagentur/__pycache__/settings.cpython-38.pyc
index 274771a5733dddbf24d0b2cdb7396b6c0087cb23..301ecfcbad1eee61332a0d63a26a0d3af4721b86 100644
GIT binary patch
delta 236
zcmbQPv|fofl$V!_0SIQRe2kTt$Scdpw^4g3V|_|qlzb{<7SjS|FsYErx{z@pV@kd_
zLzE&|L@8AQYuqeG8v=vQ<#DoG^-L#7#SG2T(T1L((@IHQ%g!Vdo%s#WRGIa$xqMB
zo9xB2m(gG|2k!<(HclUZcTc~~oB0?Sr7VEXE&>t1Je{p#LW@(2iep0aic%AECZFT?
TWc)W-Lf{@VGYjYB?*a+{r$$7S
delta 197
zcmZ3lG+l`|l$V!_0SLBBeu$Nv$ScdpwNZO1V^%6-7SjS|Fe#tPx{z@pV@jSlLzDto
zL@`w%C4V7Plu}ATlrmI=Eu|1BqLNY+rJAB0rIu10rJhm}rIAt^rJ2GKrIk_^rJYh9
zr30jOQz}weG8v=vQka4nG%GjTF$r)@4&~X)sJ~g5cLU?(b9{fK%z-W{0ujGFovmU*
gi&Kk=V?6S6(o>5jKjHUe{4-fk;2tB-WPU*f04xkSi~s-t
diff --git a/digitaleagentur/__pycache__/urls.cpython-38.pyc b/digitaleagentur/__pycache__/urls.cpython-38.pyc
index c4e18bcf6ec667c084c89b598822d579c0fa2b7c..654405bb881840cac47055e662c1a1a3e536b656 100644
GIT binary patch
delta 533
zcmYk3yH3JT7=U{Yq+H}u?)L(U7eqio#oOTG>|j_-9BR%HDF{g`OBaR?PBog2zJrM&
zj=qM2aq|Ua(ard`9*w6tNx$#=+oY$j!7HKC_WQjYth>_mMD%dnn+5+@1YjSw`g~it
z9y^JkBN8G3!$BP+OpzRu<2r`>2>oeM)?&bMm`yNF0;hn}j5EMl;2dKSI1l{$d;z!!
zJj?nVb;*gb93>?(PZkVJ7Fk$=kOW^QJ_C_uW-DM*U{`EgWwr)34YqFERc6p&mI4`!Gi~4V>VPMS%PbQtqi}#{zKCYAvgYa2_ohrq)?)u@`Q`
z_w49M#~piy>>hFDJ@W&pZjJ8`JKaIu?BPc9h10wvl`3j&r1VuSNF??AbSNpLde&9c
zOO2Pv1F>$~=7qp@zZCDs2rh`+Brn~Vw
z@E!aRgt(YEtBafQX>$X2x#WJo|8sA-2Xz##oXT=Yz^1%@oezV8@ZrLEiy|E0FyEdl
zkA0%Y^@K&44^-xdh(#a@itR(5LXIKFIVX@c#r96r6inFZRSH++5w(dLd|;_R{py<>lpK0D_C%?R{py<>lpK0D`T~?l$V!_0SFAr-c97b%NCkfl$w|`@m(_jeSrz*
delta 29
jcmey!^pS}>l$V!_0SLA_zn{o`m(3$TCq1=j;=5)5f`bY)
diff --git a/news/__pycache__/forms.cpython-38.pyc b/news/__pycache__/forms.cpython-38.pyc
index 2903330f43d6def8a5aa410a4334eec72409bed8..4f2a0365f5bfabdafa0b824144d0fd0806c03e26 100644
GIT binary patch
delta 32
mcmbQuHJgh&l$V!_0SMH3-fiTb#l#kxSCpEVvw1aB0TTd%4haST
delta 32
mcmbQuHJgh&l$V!_0SLA_zu(9`i;2x6KPNr4X!B~O0ww^5F9}Bg
diff --git a/news/__pycache__/models.cpython-38.pyc b/news/__pycache__/models.cpython-38.pyc
index b32eaa5da53c174eade3f3cb11f2636715441a00..bd27abd0cade6d3db163283772d0517504f7e9a5 100644
GIT binary patch
delta 32
mcmZ3_y`Gypl$V!_0SF9_z1zq=orx_puP8M!XY&dsc4h#J00{>G
delta 32
mcmZ3_y`Gypl$V!_0SLA_zu(9`or%pOKPNr4X!8mtc4h#JJP88;
diff --git a/news/__pycache__/urls.cpython-38.pyc b/news/__pycache__/urls.cpython-38.pyc
index 329ef6401b4b4f0850f2e6914ddcd3880cf5bef8..4f0ef46f6b77381e9199b17110e24e53494b120c 100644
GIT binary patch
delta 31
lcmZo>ZD!>T<>lpK0D|)~-fiSoVPXr-D@skwnQY4B2LN{R2vGn4
delta 31
lcmZo>ZD!>T<>lpK0D^7K?>BO*FtK^$=cK0=O*Uon0|0L}2i^bx
diff --git a/news/__pycache__/views.cpython-38.pyc b/news/__pycache__/views.cpython-38.pyc
index 069e8d580391f9216dbdc73e3cdef22d401034df..f23ea3487c829563413aefd52b78569309602592 100644
GIT binary patch
delta 32
mcmZ1~y;Pbzl$V!_0SMY=z1zs0!^{?%SCpEVv$>X8g9`wR-U$!@
delta 32
mcmZ1~y;Pbzl$V!_0SLA^zu(B6!_4N9pOcCkHeD
delta 28
icmbQqIFpepl$V!_0SJ;`PvmlE^T^LhPc51l?gRi^rw4fe
diff --git a/orga/__pycache__/admin.cpython-38.pyc b/orga/__pycache__/admin.cpython-38.pyc
index 651384684116cf6391eeaeec37f3b8e2222d989e..52eca0c92f3a0ab5173ba7012a825eca6e26877b 100644
GIT binary patch
delta 28
icmX@ac!-fJl$V!_0SM-$PUI?P3(YG^P0X3tY!3iq1_#>!
delta 28
icmX@ac!-fJl$V!_0SJ;`Pvk0Q^T^LhPc53*Y!3ith6o@4
diff --git a/orga/__pycache__/apps.cpython-38.pyc b/orga/__pycache__/apps.cpython-38.pyc
index 52f5b4505120cb964510a077e541ff0b348ef124..bad2d216850ae7c550cb0afabd18b356d7ff6d53 100644
GIT binary patch
delta 28
icmey!^pS}xl$V!_0SM-$PUO1B7MfR-nwT^3T{8f3*9lbs
delta 28
icmey!^pS}xl$V!_0SJ;`PvpAC=8>P1o?0~VT{8f7R|%Q`
diff --git a/orga/__pycache__/models.cpython-38.pyc b/orga/__pycache__/models.cpython-38.pyc
index 96f69e5121134d8d361df12e58ad35dbf0925820..0ceedb82a58dcb3efea227223322e5c568536fd7 100644
GIT binary patch
delta 28
icmdnbxSx?Ll$V!_0SM-$PUOmG3(YG^P0X2C?*IT|F$c~7
delta 28
icmdnbxSx?Ll$V!_0SJ;`PvpvH^T^LhPc52Q?*IU0u?Q0Y
diff --git a/orga/__pycache__/urls.cpython-38.pyc b/orga/__pycache__/urls.cpython-38.pyc
index 442122f07be7bd7ca8908f57f3622b4724a469f5..dbd25575fdb0d4f8be448feb683f85986dcbae74 100644
GIT binary patch
delta 30
kcmcc5bf1YUl$V!_0SNY$Y~M5jl$V!_0SNw!y`0FslPxr_C^a!>;wcXRZL|px
delta 29
jcmbQlG>M5jl$V!_0SNTgyqL(nlg%SPCq1=j;wcXRX#oh%
diff --git a/standards/__pycache__/apps.cpython-38.pyc b/standards/__pycache__/apps.cpython-38.pyc
index 455238482355b378b9f97e64e9aadd8228fef25a..4506211131a69db5c71ef884880cf05ea1472067 100644
GIT binary patch
delta 29
jcmZo*ZeZpP<>lpK0D}KwFDG(8XA8|MN=?j}_@e^=Y>)|x
delta 29
jcmZo*ZeZpP<>lpK0D}LwpH1X`&gPMylb%{M@ka*$cajQ5
diff --git a/standards/__pycache__/forms.cpython-38.pyc b/standards/__pycache__/forms.cpython-38.pyc
index 26a019c22ec7cbcda0173028b2b24a36f95075c2..a2f4a40024aac8943c6c7448ffb5fa990f26b7bd 100644
GIT binary patch
delta 32
mcmX>veqNkAl$V!_0SNw!z1+xM#l#kxSCpEVv$>neg%bdln+bsc
delta 32
mcmX>veqNkAl$V!_0SNTgyx7QH#l+^3pOcPf47nQ9}`<>UQudd&Srk*Bu2)l%|$G885z|k3$UdE07xPY
Al>h($
delta 45
zcmey$^Oc7?l$V!_0SLA^zu(CHkBQAAKPNr4Xfr=^5+mcS%|$G885z|l3$UdE06r)U
Ak^lez
diff --git a/standards/__pycache__/urls.cpython-38.pyc b/standards/__pycache__/urls.cpython-38.pyc
index 29e42d32824cef7b763b480ffc27da2ccd9c232b..67f12f14a70361083920dd8236a8b0d78441814d 100644
GIT binary patch
delta 31
lcmaFH@r;8zl$V!_0SGL5-fiUm#>^I)SCpEVGnt(w9srH22{Hfx
delta 31
lcmaFH@r;8zl$V!_0SLA^zu(CHjhW3OKPNr4XfiuXJOGhd31R>M
diff --git a/standards/__pycache__/views.cpython-38.pyc b/standards/__pycache__/views.cpython-38.pyc
index c6ad04a178585ff2aca471a9d9a31f252aeaf4cb..c208d1a1a68767ff77dc3a8fd9c30fa2b96b3bda 100644
GIT binary patch
delta 535
zcmXYt&1(}u6u{?AW@k6i>~@=wnuFRPMPonF(xZq-RYXPlaY*s7%}isLG|KFjf^5h^
zr5;p}IV<)g9%aFQz?&E8HCO3Hy?7N5zLz?W_j_;N=P(~}%*dnTTayrtW($169c61XE&y9dKZogS(u&
zW*X<2JA|u<-4HRkw>vOOPj+3?yGe7j7}au>Lq&U^r9V|m<38*B3veHFbq6LFB$zHjKe9AP=zP;
zl{D(9$f)b1o$K3rZ|-=#jr{?v&mBh)Ok37CU7vafFRT6Qv%71j9ruUgd`bbCwmB;
z5}gK=Ee6}d#K*+M$n=kmr6_K*y09A~=lRHFiF~(0$7G21=W-_aoJY(`^
iRk1Kefmoo{{standard.name}}
Erstellt durch {{standard.created_standard_by.first_name}} {{standard.created_standard_by.last_name}} am {{standard.created_standard_date}} | Zuletzt bearbeitet von {{ standard.last_modified_by.first_name}} {{ standard.last_modified_by.last_name}} am {{ standard.last_modified_on}}
{% if standard.created_standard_by == user or perms.users.standard_management %}
+ | Löschen
| Bearbeiten
{% endif%}
diff --git a/standards/views.py b/standards/views.py
index f80eb5c..a228398 100644
--- a/standards/views.py
+++ b/standards/views.py
@@ -130,6 +130,13 @@ class StandardDeleteView(LoginRequiredMixin, DeleteView):
success_url = '/standards'
template_name = 'standards/standard_confirm_delete.html'
+ def delete(self, request, *args, **kwargs):
+ standard = Standards.objects.get(pk=kwargs['pk'])
+ response = super(StandardDeleteView, self).delete(request, *args, **kwargs)
+ names = standard.name
+ messages.success(request, f'Standard ' +names+ ' wurde gelöscht!')
+ return response
+
def get_context_data(self, **kwargs):
context = super(StandardDeleteView, self).get_context_data(**kwargs)
context['active_link'] = 'standards'
diff --git a/tasks/__pycache__/__init__.cpython-38.pyc b/tasks/__pycache__/__init__.cpython-38.pyc
index 5761d3dff1857e94fb43163bc2a27686a4066d29..ba2b443fd7ed78195251b7a7cf313cd51fff8221 100644
GIT binary patch
delta 29
jcmbQmIE#@xl$V!_0SNw!y`0GH#ul1al$w|`G29sdX<`U7
delta 29
jcmbQmIE#@xl$V!_0SNxzem0TYjm;xJCq1=jVz@H^bYuwc
diff --git a/tasks/__pycache__/admin.cpython-38.pyc b/tasks/__pycache__/admin.cpython-38.pyc
index 64cf5df080695c207ff7757580807ff1d6f53b68..4785bcc4fee12e8b1d443d9e97c0f1206464a5a3 100644
GIT binary patch
delta 29
jcmeBT>SE#!<>lpK0D}KwFDG(uWed$KN=?j}c+3R=YrF{b
delta 29
jcmeBT>SE#!<>lpK00O-=FD7ztW%J0-Nlz`Bc+3R=X9)%)%_~Yx%$fKh
QMgT4gR#L<{IfhXJ01%%OOaK4?
delta 75
zcmeyu^o5B#l$V!_0SNxzem0SN3gfMb3(TZAf&3y6@ypuTDkiizwWv78BR?lSwP@mp
Q7y-B}SV5tySCpEVv)P@=lL-KSObA^7
delta 32
mcmbQhIf0Wql$V!_0SNTgyx7QX#>D24pOclL-KM*$5i|
diff --git a/tasks/__pycache__/models.cpython-38.pyc b/tasks/__pycache__/models.cpython-38.pyc
index 45cdb3b3f75e9855664abdae89647cfbdcc328bd..d012e57cba3d8fd90af7af6d3cdc46aa14e2be78 100644
GIT binary patch
delta 32
mcmdnawVjJQl$V!_0SNw!z1+xc&BPX(SCpEVv)PB~H4^}emlpK0D}KwFE?^4F|&o{6{RNTOg3f?1^{w<2nPTF
delta 31
lcmZo;Z)4{U<>lpK00R9rFE(;3F|&E(=cK0=O*Uo@1^{hb2gU#Z
diff --git a/tasks/__pycache__/views.cpython-38.pyc b/tasks/__pycache__/views.cpython-38.pyc
index c25b548302f650b741f5d10ac454b716cfa1f038..8248b6930d9166e1ed404cb69950a7a044806898 100644
GIT binary patch
delta 716
zcmY*WO=uHA6yCT0-KNPVCN>c(2{tuRs;Cu&T5YAlqHUGd|#$HK+FK1&ko#qquJ
zm&DufyrLIZIIGmRU1d&%5&URmMOn)NRQ;27Qi9|@=H;D1}!a6YkEufjaOy>juPnolB4!Z
zuVs(|O=xMeJT3ZdLFZUECmM@xW!Mf}iPP8I}%rwIN&nqQ)J!=VyP
z<5%l|M%6jo6!9ef3XKjB<+3o32GCU_JuRg1!uGYkAE3{OiVzryjOp~1{3}oY?O~v=^yPnmhB|mz=!s5t|Urrb&Xe7d6C@S<|<#R
suDA^`Xnu!yR|uwY$36phao-*S7qih(SjI|pU+=to8Ch&XiN&(N0Z#~=ssI20
delta 402
zcmaE(L
zlRvXtOpfI&VlO34kQ#cq|K#*y27S}^Y`^i4s+Ki5q
zE4a5Zx=q&OInAquA#{3A
zo+~K9=rehnpsq#`P~|O_f}+g)qCgOnyF9-rJ2Nl6v^ce>C<lpK0D}KwFE?_tGO~r{6{RNTOcrDO2mo-q2x9;M
delta 31
lcmZo?X=mXM<>lpK0D}LwpKau3Wn}Zn&q+@$nk>fn5deKV2_FCe
diff --git a/users/__pycache__/models.cpython-38.pyc b/users/__pycache__/models.cpython-38.pyc
index 6a63d41ca6fa56db0723a6cc98687d3be036b809..0ec8d15c72149e8fce7504e1838d7e5df3da8d31 100644
GIT binary patch
delta 32
mcmZ1?u|$G9l$V!_0SLDAyxYiqgo!OQuP8M!XY*Aie@+0D#|iuZ
delta 32
mcmZ1?u|$G9l$V!_0SLA^zu(Axgo(`~KPNr4X!BJje@+08aS5;h
diff --git a/users/__pycache__/priomodel.cpython-38.pyc b/users/__pycache__/priomodel.cpython-38.pyc
index f822ee2fc887b7fcdaa8353e788f877762d21b6b..e0c55668cdfd7fc81180cb7fa1fe9f9de0826cd2 100644
GIT binary patch
delta 30
kcmbQoI**krl$V!_0SJ!SZ{%9d$QGJcl$w|`c{k%@0BzR@)c^nh
delta 30
kcmbQoI**krl$V!_0SJ;`Z{%9d$mWrslb%{Mc{k%@0CArQ7ytkO
diff --git a/users/__pycache__/signals.cpython-38.pyc b/users/__pycache__/signals.cpython-38.pyc
index a854aad750ef40765abfa30c8ce0744671d9a9e4..8eaf08aacbe4a8e5f06e2a86c7157c4585d29dab 100644
GIT binary patch
delta 477
zcmYk2F-yZh6vy)}X?nRPSVck6){e%($*D*k#8m|85-K(JPHnj~;V!x==;|O@1wVm;
zpTTdD#Zh!~6$IbKLGR$ld;j}C-h1~%Uue(|0%qYkTK_!!xC>gB87AD~Agu%U^l<3sJI6i6IwKTY`W-BU~Ev*QOdL``<^mrmh
zxh~z25^*k+Z`@At1|fLGELj6qbjkk03d&!-o$jEoh0=rm6y36TAlpETSJHxZ@lATW
zi>8aM%*UuDgJlC#`->JvrEi8DW-2`yOJNL}AS|Lf$h|NquIyE!?Bd?;Ch;dt2GowMR^8ogO0&p+bXJh(=Dtzm!fC>LpKpk@bMyT25gSO
E53Y7-&j0`b
delta 458
zcmYjNJxjwt7|wf_k4u`+B8Z}f;${{nCy_dcAPyo(mryA&ch;6mQ|_XxgRX*d|3eX6
zo%|R12gSiraPlr)dIt~B`@A2|z4t|4Nz{*`z|trGo?q54QGCyJKrIT~Dj)?g9C1|O
z6gM1myKquRbDKKcExgn#NJ^TVtLyyK2a7oj7^dD6qJ;X7)&r!$k`~ZbqqS&wVI|Sr
z_$N^Nvr<;}P-b`UpDyeOsX3Uaj}UwV+zx~&fM6wnfB4H{fB*mh
diff --git a/users/__pycache__/urls.cpython-38.pyc b/users/__pycache__/urls.cpython-38.pyc
index 353d16f54c96377509beac6f85a2b7e634482379..0daf14bc6d22553f7a616a1fb53f955c397ed217 100644
GIT binary patch
delta 47
zcmcb}d!Cm!l$V!_0SIQRe2ksGk@r6f2S;&fK|y{|$!0NDA4ay&yrR^^oXHt%nE+7(
B4#fZf
delta 49
zcmX@ldy$tnl$V!_0SI6GQ
Dbg&PX
diff --git a/users/__pycache__/usersforms.cpython-38.pyc b/users/__pycache__/usersforms.cpython-38.pyc
index c7eb2db19db7bae7da1089e43e9d2a560d49ef17..9f87820b2bfec87013b15488cc06558a4aed79eb 100644
GIT binary patch
delta 31
lcmZovZB*q7<>lpK0D^OZ8@bjqv4!Rpr6%TV-p_Q19{_b{2+aTh
delta 31
lcmZovZB*q7<>lpK0D>Ko8@bjqv3ca@q^A~b-p_Q19{_Xs2)O_N
diff --git a/users/__pycache__/views.cpython-38.pyc b/users/__pycache__/views.cpython-38.pyc
index 74b5370c7268d3e9978cc77725eb6c24b6289d72..bbe1500c076bad80fef9782dc3f734321bd73c94 100644
GIT binary patch
delta 5190
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
diff --git a/users/signals.py b/users/signals.py
index ce9c1ae..4e26c1e 100644
--- a/users/signals.py
+++ b/users/signals.py
@@ -1,9 +1,10 @@
-from django.db.models.signals import post_save
+from django.db.models.signals import post_save, pre_delete
from django.contrib.auth.models import User
from django.dispatch import receiver
from .models import Profile, Agency
from django.contrib.auth.models import Permission
+
@receiver(post_save, sender=User)
def create_profile(sender, instance, created, **kwargs):
if created:
@@ -25,4 +26,4 @@ def create_profile(sender, instance, created, **kwargs):
@receiver(post_save, sender=User)
def save_profile(sender, instance, **kwargs):
- instance.profile.save()
\ No newline at end of file
+ instance.profile.save()
diff --git a/users/templates/users/newusers_email.html b/users/templates/users/newusers_email.html
index e69de29..a9adf00 100644
--- a/users/templates/users/newusers_email.html
+++ b/users/templates/users/newusers_email.html
@@ -0,0 +1,29 @@
+{% load i18n %}{% autoescape off %}
+
+
+
+
+
+
+ Digitale Agentur | Account
+
+
+ Hallo {{username}},
+ für Sie wurde ein Account in der Agentur {{user.profile.agency.name}} erstellt. Bitte gehen Sie auf folgenden Link, um ein Passwort zu erstellen:
+
+ https://digitale-agentur.com/password-reset
+
+ Weitere Informationen erhalten Sie von Ihrem Agenturleiter.
+
+
+ Vielen Dank, dass Sie die Plattform Digitale Agentur nutzen!
+
+ Mit freundlichen Grüßen
+
+ Ihr Team von Digitale Agentur
+
+
+
+{% endautoescape %}
diff --git a/users/templates/users/password_reset_mail.html b/users/templates/users/password_reset_mail.html
index 23d8f07..5f23357 100644
--- a/users/templates/users/password_reset_mail.html
+++ b/users/templates/users/password_reset_mail.html
@@ -1,26 +1,32 @@
{% load i18n %}{% autoescape off %}
+
+
- Digitale Agentur Passwort
+ Digitale Agentur | Passwort vergessen
+
- Hallo {{user.first_name}} {{user.last_name}},
- Sie haben eine neues Passwort für den Zugang ihrer Agentur {{user.profile.agency.name}} angefordert. Bitte gehen Sie auf folgenden Link, um sich ein Passwort zu setzen:
+ Hallo {{user.first_name}} {{user.last_name}},
+ Sie haben eine neues Passwort für den Zugang ihrer Agentur {{user.profile.agency.name}} angefordert. Bitte gehen Sie auf folgenden Link, um ein Passwort zu erstellen:
+
{% block reset_link %}
- {{ protocol }}://{{ domain }}{% url 'password_reset_confirm' uidb64=uid token=token %}
+
{{ protocol }}://{{ domain }}{% url 'password_reset_confirm' uidb64=uid token=token %}
{% endblock %}
- Ihr Benutzername: {{ user.get_username }}
-
+ Ihr Benutzername: {{ user.get_username }}
+
Sollten Sie kein Passwort angefordert haben, ignorieren Sie diese E-Mail.
- Vielen Dank, dass Sie die Plattform Digitale Agentur nutzen!
-
+ Vielen Dank, dass Sie die Plattform Digitale Agentur nutzen!
+
Mit freundlichen Grüßen
Ihr Team von Digitale Agentur
-{% endautoescape %}
\ No newline at end of file
+{% endautoescape %}
diff --git a/users/templates/users/register_mail.html b/users/templates/users/register_mail.html
index 638b62a..8014fe3 100644
--- a/users/templates/users/register_mail.html
+++ b/users/templates/users/register_mail.html
@@ -1,16 +1,23 @@
{% load i18n %}{% autoescape off %}
+
+
Digitale Agentur Registrierung
Hallo {{username}},
- Ihre Agentur wurde erstellt. Sie können sich nun hier anmelden und ihre Agentur gestalten.
-
+ Ihre Agentur wurde erstellt. Sie können sich nun hier anmelden und ihre Agentur gestalten:
+
+ https://digitale-agentur.com
+
+
Ihr Benutzername: {{ username_log }}
- Sollten Sie kein Passwort angefordert haben, ignorieren Sie diese E-Mail.
+ Weitere Informationen erhalten Sie in unserem Wiki https://wiki.digitale-agentur.com/ oder per E-Mail an support@digitale-agentur.com!
Vielen Dank, dass Sie die Plattform Digitale Agentur nutzen!
diff --git a/users/views.py b/users/views.py
index 74f8ebb..6184fa4 100644
--- a/users/views.py
+++ b/users/views.py
@@ -69,7 +69,7 @@ def dashboard(request):
# Loading only user same agency
# Change context and return for template-data
# # Get all Users of the Same Agency as logged user
- standards_of_agency = Standards.objects.filter(agency__pk=request.user.profile.agency.pk).order_by('-created_standard_date')[:10]
+ standards_of_agency = Standards.objects.filter(agency__pk=request.user.profile.agency.pk).filter(public=True).order_by('-created_standard_date')[:10]
filterdate = datetime.now()
news = News.objects.filter(agency__pk=request.user.profile.agency.pk).filter(go_online_on__lt=filterdate).filter(go_offline_on__gt=filterdate)
@@ -114,16 +114,20 @@ class UsersCreateUser(LoginRequiredMixin, CreateView):
messages.success(self.request, f'Benutzer angelegt!')
# SAVE OBJECTS TO SIGNALE!
form.instance.agency = self.request.user.profile.agency
-
+ newuser_name = form.cleaned_data.get('first_name') + " " + form.cleaned_data.get('last_name')
+ msg_html = render_to_string('users/newusers_email.html', {'username': newuser_name})
# E-Mail für Passwort-Setzung!
send_mail(
- self.request.user.profile.agency.name + ' Anmeldung',
+ self.request.user.profile.agency.name + ' Account',
'Hallo ' + form.cleaned_data.get('first_name') + ' ' + form.cleaned_data.get('last_name') + '! Bitte setzen sie sich auf https://digitale-agentur.com/password-reset/ ein Passwort.',
'support@digitale-agentur.com',
[form.cleaned_data.get('email')],
+ html_message=msg_html,
fail_silently=False,
)
+
+
return super().form_valid(form)
# USER muss eingeloggt sein, um diese Seite zu sehen
@@ -212,27 +216,61 @@ class ProfileUpdateView(LoginRequiredMixin, UpdateView):
context['active_link'] = 'usersmanagement'
return context
-# Delete a user!
+'''
+
+ # DELETE A USER
+
+ Hier wird das Profil gelöscht, aber damit auch der User. Zusätzlich werden
+ alle Standards, Bereiche und Tasks des zu löschenden Nutzers dem User
+ zugeschrieben, welcher eingeloggt ist. Das passiert VOR dem löschen!
+
+'''
class ProfileDeleteView(LoginRequiredMixin, DeleteView):
model = User
success_url = '/dashboard/usersman'
template_name = 'users/user_confirm_delete.html'
- def test_func(self):
- tempuser = self.get_object()
- todel_name = self.get_object().first_name + " " + self.get_object().last_name
- # self request user ist der aktuell user
- messages.success(self.request, f'Benutzer {todel_name} entfernet!')
- if self.request.user == tempuser:
- return False
- return True
+
+ def delete(self, request, *args, **kwargs):
+ user = User.objects.get(pk=kwargs['pk'])
+ logged_user = request.user
+ areas_fs = Areas.objects.filter(created_area_by=user)
+ for a in areas_fs:
+ a.created_area_by = logged_user
+ a.save()
+
+ # ACHTUNG! Bei Tasks heißt es leider auch created_area...
+ task_fs = Tasks.objects.filter(created_area_by=user)
+ for t in task_fs:
+ t.created_area_by = logged_user
+ t.save()
+
+ standards_fs = Standards.objects.filter(created_standard_by=user)
+ print(standards_fs)
+ for a in standards_fs:
+ a.created_standard_by = logged_user
+ a.save()
+
+ standards_fs = Standards.objects.filter(last_modified_by=user)
+ for a in standards_fs:
+ a.last_modified_by = logged_user
+ a.save()
+
+ standards_fs = Standards.objects.filter(published_by=user)
+ for a in standards_fs:
+ a.published_by = logged_user
+ a.save()
+
+ response = super(ProfileDeleteView, self).delete(request, *args, **kwargs)
+ name = user.first_name + " " + user.last_name
+ messages.success(request, f'Benutzer ' +name+ ' wurde gelöscht!')
+ return response
@login_required
def agency(request):
context = {
'active_link' : 'agencyinfo'
}
-
return render(request, 'users/agency.html', context)