summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chimere/main/views.py20
-rw-r--r--chimere/settings.py.example8
-rw-r--r--chimere/static/main_map.js29
-rw-r--r--chimere/templates/detail.html4
-rw-r--r--chimere/urls.py1
5 files changed, 20 insertions, 42 deletions
diff --git a/chimere/main/views.py b/chimere/main/views.py
index 0707caa..593331a 100644
--- a/chimere/main/views.py
+++ b/chimere/main/views.py
@@ -240,10 +240,16 @@ def getDetail(request, area_name, marker_id):
return HttpResponse('no results')
response_dct = get_base_response()
response_dct['marker'] = marker
- response_dct['share_networks'] = settings.SHARE_NETWORKS
if request.method == 'GET':
if 'simple' in request.GET and request.GET['simple']:
response_dct['simple'] = True
+ parameters = u'current_feature=' + marker_id
+ net_dct = getTinyfiedUrl(parameters, area_name)
+ share_networks = []
+ for network in settings.SHARE_NETWORKS:
+ share_networks.append((network[0], network[1] % net_dct, network[2]))
+ response_dct['share_networks'] = share_networks
+ print response_dct
return render_to_response('detail.html', response_dct)
def getDescriptionDetail(request, area_name, category_id):
@@ -328,14 +334,15 @@ def getAvailableCategories(request, area_name=None, area=None, status='A', force
response_dct['sub_categories'] = subcategories
return render_to_response('categories.html', response_dct)
-def getTinyfiedUrl(request, area_name='', parameters=''):
+def getTinyfiedUrl(parameters, area_name=''):
'''
Get the tinyfied version of parameters
'''
+ data = {"urn": "", "url":"", "text":""}
try:
urn = TinyUrl.getUrnByParameters(parameters)
except:
- return HttpResponse('no results')
+ return {}
response_dct = get_base_response(area_name)
url = settings.SERVER_URL
if url[-1] == '/':
@@ -349,9 +356,10 @@ def getTinyfiedUrl(request, area_name='', parameters=''):
text = unicode(Marker.objects.get(id=item.split('=')[1]))
except (IndexError, Marker.DoesNotExist):
pass
- data = '{"urn": "%s", "url":"%s", "text":"%s"}' % (urlquote(urn),
- urlquote(url), urlquote(text))
- return HttpResponse(data)
+ data["urn"] = urlquote(urn)
+ data["url"] = urlquote(url)
+ data["text"] = urlquote(text)
+ return data
def redirectFromTinyURN(request, area_name='', tiny_urn=''):
"""
diff --git a/chimere/settings.py.example b/chimere/settings.py.example
index 58d12f3..c0f6cb6 100644
--- a/chimere/settings.py.example
+++ b/chimere/settings.py.example
@@ -84,13 +84,13 @@ MEDIA_URL = '/' + EXTRA_URL + 'static/'
# share with
SHARE_NETWORKS = (
-("Email", 'mailto:?subject=TEXT&body=URL',
+("Email", 'mailto:?subject=%(text)s&body=%(url)s',
MEDIA_URL + 'icons/email.png'),
-("Facebook", 'http://www.facebook.com/sharer.php?t=TEXT&u=URL',
+("Facebook", 'http://www.facebook.com/sharer.php?t=%(text)s&u=%(url)s',
MEDIA_URL + 'icons/facebook.png'),
-("Twitter", 'http://twitter.com/home?status=TEXT URL',
+("Twitter", 'http://twitter.com/home?status=%(text)s %(url)s',
MEDIA_URL + 'icons/twitter.png'),
-("Identi.ca", 'http://identi.ca/index.php?action=newnotice&status_textarea=TEXT URL',
+("Identi.ca", 'http://identi.ca/index.php?action=newnotice&status_textarea=%(text)s %(url)s',
MEDIA_URL + 'icons/identica.png'),
)
diff --git a/chimere/static/main_map.js b/chimere/static/main_map.js
index 9b8b4c6..cd770ae 100644
--- a/chimere/static/main_map.js
+++ b/chimere/static/main_map.js
@@ -462,35 +462,6 @@ function createParams(center, zoom, layers) {
return params;
}
-var tiny_url = '';
-var redirect_url = '';
-
-function processTinyUrl(url, current_feature_id){
- redirect_url = url;
- var uri = extra_url + "getTinyUrl/";
- var params = OpenLayers.Util.getParameterString(this.createParams());
- if (current_feature_id && params.indexOf('current_feature') < 0){
- uri += 'current_feature=' + current_feature_id + '&';
- }
- uri += params;
- OpenLayers.loadURL(uri, '', this, getTinyfiedUrl);
-}
-
-/* get a tiny url */
-function getTinyfiedUrl(response){
- tiny_url = '';
- if (response.responseText.indexOf('no results') == -1) {
- var json = new OpenLayers.Format.JSON();
- var result = json.read(response.responseText);
- tiny_url = result.url;
- if (!redirect_url || !tiny_url) return;
- redirect_url = redirect_url.replace('URL', tiny_url);
- redirect_url = redirect_url.replace('TEXT', result.text);
- window.open(redirect_url);
- }
-}
-
-
/* main initialisation function */
function init(){
/* set the main map */
diff --git a/chimere/templates/detail.html b/chimere/templates/detail.html
index fd8712d..94f8eae 100644
--- a/chimere/templates/detail.html
+++ b/chimere/templates/detail.html
@@ -6,10 +6,10 @@
<p id='{{property.propertymodel.getNamedId}}'>{{ property.value|safe }}</p>
{% endfor %}</div>{% if share_networks %}
{% if simple %}{% trans "Share on"%}{% for share_network in share_networks %}
-<a href='{{share_network.1}}' onclick='processTinyUrl("{{share_network.1}}", {{marker.id}}); return false;'>{{share_network.0}}</a>
+<a href='{{share_network.1}}'>{{share_network.0}}</a>
{% endfor %}{%else%}
<ul id='share'><li>{% trans "Share"%}</li>{% for share_network in share_networks %}
-<li><a href='{{share_network.1}}' onclick='processTinyUrl("{{share_network.1}}", {{marker.id}}); return false;'><img src="{{share_network.2}}" alt="{{share_network.0}}"/></a></li>
+<li><a href='{{share_network.1}}'><img src="{{share_network.2}}" alt="{{share_network.0}}"/></a></li>
{% endfor %}</ul>{% endif %}
{% endif %}
</div>
diff --git a/chimere/urls.py b/chimere/urls.py
index b94cd6f..5ba0630 100644
--- a/chimere/urls.py
+++ b/chimere/urls.py
@@ -73,6 +73,5 @@ urlpatterns += patterns('chimere.main.views',
'getGeoObjects', default_dct),
(base + extra + r'getAvailableCategories/((?P<area>\w+))?(/(?P<status>\w+))?(/(?P<force>\w+))?$',
'getAvailableCategories', default_dct),
-(base + extra + r'getTinyUrl/(?P<parameters>.*)$', 'getTinyfiedUrl', default_dct),
(base + extra + r'ty/(?P<tiny_urn>\w+)$', 'redirectFromTinyURN', default_dct),
)