v0.8.2 : html5 drag n drop attributes. V00.08.02
authorcavaliet
Thu, 05 Dec 2013 16:26:42 +0100
changeset 252 b7486a56ad7d
parent 251 5124b8694b24
child 253 7498cc463ca4
v0.8.2 : html5 drag n drop attributes.
src/egonomy/__init__.py
src/egonomy/templates/egonomy_annotate_picture.html
src/egonomy/templates/egonomy_view_fragment.html
src/egonomy/templates/partial/fragment_in_list.html
src/egonomy/templates/partial/image_in_list.html
src/egonomy/templates/partial/item_in_collection_geographical.html
src/egonomy/templates/partial/item_in_collection_list.html
src/egonomy/templates/partial/item_in_collection_mosaic.html
src/egonomy/templatetags/absstatic.py
--- 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