Implement form for sending email feedback and the actual email sending.
- Legacy-Id: 185
This commit is contained in:
parent
e9221db2be
commit
7d52fffdcd
14
ietf/idtracker/forms.py
Normal file
14
ietf/idtracker/forms.py
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
from django import newforms as forms
|
||||||
|
|
||||||
|
class EmailFeedback(forms.Form):
|
||||||
|
category = forms.CharField(widget=forms.HiddenInput())
|
||||||
|
name = forms.CharField(label='Your Name')
|
||||||
|
email = forms.EmailField(label='Your Email')
|
||||||
|
subject = forms.CharField(widget=forms.TextInput(attrs={'size': 72}))
|
||||||
|
message = forms.CharField(widget=forms.Textarea(attrs={'rows': 10, 'cols': 70}))
|
||||||
|
def clean_category(self):
|
||||||
|
value = self.clean_data.get('category', 'bugs')
|
||||||
|
if value not in ('bugs', 'discuss'):
|
||||||
|
raise forms.ValidationError, 'Unknown category, try "discuss" or "bugs".'
|
||||||
|
return value
|
||||||
|
|
|
@ -21,6 +21,9 @@ urlpatterns = patterns('django.views.generic.simple',
|
||||||
(r'^ballot_key/$', 'direct_to_template', { 'template': 'idtracker/view_key.html' }),
|
(r'^ballot_key/$', 'direct_to_template', { 'template': 'idtracker/view_key.html' }),
|
||||||
(r'^evaluation_process/$', 'direct_to_template', { 'template': 'idtracker/view_evaluation_desc.html' }),
|
(r'^evaluation_process/$', 'direct_to_template', { 'template': 'idtracker/view_evaluation_desc.html' }),
|
||||||
)
|
)
|
||||||
|
urlpatterns += patterns('',
|
||||||
|
(r'^send_email/$', views.send_email),
|
||||||
|
)
|
||||||
urlpatterns += patterns('django.views.generic.list_detail',
|
urlpatterns += patterns('django.views.generic.list_detail',
|
||||||
(r'^rfc(?P<object_id>\d+)/$', 'object_detail', rfc_dict),
|
(r'^rfc(?P<object_id>\d+)/$', 'object_detail', rfc_dict),
|
||||||
(r'^(?P<object_id>\d+)/$', 'object_detail', id_dict),
|
(r'^(?P<object_id>\d+)/$', 'object_detail', id_dict),
|
||||||
|
|
|
@ -6,6 +6,8 @@ from django.shortcuts import get_object_or_404, render_to_response
|
||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
from django.views.generic.list_detail import object_detail
|
from django.views.generic.list_detail import object_detail
|
||||||
from ietf.idtracker.models import InternetDraft, IDInternal, IDState, IDSubState
|
from ietf.idtracker.models import InternetDraft, IDInternal, IDState, IDSubState
|
||||||
|
from ietf.idtracker.forms import EmailFeedback
|
||||||
|
from ietf.utils.mail import send_mail_text
|
||||||
|
|
||||||
# Override default form field mappings
|
# Override default form field mappings
|
||||||
# group_acronym: CharField(max_length=10)
|
# group_acronym: CharField(max_length=10)
|
||||||
|
@ -118,3 +120,18 @@ def comment(request, slug, object_id, queryset):
|
||||||
draft = get_object_or_404(InternetDraft, filename=slug)
|
draft = get_object_or_404(InternetDraft, filename=slug)
|
||||||
queryset = queryset.filter(document=draft.id_document_tag)
|
queryset = queryset.filter(document=draft.id_document_tag)
|
||||||
return object_detail(request, queryset=queryset, object_id=object_id)
|
return object_detail(request, queryset=queryset, object_id=object_id)
|
||||||
|
|
||||||
|
def send_email(request):
|
||||||
|
if request.method == 'POST':
|
||||||
|
form = EmailFeedback(request.POST)
|
||||||
|
cat = request.POST.get('category', 'bugs')
|
||||||
|
if form.is_valid():
|
||||||
|
send_mail_text(request, "idtracker-%s@ietf.org" % form.clean_data['category'], (form.clean_data['name'], form.clean_data['email']), '[ID TRACKER %s] %s' % (form.clean_data['category'].upper(), form.clean_data['subject']), form.clean_data['message'])
|
||||||
|
return render_to_response('idtracker/email_sent.html', {},
|
||||||
|
context_instance=RequestContext(request))
|
||||||
|
else:
|
||||||
|
cat = request.REQUEST.get('cat', 'bugs')
|
||||||
|
form = EmailFeedback(initial={'category': cat})
|
||||||
|
return render_to_response('idtracker/email_form.html', {'category': cat, 'form': form},
|
||||||
|
context_instance=RequestContext(request))
|
||||||
|
|
||||||
|
|
18
ietf/templates/idtracker/email_form.html
Normal file
18
ietf/templates/idtracker/email_form.html
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block title %}Send E-Mail{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<h1>{% ifequal category "discuss" %}Your opinion on {% endifequal %}IDTRACKER{% ifequal category "bugs" %} Error Report{% endifequal %}</h1>
|
||||||
|
<form action="." method="POST">
|
||||||
|
<table>
|
||||||
|
{{ form }}
|
||||||
|
<tr>
|
||||||
|
<td colspan="2" align="center">
|
||||||
|
<input type="submit" value="Submit"> <input type="reset" value="Reset">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
{% endblock %}
|
||||||
|
|
7
ietf/templates/idtracker/email_sent.html
Normal file
7
ietf/templates/idtracker/email_sent.html
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block title %}Your email has been sent.{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<h2>Your message has been sent to IDTRACKER Design Team</h2>
|
||||||
|
{% endblock %}
|
Loading…
Reference in a new issue