diff --git a/roundware/api1/views.py b/roundware/api1/views.py index f7e1e036..f208af3a 100644 --- a/roundware/api1/views.py +++ b/roundware/api1/views.py @@ -9,6 +9,7 @@ import django_filters from django.http import HttpResponse +from distutils.util import strtobool from rest_framework import generics from rest_framework.renderers import JSONRenderer from rest_framework.views import APIView @@ -28,6 +29,8 @@ import logging logger = logging.getLogger(__name__) +BOOLEAN_CHOICES = (('false', False), ('true', True), + (0, False), (1, True),) def operations(request): returned_data = catch_errors(request) @@ -115,12 +118,15 @@ def get(self, request, format=None): class AssetFilter(django_filters.FilterSet): mediatype__contains = django_filters.CharFilter(name='mediatype', lookup_type='startswith') - + submitted = django_filters.TypedChoiceFilter(choices=BOOLEAN_CHOICES, coerce=strtobool) created__gte = django_filters.DateTimeFilter(name='created', lookup_type='gte') created__lte = django_filters.DateTimeFilter(name='created', lookup_type='lte') created__range = django_filters.DateRangeFilter(name='created') audiolength__lte = django_filters.NumberFilter('audiolength', lookup_type='lte') audiolength__gte = django_filters.NumberFilter('audiolength', lookup_type='gte') + id = django_filters.NumberFilter() + id__lte = django_filters.NumberFilter('id', lookup_type='lte') + id__gte = django_filters.NumberFilter('id', lookup_type='gte') class Meta: model = Asset @@ -130,6 +136,7 @@ class Meta: 'project', 'language', 'session', + 'id', ] diff --git a/roundware/rw/static/tools/js/listen-map.js b/roundware/rw/static/tools/js/listen-map.js index d6265959..22e76da6 100755 --- a/roundware/rw/static/tools/js/listen-map.js +++ b/roundware/rw/static/tools/js/listen-map.js @@ -24,7 +24,7 @@ if (!Roundware) { */ Roundware.ListenMap = function (opts) { var options = $.extend({}, { - url: 'http://rwdev.dyndns.org/roundware/', + url: 'http://roundware.dyndns.org/api/1/', }, opts); @@ -60,8 +60,8 @@ Roundware.ListenMap = function (opts) { * main_callback(), which loops through the methods of RW.workflow to retrieve * the data and display it. * - * @param string m_url: URL of the roundware server, e.g. http://siswh.dyndns.org/roundware/ - * @param int m_project_id: project PK on the roundware server + * @param string m_url: URL of the roundware server, e.g. http://roundware.dyndns.org/api/1/ + * @param int m_project_id: project PK on the Roundware server * @param google.maps.Map m_map: a Google Map */ this.main = function (m_project_id, m_map) { @@ -369,9 +369,8 @@ Roundware.ListenMap = function (opts) { }); }); - var fnmp3 = "http://scapesaudio.dyndns.org:8090" + item.asset_url.replace("wav", "mp3"); + var fnmp3 = item.asset_url.replace("wav", "mp3"); var id = item.asset_id; - // $wavfilename = substr($wavfilename, 0, strlen($wavfilename)-3) . 'wav'; var iw = create_info_window(item.asset_id, desc.join(' '), fnmp3, item.asset_url, id); var marker = create_marker(item, iw, 'blue'); var radius = config.project.recording_radius || 5; @@ -455,12 +454,14 @@ Roundware.ListenMap = function (opts) { */ function add_listening_pin() { var marker_img = new google.maps.MarkerImage('http://www.google.com/intl/en_us/mapfiles/ms/micons/green-dot.png'); + var mapCenter = new google.maps.LatLng(config.project.latitude, config.project.longitude); listening_pin = new google.maps.Marker({ - position: map.getCenter(), + position: mapCenter, map: map, icon: marker_img, draggable: true }); + map.setCenter(mapCenter); google.maps.event.addListener(listening_pin, "dragend", function (event) { modify_stream(); diff --git a/roundware/rw/templates/tools/asset-map.html b/roundware/rw/templates/tools/asset-map.html index 5e127634..a397dc24 100644 --- a/roundware/rw/templates/tools/asset-map.html +++ b/roundware/rw/templates/tools/asset-map.html @@ -130,7 +130,14 @@

Loading data... please be patient.

var points = []; - var project = getUrlVars()["project"]; + var project = getUrlVars()["project_id"]; + var id = getUrlVars()["asset_id"]; + var id__gte = getUrlVars()["asset__gte"]; + var id__lte = getUrlVars()["asset__lte"]; + var audiolength__gte = getUrlVars()["audiolength__gte"]; + var audiolength__lte = getUrlVars()["audiolength__lte"]; + var submitted = getUrlVars()["submitted"] ? getUrlVars()["submitted"] : 'true'; + var mediatype = getUrlVars()["mediatype"] ? getUrlVars()["mediatype"] : 'audio'; $.ajax({ url: url, @@ -141,6 +148,13 @@

Loading data... please be patient.

data: { format: "json", project: project, + id: id, + id__gte: id__gte, + id__lte: id__lte, + audiolength__gte: audiolength__gte, + audiolength__lte: audiolength__lte, + submitted: submitted, + mediatype: mediatype, limit: 0 }, dataType: "json", diff --git a/roundware/rw/templates/tools/listen-map.html b/roundware/rw/templates/tools/listen-map.html index 8b1ddc4c..5b833515 100755 --- a/roundware/rw/templates/tools/listen-map.html +++ b/roundware/rw/templates/tools/listen-map.html @@ -119,7 +119,7 @@

Loading data... please be patient.