v0.8.2 : html5 drag n drop attributes.
--- a/src/egonomy/__init__.py Wed Oct 09 12:14:59 2013 +0200
+++ b/src/egonomy/__init__.py Thu Dec 05 16:26:42 2013 +0100
@@ -1,4 +1,4 @@
-VERSION = (0, 8, 1, "final", 1)
+VERSION = (0, 8, 2, "final", 1)
VERSION_STR = unicode(".".join(map(lambda i:"%02d" % (i,), VERSION[:2])))
--- a/src/egonomy/templates/egonomy_annotate_picture.html Wed Oct 09 12:14:59 2013 +0200
+++ b/src/egonomy/templates/egonomy_annotate_picture.html Thu Dec 05 16:26:42 2013 +0100
@@ -1,5 +1,6 @@
{% extends "egonomy_newbase.html" %}
{% load static %}
+{% load absstatic %}
{% load i18n %}
{% load thumbnail %}
@@ -42,6 +43,11 @@
</div>
<article class="edition">
<div class="slideshow box-edition">
+ <a draggable="true" ondragstart="onDragImage(event)"
+ data-image="{% absstatic img.info.image_file.url %}"
+ data-clip-path=""
+ data-title="{{ img.metadata.titre|default:_('No title') }}"
+ data-description="{% trans 'Author' %} : {{ img.metadata.auteur|default:_('Not documented') }}" href="{% url 'annotate_picture' image_id=img.id %}">
<div class="image-and-fragment">
{% with img.info.image_file as image %}
{% if image|is_portrait %}
@@ -67,6 +73,7 @@
</svg>
{% endif %}
</div>
+ </a>
{% if search %}
{% if index_search > 0 %}
<div class="arrow-wrap left-arrow">
@@ -180,5 +187,11 @@
}
);
});
+ function onDragImage(e){
+ var dt = e.dataTransfer;
+ var snippet = $('<div>').html(dt.getData("text/html"));
+ snippet.find("svg").remove();
+ e.dataTransfer.setData("text/html", snippet.html());
+ }
</script>
{% endblock %}
\ No newline at end of file
--- a/src/egonomy/templates/egonomy_view_fragment.html Wed Oct 09 12:14:59 2013 +0200
+++ b/src/egonomy/templates/egonomy_view_fragment.html Thu Dec 05 16:26:42 2013 +0100
@@ -57,6 +57,9 @@
<article class="edition">
<div class="slideshow box-edition">
<div class="image-wrap">
+ <a draggable="true" data-title="{{ fragment.title }}"
+ data-description="{% trans 'Fragment from' %} {{ fragment.image.metadata.titre|default:_('No title') }} {% trans 'Annotated by' %} {{ fragment.author }}"
+ href="{% url 'view_fragment' fragment_pk=fragment.pk %}">
{% if fragment_only %}
<div class="image-and-fragment square-fragment-600">
{% with fragment.image.info.image_file as image %}
@@ -74,6 +77,7 @@
{% endwith %}
</div>
{% endif %}
+ </a>
</div>
{% if search %}
{% if index_search > 0 %}
--- a/src/egonomy/templates/partial/fragment_in_list.html Wed Oct 09 12:14:59 2013 +0200
+++ b/src/egonomy/templates/partial/fragment_in_list.html Thu Dec 05 16:26:42 2013 +0100
@@ -1,7 +1,8 @@
{% load i18n %}
{# we suppose here that "frg" has been defined #}
{% with fragment=frg.object|default:frg %}{# frg.object in search case, frg otherwise #}
-<a href="{% url 'view_fragment' fragment_pk=frg.pk %}{% if search %}?search={{ search }}&index_search={{ offset_search|add:forloop.counter0 }}&nb_results={{ nb_results }}{% endif %}">
+<a draggable="true" data-title="{{ fragment.title }}" data-description="{% trans 'Fragment from' %} {{ fragment.image.metadata.titre|default:_('No title') }} {% trans 'Annotated by' %} {{ fragment.author }}"
+ href="{% url 'view_fragment' fragment_pk=frg.pk %}{% if search %}?search={{ search }}&index_search={{ offset_search|add:forloop.counter0 }}&nb_results={{ nb_results }}{% endif %}">
<div class="center-image">
<div class="image-and-fragment square-fragment-225">
{% with image=fragment.image.info.image_file %}
--- a/src/egonomy/templates/partial/image_in_list.html Wed Oct 09 12:14:59 2013 +0200
+++ b/src/egonomy/templates/partial/image_in_list.html Thu Dec 05 16:26:42 2013 +0100
@@ -2,7 +2,8 @@
{% load i18n %}
{% load thumbnail %}
{# we suppose here that "img" has been defined #}
-<a href="{% url 'annotate_picture' image_id=img.id %}{% if search %}?search={{ search }}&index_search={{ offset_search|add:forloop.counter0 }}&nb_results={{ nb_results }}{% endif %}">
+<a draggable="true" data-title="{{ img.metadata.titre|default:_('No title') }}" data-description="{% trans 'Author' %} : {{ img.metadata.auteur|default:_('Not documented') }}"
+ href="{% url 'annotate_picture' image_id=img.id %}{% if search %}?search={{ search }}&index_search={{ offset_search|add:forloop.counter0 }}&nb_results={{ nb_results }}{% endif %}">
<div class="center-image">
{% with img.info.image_file as image %}
{% if image %}
--- a/src/egonomy/templates/partial/item_in_collection_geographical.html Wed Oct 09 12:14:59 2013 +0200
+++ b/src/egonomy/templates/partial/item_in_collection_geographical.html Thu Dec 05 16:26:42 2013 +0100
@@ -4,14 +4,16 @@
<li class="subcol-fourth geo-item" id="item{{ item.pk }}">
{% ifequal item.content_type.model "fragment" %}
{% with fragment=item.content_object %}
- <a href="{% url 'view_fragment' fragment_pk=fragment.pk %}">
- <div class="center-image">
+ <a draggable="true" data-title="{{ fragment.title }}"
+ data-description="{% trans 'Fragment from' %} {{ fragment.image.metadata.titre|default:_('No title') }} {% trans 'Annotated by' %} {{ fragment.author }}"
+ href="{% url 'view_fragment' fragment_pk=fragment.pk %}">
+ <div class="center-image">
<div class="image-and-fragment square-fragment-225">
{% with image=fragment.image.info.image_file %}
{% include "partial/fragment_only.html" %}
{% endwith %}
</div>
- </div>
+ </div>
</a>
<div class="content">
<a href="{% url 'view_fragment' fragment_pk=fragment.pk %}"><h3>{{ fragment.title }}</h3></a>
@@ -35,7 +37,8 @@
{% endwith %}
{% else %}
{% with img=item.content_object %}
- <a href="{% url 'annotate_picture' image_id=img.id %}">
+ <a draggable="true" data-title="{{ img.metadata.titre|default:_('No title') }}" data-description="{% trans 'Author' %} : {{ img.metadata.auteur|default:_('Not documented') }}"
+ href="{% url 'annotate_picture' image_id=img.id %}">
<div class="center-image">
{% with img.info.image_file as image %}
{% if image %}
--- a/src/egonomy/templates/partial/item_in_collection_list.html Wed Oct 09 12:14:59 2013 +0200
+++ b/src/egonomy/templates/partial/item_in_collection_list.html Thu Dec 05 16:26:42 2013 +0100
@@ -5,14 +5,16 @@
<li class="clearfix horizontal item-masonry">
{% with fragment=item.content_object %}
<div class="col-left">
- <a href="{% url 'view_fragment' fragment_pk=fragment.pk %}">
- <div class="center-image">
+ <a draggable="true" data-title="{{ fragment.title }}"
+ data-description="{% trans 'Fragment from' %} {{ fragment.image.metadata.titre|default:_('No title') }} {% trans 'Annotated by' %} {{ fragment.author }}"
+ href="{% url 'view_fragment' fragment_pk=fragment.pk %}">
+ <div class="center-image">
<div class="image-and-fragment square-fragment-225">
{% with image=fragment.image.info.image_file %}
{% include "partial/fragment_only.html" %}
{% endwith %}
</div>
- </div>
+ </div>
</a>
<div class="tools toggle">
<ul class="clearfix">
@@ -47,7 +49,8 @@
{% if image|is_portrait %}
<li class="clearfix horizontal item-masonry">
<div class="col-left">
- <a href="{% url 'annotate_picture' image_id=img.id %}">
+ <a draggable="true" data-title="{{ img.metadata.titre|default:_('No title') }}" data-description="{% trans 'Author' %} : {{ img.metadata.auteur|default:_('Not documented') }}"
+ href="{% url 'annotate_picture' image_id=img.id %}">
{% thumbnail image "225" format="PNG" crop="center" as im %}
<img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}"/>
{% empty %}
@@ -57,7 +60,8 @@
{% else %}
<li class="item-masonry">
<div class="col-left">
- <a href="{% url 'annotate_picture' image_id=img.id %}">
+ <a draggable="true" data-title="{{ img.metadata.titre|default:_('No title') }}" data-description="{% trans 'Author' %} : {{ img.metadata.auteur|default:_('Not documented') }}"
+ href="{% url 'annotate_picture' image_id=img.id %}">
{% thumbnail image "469" format="PNG" crop="center" as im %}
<img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}"/>
{% empty %}
@@ -68,8 +72,9 @@
{% else %}
<li class="clearfix horizontal item-masonry">
<div class="col-left">
- <a href="{% url 'annotate_picture' image_id=img.id %}">
- <img src="{% static 'egonomy/img/empty.gif' %}" width=225" height="225" class="placeholder" />
+ <a draggable="true" data-title="{{ img.metadata.titre|default:_('No title') }}" data-description="{% trans 'Author' %} : {{ img.metadata.auteur|default:_('Not documented') }}"
+ href="{% url 'annotate_picture' image_id=img.id %}">
+ <img src="{% static 'egonomy/img/empty.gif' %}" width=225" height="225" class="placeholder" />
</a>
{% endif %}
<div class="tools toggle">
--- a/src/egonomy/templates/partial/item_in_collection_mosaic.html Wed Oct 09 12:14:59 2013 +0200
+++ b/src/egonomy/templates/partial/item_in_collection_mosaic.html Thu Dec 05 16:26:42 2013 +0100
@@ -6,14 +6,16 @@
<div class="visuel-project">
{% ifequal item.content_type.model "fragment" %}
{% with fragment=item.content_object %}
- <a href="{% url 'view_fragment' fragment_pk=fragment.pk %}">
- <div class="center-image">
+ <a draggable="true" data-title="{{ fragment.title }}"
+ data-description="{% trans 'Fragment from' %} {{ fragment.image.metadata.titre|default:_('No title') }} {% trans 'Annotated by' %} {{ fragment.author }}"
+ href="{% url 'view_fragment' fragment_pk=fragment.pk %}">
+ <div class="center-image">
<div class="image-and-fragment square-fragment-177">
{% with image=fragment.image.info.image_file %}
{% include "partial/fragment_only.html" %}
{% endwith %}
</div>
- </div>
+ </div>
</a>
<div class="tools toggle">
<div class="title-project">
@@ -46,7 +48,8 @@
{% else %}
{% with img=item.content_object %}
{% with img.info.image_file as image %}
- <a href="{% url 'annotate_picture' image_id=img.id %}">
+ <a draggable="true" data-title="{{ img.metadata.titre|default:_('No title') }}" data-description="{% trans 'Author' %} : {{ img.metadata.auteur|default:_('Not documented') }}"
+ href="{% url 'annotate_picture' image_id=img.id %}">
{% if image %}
{% thumbnail image "177" format="PNG" crop="center" as im %}
<img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}"/>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/egonomy/templatetags/absstatic.py Thu Dec 05 16:26:42 2013 +0100
@@ -0,0 +1,22 @@
+from django import template
+from django.contrib.sites.models import Site
+from django.contrib.staticfiles.storage import staticfiles_storage
+import urlparse
+
+register = template.Library()
+
+@register.simple_tag
+def absstatic(context, path):
+ try:
+ request=context['request']
+ if request.is_secure():
+ domain = "https://%s" % Site.objects.get_current().domain
+ else:
+ domain = "http://%s" % Site.objects.get_current().domain
+ except:
+ domain = "http://%s" % Site.objects.get_current().domain
+
+ new_path = staticfiles_storage.url(path)
+ return urlparse.urljoin(domain, new_path)
+
+absstatic=register.simple_tag(takes_context=True)(absstatic)
\ No newline at end of file