Change purpose options when purpose changes. See #342

- Legacy-Id: 2362
This commit is contained in:
Emilio A. Sánchez López 2010-07-20 17:34:58 +00:00
parent 9f8b0afd15
commit 547aee861a
3 changed files with 33 additions and 0 deletions

View file

@ -1,4 +1,5 @@
from django import forms
from django.conf import settings
from django.template.loader import render_to_string
from ietf.liaisons.accounts import (can_add_outgoing_liaison, can_add_incoming_liaison,
@ -15,6 +16,8 @@ class LiaisonForm(forms.ModelForm):
organization = forms.ChoiceField()
to_poc = forms.CharField(widget=ReadOnlyWidget, label="POC")
cc1 = forms.CharField(widget=ReadOnlyWidget, label="CC")
purpose_text = forms.CharField(widget=forms.Textarea, label='Other purpose')
deadline_date = forms.DateField(label='Deadline')
fieldsets = (('From', ('from_field', 'replyto')),
('To', ('organization', 'to_poc')),

View file

@ -41,3 +41,9 @@
.baseform #baseform-fieldname-deadline_date {
display: none;
}
.baseform select,
.baseform textarea,
.baseform input {
border: 1px solid lightgray;
}

View file

@ -8,6 +8,8 @@
var cc = form.find('#id_cc1');
var reply = form.find('#id_replyto');
var purpose = form.find('#id_purpose');
var other_purpose = form.find('#id_purpose_text');
var deadline = form.find('#id_deadline_date');
var config = {};
var readConfig = function() {
@ -70,17 +72,39 @@
form.find('a.from_mailto').attr('href', 'mailto:' + reply_to);
};
var updatePurpose = function() {
var datecontainer = deadline.parents('.field');
var othercontainer = other_purpose.parents('.field');
var selected_id = purpose.find('option:selected').val();
if (selected_id == '1' || selected_id == '2' || selected_id == '5') {
datecontainer.show();
} else {
datecontainer.hide();
deadline.val('');
}
if (selected_id == '5') {
othercontainer.show();
} else {
othercontainer.hide();
other_purpose.html('');
}
};
var initTriggers = function() {
organization.change(updatePOC);
organization.change(updateCC);
from.change(updateCC);
reply.keyup(updateFrom);
purpose.change(updatePurpose);
};
var updateOnInit = function() {
updateFrom();
updateCC();
updatePOC();
updatePurpose();
};
var initForm = function() {