From f755e6d3c9a80ec72dd7334083bfe055de28c18f Mon Sep 17 00:00:00 2001 From: Holger Trampe Date: Tue, 10 Dec 2019 21:09:38 +0100 Subject: [PATCH] Support Teil 1 --- .../__pycache__/settings.cpython-38.pyc | Bin 4375 -> 4375 bytes digitaleagentur/settings.py | 1 - users/__pycache__/urls.cpython-38.pyc | Bin 1697 -> 1745 bytes users/__pycache__/usersforms.cpython-38.pyc | Bin 4088 -> 4634 bytes users/__pycache__/views.cpython-38.pyc | Bin 11583 -> 11786 bytes users/templates/users/base.html | 10 ++++++++++ users/templates/users/support.html | 18 ++++++++++++++++++ users/urls.py | 3 ++- users/usersforms.py | 12 +++++++++++- users/views.py | 8 +++++++- 10 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 users/templates/users/support.html diff --git a/digitaleagentur/__pycache__/settings.cpython-38.pyc b/digitaleagentur/__pycache__/settings.cpython-38.pyc index 85b087bd74212c278bea5c0bef5b4ee3af1db202..b6d9ed4740b57b204630029a37b73d5c7021deb8 100644 GIT binary patch delta 28 icmbQPG+l`|l$V!_0SE-XzK@mM$h%p9QD*W%fiM7NmIu24 delta 28 icmbQPG+l`|l$V!_0SLByc^@mik$1BIqwM5^0$~7eKL}v} diff --git a/digitaleagentur/settings.py b/digitaleagentur/settings.py index 150a5bd..01772dd 100644 --- a/digitaleagentur/settings.py +++ b/digitaleagentur/settings.py @@ -114,7 +114,6 @@ CKEDITOR_CONFIGS = { } # Database # https://docs.djangoproject.com/en/2.2/ref/settings/#databases - DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', diff --git a/users/__pycache__/urls.cpython-38.pyc b/users/__pycache__/urls.cpython-38.pyc index 2a7610d0e42f57b95ac3131161bed2ad4d84e817..e92cf7a74b04885f07174511926dec9a1e8b040e 100644 GIT binary patch delta 158 zcmZ3;dy!W=l$V!_0SKCYypNs9!NBks#6bokK#l_t7x!$`u4I%*WlYgdWzLdH(MjRx zWlk4}l1|YLX3*5zypGYIS*nVwxU`@kzo;Z7Q9p_k&i2!k*~BWyD8~*Jxy4;tlv9vc gQj%JfSG%#3^=0B8^?1ONa4 delta 111 zcmcb}yO38ql$V!_0SM;qc^@0k!NBks#6bqaK#l_t7uRjnu4Lp&=Z}&~(GF(N)Y-g; y(Vv;wPg8ocDytx)D0gX5PC;TxNorAE@k)jwMWB`<#mOOT{)`%vm#}Fuegpu@$QYae diff --git a/users/__pycache__/usersforms.cpython-38.pyc b/users/__pycache__/usersforms.cpython-38.pyc index a6d24088abffcfd01fb7df830343baaa06f5ca73..b8a9ce8578fab64c089cc5c46ded0b3e0bed0186 100644 GIT binary patch delta 857 zcmZvaOK1~O6o%){Odidc1WHU&iL`}!$C>-zU(>J7CmzM)F$tf$ ze||ifPaY(4?EAs&*KA4RX`Xo@@r=b9sXe8V;n@vIpBl>SUYPy%9z)K7xSq2@oLp{3?WR*ajI3AqEP`>DLX@0KrCVi6%l1>3>Jom z+6NZCO4V!L>-dH6bxQNzm-wB>1xkZ9vY7dbaKTp%unav4H>h@#utZo!_#vtZKja$X zsep$hsgy&|LC{OkM&4^DmR8<|AVpJ86Ve3w4JZ;$YQBVpbqpaRq6|vjp|(8GHoBco z8{A?WnkH3_ANs`*MiN8R5U#W*HCSKnD=!(7T)Cle#$~ST%YCV#adiA!kWsq!Yw;(ode!LhDk?yF71c6!mZI?R-frWKrOCA|*q z9mi_+y25BStyT@)>$Y|)T4$u2?Uvc46InnKZs4nWlCS^ShilX^1m0{k znI%{%czdaTyqK$2?UwE0Mckq-Pcn2H3uMg5P#NgEtY^KSiT4`aR3OJ;+dHRZywAxb M%X#0DXXVNC5fOL1?f?J) delta 353 zcmbQG@ZWt6WKlFwSkI? zbU=hIh|mKOLLfpPL>O#7!9Jgv(QI-Cx39GsP~;YGe0*|FVsUYDYEDjke32wb6_{`W zv7|tRA&{^J;$jvc!NJJFRb)7sk>6pn0Z$bpn-NHb@#GD>8f>N@rrG3syk2Y|qcFGX&X6Gp$whOFw?rBeF@XPFmxE0p##h?z}vp?1OviQDxtY3uF5lSQ*pZIm3$!MsM3 z8B#-Lv)XKi)vy^+BW6^Mnk{Mz>3v44*`~IU>^EX&yV_22jnQFts+}OaS*_7&#?`pF zS=~&!fYD`ktKB5m!I*@aAi3V?F?-csvrjGdnf+=%kqw4o4yXep2aQ2Qz3O05J#@vX zPUt??!dkC7u1M-+5tMB#2FjT3)|;=m)G1)vSqCs3z=VL=0RuW&oCfR!?Pk^m+Ah$B zK|2jhH%kDM0Hy_)XMpKpy}*M#zx&t(n}pvPHpOHHC7;jn!h;d#k7U0Bneb4G^8xWE_ouBx(Av8y*>#Ir#z8xGH`a;TVA8;ydBT_MADV@g70Td^#nV&!c&0lqr`TQgjWP8Qz6mloTK;7S( zx1dOKBvHbNE*ukocONVAVI(O1_y~wf9giTh6=5UKZAV26z;-NmOsi;snyEVx(-NG@l<%}19fh zgPY!Z2|dP7Bb)&^pm=$e&+r8t^U(Gf+PrR9oP1ZAkE9g#S{9>?Ez&Z*JKe~nwD?8i z(PyzBR;5y1s31e8QTV9z>ag_Eh1|ljmR-_ecAAbVj3PfLUTNwbz&a{z0WK;f%E=s( z6*E%UoP6+JQ=8)gy(RwkFV(nd~W zI^#Lf5RTQZGhd8{_p4RD&*LlV5ne^0d?mMh9h;TGB&Cou0p5jYEmd8T%jNTM^G@3# zF%U^YOuiV|HG*;A7=XuRe+daHg)gI2Raz&+Zz5A)s4{LXF*qiF$wD%?QdUphv@VIc zXhgbH&J@467PTQ#TFcPpjf!AxvjA&%ijP`apYYosT6Q0*5Eo)p!=)#{gC()kjsB&Y$7? zfv_El2llF^_M=5|WThH$S6O$;(aDE-&$|&0A#6sd1d+Bbf60ARl{DrSc6uG*TL|Aq zcmtuz!%|92cT7reij|H}YSCcZxo^)AenU)j9>`SLb{oepB5Y*knt`?pYu<=k4k(mp$$DA`d8uk03Fx%$?(r5j z@wNONgm(e#rUkCUA;i*nk7F8Vc(Gawh8=|KS|M%bSY|N;oj})%qiV%SqPz7TiXJVW z*Rzbrp~1;9K0YSQM6%^;z^LAWZsv7Ef5JOIPRvRlh)0Pz>9#o3qx8>0Pw*#&f{rg- zks_5Gyxy(%dKBsYgJ1Xb$T3Pr99X)G$W%6^l$aNR{`MH=B{-A(@)7pCfp7;QDfaYt zj^Pe}AxIawEvA-*i<}7;U49d2xIWHc$EsYL7I*u*sxy2e$I~KcIe2JrbiD1h@ z-$U7%$rfxkBoxd?=}(2wg{m4d2)u1DegOwxM4;0iGt&0#W8hA>#jXWu-5sd``%(dg zstQQ;FJ`iuL03{LnQ2i}rXpBTw!5HNXDt394kk~%Eq<$nTdNkoJ`SHN*QAeOyK67T zU=WiEj*E`d(iMrx-oA+ zKneuW2J$Gbf`1cX-Ne}Z1mKob-h3MzvMl)?d0a#*`^D=6@5?+WMh08O!NF*RhoQG! z&rZW#A(zC9InT_)cg*?0IK|QSmsM<@x8U39h{7$@4z3O2deVe1A-ZVtcGT6Db<2f9 zp3`=QnNKyK1~jNBD+x7&Hy@0y8XyNhrYOw*d=a)2>O@z|wBHTsz zE&^>3AE0y};bR1J{JLOJSW>{*zG+y;ilILXQE^yD076m_ZoC2bbo=+vtnAzSAO1^< ALjV8( delta 4085 zcma)9YiwId754a@I1jf;Z6|ROH?fo4I7!n-nq>RRZqp_$yG_G3takcv9nVdA+k0(y zuG3N$aI2Q?vOvo+>}vPNs(^%O#Db8Dv=Rck2=NDrA0U2RfdC04KnVUL!E(;A8@nNk zNOZq@=A1cm&z#qcUqAPlw=6X`H@e{O(4YTt{=56%Xo<6dH`3?J%q3hRU~aeCc$?ME z+pQgZhZW%wE6Sr*jK@eGG&`(L-br+W*=5Cfoajcg+v?#xK>I|20??e7_zP9isD& z>o(()AnPiNI0)mqPjA2NIknR+HAngO`4v-!IPQOS3 zCkdPwa1H_|B?f>qP@QuKID=vcI77gR!kojfrY44I&BY@iPKyx`k5m4as~`Jgu?X;-fW4N>>9*|zq<(cxw@b29{oNmDT`ClqViRgM zu*jy>TY*a~sy+-Pj!dIcb0(8Bv$mbnO*4~`hk;jtgGe1g7z9YbV+R3(%*&dX*DVJh zT?mF4n^Tt?CRxAwMnh7c0J-BXUU7m2DRh}xz9Eyy^5hHG{ zKz<=N`N^QO>S1X5yt03bko%^##m|y z!w6~hUej5~L?B-V&^)xo%Gzk{x`(Wl=Wqs@TC=ih zJa9EPq+({JAT2qk9)t&1vbZuPgA+9D%(bj(2)P$|wMf+5;z2=O3QGYD9w#WEa$Lw=W&WoL^^^)PEUh$Sw*TRaY}s zSEf|RUCQQHb+D4mq9UT0pH{`Tfnh9_N-=w>S||_m$gG)5mQFtUpskDfsmv_(hxP?F zs&?-GKGU#E_J4hoL>WsjWt~t_mzH7MMj>y@I10jKaUI+7 zWQCxlb^=h$c_Y7Ci>l+7x>ZPC(<{-YtnWrU8Y(GF6>t?8@|17FD&w%GOceRW1i=G%Y&_Ai#lpWg=$EGI=sK;AM#msl_j+RL zgRb;A#zLlg**Mg|<8FCNJs9p*U+av+x%Q(@Z7*~(vTdts z#slMbPgZbw+%ETrUay>hi2Z8(bHINpMt70%KVsAspL%`<=hR}Gg6dF|8I=$ zst55XyQ|)huO}?j#=xvI9;D*P6tBn=z;IleANt?T?xiyMu2$BIsDm4g%ai5~XOqu(dK&Z1}+Z?g5Q%w2-J7qpo(kUl5X+kHRp zxCpYp;3-kP?c_^U*Qr&Zp`JDUGc^`eQ2PUZPAy#mX(lO%+nf zhb(d#fWtBl93tSw1{`@yS-X;~;7fALdpPq|gfAnEstZHCY*~F4`tobQfLkT@#?AS5 zKz(nhZ*wMXrOm68>4#msU0jBvzA$#p(68HLaHZCz zk&|JVp_)fJwmU6VIbN-$u`DC%&`5$j>oinFVp+z}B06QTjXB{BC8>{DS;M3oWaYpP zRb`h-rDCPYU`kSQ@+Qm#dkpdzFF*<4^CsHz6BaqXp;(4`rAg#z9=1!_yvRzip-R=0 zL{plopIa*#uw)9C4CQgF)sN8c6z^rbkf$F$lJfN>m?qC7P*tuXg=aP$dh(Vl10=Oe z>ht$df)_IR76KLML!{Ob(AjmRMX{jP6FdketeN^@tOFaHXgdqTkF6$_P>)AX{09e# BYw`d9 diff --git a/users/templates/users/base.html b/users/templates/users/base.html index 9fafef0..e9a02d3 100644 --- a/users/templates/users/base.html +++ b/users/templates/users/base.html @@ -160,6 +160,16 @@ {%endif%} + {% if active_link == 'support' %} +
diff --git a/users/templates/users/support.html b/users/templates/users/support.html new file mode 100644 index 0000000..9e204f4 --- /dev/null +++ b/users/templates/users/support.html @@ -0,0 +1,18 @@ +{% extends "users/base.html" %} +{% load crispy_forms_tags %} +{% block content %} +
+

Supportanfrage stellen

+
+
+ {% csrf_token %} + {{form|crispy}} +
+   + Abbrechen +
+
+ +
+{% endblock content %} + diff --git a/users/urls.py b/users/urls.py index b7a5def..e10e510 100644 --- a/users/urls.py +++ b/users/urls.py @@ -27,7 +27,8 @@ urlpatterns = [ path('prioupdate/', views.UsersPrioUpdate, name="users-prioupdate"), path('areataskupdate//', views.UsersAreaTaskUpdate, name="users-areataskupdate"), path('globalsearch/', views.GlobalSearch, name="globalsearch"), - path('standardrout/', views.searchStandardRouter, name="standardrouter") + path('standardrout/', views.searchStandardRouter, name="standardrouter"), + path('supportda/', views.support, name="supportda") ] diff --git a/users/usersforms.py b/users/usersforms.py index a70ccf4..1e5b07a 100644 --- a/users/usersforms.py +++ b/users/usersforms.py @@ -96,4 +96,14 @@ class UserAreaTaskForm(forms.Form): if user in task.usersfield.all(): self.fields['task_'+str(task.pk)] = forms.BooleanField(required=False, initial=True, label="
"+task.name+"
") else: - self.fields['task_'+str(task.pk)] = forms.BooleanField(required=False, initial=False, label="
"+task.name+"
") \ No newline at end of file + self.fields['task_'+str(task.pk)] = forms.BooleanField(required=False, initial=False, label="
"+task.name+"
") + + +class SupportForm(forms.Form): + + def __init__(self, user, *args, **kwargs): + super().__init__(*args, **kwargs) + self.fields['mail'] = forms.EmailField(required=True, label="E-Mail") + self.fields['name'] = forms.CharField(required=True, label="Ihr Name") + self.fields['problemconc'] = forms.CharField(required=True, label="Problemzusammenfassung") + self.fields['problem'] = forms.CharField(required=True, widget=forms.Textarea, label="Ausführliche Beschreibung") diff --git a/users/views.py b/users/views.py index e8e7e3c..43829a8 100644 --- a/users/views.py +++ b/users/views.py @@ -2,7 +2,7 @@ from django.shortcuts import render, redirect, reverse from django.contrib.auth.mixins import LoginRequiredMixin, UserPassesTestMixin from django.contrib.auth.decorators import login_required from django.conf import settings -from .usersforms import UsersAddNewUser, UsersAddProfileForm, UsersChangeProfil, AgencyUpdateForm, UsersPermForm, UserAreaTaskForm +from .usersforms import UsersAddNewUser, UsersAddProfileForm, UsersChangeProfil, AgencyUpdateForm, UsersPermForm, UserAreaTaskForm, SupportForm from django.views.generic import CreateView, ListView, UpdateView, DetailView, DeleteView, View from django.contrib import messages from django.contrib.auth.models import User @@ -396,3 +396,9 @@ def UsersAreaTaskUpdate(request, pk): return render(request, 'users/users_areatasks.html', context) +def support(request): + context = { + 'active_link' : 'support', + 'form' : SupportForm(request.user) + } + return render(request, 'users/support.html', context)