parent
8ef3b7d935
commit
9923b59d2e
45
ietf/liaisons/forms.py
Normal file
45
ietf/liaisons/forms.py
Normal 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
|
|
@ -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'),
|
||||
)
|
||||
|
|
|
@ -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),
|
||||
)
|
||||
|
|
17
ietf/templates/liaisons/liaisondetail_edit.html
Normal file
17
ietf/templates/liaisons/liaisondetail_edit.html
Normal 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 %}
|
26
ietf/templates/liaisons/liaisonform.html
Normal file
26
ietf/templates/liaisons/liaisonform.html
Normal 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>
|
Loading…
Reference in a new issue