Browse Source

formular nobot

master
corbreedy 4 years ago
parent
commit
d747074fb9
  1. 32
      hpst/forms.py
  2. 9
      hpst/static/css/sinnes-tau.css
  3. 3
      hpst/templates/email.html
  4. 5
      hpst/templates/kontaktformular.html
  5. 27
      hpst/templates/st_base.html
  6. 19
      hpst/views.py

32
hpst/forms.py

@ -3,6 +3,7 @@ from django import forms
class KontaktForm(forms.Form):
subject = forms.CharField(widget=forms.HiddenInput())
stack = forms.CharField(widget=forms.HiddenInput())
from_email = forms.EmailField(required=True,
widget= forms.EmailInput
(attrs={'class':'w3-input w3-border',
@ -16,3 +17,34 @@ class KontaktForm(forms.Form):
widget=forms.Textarea
(attrs={'class':'w3-input w3-border',
'placeholder':'Mitteilung'}))
url = forms.CharField(max_length=200,
required=False,
widget= forms.TextInput
(attrs={'class':'w3-input w3-border W3-CleaR',''
'placeholder':'Url'}))
def clean(self):
data = super(KontaktForm, self).clean()
url=data.get('url')
if url:
raise forms.ValidationError('Fehler in der URL!', code='invalid')
stackstr = data.get('stack')
stack=stackstr.split(',')
if not stack:
raise forms.ValidationError('Fehler im Stack!', code='invalid')
ktime=0
ltime=0
tdiff=0
for s in stack:
#print (s)
if s[0]=='k':
if(ltime == 0):
ltime=int(s[1:])
else:
ktime=int(s[1:])
tdiff+=(ktime-ltime)
ltime=ktime
#print (tdiff)
if(tdiff<10000):
raise forms.ValidationError('Formular wurde zu schnell verarbeitet', code='invalid')
return data

9
hpst/static/css/sinnes-tau.css

@ -15,3 +15,12 @@ body, html {
font-size: 15px;
}
.W3-CleaR{
opacity: 0;
position: absolute;
top: 0;
left: 0;
height: 0;
width: 0;
z-index: -1;}

3
hpst/templates/email.html

@ -14,11 +14,10 @@
<!-- Container (About Section) -->
<div class="w3-content w3-container w3-padding-64">
<h3 class="w3-center">{{message.titel}}</h3>
<h4 class="w3-center">{{messg.titel}}</h4>
<p class="w3-center"> {{message.text}}</p>
<div class="w3-panel {{message.color}}">
<h3>{{message.titel}}!</h3>
<p>{{message.text}}</p>
<p>{{message.error|safe }}</p>
</div>
{% if form %}

5
hpst/templates/kontaktformular.html

@ -17,7 +17,7 @@
{% endif %}
<form action="{% url 'kontakt' %}" method="Post">
<form action="{% url 'kontakt' %}" method="Post" name="Transp">
{% csrf_token %}
{% for hidden_field in form.hidden_fields %}
{{ hidden_field }}
@ -31,7 +31,8 @@
</div>
</div>
{{ form.message }}
<button class="w3-button w3-black w3-right w3-section" type="submit">
{{ form.url }}
<button class="w3-button w3-black w3-right w3-section" type="submit" onclick="absenden()">
<i class="fa fa-paper-plane"></i> ABSENDEN
</button>
</form>

27
hpst/templates/st_base.html

@ -62,7 +62,6 @@
<script>
{% block javascript %}<!-- Javascript here -->{% endblock %}
// Modal Image Gallery
function onClick(element) {
document.getElementById("img01").src = element.src;
@ -92,6 +91,32 @@ function toggleFunction() {
}
}
//Form functions
var stack = [];
if ( document.getElementById("id_message")==null){
//console.log("Kein Kontaktformular");
}else{
//console.log("Habe Kontaktformular");
const input = document.querySelector('#id_message');
// Listen for `keyup` event
input.addEventListener('keyup', (e) => {
const text = e.currentTarget.value;
stack.push("k"+getmstime());
//console.log("Input"+e);
});
stack.push("l"+getmstime());
}
function absenden(){
stack.push("e"+getmstime());
document.Transp.stack.value=stack;
document.Transp.submit();
}
function getmstime(){
var zeitdatum = new Date();
var zeitms = zeitdatum.getTime();
return zeitms;
}
</script>

19
hpst/views.py

@ -23,7 +23,7 @@ def index(request):
#print(conf_settings.DEBUG)
context ={
"termine":termine,
"form":KontaktForm(initial={'subject': 'Kontaktformular - Index - sinnestau.de',})
"form":KontaktForm(initial={'subject': 'Kontaktformular - Index - sinnestau.de','stack':0,})
}
return render(request, "index.html", context)
@ -32,7 +32,6 @@ def wildnispaedagogik(request):
context ={
"termine":termine,
}
# return response with template and context
return render(request, "wildnispaedagogik.html", context)
def kinderfreizeit(request):
@ -40,16 +39,14 @@ def kinderfreizeit(request):
context ={
"termine":termine,
}
# return response with template and context
return render(request, "kinderfreizeit.html", context)
def lamatour(request):
termine=Termin.objects.filter(date__gt=timezone.now()).filter(termintyp='L').order_by( 'date')
context ={
"termine":termine,
"form":KontaktForm(initial={'subject': 'Kontaktformular - Lamatour - sinnestau.de',})
"form":KontaktForm(initial={'subject': 'Kontaktformular - Lamatour - sinnestau.de','stack':0,})
}
# return response with template and context
return render(request, "lamatour.html", context)
def externereferentin(request):
@ -99,7 +96,6 @@ def termin(request,tid):
"termin":termin,
"error":error,
}
# return response with template and context
return render(request, "termin.html", context)
def impressum(request):
@ -117,9 +113,9 @@ def contactView(request):
"titel": "Kontaktformular",
"color": "w3-yellow",
"text": 'Hier das Kontaktformular',
"error":"",
}
if request.method == 'GET':
r_message['titel']="Kontakt Form"
form = KontaktForm(initial={'subject': 'Kontaktformular - Kontakt - sinnestau.de',})
else:
@ -131,19 +127,20 @@ def contactView(request):
from_email = form.cleaned_data['from_email']
message = form.cleaned_data['message']
name = form.cleaned_data['name']
text=from_email+'\n.........................\n'+message
text=name+' - '+from_email+' schrieb\n.........................\n'+message
newkon=Kontakt.objects.create(
name=name,
subject=subject,
email=from_email,
text=text
)
r_message['titel']="Vielen Dank"
r_message['titel']="Vielen Dank "+name
r_message['color']="w3-green"
r_message['text']="Wir haben Ihre Mitteilung erhalten!"
form=None
try:
send_mail(subject, text, 'formular@sinnes-tau.de', ['tanja@kuntner.de'])
send_mail(subject, text, from_email , ['info@sinnes-tau.de'])
# send_mail(subject, text, from_email , ['peter@kuntner.de'])
except BadHeaderError:
return HttpResponse('Invalid header found.')
#return redirect('success')
@ -152,6 +149,8 @@ def contactView(request):
r_message['titel']="Fehler"
r_message['color']="w3-orange"
r_message['text']="Ungültiges Formular!"
estr=str(form.errors)
r_message['error']=estr.replace('__all__','Allgemeiner Fehler')
form=None
return render(request, "email.html", {'form': form,'message':r_message})

Loading…
Cancel
Save