v0.8.7 : import collection from image list in get parameter V00.08.07
authorcavaliet
Fri, 14 Mar 2014 12:02:53 +0100
changeset 264 95bc7600b7b4
parent 263 d810ee337c13
child 265 3f2a118121b7
v0.8.7 : import collection from image list in get parameter
src/egonomy/__init__.py
src/egonomy/locale/en/LC_MESSAGES/django.po
src/egonomy/locale/fr/LC_MESSAGES/django.mo
src/egonomy/locale/fr/LC_MESSAGES/django.po
src/egonomy/static/egonomy/css/style.css
src/egonomy/urls.py
src/egonomy/views.py
--- a/src/egonomy/__init__.py	Wed Mar 05 14:33:33 2014 +0100
+++ b/src/egonomy/__init__.py	Fri Mar 14 12:02:53 2014 +0100
@@ -1,4 +1,4 @@
-VERSION = (0, 8, 6, "final", 1)
+VERSION = (0, 8, 7, "final", 1)
 
 VERSION_STR = unicode(".".join(map(lambda i:"%02d" % (i,), VERSION[:2])))
 
--- a/src/egonomy/locale/en/LC_MESSAGES/django.po	Wed Mar 05 14:33:33 2014 +0100
+++ b/src/egonomy/locale/en/LC_MESSAGES/django.po	Fri Mar 14 12:02:53 2014 +0100
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-07-17 06:20-0500\n"
+"POT-Creation-Date: 2014-03-14 05:56-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,11 +17,11 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: settings.py:150
+#: settings.py:151
 msgid "French"
 msgstr ""
 
-#: settings.py:151
+#: settings.py:152
 msgid "English"
 msgstr ""
 
@@ -38,25 +38,41 @@
 "You can not delete this fragment, it is used in one or several collections."
 msgstr ""
 
-#: views.py:611
+#: views.py:612
 msgid "You are not allowed to delete this collection."
 msgstr ""
 
-#: views.py:643 templates/egonomy_annotate_picture.html:14
+#: views.py:644 templates/egonomy_annotate_picture.html:15
+#: templates/egonomy_annotate_picture.html:49
 #: templates/egonomy_create_fragment.html:14
 #: templates/egonomy_create_fragment.html:77
-#: templates/egonomy_view_fragment.html:100
+#: templates/egonomy_view_fragment.html:61
+#: templates/egonomy_view_fragment.html:104
 #: templates/partial/collection_in_list.html:20
-#: templates/partial/fragment_in_list.html:15
-#: templates/partial/image_in_list.html:28
-#: templates/partial/item_in_collection_geographical.html:62
+#: templates/partial/fragment_in_list.html:4
+#: templates/partial/fragment_in_list.html:16
+#: templates/partial/image_in_list.html:5
+#: templates/partial/image_in_list.html:29
+#: templates/partial/item_in_collection_geographical.html:8
+#: templates/partial/item_in_collection_geographical.html:40
+#: templates/partial/item_in_collection_geographical.html:65
+#: templates/partial/item_in_collection_list.html:9
+#: templates/partial/item_in_collection_list.html:52
+#: templates/partial/item_in_collection_list.html:63
+#: templates/partial/item_in_collection_list.html:75
+#: templates/partial/item_in_collection_mosaic.html:10
+#: templates/partial/item_in_collection_mosaic.html:51
 msgid "No title"
 msgstr ""
 
-#: views.py:681 views.py:735 views.py:770
+#: views.py:682 views.py:736 views.py:771
 msgid "You are not allowed to modify this collection."
 msgstr ""
 
+#: views.py:810
+msgid "Imported collection"
+msgstr ""
+
 #: templates/egonomy_all_collections.html:7
 #: templates/egonomy_all_collections.html:47
 msgid "All collections"
@@ -74,7 +90,7 @@
 msgstr ""
 
 #: templates/egonomy_all_collections.html:30
-#: templates/egonomy_annotate_picture.html:83
+#: templates/egonomy_annotate_picture.html:98
 msgid "Description"
 msgstr ""
 
@@ -127,99 +143,122 @@
 msgid "All pictures"
 msgstr ""
 
-#: templates/egonomy_annotate_picture.html:6
+#: templates/egonomy_annotate_picture.html:7
 msgid "Annotate a picture"
 msgstr ""
 
-#: templates/egonomy_annotate_picture.html:25
+#: templates/egonomy_annotate_picture.html:26
 #: templates/egonomy_view_fragment.html:36
-#: templates/partial/fragment_in_list.html:27
-#: templates/partial/image_in_list.html:41
-#: templates/partial/item_in_collection_geographical.html:29
-#: templates/partial/item_in_collection_geographical.html:74
-#: templates/partial/item_in_collection_list.html:26
-#: templates/partial/item_in_collection_list.html:84
-#: templates/partial/item_in_collection_mosaic.html:31
-#: templates/partial/item_in_collection_mosaic.html:73
+#: templates/partial/fragment_in_list.html:28
+#: templates/partial/image_in_list.html:42
+#: templates/partial/item_in_collection_geographical.html:31
+#: templates/partial/item_in_collection_geographical.html:77
+#: templates/partial/item_in_collection_list.html:28
+#: templates/partial/item_in_collection_list.html:89
+#: templates/partial/item_in_collection_mosaic.html:33
+#: templates/partial/item_in_collection_mosaic.html:76
 msgid "Create a fragment"
 msgstr ""
 
-#: templates/egonomy_annotate_picture.html:29
-#: templates/egonomy_annotate_picture.html:31
+#: templates/egonomy_annotate_picture.html:30
+#: templates/egonomy_annotate_picture.html:32
 #: templates/egonomy_view_fragment.html:40
 #: templates/egonomy_view_fragment.html:42
-#: templates/partial/fragment_in_list.html:23
-#: templates/partial/image_in_list.html:37
-#: templates/partial/item_in_collection_geographical.html:25
+#: templates/partial/fragment_in_list.html:24
+#: templates/partial/image_in_list.html:38
 #: templates/partial/item_in_collection_geographical.html:27
-#: templates/partial/item_in_collection_geographical.html:70
-#: templates/partial/item_in_collection_geographical.html:72
-#: templates/partial/item_in_collection_list.html:22
+#: templates/partial/item_in_collection_geographical.html:29
+#: templates/partial/item_in_collection_geographical.html:73
+#: templates/partial/item_in_collection_geographical.html:75
 #: templates/partial/item_in_collection_list.html:24
-#: templates/partial/item_in_collection_list.html:80
-#: templates/partial/item_in_collection_list.html:82
-#: templates/partial/item_in_collection_mosaic.html:27
+#: templates/partial/item_in_collection_list.html:26
+#: templates/partial/item_in_collection_list.html:85
+#: templates/partial/item_in_collection_list.html:87
 #: templates/partial/item_in_collection_mosaic.html:29
-#: templates/partial/item_in_collection_mosaic.html:69
-#: templates/partial/item_in_collection_mosaic.html:71
+#: templates/partial/item_in_collection_mosaic.html:31
+#: templates/partial/item_in_collection_mosaic.html:72
+#: templates/partial/item_in_collection_mosaic.html:74
 msgid "Add to a collection"
 msgstr ""
 
-#: templates/egonomy_annotate_picture.html:87
-#: templates/partial/image_in_list.html:29
+#: templates/egonomy_annotate_picture.html:50
+#: templates/egonomy_annotate_picture.html:102
+#: templates/partial/image_in_list.html:5
+#: templates/partial/image_in_list.html:30
+#: templates/partial/item_in_collection_geographical.html:40
+#: templates/partial/item_in_collection_list.html:52
+#: templates/partial/item_in_collection_list.html:63
+#: templates/partial/item_in_collection_list.html:75
+#: templates/partial/item_in_collection_mosaic.html:51
 msgid "Author"
 msgstr ""
 
-#: templates/egonomy_annotate_picture.html:91
+#: templates/egonomy_annotate_picture.html:50
+#: templates/partial/image_in_list.html:5
+#: templates/partial/image_in_list.html:30
+#: templates/partial/item_in_collection_geographical.html:40
+#: templates/partial/item_in_collection_list.html:52
+#: templates/partial/item_in_collection_list.html:63
+#: templates/partial/item_in_collection_list.html:75
+#: templates/partial/item_in_collection_mosaic.html:51
+msgid "Not documented"
+msgstr ""
+
+#: templates/egonomy_annotate_picture.html:106
 msgid "Period"
 msgstr ""
 
-#: templates/egonomy_annotate_picture.html:95
+#: templates/egonomy_annotate_picture.html:110
 msgid "Production site"
 msgstr ""
 
-#: templates/egonomy_annotate_picture.html:99
+#: templates/egonomy_annotate_picture.html:114
 msgid "Localization"
 msgstr ""
 
-#: templates/egonomy_annotate_picture.html:106
+#: templates/egonomy_annotate_picture.html:121
 msgid "Keywords"
 msgstr ""
 
-#: templates/egonomy_annotate_picture.html:114
+#: templates/egonomy_annotate_picture.html:129
 #: templates/egonomy_create_fragment.html:116
-#: templates/egonomy_view_fragment.html:163
+#: templates/egonomy_view_fragment.html:178
 msgid "Fragments from this picture"
 msgstr ""
 
-#: templates/egonomy_annotate_picture.html:126
+#: templates/egonomy_annotate_picture.html:141
 #: templates/egonomy_create_fragment.html:128
-#: templates/egonomy_view_fragment.html:175
-#: templates/partial/fragment_in_list.html:16
+#: templates/egonomy_view_fragment.html:61
+#: templates/egonomy_view_fragment.html:190
+#: templates/partial/fragment_in_list.html:4
+#: templates/partial/fragment_in_list.html:17
+#: templates/partial/item_in_collection_geographical.html:8
+#: templates/partial/item_in_collection_list.html:9
+#: templates/partial/item_in_collection_mosaic.html:10
 msgid "Annotated by"
 msgstr ""
 
-#: templates/egonomy_annotate_picture.html:131
+#: templates/egonomy_annotate_picture.html:146
 #: templates/egonomy_create_fragment.html:133
-#: templates/egonomy_view_fragment.html:180
+#: templates/egonomy_view_fragment.html:195
 msgid "No fragment"
 msgstr ""
 
-#: templates/egonomy_annotate_picture.html:135
+#: templates/egonomy_annotate_picture.html:150
 msgid "Collections including this picture"
 msgstr ""
 
-#: templates/egonomy_annotate_picture.html:142 templates/egonomy_base.html:36
+#: templates/egonomy_annotate_picture.html:157 templates/egonomy_base.html:36
 #: templates/egonomy_view_collection.html:78
-#: templates/egonomy_view_fragment.html:112
-#: templates/egonomy_view_fragment.html:191
+#: templates/egonomy_view_fragment.html:116
+#: templates/egonomy_view_fragment.html:206
 #: templates/partial/collection_in_list.html:21
 msgid "by"
 msgstr ""
 
-#: templates/egonomy_annotate_picture.html:147
+#: templates/egonomy_annotate_picture.html:162
 #: templates/egonomy_create_fragment.html:138
-#: templates/egonomy_view_fragment.html:196
+#: templates/egonomy_view_fragment.html:211
 msgid "No collection"
 msgstr ""
 
@@ -256,23 +295,23 @@
 msgstr ""
 
 #: templates/egonomy_create_fragment.html:76
-#: templates/egonomy_view_fragment.html:99
+#: templates/egonomy_view_fragment.html:103
 msgid "Source picture"
 msgstr ""
 
 #: templates/egonomy_create_fragment.html:80
 #: templates/egonomy_create_fragment.html:81
-#: templates/egonomy_view_fragment.html:103
+#: templates/egonomy_view_fragment.html:107
 msgid "Fragment's title"
 msgstr ""
 
 #: templates/egonomy_create_fragment.html:84
-#: templates/egonomy_view_fragment.html:107
+#: templates/egonomy_view_fragment.html:111
 msgid "Fragment's description"
 msgstr ""
 
 #: templates/egonomy_create_fragment.html:93
-#: templates/egonomy_view_fragment.html:150
+#: templates/egonomy_view_fragment.html:154
 msgid "Fragment's keywords"
 msgstr ""
 
@@ -285,7 +324,7 @@
 msgstr ""
 
 #: templates/egonomy_create_fragment.html:108
-#: templates/egonomy_create_fragment.html:247
+#: templates/egonomy_create_fragment.html:254
 msgid "Request keywords from Senseetive API"
 msgstr ""
 
@@ -293,6 +332,11 @@
 msgid "Save the fragment"
 msgstr ""
 
+#: templates/egonomy_create_fragment.html:150
+#: templates/egonomy_view_fragment.html:220
+msgid "Source&nbsp;: Wikipédia"
+msgstr ""
+
 #: templates/egonomy_home.html:6
 msgid "Home"
 msgstr ""
@@ -387,10 +431,10 @@
 msgstr ""
 
 #: templates/egonomy_view_collection.html:95
-#: templates/partial/item_in_collection_list.html:35
-#: templates/partial/item_in_collection_list.html:93
-#: templates/partial/item_in_collection_mosaic.html:39
-#: templates/partial/item_in_collection_mosaic.html:81
+#: templates/partial/item_in_collection_list.html:37
+#: templates/partial/item_in_collection_list.html:98
+#: templates/partial/item_in_collection_mosaic.html:41
+#: templates/partial/item_in_collection_mosaic.html:84
 msgid "Modify the item's comment"
 msgstr ""
 
@@ -449,14 +493,14 @@
 msgstr ""
 
 #: templates/egonomy_view_fragment.html:29
-#: templates/partial/fragment_in_list.html:29
+#: templates/partial/fragment_in_list.html:30
 msgid ""
 "Do you really want to delete this fragment ? Warning : this action est "
 "irreversible."
 msgstr ""
 
 #: templates/egonomy_view_fragment.html:29
-#: templates/partial/fragment_in_list.html:29
+#: templates/partial/fragment_in_list.html:30
 msgid "Delete this fragment"
 msgstr ""
 
@@ -464,74 +508,75 @@
 msgid "Duplicate this fragment"
 msgstr ""
 
-#: templates/egonomy_view_fragment.html:111
+#: templates/egonomy_view_fragment.html:61
+#: templates/partial/fragment_in_list.html:4
+#: templates/partial/fragment_in_list.html:16
+#: templates/partial/item_in_collection_geographical.html:8
+#: templates/partial/item_in_collection_list.html:9
+#: templates/partial/item_in_collection_mosaic.html:10
+msgid "Fragment from"
+msgstr ""
+
+#: templates/egonomy_view_fragment.html:115
 msgid "Last modification"
 msgstr ""
 
-#: templates/egonomy_view_fragment.html:119
+#: templates/egonomy_view_fragment.html:123
 msgid "See the fragment in its full picture"
 msgstr ""
 
-#: templates/egonomy_view_fragment.html:133
+#: templates/egonomy_view_fragment.html:137
 msgid "See the fragment only"
 msgstr ""
 
-#: templates/egonomy_view_fragment.html:184
+#: templates/egonomy_view_fragment.html:199
 msgid "Collections including this fragment"
 msgstr ""
 
-#: templates/partial/fragment_in_list.html:15
-msgid "Fragment from"
-msgstr ""
-
-#: templates/partial/fragment_in_list.html:20
-#: templates/partial/image_in_list.html:34
-#: templates/partial/item_in_collection_geographical.html:22
-#: templates/partial/item_in_collection_geographical.html:67
-#: templates/partial/item_in_collection_list.html:19
-#: templates/partial/item_in_collection_list.html:77
-#: templates/partial/item_in_collection_mosaic.html:24
-#: templates/partial/item_in_collection_mosaic.html:66
-msgid "Share on Twitter"
-msgstr ""
-
 #: templates/partial/fragment_in_list.html:21
 #: templates/partial/image_in_list.html:35
-#: templates/partial/item_in_collection_geographical.html:23
-#: templates/partial/item_in_collection_geographical.html:68
-#: templates/partial/item_in_collection_list.html:20
-#: templates/partial/item_in_collection_list.html:78
-#: templates/partial/item_in_collection_mosaic.html:25
-#: templates/partial/item_in_collection_mosaic.html:67
+#: templates/partial/item_in_collection_geographical.html:24
+#: templates/partial/item_in_collection_geographical.html:70
+#: templates/partial/item_in_collection_list.html:21
+#: templates/partial/item_in_collection_list.html:82
+#: templates/partial/item_in_collection_mosaic.html:26
+#: templates/partial/item_in_collection_mosaic.html:69
+msgid "Share on Twitter"
+msgstr ""
+
+#: templates/partial/fragment_in_list.html:22
+#: templates/partial/image_in_list.html:36
+#: templates/partial/item_in_collection_geographical.html:25
+#: templates/partial/item_in_collection_geographical.html:71
+#: templates/partial/item_in_collection_list.html:22
+#: templates/partial/item_in_collection_list.html:83
+#: templates/partial/item_in_collection_mosaic.html:27
+#: templates/partial/item_in_collection_mosaic.html:70
 msgid "Share on Facebook"
 msgstr ""
 
-#: templates/partial/fragment_in_list.html:25
-#: templates/partial/image_in_list.html:39
+#: templates/partial/fragment_in_list.html:26
+#: templates/partial/image_in_list.html:40
 msgid "Log in to add to a collection"
 msgstr ""
 
-#: templates/partial/image_in_list.html:29
-msgid "Not documented"
-msgstr ""
-
-#: templates/partial/item_in_collection_geographical.html:31
-#: templates/partial/item_in_collection_geographical.html:76
-#: templates/partial/item_in_collection_list.html:28
-#: templates/partial/item_in_collection_list.html:86
-#: templates/partial/item_in_collection_mosaic.html:33
-#: templates/partial/item_in_collection_mosaic.html:75
+#: templates/partial/item_in_collection_geographical.html:33
+#: templates/partial/item_in_collection_geographical.html:79
+#: templates/partial/item_in_collection_list.html:30
+#: templates/partial/item_in_collection_list.html:91
+#: templates/partial/item_in_collection_mosaic.html:35
+#: templates/partial/item_in_collection_mosaic.html:78
 msgid ""
 "Do you really want to remove this item from this collection ? Warning : this "
 "action est irreversible."
 msgstr ""
 
-#: templates/partial/item_in_collection_geographical.html:31
-#: templates/partial/item_in_collection_geographical.html:76
-#: templates/partial/item_in_collection_list.html:28
-#: templates/partial/item_in_collection_list.html:86
-#: templates/partial/item_in_collection_mosaic.html:33
-#: templates/partial/item_in_collection_mosaic.html:75
+#: templates/partial/item_in_collection_geographical.html:33
+#: templates/partial/item_in_collection_geographical.html:79
+#: templates/partial/item_in_collection_list.html:30
+#: templates/partial/item_in_collection_list.html:91
+#: templates/partial/item_in_collection_mosaic.html:35
+#: templates/partial/item_in_collection_mosaic.html:78
 msgid "Remove from this collection"
 msgstr ""
 
Binary file src/egonomy/locale/fr/LC_MESSAGES/django.mo has changed
--- a/src/egonomy/locale/fr/LC_MESSAGES/django.po	Wed Mar 05 14:33:33 2014 +0100
+++ b/src/egonomy/locale/fr/LC_MESSAGES/django.po	Fri Mar 14 12:02:53 2014 +0100
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-07-17 06:20-0500\n"
+"POT-Creation-Date: 2014-03-14 05:56-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,11 +18,11 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1)\n"
 
-#: settings.py:150
+#: settings.py:151
 msgid "French"
 msgstr "Français"
 
-#: settings.py:151
+#: settings.py:152
 msgid "English"
 msgstr "Anglais"
 
@@ -41,28 +41,44 @@
 msgstr "Vous ne pouvez pas supprimer ce fragment, il est utilisé dans une ou "
 "plusieurs collections."
 
-#: views.py:611
+#: views.py:612
 msgid "You are not allowed to delete this collection."
 msgstr "Vous n'êtes pas autorisé à supprimer cette collection."
 
-#: views.py:643
-#: templates/egonomy_annotate_picture.html:14
+#: views.py:644
+#: templates/egonomy_annotate_picture.html:15
+#: templates/egonomy_annotate_picture.html:49
 #: templates/egonomy_create_fragment.html:14
 #: templates/egonomy_create_fragment.html:77
-#: templates/egonomy_view_fragment.html:100
+#: templates/egonomy_view_fragment.html:61
+#: templates/egonomy_view_fragment.html:104
 #: templates/partial/collection_in_list.html:20
-#: templates/partial/fragment_in_list.html:15
-#: templates/partial/image_in_list.html:28
-#: templates/partial/item_in_collection_geographical.html:62
+#: templates/partial/fragment_in_list.html:4
+#: templates/partial/fragment_in_list.html:16
+#: templates/partial/image_in_list.html:5
+#: templates/partial/image_in_list.html:29
+#: templates/partial/item_in_collection_geographical.html:8
+#: templates/partial/item_in_collection_geographical.html:40
+#: templates/partial/item_in_collection_geographical.html:65
+#: templates/partial/item_in_collection_list.html:9
+#: templates/partial/item_in_collection_list.html:52
+#: templates/partial/item_in_collection_list.html:63
+#: templates/partial/item_in_collection_list.html:75
+#: templates/partial/item_in_collection_mosaic.html:10
+#: templates/partial/item_in_collection_mosaic.html:51
 msgid "No title"
 msgstr "Sans titre"
 
-#: views.py:681
-#: views.py:735
-#: views.py:770
+#: views.py:682
+#: views.py:736
+#: views.py:771
 msgid "You are not allowed to modify this collection."
 msgstr "Vous n'êtes pas autorisé à modifier cette collection."
 
+#: views.py:810
+msgid "Imported collection"
+msgstr "Collection importée"
+
 #: templates/egonomy_all_collections.html:7
 #: templates/egonomy_all_collections.html:47
 msgid "All collections"
@@ -80,7 +96,7 @@
 msgstr "Titre"
 
 #: templates/egonomy_all_collections.html:30
-#: templates/egonomy_annotate_picture.html:83
+#: templates/egonomy_annotate_picture.html:98
 msgid "Description"
 msgstr "Description"
 
@@ -137,100 +153,123 @@
 msgid "All pictures"
 msgstr "Toutes les images"
 
-#: templates/egonomy_annotate_picture.html:6
+#: templates/egonomy_annotate_picture.html:7
 msgid "Annotate a picture"
 msgstr "Annoter une image"
 
-#: templates/egonomy_annotate_picture.html:25
+#: templates/egonomy_annotate_picture.html:26
 #: templates/egonomy_view_fragment.html:36
-#: templates/partial/fragment_in_list.html:27
-#: templates/partial/image_in_list.html:41
-#: templates/partial/item_in_collection_geographical.html:29
-#: templates/partial/item_in_collection_geographical.html:74
-#: templates/partial/item_in_collection_list.html:26
-#: templates/partial/item_in_collection_list.html:84
-#: templates/partial/item_in_collection_mosaic.html:31
-#: templates/partial/item_in_collection_mosaic.html:73
+#: templates/partial/fragment_in_list.html:28
+#: templates/partial/image_in_list.html:42
+#: templates/partial/item_in_collection_geographical.html:31
+#: templates/partial/item_in_collection_geographical.html:77
+#: templates/partial/item_in_collection_list.html:28
+#: templates/partial/item_in_collection_list.html:89
+#: templates/partial/item_in_collection_mosaic.html:33
+#: templates/partial/item_in_collection_mosaic.html:76
 msgid "Create a fragment"
 msgstr "Créer un fragment"
 
-#: templates/egonomy_annotate_picture.html:29
-#: templates/egonomy_annotate_picture.html:31
+#: templates/egonomy_annotate_picture.html:30
+#: templates/egonomy_annotate_picture.html:32
 #: templates/egonomy_view_fragment.html:40
 #: templates/egonomy_view_fragment.html:42
-#: templates/partial/fragment_in_list.html:23
-#: templates/partial/image_in_list.html:37
-#: templates/partial/item_in_collection_geographical.html:25
+#: templates/partial/fragment_in_list.html:24
+#: templates/partial/image_in_list.html:38
 #: templates/partial/item_in_collection_geographical.html:27
-#: templates/partial/item_in_collection_geographical.html:70
-#: templates/partial/item_in_collection_geographical.html:72
-#: templates/partial/item_in_collection_list.html:22
+#: templates/partial/item_in_collection_geographical.html:29
+#: templates/partial/item_in_collection_geographical.html:73
+#: templates/partial/item_in_collection_geographical.html:75
 #: templates/partial/item_in_collection_list.html:24
-#: templates/partial/item_in_collection_list.html:80
-#: templates/partial/item_in_collection_list.html:82
-#: templates/partial/item_in_collection_mosaic.html:27
+#: templates/partial/item_in_collection_list.html:26
+#: templates/partial/item_in_collection_list.html:85
+#: templates/partial/item_in_collection_list.html:87
 #: templates/partial/item_in_collection_mosaic.html:29
-#: templates/partial/item_in_collection_mosaic.html:69
-#: templates/partial/item_in_collection_mosaic.html:71
+#: templates/partial/item_in_collection_mosaic.html:31
+#: templates/partial/item_in_collection_mosaic.html:72
+#: templates/partial/item_in_collection_mosaic.html:74
 msgid "Add to a collection"
 msgstr "Ajouter à une collection"
 
-#: templates/egonomy_annotate_picture.html:87
-#: templates/partial/image_in_list.html:29
+#: templates/egonomy_annotate_picture.html:50
+#: templates/egonomy_annotate_picture.html:102
+#: templates/partial/image_in_list.html:5
+#: templates/partial/image_in_list.html:30
+#: templates/partial/item_in_collection_geographical.html:40
+#: templates/partial/item_in_collection_list.html:52
+#: templates/partial/item_in_collection_list.html:63
+#: templates/partial/item_in_collection_list.html:75
+#: templates/partial/item_in_collection_mosaic.html:51
 msgid "Author"
 msgstr "Auteur"
 
-#: templates/egonomy_annotate_picture.html:91
+#: templates/egonomy_annotate_picture.html:50
+#: templates/partial/image_in_list.html:5
+#: templates/partial/image_in_list.html:30
+#: templates/partial/item_in_collection_geographical.html:40
+#: templates/partial/item_in_collection_list.html:52
+#: templates/partial/item_in_collection_list.html:63
+#: templates/partial/item_in_collection_list.html:75
+#: templates/partial/item_in_collection_mosaic.html:51
+msgid "Not documented"
+msgstr "Non renseigné"
+
+#: templates/egonomy_annotate_picture.html:106
 msgid "Period"
 msgstr "Période"
 
-#: templates/egonomy_annotate_picture.html:95
+#: templates/egonomy_annotate_picture.html:110
 msgid "Production site"
 msgstr "Site de production"
 
-#: templates/egonomy_annotate_picture.html:99
+#: templates/egonomy_annotate_picture.html:114
 msgid "Localization"
 msgstr "Localisation"
 
-#: templates/egonomy_annotate_picture.html:106
+#: templates/egonomy_annotate_picture.html:121
 msgid "Keywords"
 msgstr "Mots-clés"
 
-#: templates/egonomy_annotate_picture.html:114
+#: templates/egonomy_annotate_picture.html:129
 #: templates/egonomy_create_fragment.html:116
-#: templates/egonomy_view_fragment.html:163
+#: templates/egonomy_view_fragment.html:178
 msgid "Fragments from this picture"
 msgstr "Fragments issus de cette image"
 
-#: templates/egonomy_annotate_picture.html:126
+#: templates/egonomy_annotate_picture.html:141
 #: templates/egonomy_create_fragment.html:128
-#: templates/egonomy_view_fragment.html:175
-#: templates/partial/fragment_in_list.html:16
+#: templates/egonomy_view_fragment.html:61
+#: templates/egonomy_view_fragment.html:190
+#: templates/partial/fragment_in_list.html:4
+#: templates/partial/fragment_in_list.html:17
+#: templates/partial/item_in_collection_geographical.html:8
+#: templates/partial/item_in_collection_list.html:9
+#: templates/partial/item_in_collection_mosaic.html:10
 msgid "Annotated by"
 msgstr "Annoté par"
 
-#: templates/egonomy_annotate_picture.html:131
+#: templates/egonomy_annotate_picture.html:146
 #: templates/egonomy_create_fragment.html:133
-#: templates/egonomy_view_fragment.html:180
+#: templates/egonomy_view_fragment.html:195
 msgid "No fragment"
 msgstr "Pas de fragment"
 
-#: templates/egonomy_annotate_picture.html:135
+#: templates/egonomy_annotate_picture.html:150
 msgid "Collections including this picture"
 msgstr "Collections incluant cette image"
 
-#: templates/egonomy_annotate_picture.html:142
+#: templates/egonomy_annotate_picture.html:157
 #: templates/egonomy_base.html:36
 #: templates/egonomy_view_collection.html:78
-#: templates/egonomy_view_fragment.html:112
-#: templates/egonomy_view_fragment.html:191
+#: templates/egonomy_view_fragment.html:116
+#: templates/egonomy_view_fragment.html:206
 #: templates/partial/collection_in_list.html:21
 msgid "by"
 msgstr "par"
 
-#: templates/egonomy_annotate_picture.html:147
+#: templates/egonomy_annotate_picture.html:162
 #: templates/egonomy_create_fragment.html:138
-#: templates/egonomy_view_fragment.html:196
+#: templates/egonomy_view_fragment.html:211
 msgid "No collection"
 msgstr "Pas de collection"
 
@@ -270,23 +309,23 @@
 msgstr "Revenir au tracé d'origine"
 
 #: templates/egonomy_create_fragment.html:76
-#: templates/egonomy_view_fragment.html:99
+#: templates/egonomy_view_fragment.html:103
 msgid "Source picture"
 msgstr "Image source"
 
 #: templates/egonomy_create_fragment.html:80
 #: templates/egonomy_create_fragment.html:81
-#: templates/egonomy_view_fragment.html:103
+#: templates/egonomy_view_fragment.html:107
 msgid "Fragment's title"
 msgstr "Titre du fragment"
 
 #: templates/egonomy_create_fragment.html:84
-#: templates/egonomy_view_fragment.html:107
+#: templates/egonomy_view_fragment.html:111
 msgid "Fragment's description"
 msgstr "Description du fragment"
 
 #: templates/egonomy_create_fragment.html:93
-#: templates/egonomy_view_fragment.html:150
+#: templates/egonomy_view_fragment.html:154
 msgid "Fragment's keywords"
 msgstr "Mots-clés du fragment"
 
@@ -299,7 +338,7 @@
 msgstr "Mots-clés Senseetive"
 
 #: templates/egonomy_create_fragment.html:108
-#: templates/egonomy_create_fragment.html:247
+#: templates/egonomy_create_fragment.html:254
 msgid "Request keywords from Senseetive API"
 msgstr "Demander les mots-clés à l'API Senseetive"
 
@@ -307,6 +346,11 @@
 msgid "Save the fragment"
 msgstr "Enregistrer le fragment"
 
+#: templates/egonomy_create_fragment.html:150
+#: templates/egonomy_view_fragment.html:220
+msgid "Source&nbsp;: Wikipédia"
+msgstr "Source&nbsp;: Wikipédia"
+
 #: templates/egonomy_home.html:6
 msgid "Home"
 msgstr "Accueil"
@@ -401,10 +445,10 @@
 msgstr "Visible pour tout le monde"
 
 #: templates/egonomy_view_collection.html:95
-#: templates/partial/item_in_collection_list.html:35
-#: templates/partial/item_in_collection_list.html:93
-#: templates/partial/item_in_collection_mosaic.html:39
-#: templates/partial/item_in_collection_mosaic.html:81
+#: templates/partial/item_in_collection_list.html:37
+#: templates/partial/item_in_collection_list.html:98
+#: templates/partial/item_in_collection_mosaic.html:41
+#: templates/partial/item_in_collection_mosaic.html:84
 msgid "Modify the item's comment"
 msgstr "Modifier le commentaire de cet élément"
 
@@ -464,7 +508,7 @@
 msgstr "Modifier ce fragment"
 
 #: templates/egonomy_view_fragment.html:29
-#: templates/partial/fragment_in_list.html:29
+#: templates/partial/fragment_in_list.html:30
 msgid ""
 "Do you really want to delete this fragment ? Warning : this action est "
 "irreversible."
@@ -472,7 +516,7 @@
 "irréversible."
 
 #: templates/egonomy_view_fragment.html:29
-#: templates/partial/fragment_in_list.html:29
+#: templates/partial/fragment_in_list.html:30
 msgid "Delete this fragment"
 msgstr "Supprimer ce fragment"
 
@@ -480,75 +524,76 @@
 msgid "Duplicate this fragment"
 msgstr "Dupliquer ce fragment"
 
-#: templates/egonomy_view_fragment.html:111
-msgid "Last modification"
-msgstr "Dernière modification"
-
-#: templates/egonomy_view_fragment.html:119
-msgid "See the fragment in its full picture"
-msgstr "Voir le fragment dans l'image entière"
-
-#: templates/egonomy_view_fragment.html:133
-msgid "See the fragment only"
-msgstr "Voir le fragment seul"
-
-#: templates/egonomy_view_fragment.html:184
-msgid "Collections including this fragment"
-msgstr "Collections incluant ce fragment"
-
-#: templates/partial/fragment_in_list.html:15
+#: templates/egonomy_view_fragment.html:61
+#: templates/partial/fragment_in_list.html:4
+#: templates/partial/fragment_in_list.html:16
+#: templates/partial/item_in_collection_geographical.html:8
+#: templates/partial/item_in_collection_list.html:9
+#: templates/partial/item_in_collection_mosaic.html:10
 msgid "Fragment from"
 msgstr "Fragment de"
 
-#: templates/partial/fragment_in_list.html:20
-#: templates/partial/image_in_list.html:34
-#: templates/partial/item_in_collection_geographical.html:22
-#: templates/partial/item_in_collection_geographical.html:67
-#: templates/partial/item_in_collection_list.html:19
-#: templates/partial/item_in_collection_list.html:77
-#: templates/partial/item_in_collection_mosaic.html:24
-#: templates/partial/item_in_collection_mosaic.html:66
-msgid "Share on Twitter"
-msgstr "Partage sur Twitter"
+#: templates/egonomy_view_fragment.html:115
+msgid "Last modification"
+msgstr "Dernière modification"
+
+#: templates/egonomy_view_fragment.html:123
+msgid "See the fragment in its full picture"
+msgstr "Voir le fragment dans l'image entière"
+
+#: templates/egonomy_view_fragment.html:137
+msgid "See the fragment only"
+msgstr "Voir le fragment seul"
+
+#: templates/egonomy_view_fragment.html:199
+msgid "Collections including this fragment"
+msgstr "Collections incluant ce fragment"
 
 #: templates/partial/fragment_in_list.html:21
 #: templates/partial/image_in_list.html:35
-#: templates/partial/item_in_collection_geographical.html:23
-#: templates/partial/item_in_collection_geographical.html:68
-#: templates/partial/item_in_collection_list.html:20
-#: templates/partial/item_in_collection_list.html:78
-#: templates/partial/item_in_collection_mosaic.html:25
-#: templates/partial/item_in_collection_mosaic.html:67
+#: templates/partial/item_in_collection_geographical.html:24
+#: templates/partial/item_in_collection_geographical.html:70
+#: templates/partial/item_in_collection_list.html:21
+#: templates/partial/item_in_collection_list.html:82
+#: templates/partial/item_in_collection_mosaic.html:26
+#: templates/partial/item_in_collection_mosaic.html:69
+msgid "Share on Twitter"
+msgstr "Partage sur Twitter"
+
+#: templates/partial/fragment_in_list.html:22
+#: templates/partial/image_in_list.html:36
+#: templates/partial/item_in_collection_geographical.html:25
+#: templates/partial/item_in_collection_geographical.html:71
+#: templates/partial/item_in_collection_list.html:22
+#: templates/partial/item_in_collection_list.html:83
+#: templates/partial/item_in_collection_mosaic.html:27
+#: templates/partial/item_in_collection_mosaic.html:70
 msgid "Share on Facebook"
 msgstr "Partager sur Facebook"
 
-#: templates/partial/fragment_in_list.html:25
-#: templates/partial/image_in_list.html:39
+#: templates/partial/fragment_in_list.html:26
+#: templates/partial/image_in_list.html:40
 msgid "Log in to add to a collection"
 msgstr "Se connecter pour ajouter à une collection"
 
-#: templates/partial/image_in_list.html:29
-msgid "Not documented"
-msgstr "Non renseigné"
-
-#: templates/partial/item_in_collection_geographical.html:31
-#: templates/partial/item_in_collection_geographical.html:76
-#: templates/partial/item_in_collection_list.html:28
-#: templates/partial/item_in_collection_list.html:86
-#: templates/partial/item_in_collection_mosaic.html:33
-#: templates/partial/item_in_collection_mosaic.html:75
+#: templates/partial/item_in_collection_geographical.html:33
+#: templates/partial/item_in_collection_geographical.html:79
+#: templates/partial/item_in_collection_list.html:30
+#: templates/partial/item_in_collection_list.html:91
+#: templates/partial/item_in_collection_mosaic.html:35
+#: templates/partial/item_in_collection_mosaic.html:78
 msgid ""
 "Do you really want to remove this item from this collection ? Warning : this "
 "action est irreversible."
 msgstr "Voulez-vous vraiment supprimer cet élément de cette collection ? Attention : "
 "cette action est irréversible."
 
-#: templates/partial/item_in_collection_geographical.html:31
-#: templates/partial/item_in_collection_geographical.html:76
-#: templates/partial/item_in_collection_list.html:28
-#: templates/partial/item_in_collection_list.html:86
-#: templates/partial/item_in_collection_mosaic.html:33
-#: templates/partial/item_in_collection_mosaic.html:75
+#: templates/partial/item_in_collection_geographical.html:33
+#: templates/partial/item_in_collection_geographical.html:79
+#: templates/partial/item_in_collection_list.html:30
+#: templates/partial/item_in_collection_list.html:91
+#: templates/partial/item_in_collection_mosaic.html:35
+#: templates/partial/item_in_collection_mosaic.html:78
 msgid "Remove from this collection"
 msgstr "Supprimer de cette collection"
 
--- a/src/egonomy/static/egonomy/css/style.css	Wed Mar 05 14:33:33 2014 +0100
+++ b/src/egonomy/static/egonomy/css/style.css	Fri Mar 14 12:02:53 2014 +0100
@@ -53,6 +53,7 @@
 .nav a{font-family: 'josefin_sans'; font-size: 18px; text-transform : uppercase;}
 .title-page{margin: 30px 0; position: relative; min-height: 30px;}
 h2{text-transform: uppercase; display:inline-block; font-size: 30px; font-family: 'Lato'; font-weight: 300;  }
+.title-page h2{width: 630px;}
 h2 span{text-transform: capitalize; font-size: 24px; font-family: 'Lato';  font-weight: 300; font-style: italic;}
 .title-menu{ position: absolute; bottom: 0; right: 0;}
 .title-menu li{float: left;}
--- a/src/egonomy/urls.py	Wed Mar 05 14:33:33 2014 +0100
+++ b/src/egonomy/urls.py	Fri Mar 14 12:02:53 2014 +0100
@@ -30,6 +30,7 @@
     url(r'^embedslideshow/(?P<collection_pk>.*)/$', 'egonomy.views.embed_slideshow', name='embed_slideshow'),
     url(r'^picturebysearch/$', 'egonomy.views.picture_by_search', name='picture_by_search'),
     url(r'^fragmentbysearch/$', 'egonomy.views.fragment_by_search', name='fragment_by_search'),
+    url(r'^importcollection/$', 'egonomy.views.import_collection', name='import_collection'),
 
     # Uncomment the admin/doc line below to enable admin documentation:
     url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
--- a/src/egonomy/views.py	Wed Mar 05 14:33:33 2014 +0100
+++ b/src/egonomy/views.py	Fri Mar 14 12:02:53 2014 +0100
@@ -675,7 +675,7 @@
     try:
         col_pk = int(col_pk)
     except:
-        return HttpResponse("Collection number invalid.", status_code=400)
+        return HttpResponse("Collection number invalid.", status=400)
     col = get_object_or_404(Collection.objects.select_related('author'), pk=col_pk)
     # We check if the current user is the collection's author
     if col.author != request.user:
@@ -692,10 +692,10 @@
         try:
             item_id = int(item_id)
         except:
-            return HttpResponse("Fragment number invalid.", status_code=400)
+            return HttpResponse("Fragment number invalid.", status=400)
         item = get_object_or_404(Fragment, pk=item_id)
     else:
-        return HttpResponse("item-type must be 'image' or 'fragment'.", status_code=400)
+        return HttpResponse("item-type must be 'image' or 'fragment'.", status=400)
     
     col_item = CollectionItem()
     col_item.collection = col
@@ -729,7 +729,7 @@
     try:
         col_pk = int(col_pk)
     except:
-        return HttpResponse("Collection number invalid.", status_code=400)
+        return HttpResponse("Collection number invalid.", status=400)
     col = get_object_or_404(Collection.objects.select_related('author'), pk=col_pk)
     # We check if the current user is the collection's author
     if col.author != request.user:
@@ -740,7 +740,7 @@
     
     # Test item's pk
     if not item_pk:
-        return HttpResponse("item_pk must be set.", status_code=400)
+        return HttpResponse("item_pk must be set.", status=400)
     # Get item
     item = get_object_or_404(CollectionItem, pk=item_pk)
     # Everything has been checked, we can delete the item
@@ -764,7 +764,7 @@
     try:
         col_pk = int(col_pk)
     except:
-        return HttpResponse("Collection number invalid.", status_code=400)
+        return HttpResponse("Collection number invalid.", status=400)
     col = get_object_or_404(Collection.objects.select_related('author'), pk=col_pk)
     # We check if the current user is the collection's author
     if col.author != request.user:
@@ -775,11 +775,11 @@
     
     # Test item's pk
     if not item_pk:
-        return HttpResponse("item_pk must be set.", status_code=400)
+        return HttpResponse("item_pk must be set.", status=400)
     # Get item
     item = get_object_or_404(CollectionItem, pk=item_pk)
     if item.collection != col:
-        return HttpResponse("Item and collection are not related.", status_code=400)
+        return HttpResponse("Item and collection are not related.", status=400)
     # Everything has been checked, we can modify and save the item
     item.description = description
     item.save()
@@ -789,3 +789,46 @@
 
 
 
+@login_required
+def import_collection(request):
+    
+    imagelist = request.GET["imagelist"] or None
+    # =98/06-503033.jpg,59/08-523465.jpg,56/09-502439.jpg,XX/08-527515.jpg,AB/10-530083.jpg
+    img_ids = []
+    if imagelist is not None and imagelist!="":
+        imagelist = imagelist.split(",")
+        for i in imagelist:
+            try:
+                img_ids.append(i[i.index("/")+1:i.index(".")])
+            except:
+                return HttpResponse("Wrong image id. It must be like 'XX/XXXXXXX.jpg'.", status=400)
+    if len(img_ids)==0:
+        return HttpResponse("imagelist must not be empty.")
+    # New collection
+    col = Collection() 
+    col.author = request.user
+    td = _("Imported collection") + " " + datetime.now().strftime("%Y-%m-%d %H:%M:%S")
+    col.title = td
+    col.description = td
+    col.publication_type = 1
+    col.public = True
+    col.save()
+    content_type = ContentType.objects.get_for_model(Image)
+    order = 1
+    for i in img_ids:
+        item = get_object_or_404(Image, id=i)
+        col_item = CollectionItem()
+        col_item.collection = col
+        col_item.content_type = content_type
+        col_item.object_id = i
+        col_item.content_object = item
+        col_item.description = ""
+        col_item.order = order
+        order += 1
+        col_item.save()
+    
+    return redirect("view_collection", collection_pk=col.pk)
+    #return HttpResponse("hello image list = " + str(img_ids))
+
+
+