From 547aee861a6c9e07fe94c5df101f07d246a4b6b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20A=2E=20S=C3=A1nchez=20L=C3=B3pez?= Date: Tue, 20 Jul 2010 17:34:58 +0000 Subject: [PATCH] Change purpose options when purpose changes. See #342 - Legacy-Id: 2362 --- ietf/liaisons/forms.py | 3 +++ static/css/liaisons.css | 6 ++++++ static/js/liaisons.js | 24 ++++++++++++++++++++++++ 3 files changed, 33 insertions(+) diff --git a/ietf/liaisons/forms.py b/ietf/liaisons/forms.py index cd7f2401b..e8703b2f2 100644 --- a/ietf/liaisons/forms.py +++ b/ietf/liaisons/forms.py @@ -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')), diff --git a/static/css/liaisons.css b/static/css/liaisons.css index 521e44ea6..9944c9204 100644 --- a/static/css/liaisons.css +++ b/static/css/liaisons.css @@ -41,3 +41,9 @@ .baseform #baseform-fieldname-deadline_date { display: none; } + +.baseform select, +.baseform textarea, +.baseform input { + border: 1px solid lightgray; +} diff --git a/static/js/liaisons.js b/static/js/liaisons.js index 2c2730875..feb32a5ae 100644 --- a/static/js/liaisons.js +++ b/static/js/liaisons.js @@ -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() {