Skip to content

Commit 3b609f6

Browse files
committed
add new javascript, request ui tweaks
- Legacy-Id: 10888
1 parent 0ada59c commit 3b609f6

3 files changed

Lines changed: 75 additions & 11 deletions

File tree

ietf/meeting/forms.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from ietf.group.models import Group
1111
from ietf.ietfauth.utils import has_role
1212
from ietf.meeting.models import Meeting, Schedule, TimeSlot, Session, SchedTimeSessAssignment, countries, timezones
13+
from ietf.utils.fields import DatepickerDateField
1314

1415
# need to insert empty option for use in ChoiceField
1516
countries.insert(0, ('', '-'*9 ))
@@ -115,21 +116,24 @@ def label_from_instance(self, obj):
115116

116117
class InterimRequestForm(forms.Form):
117118
group = GroupModelChoiceField(queryset = Group.objects.filter(type__in=('wg','rg'),state='active').order_by('acronym'))
118-
date = forms.DateField()
119+
face_to_face = forms.BooleanField(required=False)
120+
multi_day = forms.BooleanField(required=False)
121+
series = forms.BooleanField(required=False)
122+
date = DatepickerDateField(date_format="yyyy-mm-dd", picker_settings={"autoclose": "1" }, label='Date', required=True)
119123
time = forms.TimeField()
120124
duration = DurationField()
121-
face_to_face = forms.BooleanField(required=False)
122125
city = forms.CharField(max_length=255,required=False)
123126
country = forms.ChoiceField(choices=countries,required=False)
124127
timezone = forms.ChoiceField(choices=timezones)
125-
remote_instructions = forms.CharField(max_length=1024)
126-
agenda = forms.CharField(widget=forms.Textarea)
127-
agenda_note = forms.CharField(widget=forms.Textarea)
128+
remote_instructions = forms.CharField(max_length=1024,required=False)
129+
agenda = forms.CharField(required=False,widget=forms.Textarea)
130+
agenda_note = forms.CharField(max_length=255,required=False)
128131

129132
def __init__(self, request, *args, **kwargs):
130133
super(InterimRequestForm, self).__init__(*args, **kwargs)
131134
self.user = request.user
132135
self.person = self.user.person
136+
self.fields["group"].widget.attrs["class"] = "select2-field"
133137

134138
self.set_group_options()
135139

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
$(document).ready(function () {
2+
$('.select2-field').select2();
3+
});
Lines changed: 63 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
{% extends "base.html" %}
22
{# Copyright The IETF Trust 2015, All Rights Reserved #}
33
{% load origin %}
4-
{% load bootstrap3 %}
4+
{% load staticfiles bootstrap3 widget_tweaks %}
55

66
{% block title %}Interim Request{% endblock %}
77

8+
{% block pagehead %}
9+
<link rel="stylesheet" href="{% static 'select2/select2.css' %}">
10+
<link rel="stylesheet" href="{% static 'select2-bootstrap-css/select2-bootstrap.min.css' %}">
11+
<link rel="stylesheet" href="{% static 'bootstrap-datepicker/css/bootstrap-datepicker3.min.css' %}">
12+
{% endblock %}
13+
814
{% block content %}
915
{% origin %}
1016
<h1>Interim Meeting Request</h1>
@@ -14,21 +20,72 @@ <h1>Interim Meeting Request</h1>
1420

1521
{% bootstrap_field form.group layout='horizontal' %}
1622

23+
<div class="form-group">
24+
<div class="checkbox">
25+
<label class="checkbox-inline">{% render_field form.face_to_face class="form-control" %}Face to Face</label>
26+
</div>
27+
28+
<label class="radio-inline">
29+
<input type="radio" name="optradio">Option 1
30+
</label>
31+
<label class="radio-inline">
32+
<input type="radio" name="optradio">Option 2
33+
</label>
34+
<label class="radio-inline">
35+
<input type="radio" name="optradio">Option 3
36+
</label>
37+
38+
{% render_field form.multi_day class="form-control" %}
39+
{% render_field form.series class="form-control" %}
40+
41+
</div>
42+
43+
44+
<div class="form-group">
45+
<label for="face-to_face" class="col-md-2 control-label">Location</label>
46+
<div class="form-inline">
47+
{% render_field form.city class="form-control" placeholder="City" %}
48+
{% render_field form.country class="form-control" %}
49+
{% render_field form.timezone class="form-control" %}
50+
</div>
51+
</div>
52+
1753
<div class="form-group">
1854
<label for="session" class="col-md-2 control-label">Session</label>
19-
<div class="col-md-10">
55+
<div class="">
2056
<div class="form-inline">
21-
{% bootstrap_field form.date show_label=False %}
22-
{% bootstrap_field form.time show_label=False %}
23-
{% bootstrap_field form.duration show_label=False %}
57+
<div class="col-md-3">{% render_field form.date class="form-control" %}</div>
58+
<div class="col-md-3">{% render_field form.time class="form-control" placeholder="time" %}</div>
59+
<div class="col-md-3">{% render_field form.duration class="form-control" placeholder="duration" %}</div>
2460
</div>
2561
</div>
2662
</div>
27-
63+
64+
<div class="form-group">
65+
<label for="id_remote_instructions" class="col-md-2 control-label">Remote Instructions</label>
66+
<div class="col-md-10">{% render_field form.remote_instructions class="form-control" placeholder="ie. Webex address" %}</div>
67+
</div>
68+
69+
<div class="form-group">
70+
<label for="agenda" class="col-md-2 control-label">Agenda</label>
71+
<div class="col-md-10">{% render_field form.agenda class="form-control" placeholder="Meeting agenda" %}</div>
72+
</div>
73+
74+
<div class="form-group">
75+
<label for="agenda_note" class="col-md-2 control-label">Agenda Note</label>
76+
<div class="col-md-10">{% render_field form.agenda_note class="form-control" placeholder="Note" %}</div>
77+
</div>
78+
2879
{% buttons %}
2980
<button type="submit" class="btn btn-primary">Submit</button>
3081
<a class="btn btn-default pull-right" href="{% url "ietf.meeting.views.upcoming" %}">Back</a>
3182
{% endbuttons %}
3283
</form>
3384

3485
{% endblock %}
86+
87+
{% block js %}
88+
<script src="{% static 'bootstrap-datepicker/js/bootstrap-datepicker.min.js' %}"></script>
89+
<script src="{% static 'select2/select2.min.js' %}"></script>
90+
<script src="{% static 'ietf/js/meeting-interim-request.js' %}"></script>
91+
{% endblock %}

0 commit comments

Comments
 (0)