Added a first iteration of /meeting/upcoming.json for Meetecho use, with the expectation that buildout and tweaks may be required.
- Legacy-Id: 17727
This commit is contained in:
parent
267bd59040
commit
f53f667f75
|
@ -1511,6 +1511,15 @@ class InterimTests(TestCase):
|
|||
self.assertEqual(r.content.count(b'UID'), 2)
|
||||
|
||||
|
||||
def test_upcoming_json(self):
|
||||
make_meeting_test_data()
|
||||
url = urlreverse("ietf.meeting.views.upcoming_json")
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertEqual(r.get('Content-Type'), "application/json;charset=utf-8")
|
||||
data = r.json()
|
||||
self.assertEqual(len(data), 3)
|
||||
|
||||
def test_interim_request_permissions(self):
|
||||
'''Ensure only authorized users see link to request interim meeting'''
|
||||
make_meeting_test_data()
|
||||
|
|
|
@ -120,6 +120,7 @@ urlpatterns = [
|
|||
url(r'^past/?$', views.past),
|
||||
url(r'^upcoming/?$', views.upcoming),
|
||||
url(r'^upcoming\.ics/?$', views.upcoming_ical),
|
||||
url(r'^upcoming\.json/?$', views.upcoming_json),
|
||||
# Then patterns from more specific to less
|
||||
url(r'^(?P<num>interim-[a-z0-9-]+)/', include(type_interim_patterns)),
|
||||
url(r'^(?P<num>\d+)/requests.html$', RedirectView.as_view(url='/meeting/%(num)s/requests', permanent=True)),
|
||||
|
|
|
@ -2733,6 +2733,23 @@ def upcoming_ical(request):
|
|||
return response
|
||||
|
||||
|
||||
def upcoming_json(request):
|
||||
'''Return Upcoming meetings in json format'''
|
||||
filters = request.GET.getlist('filters')
|
||||
today = datetime.date.today()
|
||||
|
||||
# get meetings starting 7 days ago -- we'll filter out sessions in the past further down
|
||||
meetings = data_for_meetings_overview(Meeting.objects.filter(date__gte=today-datetime.timedelta(days=7)).order_by('date'))
|
||||
|
||||
data = {}
|
||||
for m in meetings:
|
||||
data[m.number] = {
|
||||
'date': m.date.strftime("%Y-%m-%d"),
|
||||
}
|
||||
|
||||
response = HttpResponse(json.dumps(data, indent=2, sort_keys=False), content_type='application/json;charset=%s'%settings.DEFAULT_CHARSET)
|
||||
return response
|
||||
|
||||
def floor_plan(request, num=None, floor=None, ):
|
||||
meeting = get_meeting(num)
|
||||
schedule = meeting.schedule
|
||||
|
|
Loading…
Reference in a new issue