Send liaison form skel. See #342

- Legacy-Id: 2334
This commit is contained in:
Emilio A. Sánchez López 2010-07-16 08:24:18 +00:00
parent 8ef3b7d935
commit 9923b59d2e
5 changed files with 108 additions and 2 deletions

45
ietf/liaisons/forms.py Normal file
View file

@ -0,0 +1,45 @@
from django import forms
from django.template.loader import render_to_string
from ietf.liaisons.models import LiaisonDetail
from ietf.liaisons.accounts import get_person_for_user
class LiaisonForm(forms.ModelForm):
from_field = forms.ChoiceField()
organization = forms.CharField()
fieldsets = ((None, ('from_field', 'replyto', 'organization', 'to_poc',
'cc1', 'response_contact', 'technical_contact',
'purpose', 'purpose_text', 'deadline_date', 'body',
)
),
)
class Meta:
model = LiaisonDetail
def __init__(self, user, *args, **kwargs):
super(LiaisonForm, self).__init__(*args, **kwargs)
self.person = get_person_for_user(user)
def __unicode__(self):
return self.as_div()
def as_div(self):
return render_to_string('liaisons/liaisonform.html', {'form': self})
def get_fieldsets(self):
if not self.fieldsets:
yield dict(name=None, fields=self)
else:
for fieldset, fields in self.fieldsets:
fieldset_dict = dict(name=fieldset, fields=[])
for field_name in fields:
if field_name in self.fields.keyOrder:
fieldset_dict['fields'].append(self[field_name])
if not fieldset_dict['fields']:
# if there is no fields in this fieldset, we continue to next fieldset
continue
yield fieldset_dict

View file

@ -1,6 +1,6 @@
# Copyright The IETF Trust 2007, All Rights Reserved
from django.conf.urls.defaults import patterns
from django.conf.urls.defaults import patterns, url
from ietf.liaisons.models import LiaisonDetail
info_dict = {
@ -20,3 +20,7 @@ urlpatterns += patterns('django.views.generic.simple',
(r'^help/to_ietf/$', 'direct_to_template', {'template': 'liaisons/guide_to_ietf.html'}),
(r'^managers/$', 'redirect_to', { 'url': 'http://www.ietf.org/liaison/managers.html' })
)
urlpatterns += patterns('ietf.liaisons.views',
url(r'^add/$', 'add_liaison', name='add_liaison'),
)

View file

@ -1,3 +1,17 @@
# Copyright The IETF Trust 2007, All Rights Reserved
from django.shortcuts import render_to_response
from django.template import RequestContext
# Create your views here.
from ietf.liaisons.decorators import can_submit_liaison
from ietf.liaisons.forms import LiaisonForm
@can_submit_liaison
def add_liaison(request):
form = LiaisonForm(request.user)
return render_to_response(
'liaisons/liaisondetail_edit.html',
{'form': form},
context_instance=RequestContext(request),
)

View file

@ -0,0 +1,17 @@
{% extends "base.html" %}
{# Copyright The IETF Trust 2007, All Rights Reserved #}
{% load ietf_filters %}
{% block title %}Liaison Statement: {% include 'liaisons/liaison_title.html' %}{% endblock %}
{% block pagehead %}
<meta name="description" content="Liaison Statement from {{ object.from_body }}{% if not object.by_secretariat %} to {{object.to_body}}{% endif %} ({{ object.submitted_date|date:"Y" }})" />
{% endblock %}
{% block content %}
<h1>Liaison Statement: {% include 'liaisons/liaison_title.html' %}</h1>
<table>
{{ form }}
</table>
{% endblock %}

View file

@ -0,0 +1,26 @@
{% load i18n %}
{% block content %}
<div class="baseform">
{% for fieldset in form.get_fieldsets %}
{% if fieldset.name %}
<fieldset>
<legend>{{ fieldset.name }}</legend>
{% endif %}
{% for field in fieldset.fields %}
<div id="baseform-fieldname-{{ field.html_name }}" class="{% if field.errors %}error {% endif %}field BaseFormStringWidget{% if field.field.column_style %} {{ field.field.column_style }}{% endif %}">
<label for="id_{{ field.html_name }}">{{ field.label }}</label>
{% if field.field.required %}
<span class="fieldRequired" title="Required"></span>
{% endif %}
{{ field.errors }}
<div id="{{ field.html_name }}_help" class="formHelp"> {{ field.help_text }}</div>
{{ field }}
</div>
{% endfor %}
{% if fieldset.name %}
</fieldset>
{% endif %}
{% endfor %}
{% endblock %}
</div>