--- a/.hgignore Mon Mar 09 11:03:57 2015 +0100
+++ b/.hgignore Mon Mar 09 11:05:44 2015 +0100
@@ -6,6 +6,7 @@
syntax: regexp
^web/.htaccess$
^web/static/site$
+^web/static/media
\.DS_Store
^virtualenv/web/project-boot\.py$
^web/index/.*$
@@ -19,4 +20,4 @@
^src/hdabo/config\.py$
^web/static/media/thumbnails/renkan/renkan_default_icon\.png\.100x100_q85\.png$
^src/hdalab/config\.py$
-^sbin/sync/config\.py$
\ No newline at end of file
+^sbin/sync/config\.py$
--- a/.hgtags Mon Mar 09 11:03:57 2015 +0100
+++ b/.hgtags Mon Mar 09 11:05:44 2015 +0100
@@ -101,3 +101,12 @@
8f70ba2106a9a1f17b72310e481d7ae12a16f483 V03.00-alpha.11
51cd6fa9dfe313f5fec1f7de1958317d3519dd9e V03.00-alpha.11
4629c62c0d0aefa6549aa8dd0a9e4cb99665df5a V03.00-alpha.12
+08243f159907f5a1cdd984d191d1dc9c5f454c0a V03.00-rc.01
+08243f159907f5a1cdd984d191d1dc9c5f454c0a V03.00-rc.01
+79d69bde5203b35c810c782fead2e39d1f5ec16d V03.00-rc.01
+79d69bde5203b35c810c782fead2e39d1f5ec16d V03.00-rc.01
+73604caea804324b2eae800101dd22bc5a85c03e V03.00-rc.01
+73604caea804324b2eae800101dd22bc5a85c03e V03.00-rc.01
+6c6ba670b985deba09f84672be84b8e5aff8f306 V03.00-rc.01
+6c6ba670b985deba09f84672be84b8e5aff8f306 V03.00-rc.01
+c86417bff0bb71875d2160fbf653c8b0da55fe5e V03.00-rc.01
--- a/.settings/org.eclipse.core.resources.prefs Mon Mar 09 11:03:57 2015 +0100
+++ b/.settings/org.eclipse.core.resources.prefs Mon Mar 09 11:05:44 2015 +0100
@@ -32,10 +32,12 @@
encoding//src/hdabo/views.py=utf-8
encoding//src/hdabo/wp_utils.py=utf-8
encoding//src/hdalab/__init__.py=utf-8
+encoding//src/hdalab/celery.py=utf-8
encoding//src/hdalab/config.py=utf-8
encoding//src/hdalab/fields.py=utf-8
encoding//src/hdalab/forms.py=utf-8
encoding//src/hdalab/manage.py=utf-8
+encoding//src/hdalab/management/commands/calculate_preview.py=utf-8
encoding//src/hdalab/management/commands/export_tags_csv.py=utf-8
encoding//src/hdalab/management/commands/export_wpcategory_csv.py=utf-8
encoding//src/hdalab/management/commands/fill_tag_years.py=utf-8
@@ -66,6 +68,8 @@
encoding//src/hdalab/models/renkan.py=utf-8
encoding//src/hdalab/services.py=utf-8
encoding//src/hdalab/settings.py=utf-8
+encoding//src/hdalab/signals.py=utf-8
+encoding//src/hdalab/tasks.py=utf-8
encoding//src/hdalab/urls.py=utf-8
encoding//src/hdalab/utils.py=utf-8
encoding//src/hdalab/views/ajax.py=utf-8
--- a/src/hdalab/__init__.py Mon Mar 09 11:03:57 2015 +0100
+++ b/src/hdalab/__init__.py Mon Mar 09 11:05:44 2015 +0100
@@ -1,5 +1,7 @@
# -*- coding: utf-8 -*-
-VERSION = (3, 0, 0, "alpha", 12)
+from __future__ import absolute_import
+
+VERSION = (3, 0, 0, "rc", 1)
def get_version():
@@ -13,5 +15,12 @@
version = '%s-%s.%s' % (version, VERSION[3], VERSION[4])
return version
+__version__ = get_version()
-__version__ = get_version()
+try:
+ from .celery import app as celery_app
+except:
+ pass
+
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hdalab/celery.py Mon Mar 09 11:05:44 2015 +0100
@@ -0,0 +1,23 @@
+# -*- coding: utf-8 -*-
+'''
+Created on Mar 7, 2015
+
+@author: ymh
+'''
+from __future__ import absolute_import
+
+import os
+
+from django.conf import settings
+
+from celery import Celery
+
+# set the default Django settings module for the 'celery' program.
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'hdalab.settings')
+
+app = Celery('hdalab')
+
+# Using a string here means the worker will not have to
+# pickle the object when using Windows.
+app.config_from_object('django.conf:settings')
+app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
--- a/src/hdalab/config.py.tmpl Mon Mar 09 11:03:57 2015 +0100
+++ b/src/hdalab/config.py.tmpl Mon Mar 09 11:05:44 2015 +0100
@@ -123,3 +123,11 @@
}
DEFAULT_FROM_EMAIL = "do-not-reply@iri-research.org"
+
+RENKAN_PREVIEW_PHANTOMJS_PATH = 'phantomjs'
+
+BROKER_URL = 'sqla+sqlite:///'+os.path.abspath(os.path.join(BASE_DIR,"../../run/celerydb.sqlite"))
+
+#CELERY_EMAIL_BACKEND
+
+ENVELOPE_EMAIL_RECIPIENTS= ['histoiredesarts@culture.gouv.fr']
Binary file src/hdalab/locale/de/LC_MESSAGES/django.mo has changed
--- a/src/hdalab/locale/de/LC_MESSAGES/django.po Mon Mar 09 11:03:57 2015 +0100
+++ b/src/hdalab/locale/de/LC_MESSAGES/django.po Mon Mar 09 11:05:44 2015 +0100
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-03-06 07:38-0600\n"
+"POT-Creation-Date: 2015-03-08 20:09-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"
@@ -41,24 +41,24 @@
msgid "Japanese"
msgstr "Japanisch"
-#: models/renkan.py:37
+#: models/renkan.py:32
msgid "edition_state"
msgstr ""
-#: models/renkan.py:38
+#: models/renkan.py:33
msgid "moderated_state"
msgstr ""
-#: models/renkan.py:39
+#: models/renkan.py:34
msgid "published_state"
msgstr ""
-#: models/renkan.py:40
+#: models/renkan.py:35
msgid "rejected_state"
msgstr ""
#: templates/a_propos.html:5 templates/base.html:43 templates/base.html.py:75
-#: templates/base.html:96
+#: templates/base.html:97
msgid "A Propos"
msgstr ""
@@ -66,15 +66,15 @@
msgid "Accueil"
msgstr ""
-#: templates/base.html:39 templates/base.html.py:91 templates/index.html:44
+#: templates/base.html:39 templates/base.html.py:92 templates/index.html:44
msgid "Recherche"
msgstr "Einen Tag suchen"
-#: templates/base.html:40 templates/base.html.py:92
+#: templates/base.html:40 templates/base.html.py:93
msgid "Domaines Artistiques"
msgstr "Künstlerische Disziplinen"
-#: templates/base.html:41 templates/base.html.py:93
+#: templates/base.html:41 templates/base.html.py:94
msgid "Thésaurus"
msgstr ""
@@ -96,15 +96,20 @@
msgid "Mentions légales"
msgstr ""
-#: templates/base.html:90
+#: templates/base.html:78 templates/envelope/contact.html:6
+#: templates/envelope/contact.html.py:16
+msgid "Contact"
+msgstr ""
+
+#: templates/base.html:91
msgid "Rubriques"
msgstr ""
-#: templates/base.html:95
+#: templates/base.html:96
msgid "Renkan repères"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Liens"
msgstr ""
@@ -483,26 +488,26 @@
msgid "Ressources"
msgstr ""
-#: templates/renkan_edit.html:191
+#: templates/renkan_edit.html:192
msgid "Change organisation"
msgstr ""
-#: templates/renkan_edit.html:192
+#: templates/renkan_edit.html:193
msgid "(Indisponible si modification du RENKAN)"
msgstr ""
-#: templates/renkan_edit.html:195 templates/renkan_edit.html.py:199
-#: templates/renkan_edit.html:203
-msgid "View graph in column"
-msgstr ""
-
#: templates/renkan_edit.html:196 templates/renkan_edit.html.py:200
#: templates/renkan_edit.html:204
-msgid "View graph in line"
+msgid "View graph in column"
msgstr ""
#: templates/renkan_edit.html:197 templates/renkan_edit.html.py:201
#: templates/renkan_edit.html:205
+msgid "View graph in line"
+msgstr ""
+
+#: templates/renkan_edit.html:198 templates/renkan_edit.html.py:202
+#: templates/renkan_edit.html:206
msgid "View graph in circle"
msgstr ""
@@ -578,6 +583,19 @@
msgid "reject renkan"
msgstr ""
+#: templates/envelope/contact.html:19
+msgid ""
+"\n"
+" <p>Vous souhaitez poser une question sur Histoire des arts' Lab ?</"
+"p>\n"
+" <p>Remplissez le formulaire suivant :</p>\n"
+" "
+msgstr ""
+
+#: templates/envelope/contact.html:29
+msgid "Send!"
+msgstr ""
+
#: templates/registration/activate.html:5
msgid "Registration - Activated"
msgstr ""
Binary file src/hdalab/locale/en/LC_MESSAGES/django.mo has changed
--- a/src/hdalab/locale/en/LC_MESSAGES/django.po Mon Mar 09 11:03:57 2015 +0100
+++ b/src/hdalab/locale/en/LC_MESSAGES/django.po Mon Mar 09 11:05:44 2015 +0100
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-03-06 07:38-0600\n"
+"POT-Creation-Date: 2015-03-08 20:09-0500\n"
"PO-Revision-Date: 2012-03-09 02:10+0200\n"
"Last-Translator: Yves-Marie Haussonne <ymh.work@gmail.com>\n"
"Language-Team: IRI\n"
@@ -41,24 +41,24 @@
msgid "Japanese"
msgstr "Japanese"
-#: models/renkan.py:37
+#: models/renkan.py:32
msgid "edition_state"
msgstr "edition"
-#: models/renkan.py:38
+#: models/renkan.py:33
msgid "moderated_state"
msgstr "moderated"
-#: models/renkan.py:39
+#: models/renkan.py:34
msgid "published_state"
msgstr "published"
-#: models/renkan.py:40
+#: models/renkan.py:35
msgid "rejected_state"
msgstr "rejected"
#: templates/a_propos.html:5 templates/base.html:43 templates/base.html.py:75
-#: templates/base.html:96
+#: templates/base.html:97
msgid "A Propos"
msgstr "About"
@@ -66,15 +66,15 @@
msgid "Accueil"
msgstr "Home"
-#: templates/base.html:39 templates/base.html.py:91 templates/index.html:44
+#: templates/base.html:39 templates/base.html.py:92 templates/index.html:44
msgid "Recherche"
msgstr "Tag search"
-#: templates/base.html:40 templates/base.html.py:92
+#: templates/base.html:40 templates/base.html.py:93
msgid "Domaines Artistiques"
msgstr "Artistic discipline"
-#: templates/base.html:41 templates/base.html.py:93
+#: templates/base.html:41 templates/base.html.py:94
msgid "Thésaurus"
msgstr "Thesaurus"
@@ -96,15 +96,20 @@
msgid "Mentions légales"
msgstr "Legal Notices"
-#: templates/base.html:90
+#: templates/base.html:78 templates/envelope/contact.html:6
+#: templates/envelope/contact.html.py:16
+msgid "Contact"
+msgstr "Contact"
+
+#: templates/base.html:91
msgid "Rubriques"
msgstr "Topics"
-#: templates/base.html:95
+#: templates/base.html:96
msgid "Renkan repères"
msgstr "Landmark Renkan"
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Liens"
msgstr "Links"
@@ -508,26 +513,26 @@
msgid "Ressources"
msgstr "Resources"
-#: templates/renkan_edit.html:191
+#: templates/renkan_edit.html:192
msgid "Change organisation"
msgstr "Change organisation"
-#: templates/renkan_edit.html:192
+#: templates/renkan_edit.html:193
msgid "(Indisponible si modification du RENKAN)"
msgstr "(Not allowed if renkan has been modified)"
-#: templates/renkan_edit.html:195 templates/renkan_edit.html.py:199
-#: templates/renkan_edit.html:203
+#: templates/renkan_edit.html:196 templates/renkan_edit.html.py:200
+#: templates/renkan_edit.html:204
msgid "View graph in column"
msgstr "View graph in column"
-#: templates/renkan_edit.html:196 templates/renkan_edit.html.py:200
-#: templates/renkan_edit.html:204
+#: templates/renkan_edit.html:197 templates/renkan_edit.html.py:201
+#: templates/renkan_edit.html:205
msgid "View graph in line"
msgstr "View graph in line"
-#: templates/renkan_edit.html:197 templates/renkan_edit.html.py:201
-#: templates/renkan_edit.html:205
+#: templates/renkan_edit.html:198 templates/renkan_edit.html.py:202
+#: templates/renkan_edit.html:206
msgid "View graph in circle"
msgstr "View graph in circle"
@@ -603,6 +608,25 @@
msgid "reject renkan"
msgstr "reject Renkan"
+#: templates/envelope/contact.html:19
+msgid ""
+"\n"
+" <p>Vous souhaitez poser une question sur Histoire des arts' Lab ?</"
+"p>\n"
+" <p>Remplissez le formulaire suivant :</p>\n"
+" "
+msgstr ""
+"\n"
+" <p>You wish to ask something about Histoire des arts' Lab ?</"
+"p>\n"
+" <p>Fill the following form:</p>\n"
+" "
+
+
+#: templates/envelope/contact.html:29
+msgid "Send!"
+msgstr "Send!"
+
#: templates/registration/activate.html:5
msgid "Registration - Activated"
msgstr "Registration - Activated"
@@ -772,9 +796,6 @@
#~ msgid "Reset password at %(site_name)s"
#~ msgstr "Reset password at %(site_name)s"
-#~ msgid "Contact"
-#~ msgstr "Contact"
-
#~ msgid "Pays"
#~ msgstr "Countries"
Binary file src/hdalab/locale/es/LC_MESSAGES/django.mo has changed
--- a/src/hdalab/locale/es/LC_MESSAGES/django.po Mon Mar 09 11:03:57 2015 +0100
+++ b/src/hdalab/locale/es/LC_MESSAGES/django.po Mon Mar 09 11:05:44 2015 +0100
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-03-06 07:38-0600\n"
+"POT-Creation-Date: 2015-03-08 20:09-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"
@@ -41,24 +41,24 @@
msgid "Japanese"
msgstr "Japonés"
-#: models/renkan.py:37
+#: models/renkan.py:32
msgid "edition_state"
msgstr "estado_edición"
-#: models/renkan.py:38
+#: models/renkan.py:33
msgid "moderated_state"
msgstr "estado_moderado"
-#: models/renkan.py:39
+#: models/renkan.py:34
msgid "published_state"
msgstr "estado_publicado"
-#: models/renkan.py:40
+#: models/renkan.py:35
msgid "rejected_state"
msgstr "estado_rechazado"
#: templates/a_propos.html:5 templates/base.html:43 templates/base.html.py:75
-#: templates/base.html:96
+#: templates/base.html:97
msgid "A Propos"
msgstr "Acerca de Nosotros"
@@ -66,17 +66,17 @@
msgid "Accueil"
msgstr ""
-#: templates/base.html:39 templates/base.html.py:91 templates/index.html:44
+#: templates/base.html:39 templates/base.html.py:92 templates/index.html:44
#, fuzzy
msgid "Recherche"
msgstr "Búsqueda por ramas"
-#: templates/base.html:40 templates/base.html.py:92
+#: templates/base.html:40 templates/base.html.py:93
#, fuzzy
msgid "Domaines Artistiques"
msgstr "Disciplinas artísticas"
-#: templates/base.html:41 templates/base.html.py:93
+#: templates/base.html:41 templates/base.html.py:94
msgid "Thésaurus"
msgstr ""
@@ -100,15 +100,20 @@
msgid "Mentions légales"
msgstr "Aviso Legal"
-#: templates/base.html:90
+#: templates/base.html:78 templates/envelope/contact.html:6
+#: templates/envelope/contact.html.py:16
+msgid "Contact"
+msgstr "Contactos"
+
+#: templates/base.html:91
msgid "Rubriques"
msgstr ""
-#: templates/base.html:95
+#: templates/base.html:96
msgid "Renkan repères"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Liens"
msgstr ""
@@ -505,26 +510,26 @@
msgid "Ressources"
msgstr "Recursos"
-#: templates/renkan_edit.html:191
+#: templates/renkan_edit.html:192
msgid "Change organisation"
msgstr "Cambiar la organización"
-#: templates/renkan_edit.html:192
+#: templates/renkan_edit.html:193
msgid "(Indisponible si modification du RENKAN)"
msgstr "(Indisponible despues de modificar el RENKAN)"
-#: templates/renkan_edit.html:195 templates/renkan_edit.html.py:199
-#: templates/renkan_edit.html:203
+#: templates/renkan_edit.html:196 templates/renkan_edit.html.py:200
+#: templates/renkan_edit.html:204
msgid "View graph in column"
msgstr "Vista del gráfico en columnas"
-#: templates/renkan_edit.html:196 templates/renkan_edit.html.py:200
-#: templates/renkan_edit.html:204
+#: templates/renkan_edit.html:197 templates/renkan_edit.html.py:201
+#: templates/renkan_edit.html:205
msgid "View graph in line"
msgstr "Vista del gráfico en lineas"
-#: templates/renkan_edit.html:197 templates/renkan_edit.html.py:201
-#: templates/renkan_edit.html:205
+#: templates/renkan_edit.html:198 templates/renkan_edit.html.py:202
+#: templates/renkan_edit.html:206
msgid "View graph in circle"
msgstr "Vista del gráfico en círculo"
@@ -601,6 +606,19 @@
msgid "reject renkan"
msgstr "Gestionar mis Renkan"
+#: templates/envelope/contact.html:19
+msgid ""
+"\n"
+" <p>Vous souhaitez poser une question sur Histoire des arts' Lab ?</"
+"p>\n"
+" <p>Remplissez le formulaire suivant :</p>\n"
+" "
+msgstr ""
+
+#: templates/envelope/contact.html:29
+msgid "Send!"
+msgstr ""
+
#: templates/registration/activate.html:5
msgid "Registration - Activated"
msgstr "Inscriptición - Activada"
@@ -766,6 +784,3 @@
#~ msgid "Reset password at %(site_name)s"
#~ msgstr "Reiniciar la contraseña de %(site_name)s"
-
-#~ msgid "Contact"
-#~ msgstr "Contactos"
Binary file src/hdalab/locale/fr/LC_MESSAGES/django.mo has changed
--- a/src/hdalab/locale/fr/LC_MESSAGES/django.po Mon Mar 09 11:03:57 2015 +0100
+++ b/src/hdalab/locale/fr/LC_MESSAGES/django.po Mon Mar 09 11:05:44 2015 +0100
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-03-06 07:38-0600\n"
+"POT-Creation-Date: 2015-03-08 20:09-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"
@@ -41,26 +41,24 @@
msgid "Japanese"
msgstr "Japonais"
-#: models/renkan.py:37
+#: models/renkan.py:32
msgid "edition_state"
msgstr "édition"
-#: models/renkan.py:38
+#: models/renkan.py:33
msgid "moderated_state"
msgstr "modéré"
-#: models/renkan.py:39
+#: models/renkan.py:34
msgid "published_state"
msgstr "publié"
-#: models/renkan.py:40
+#: models/renkan.py:35
msgid "rejected_state"
msgstr "rejeté"
-#: templates/a_propos.html:5
-#: templates/base.html:43
-#: templates/base.html.py:75
-#: templates/base.html:96
+#: templates/a_propos.html:5 templates/base.html:43 templates/base.html.py:75
+#: templates/base.html:97
msgid "A Propos"
msgstr "À Propos"
@@ -68,29 +66,23 @@
msgid "Accueil"
msgstr ""
-#: templates/base.html:39
-#: templates/base.html.py:91
-#: templates/index.html:44
+#: templates/base.html:39 templates/base.html.py:92 templates/index.html:44
msgid "Recherche"
msgstr "Recherche"
-#: templates/base.html:40
-#: templates/base.html.py:92
+#: templates/base.html:40 templates/base.html.py:93
msgid "Domaines Artistiques"
msgstr "Disciplines artistiques"
-#: templates/base.html:41
-#: templates/base.html.py:93
+#: templates/base.html:41 templates/base.html.py:94
msgid "Thésaurus"
msgstr ""
-#: templates/base.html:50
-#: templates/ajax_identification/ajax_login_ok.html:4
+#: templates/base.html:50 templates/ajax_identification/ajax_login_ok.html:4
msgid "Log out"
msgstr "Déconnexion"
-#: templates/base.html:52
-#: templates/registration/activate.html:16
+#: templates/base.html:52 templates/registration/activate.html:16
#: templates/registration/activation_complete.html:16
#: templates/registration/password_reset_complete.html:15
msgid "Log in"
@@ -104,20 +96,24 @@
msgid "Mentions légales"
msgstr "Mentions légales"
-#: templates/base.html:90
+#: templates/base.html:78 templates/envelope/contact.html:6
+#: templates/envelope/contact.html.py:16
+msgid "Contact"
+msgstr ""
+
+#: templates/base.html:91
msgid "Rubriques"
msgstr "Rubriques"
-#: templates/base.html:95
+#: templates/base.html:96
msgid "Renkan repères"
msgstr "Renkan repères"
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Liens"
msgstr "Liens"
-#: templates/categories.html:5
-#: templates/thesaurus.html:33
+#: templates/categories.html:5 templates/thesaurus.html:33
msgid "Recherche par arbre"
msgstr "Recherche par arbre"
@@ -137,8 +133,7 @@
msgid "Credits"
msgstr "Crédits"
-#: templates/facettes.html:5
-#: templates/facettes.html.py:46
+#: templates/facettes.html:5 templates/facettes.html.py:46
msgid "Recherche par facettes"
msgstr "Recherche par facettes"
@@ -204,7 +199,8 @@
"collections de ressources du portails histoire des arts avec d’autres sites "
"Web.<br><br>Vous pouvez déplacer chaque noeud en cliquant dessus et en "
"déplacant votre curseur."
-msgstr "Cet outil (RENKAN) vous permet de representer, spatialiser et organiser des "
+msgstr ""
+"Cet outil (RENKAN) vous permet de representer, spatialiser et organiser des "
"collections de ressources du portails histoire des arts avec d’autres sites "
"Web.<br><br>Vous pouvez déplacer chaque noeud en cliquant dessus et en "
"déplacant votre curseur."
@@ -225,13 +221,13 @@
msgid "Tag"
msgstr "Tag"
-#: templates/help_popup.html:22
-#: templates/help_popup.html.py:40
+#: templates/help_popup.html:22 templates/help_popup.html.py:40
msgid ""
"En cliquant sur chaque noeud ou lien vous pouvez les déplacer, éditer, "
"supprimer, agrandir, rétraicir, modifier en utilisant le menu circulaire "
"comme ci dessous."
-msgstr "En cliquant sur chaque noeud ou lien vous pouvez les déplacer, éditer, "
+msgstr ""
+"En cliquant sur chaque noeud ou lien vous pouvez les déplacer, éditer, "
"supprimer, agrandir, rétraicir, modifier en utilisant le menu circulaire "
"comme ci dessous."
@@ -247,14 +243,16 @@
msgid ""
"Une fois ce didacticiel fermer vous pouvez ajouter des ressources en faisant "
"“drag and drop” a partir de n’importe qu’elle fenetre de navigation web."
-msgstr "Une fois ce didacticiel fermer vous pouvez ajouter des ressources en faisant "
+msgstr ""
+"Une fois ce didacticiel fermer vous pouvez ajouter des ressources en faisant "
"“drag and drop” a partir de n’importe qu’elle fenetre de navigation web."
#: templates/help_popup.html:32
msgid ""
"En cliquant sur l’icone à gauche vous pouvez ouvrir le panel de recherche "
"pour retrouver des ressources du site HDA ou Wikipédia."
-msgstr "En cliquant sur l’icone à gauche vous pouvez ouvrir le panel de recherche "
+msgstr ""
+"En cliquant sur l’icone à gauche vous pouvez ouvrir le panel de recherche "
"pour retrouver des ressources du site HDA ou Wikipédia."
#: templates/help_popup.html:35
@@ -267,7 +265,8 @@
"la mise en page avant impression.<br><br>Le Lorem Ipsum est le faux texte "
"standard de l'imprimerie depuis les années 1500, quand un peintre anonyme "
"assembla ensemble des morceaux de texte pour réaliser un livre de texte."
-msgstr "Le Lorem Ipsum est simplement du faux texte employé dans la composition et "
+msgstr ""
+"Le Lorem Ipsum est simplement du faux texte employé dans la composition et "
"la mise en page avant impression.<br><br>Le Lorem Ipsum est le faux texte "
"standard de l'imprimerie depuis les années 1500, quand un peintre anonyme "
"assembla ensemble des morceaux de texte pour réaliser un livre de texte."
@@ -280,7 +279,8 @@
msgid ""
"Ensuite vous pouvez enregistrer en ciquant sur l’icone representant une "
"disquette."
-msgstr "Ensuite vous pouvez enregistrer en ciquant sur l’icone representant une "
+msgstr ""
+"Ensuite vous pouvez enregistrer en ciquant sur l’icone representant une "
"disquette."
#: templates/index.html:47
@@ -288,7 +288,8 @@
"Intuitive, la recherche d’Histoire des arts ‘Lab propose plusieurs points "
"d’entrée : pays, périodes historiques, disciplines artistiques et mots-clés. "
"À la fois critères "
-msgstr "Intuitive, la recherche d’Histoire des arts ‘Lab propose plusieurs points "
+msgstr ""
+"Intuitive, la recherche d’Histoire des arts ‘Lab propose plusieurs points "
"d’entrée : pays, périodes historiques, disciplines artistiques et mots-clés. "
"À la fois critères "
@@ -296,7 +297,8 @@
msgid ""
"de recherche et modes de visualisation des résultats, ces différentes "
"facettes se mettent à jour au fur et à mesure de vos recherches."
-msgstr "de recherche et modes de visualisation des résultats, ces différentes "
+msgstr ""
+"de recherche et modes de visualisation des résultats, ces différentes "
"facettes se mettent à jour au fur et à mesure de vos recherches."
#: templates/index.html:59
@@ -313,7 +315,8 @@
msgid ""
"Construisez votre carte de connaissances à partir des ressources Histoires "
"des arts et Wikipedia."
-msgstr "Construisez votre carte de connaissances à partir des ressources Histoires "
+msgstr ""
+"Construisez votre carte de connaissances à partir des ressources Histoires "
"des arts et Wikipedia."
#: templates/index.html:91
@@ -324,7 +327,8 @@
msgid ""
"Naviguez autrement à travers les 5000 ressources du Portail Histoire des "
"arts :"
-msgstr "Naviguez autrement à travers les 5000 ressources du Portail Histoire des "
+msgstr ""
+"Naviguez autrement à travers les 5000 ressources du Portail Histoire des "
"arts :"
#: templates/index.html:95
@@ -383,68 +387,55 @@
msgid "Nouveau Renkan"
msgstr "Nouveau Renkan"
-#: templates/profile_home.html:55
-#: templates/profile_home.html.py:124
-#: templates/renkan_list.html:32
-#: templates/renkan_list.html.py:84
+#: templates/profile_home.html:55 templates/profile_home.html.py:124
+#: templates/renkan_list.html:32 templates/renkan_list.html.py:84
#: templates/editorial/manage_renkans.html:38
#: templates/editorial/manage_renkans.html:100
msgid "Previous"
msgstr "Précédent"
-#: templates/profile_home.html:56
-#: templates/profile_home.html.py:125
-#: templates/renkan_list.html:33
-#: templates/renkan_list.html.py:85
+#: templates/profile_home.html:56 templates/profile_home.html.py:125
+#: templates/renkan_list.html:33 templates/renkan_list.html.py:85
#: templates/editorial/manage_renkans.html:39
#: templates/editorial/manage_renkans.html:101
msgid "Next"
msgstr "Suivant"
-#: templates/profile_home.html:57
-#: templates/renkan_list.html:34
+#: templates/profile_home.html:57 templates/renkan_list.html:34
#: templates/editorial/manage_renkans.html:40
msgid "Filter"
msgstr "Filtrer"
-#: templates/profile_home.html:57
-#: templates/renkan_list.html:34
+#: templates/profile_home.html:57 templates/renkan_list.html:34
#: templates/editorial/manage_renkans.html:40
msgid "Advanced search"
msgstr "Recherche avancée"
-#: templates/profile_home.html:59
-#: templates/profile_home.html.py:77
-#: templates/renkan_list.html:36
-#: templates/renkan_list.html.py:48
+#: templates/profile_home.html:59 templates/profile_home.html.py:77
+#: templates/renkan_list.html:36 templates/renkan_list.html.py:48
#: templates/editorial/manage_renkans.html:42
#: templates/editorial/manage_renkans.html:60
msgid "Title"
msgstr "Titre"
-#: templates/profile_home.html:60
-#: templates/profile_home.html.py:81
-#: templates/renkan_list.html:37
-#: templates/renkan_list.html.py:56
+#: templates/profile_home.html:60 templates/profile_home.html.py:81
+#: templates/renkan_list.html:37 templates/renkan_list.html.py:56
#: templates/editorial/manage_renkans.html:43
#: templates/editorial/manage_renkans.html:66
msgid "Modification date"
msgstr "Date de modification"
-#: templates/profile_home.html:60
-#: templates/renkan_list.html:37
+#: templates/profile_home.html:60 templates/renkan_list.html:37
#: templates/editorial/manage_renkans.html:43
msgid "begin"
msgstr "début"
-#: templates/profile_home.html:61
-#: templates/renkan_list.html:38
+#: templates/profile_home.html:61 templates/renkan_list.html:38
#: templates/editorial/manage_renkans.html:44
msgid "end"
msgstr "fin"
-#: templates/profile_home.html:62
-#: templates/profile_home.html.py:84
+#: templates/profile_home.html:62 templates/profile_home.html.py:84
#: templates/editorial/manage_renkans.html:46
#: templates/editorial/manage_renkans.html:69
msgid "State"
@@ -454,51 +445,42 @@
msgid "Edition"
msgstr "Édition"
-#: templates/profile_home.html:66
-#: templates/editorial/manage_renkans.html:49
+#: templates/profile_home.html:66 templates/editorial/manage_renkans.html:49
msgid "Moderated"
msgstr "Modéré"
-#: templates/profile_home.html:67
-#: templates/editorial/manage_renkans.html:50
+#: templates/profile_home.html:67 templates/editorial/manage_renkans.html:50
msgid "Published"
msgstr "Publié"
-#: templates/profile_home.html:68
-#: templates/editorial/manage_renkans.html:51
+#: templates/profile_home.html:68 templates/editorial/manage_renkans.html:51
msgid "Rejected"
msgstr "Rejeté"
-#: templates/profile_home.html:71
-#: templates/renkan_list.html:41
+#: templates/profile_home.html:71 templates/renkan_list.html:41
#: templates/editorial/manage_renkans.html:54
msgid "Favorite"
msgstr "Favoris"
-#: templates/profile_home.html:72
-#: templates/renkan_list.html:43
+#: templates/profile_home.html:72 templates/renkan_list.html:43
#: templates/editorial/manage_renkans.html:55
msgid "Search"
msgstr "Rechercher"
-#: templates/profile_home.html:79
-#: templates/renkan_list.html:51
+#: templates/profile_home.html:79 templates/renkan_list.html:51
#: templates/editorial/manage_renkans.html:62
msgid "Fav."
msgstr "Fav."
-#: templates/profile_home.html:83
-#: templates/editorial/manage_renkans.html:68
+#: templates/profile_home.html:83 templates/editorial/manage_renkans.html:68
msgid "Preview"
msgstr "Prévisualisation"
-#: templates/profile_home.html:86
-#: templates/editorial/manage_renkans.html:71
+#: templates/profile_home.html:86 templates/editorial/manage_renkans.html:71
msgid "Actions"
msgstr "Actions"
-#: templates/profile_home.html:105
-#: templates/renkan_list.html:76
+#: templates/profile_home.html:105 templates/renkan_list.html:76
msgid "Are you sure you want to copy this renkan ?"
msgstr "Êtes-vous certain(e) de vouloir copier ce Renkan ?"
@@ -509,11 +491,11 @@
#: templates/profile_home.html:110
msgid ""
"Are you sure you want to delete this renkan ? You cannot undo this action."
-msgstr "Êtes-vous certain(e) de vouloir effacer ce Renkan ? Vous ne pourrez pas "
+msgstr ""
+"Êtes-vous certain(e) de vouloir effacer ce Renkan ? Vous ne pourrez pas "
"annuler cette action."
-#: templates/profile_home.html:115
-#: templates/editorial/manage_renkans.html:90
+#: templates/profile_home.html:115 templates/editorial/manage_renkans.html:90
msgid "publish renkan"
msgstr "publier renkan"
@@ -521,8 +503,7 @@
msgid "Are you sure you want to ask to publish this renkan ?"
msgstr "Êtes-vous certain(e) de vouloir demander la publication de ce Renkan ?"
-#: templates/profile_home.html:116
-#: templates/editorial/manage_renkans.html:91
+#: templates/profile_home.html:116 templates/editorial/manage_renkans.html:91
msgid "unpublish renkan"
msgstr "dépublier renkan"
@@ -534,45 +515,39 @@
msgid "Ressources"
msgstr "Ressources"
-#: templates/renkan_edit.html:191
+#: templates/renkan_edit.html:192
msgid "Change organisation"
msgstr "Changer de disposition"
-#: templates/renkan_edit.html:192
+#: templates/renkan_edit.html:193
msgid "(Indisponible si modification du RENKAN)"
msgstr "(Indisponible si le RENKAN est modifié)"
-#: templates/renkan_edit.html:195
-#: templates/renkan_edit.html.py:199
-#: templates/renkan_edit.html:203
+#: templates/renkan_edit.html:196 templates/renkan_edit.html.py:200
+#: templates/renkan_edit.html:204
msgid "View graph in column"
msgstr "Voir le graphe en colonne"
-#: templates/renkan_edit.html:196
-#: templates/renkan_edit.html.py:200
-#: templates/renkan_edit.html:204
+#: templates/renkan_edit.html:197 templates/renkan_edit.html.py:201
+#: templates/renkan_edit.html:205
msgid "View graph in line"
msgstr "Voir le graphe en ligne"
-#: templates/renkan_edit.html:197
-#: templates/renkan_edit.html.py:201
-#: templates/renkan_edit.html:205
+#: templates/renkan_edit.html:198 templates/renkan_edit.html.py:202
+#: templates/renkan_edit.html:206
msgid "View graph in circle"
msgstr "Voir le graphe en cercle"
-#: templates/renkan_list.html:6
-#: templates/renkan_list.html.py:29
+#: templates/renkan_list.html:6 templates/renkan_list.html.py:29
msgid "Public Renkans list"
msgstr "Liste des renkans publics"
-#: templates/renkan_list.html:39
-#: templates/editorial/manage_renkans.html:45
+#: templates/renkan_list.html:39 templates/editorial/manage_renkans.html:45
#: templates/registration/login.html:24
msgid "Username"
msgstr "Nom d'utilisateur"
-#: templates/renkan_list.html:54
-#: templates/editorial/manage_renkans.html:64
+#: templates/renkan_list.html:54 templates/editorial/manage_renkans.html:64
msgid "User"
msgstr "Utilisateur"
@@ -584,7 +559,8 @@
#: templates/registration/login.html:18
#: templates/registration/password_reset_form.html:18
msgid "Sorry, that's not a valid username or password."
-msgstr "Désolé, le nom de l'utilisateur ou le mot de passe ne sont pas valides."
+msgstr ""
+"Désolé, le nom de l'utilisateur ou le mot de passe ne sont pas valides."
#: templates/ajax_identification/ajax_login.html:15
#: templates/registration/registration_form.html:24
@@ -601,8 +577,7 @@
msgstr "Annuler"
#: templates/ajax_identification/ajax_login.html:23
-#: templates/registration/login.html:5
-#: templates/registration/login.html:32
+#: templates/registration/login.html:5 templates/registration/login.html:32
msgid "Login"
msgstr "Connexion"
@@ -636,6 +611,25 @@
msgid "reject renkan"
msgstr "rejeter Renkan"
+#: templates/envelope/contact.html:19
+msgid ""
+"\n"
+" <p>Vous souhaitez poser une question sur Histoire des arts' Lab ?</"
+"p>\n"
+" <p>Remplissez le formulaire suivant :</p>\n"
+" "
+msgstr ""
+"\n"
+" <p>Vous souhaitez poser une question sur Histoire des arts' Lab ?</"
+"p>\n"
+" <p>Remplissez le formulaire suivant :</p>\n"
+" "
+
+
+#: templates/envelope/contact.html:29
+msgid "Send!"
+msgstr "Envoyer !"
+
#: templates/registration/activate.html:5
msgid "Registration - Activated"
msgstr "Enregistrement - Activé"
@@ -667,7 +661,8 @@
"\n"
"You have created an account at %(sitename)s with the user name "
"%(username)s.\n"
-msgstr "\n"
+msgstr ""
+"\n"
"Vous avez créé un compte sur le site %(sitename)s avec le nom d'utilisateur "
"%(username)s.\n"
@@ -755,7 +750,8 @@
#: templates/registration/password_reset_done.html:14
msgid "Email with password reset instructions has been sent."
-msgstr "L'email avec les instructions pour réinitialiser le mot de passe a été "
+msgstr ""
+"L'email avec les instructions pour réinitialiser le mot de passe a été "
"envoyé."
#: templates/registration/password_reset_form.html:5
@@ -798,8 +794,6 @@
msgid "Plus de Ressources"
msgstr "Plus de Ressources"
-#: views/profile.py:448
-#: views/profile.py:527
+#: views/profile.py:448 views/profile.py:527
msgid "Period"
msgstr "Période"
-
Binary file src/hdalab/locale/it/LC_MESSAGES/django.mo has changed
--- a/src/hdalab/locale/it/LC_MESSAGES/django.po Mon Mar 09 11:03:57 2015 +0100
+++ b/src/hdalab/locale/it/LC_MESSAGES/django.po Mon Mar 09 11:05:44 2015 +0100
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-03-06 07:38-0600\n"
+"POT-Creation-Date: 2015-03-08 20:09-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"
@@ -41,24 +41,24 @@
msgid "Japanese"
msgstr "Giapponese"
-#: models/renkan.py:37
+#: models/renkan.py:32
msgid "edition_state"
msgstr ""
-#: models/renkan.py:38
+#: models/renkan.py:33
msgid "moderated_state"
msgstr ""
-#: models/renkan.py:39
+#: models/renkan.py:34
msgid "published_state"
msgstr ""
-#: models/renkan.py:40
+#: models/renkan.py:35
msgid "rejected_state"
msgstr ""
#: templates/a_propos.html:5 templates/base.html:43 templates/base.html.py:75
-#: templates/base.html:96
+#: templates/base.html:97
msgid "A Propos"
msgstr ""
@@ -66,17 +66,17 @@
msgid "Accueil"
msgstr ""
-#: templates/base.html:39 templates/base.html.py:91 templates/index.html:44
+#: templates/base.html:39 templates/base.html.py:92 templates/index.html:44
#, fuzzy
msgid "Recherche"
msgstr "Cercare un tag"
-#: templates/base.html:40 templates/base.html.py:92
+#: templates/base.html:40 templates/base.html.py:93
#, fuzzy
msgid "Domaines Artistiques"
msgstr "Discipline artistiche"
-#: templates/base.html:41 templates/base.html.py:93
+#: templates/base.html:41 templates/base.html.py:94
msgid "Thésaurus"
msgstr ""
@@ -98,15 +98,20 @@
msgid "Mentions légales"
msgstr ""
-#: templates/base.html:90
+#: templates/base.html:78 templates/envelope/contact.html:6
+#: templates/envelope/contact.html.py:16
+msgid "Contact"
+msgstr ""
+
+#: templates/base.html:91
msgid "Rubriques"
msgstr ""
-#: templates/base.html:95
+#: templates/base.html:96
msgid "Renkan repères"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Liens"
msgstr ""
@@ -489,26 +494,26 @@
msgid "Ressources"
msgstr ""
-#: templates/renkan_edit.html:191
+#: templates/renkan_edit.html:192
msgid "Change organisation"
msgstr ""
-#: templates/renkan_edit.html:192
+#: templates/renkan_edit.html:193
msgid "(Indisponible si modification du RENKAN)"
msgstr ""
-#: templates/renkan_edit.html:195 templates/renkan_edit.html.py:199
-#: templates/renkan_edit.html:203
-msgid "View graph in column"
-msgstr ""
-
#: templates/renkan_edit.html:196 templates/renkan_edit.html.py:200
#: templates/renkan_edit.html:204
-msgid "View graph in line"
+msgid "View graph in column"
msgstr ""
#: templates/renkan_edit.html:197 templates/renkan_edit.html.py:201
#: templates/renkan_edit.html:205
+msgid "View graph in line"
+msgstr ""
+
+#: templates/renkan_edit.html:198 templates/renkan_edit.html.py:202
+#: templates/renkan_edit.html:206
msgid "View graph in circle"
msgstr ""
@@ -584,6 +589,19 @@
msgid "reject renkan"
msgstr ""
+#: templates/envelope/contact.html:19
+msgid ""
+"\n"
+" <p>Vous souhaitez poser une question sur Histoire des arts' Lab ?</"
+"p>\n"
+" <p>Remplissez le formulaire suivant :</p>\n"
+" "
+msgstr ""
+
+#: templates/envelope/contact.html:29
+msgid "Send!"
+msgstr ""
+
#: templates/registration/activate.html:5
msgid "Registration - Activated"
msgstr ""
Binary file src/hdalab/locale/ja/LC_MESSAGES/django.mo has changed
--- a/src/hdalab/locale/ja/LC_MESSAGES/django.po Mon Mar 09 11:03:57 2015 +0100
+++ b/src/hdalab/locale/ja/LC_MESSAGES/django.po Mon Mar 09 11:05:44 2015 +0100
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-03-06 07:38-0600\n"
+"POT-Creation-Date: 2015-03-08 20:09-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
@@ -42,24 +42,24 @@
msgid "Japanese"
msgstr "日本語"
-#: models/renkan.py:37
+#: models/renkan.py:32
msgid "edition_state"
msgstr ""
-#: models/renkan.py:38
+#: models/renkan.py:33
msgid "moderated_state"
msgstr ""
-#: models/renkan.py:39
+#: models/renkan.py:34
msgid "published_state"
msgstr ""
-#: models/renkan.py:40
+#: models/renkan.py:35
msgid "rejected_state"
msgstr ""
#: templates/a_propos.html:5 templates/base.html:43 templates/base.html.py:75
-#: templates/base.html:96
+#: templates/base.html:97
msgid "A Propos"
msgstr ""
@@ -67,17 +67,17 @@
msgid "Accueil"
msgstr ""
-#: templates/base.html:39 templates/base.html.py:91 templates/index.html:44
+#: templates/base.html:39 templates/base.html.py:92 templates/index.html:44
#, fuzzy
msgid "Recherche"
msgstr "タグを検索する"
-#: templates/base.html:40 templates/base.html.py:92
+#: templates/base.html:40 templates/base.html.py:93
#, fuzzy
msgid "Domaines Artistiques"
msgstr "学術・芸術分野"
-#: templates/base.html:41 templates/base.html.py:93
+#: templates/base.html:41 templates/base.html.py:94
msgid "Thésaurus"
msgstr ""
@@ -99,15 +99,20 @@
msgid "Mentions légales"
msgstr ""
-#: templates/base.html:90
+#: templates/base.html:78 templates/envelope/contact.html:6
+#: templates/envelope/contact.html.py:16
+msgid "Contact"
+msgstr ""
+
+#: templates/base.html:91
msgid "Rubriques"
msgstr ""
-#: templates/base.html:95
+#: templates/base.html:96
msgid "Renkan repères"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Liens"
msgstr ""
@@ -490,26 +495,26 @@
msgid "Ressources"
msgstr ""
-#: templates/renkan_edit.html:191
+#: templates/renkan_edit.html:192
msgid "Change organisation"
msgstr ""
-#: templates/renkan_edit.html:192
+#: templates/renkan_edit.html:193
msgid "(Indisponible si modification du RENKAN)"
msgstr ""
-#: templates/renkan_edit.html:195 templates/renkan_edit.html.py:199
-#: templates/renkan_edit.html:203
-msgid "View graph in column"
-msgstr ""
-
#: templates/renkan_edit.html:196 templates/renkan_edit.html.py:200
#: templates/renkan_edit.html:204
-msgid "View graph in line"
+msgid "View graph in column"
msgstr ""
#: templates/renkan_edit.html:197 templates/renkan_edit.html.py:201
#: templates/renkan_edit.html:205
+msgid "View graph in line"
+msgstr ""
+
+#: templates/renkan_edit.html:198 templates/renkan_edit.html.py:202
+#: templates/renkan_edit.html:206
msgid "View graph in circle"
msgstr ""
@@ -585,6 +590,19 @@
msgid "reject renkan"
msgstr ""
+#: templates/envelope/contact.html:19
+msgid ""
+"\n"
+" <p>Vous souhaitez poser une question sur Histoire des arts' Lab ?</"
+"p>\n"
+" <p>Remplissez le formulaire suivant :</p>\n"
+" "
+msgstr ""
+
+#: templates/envelope/contact.html:29
+msgid "Send!"
+msgstr ""
+
#: templates/registration/activate.html:5
msgid "Registration - Activated"
msgstr ""
Binary file src/hdalab/locale/zh-tw/LC_MESSAGES/django.mo has changed
--- a/src/hdalab/locale/zh-tw/LC_MESSAGES/django.po Mon Mar 09 11:03:57 2015 +0100
+++ b/src/hdalab/locale/zh-tw/LC_MESSAGES/django.po Mon Mar 09 11:05:44 2015 +0100
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-03-06 07:38-0600\n"
+"POT-Creation-Date: 2015-03-08 20:09-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"
@@ -42,24 +42,24 @@
msgid "Japanese"
msgstr ""
-#: models/renkan.py:37
+#: models/renkan.py:32
msgid "edition_state"
msgstr ""
-#: models/renkan.py:38
+#: models/renkan.py:33
msgid "moderated_state"
msgstr ""
-#: models/renkan.py:39
+#: models/renkan.py:34
msgid "published_state"
msgstr ""
-#: models/renkan.py:40
+#: models/renkan.py:35
msgid "rejected_state"
msgstr ""
#: templates/a_propos.html:5 templates/base.html:43 templates/base.html.py:75
-#: templates/base.html:96
+#: templates/base.html:97
msgid "A Propos"
msgstr ""
@@ -67,17 +67,17 @@
msgid "Accueil"
msgstr ""
-#: templates/base.html:39 templates/base.html.py:91 templates/index.html:44
+#: templates/base.html:39 templates/base.html.py:92 templates/index.html:44
#, fuzzy
msgid "Recherche"
msgstr "Rechercher un tag"
-#: templates/base.html:40 templates/base.html.py:92
+#: templates/base.html:40 templates/base.html.py:93
#, fuzzy
msgid "Domaines Artistiques"
msgstr "Disciplines artistiques"
-#: templates/base.html:41 templates/base.html.py:93
+#: templates/base.html:41 templates/base.html.py:94
msgid "Thésaurus"
msgstr ""
@@ -99,15 +99,20 @@
msgid "Mentions légales"
msgstr ""
-#: templates/base.html:90
+#: templates/base.html:78 templates/envelope/contact.html:6
+#: templates/envelope/contact.html.py:16
+msgid "Contact"
+msgstr ""
+
+#: templates/base.html:91
msgid "Rubriques"
msgstr ""
-#: templates/base.html:95
+#: templates/base.html:96
msgid "Renkan repères"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Liens"
msgstr ""
@@ -490,26 +495,26 @@
msgid "Ressources"
msgstr ""
-#: templates/renkan_edit.html:191
+#: templates/renkan_edit.html:192
msgid "Change organisation"
msgstr ""
-#: templates/renkan_edit.html:192
+#: templates/renkan_edit.html:193
msgid "(Indisponible si modification du RENKAN)"
msgstr ""
-#: templates/renkan_edit.html:195 templates/renkan_edit.html.py:199
-#: templates/renkan_edit.html:203
-msgid "View graph in column"
-msgstr ""
-
#: templates/renkan_edit.html:196 templates/renkan_edit.html.py:200
#: templates/renkan_edit.html:204
-msgid "View graph in line"
+msgid "View graph in column"
msgstr ""
#: templates/renkan_edit.html:197 templates/renkan_edit.html.py:201
#: templates/renkan_edit.html:205
+msgid "View graph in line"
+msgstr ""
+
+#: templates/renkan_edit.html:198 templates/renkan_edit.html.py:202
+#: templates/renkan_edit.html:206
msgid "View graph in circle"
msgstr ""
@@ -585,6 +590,19 @@
msgid "reject renkan"
msgstr ""
+#: templates/envelope/contact.html:19
+msgid ""
+"\n"
+" <p>Vous souhaitez poser une question sur Histoire des arts' Lab ?</"
+"p>\n"
+" <p>Remplissez le formulaire suivant :</p>\n"
+" "
+msgstr ""
+
+#: templates/envelope/contact.html:29
+msgid "Send!"
+msgstr ""
+
#: templates/registration/activate.html:5
msgid "Registration - Activated"
msgstr ""
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hdalab/management/commands/calculate_preview.py Mon Mar 09 11:05:44 2015 +0100
@@ -0,0 +1,59 @@
+# -*- coding: utf-8 -*-
+'''
+Created on Jan 30, 2012
+
+@author: ymh
+'''
+
+import logging
+from optparse import make_option
+
+from django.conf import settings
+from django.core.management.base import NoArgsCommand
+from django.core.management.color import no_style
+
+from hdabo.utils import show_progress
+from hdalab.models.renkan import HdalabRenkan
+from hdalab.services import renkan_capture_preview
+
+
+logger = logging.getLogger(__name__)
+
+class Command(NoArgsCommand):
+ '''
+ calculate renkan preview.
+ '''
+ options = ''
+ help = """calculate renkan preview."""
+
+ option_list = NoArgsCommand.option_list + (
+ make_option('--all',
+ action='store_true',
+ dest='all',
+ default=False,
+ help='force all tags to be updated, not only those not yet processed'),
+ )
+
+
+ def handle_noargs(self, **options):
+
+ self.style = no_style()
+
+ self.all = options.get('all', False)
+
+ queryset = HdalabRenkan.objects.filter(state=HdalabRenkan.PUBLISHED)
+
+ if not self.all:
+ queryset = queryset.filter(renkan__image = settings.DEFAULT_RENKAN_ICON)
+
+ count = queryset.count()
+
+ writer = None
+ for i,hdalab_renkan in enumerate(queryset.select_related()):
+ writer = show_progress(i+1, count, hdalab_renkan.renkan.title, 50, writer)
+ if hdalab_renkan.renkan.image and hdalab_renkan.renkan.image != settings.DEFAULT_RENKAN_ICON:
+ hdalab_renkan.renkan.image.delete(False)
+ hdalab_renkan.renkan.image.delete_thumbnails()
+
+ renkan_capture_preview(hdalab_renkan)
+
--- a/src/hdalab/models/__init__.py Mon Mar 09 11:03:57 2015 +0100
+++ b/src/hdalab/models/__init__.py Mon Mar 09 11:05:44 2015 +0100
@@ -3,4 +3,6 @@
from hdalab.models.dataviz import TagYears, Country, GeoInclusion, TagLinks, DbpediaFields, HdaSession, InseeCoords, DatasheetExtras, DbpediaFieldsTranslation
from hdalab.models.renkan import HdalabRenkan, HdalabRenkanStateTransition
-__all__ = ['WpCategory', 'InfoboxParameter', 'TagInfobox', 'TagWpCategory', 'TagYears', 'Country', 'GeoInclusion', 'TagLinks', 'DbpediaFields', 'DbpediaFieldsTranslation', 'HdaSession', 'InseeCoords', 'DatasheetExtras', 'WpCategoryInclusion', 'HdalabRenkan', 'HdalabRenkanStateTransition']
\ No newline at end of file
+__all__ = ['WpCategory', 'InfoboxParameter', 'TagInfobox', 'TagWpCategory', 'TagYears', 'Country', 'GeoInclusion', 'TagLinks', 'DbpediaFields', 'DbpediaFieldsTranslation', 'HdaSession', 'InseeCoords', 'DatasheetExtras', 'WpCategoryInclusion', 'HdalabRenkan', 'HdalabRenkanStateTransition']
+
+import hdalab.signals
\ No newline at end of file
--- a/src/hdalab/models/renkan.py Mon Mar 09 11:03:57 2015 +0100
+++ b/src/hdalab/models/renkan.py Mon Mar 09 11:05:44 2015 +0100
@@ -8,12 +8,7 @@
from renkanmanager.models import Renkan
from django.conf import settings
-from django.core.mail.message import EmailMultiAlternatives
from django.db import models
-from django.db.models.signals import post_save
-from django.template.base import TemplateDoesNotExist
-from django.template.loader import render_to_string
-from django.utils.html import strip_tags
from django.utils.translation import ugettext as _
@@ -50,7 +45,7 @@
class HdalabRenkanStateTransition(models.Model):
- renkan = models.ForeignKey(HdalabRenkan, blank=False, null=False)
+ renkan = models.ForeignKey(HdalabRenkan, blank=False, null=False, related_name='states')
from_state = models.IntegerField(choices=HdalabRenkan.STATE_CHOICES, default=1, blank=False, null=False)
to_state = models.IntegerField(choices=HdalabRenkan.STATE_CHOICES, default=1, blank=False, null=False)
ts = models.DateTimeField(auto_now_add=True, blank=False, null=False)
@@ -59,50 +54,4 @@
class Meta:
app_label = 'hdalab'
-
-MAIL_TEMPLATES = {
- (HdalabRenkan.MODERATED,HdalabRenkan.PUBLISHED): ("mails/published_renkan", "Renkan publié"),
- (HdalabRenkan.MODERATED,HdalabRenkan.REJECTED): ("mails/rejected_renkan", "Renkan rejeté"),
- (HdalabRenkan.PUBLISHED, HdalabRenkan.EDITION): ("mails/unpublished_renkan", "Renkan dépublié"),
-}
-
-
-#TODO put into queue
-def send_renkan_moderation_messages(sender, **kwargs):
- renkan_state = kwargs.get('instance', None)
- if not renkan_state or (renkan_state.from_state,renkan_state.to_state) not in MAIL_TEMPLATES:
- return
-
- template_key = (renkan_state.from_state,renkan_state.to_state)
- msg_txt = ""
- msg_html = ""
- subject = ""
- try:
- template_name, subject = MAIL_TEMPLATES[template_key]
-# template = loader.get_template(template_name)
- context = {'renkan_state': renkan_state, 'WEB_URL': settings.WEB_URL}
- msg_html = render_to_string(template_name+".txt", context)
- msg_txt = render_to_string(template_name+".html", context)
- except TemplateDoesNotExist:
- logger.error("Mail template %s for state %s not found", MAIL_TEMPLATES[template_key], HdalabRenkan.STATE_CHOICES_DICT[renkan_state.to_state])
- return
- except Exception as e:
- logger.error("Error rendering template %s for state %s : %r", MAIL_TEMPLATES[template_key], HdalabRenkan.STATE_CHOICES_DICT[renkan_state.to_state], e)
-
- if msg_txt and msg_html and renkan_state.renkan and renkan_state.renkan.renkan and renkan_state.renkan.renkan.owner and renkan_state.renkan.renkan.owner.email:
- logger.debug("Sending following mail to %s : %s", renkan_state.renkan.renkan.owner.email, msg_txt)
- emsg = EmailMultiAlternatives(subject, strip_tags(msg_txt), settings.DEFAULT_FROM_EMAIL, [renkan_state.renkan.renkan.owner.email])
- emsg.attach_alternative(msg_html, "text/html")
- emsg.send(fail_silently=True)
-
-
-def queue_renkan_rendering(sender, **kwargs):
- pass
- #check state
- #queue renkan for endering
-
-
-RENKAN_MODERATION_UUID = "e2f84503-609b-4efa-819d-908e2efe7b1b"
-RENKAN_RENDERING_UUID = "b8830748-be2b-479a-8aef-c8d952437b2f"
-
-post_save.connect(send_renkan_moderation_messages, sender=HdalabRenkanStateTransition, dispatch_uid=RENKAN_MODERATION_UUID)
+ ordering = ["-ts"]
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hdalab/scripts/capture-phantomjs.js Mon Mar 09 11:05:44 2015 +0100
@@ -0,0 +1,56 @@
+//from https://github.com/makinacorpus/django-screamshot
+
+var page = require('webpage').create(),
+ system = require('system');
+
+/**
+ * arguments:
+ * [1] => URL
+ * [2] => output. Use /dev/stdout if you want to capture.
+ * [3] => size
+ */
+
+var address = system.args[1],
+ output = system.args[2];
+
+config = {}
+system.args.forEach(function(arg, i) {
+ if (i > 2) {
+ namev = arg.split('=');
+ config[namev[0].replace('--', '')] = namev[1];
+ }
+});
+
+var method = config.method || 'get',
+ width = config.width || 1400,
+ height = config.height || 1,
+ wait = config.wait || 200;
+
+/**
+ * please note: the default height is intentionaly left as 1.
+ * the thing is, if you skip the height, phantomjs falls back
+ * to some default viewport. and that's not what we want. we
+ * want to set the width, and let the height auto-calculate.
+ */
+page.viewportSize = {width: width, height: height}
+
+format = config.format || 'png';
+
+if (format == 'pdf') {
+ page.paperSize = {
+ format: 'A4',
+ orientation: config.orientation || 'portrait',
+ margin: config.margin || '0cm'
+ }
+}
+
+page.settings.resourceTimeout = 10000;
+
+page.open(address, function(status){
+ if (status == 'success') {
+ setTimeout(function(){
+ page.render(output, {format: format});
+ phantom.exit();
+ }, wait);
+ }
+});
--- a/src/hdalab/services.py Mon Mar 09 11:03:57 2015 +0100
+++ b/src/hdalab/services.py Mon Mar 09 11:05:44 2015 +0100
@@ -5,12 +5,20 @@
@author: ymh
'''
import logging
+import os
+from django.conf import settings
+from django.core.urlresolvers import reverse
from django.db import transaction
from hdalab.models.renkan import HdalabRenkanStateTransition
+from subprocess import check_call
+
+
+
+
logger = logging.getLogger(__name__)
@transaction.atomic
@@ -22,3 +30,42 @@
hda_renkan.state = state
hda_renkan.save()
+
+def renkan_capture_preview(hdalab_renkan):
+ #get last state date or last modification date
+ #states are ordered by ts
+ folder_date = hdalab_renkan.renkan.modification_date
+ states = hdalab_renkan.states
+ state = None
+ if states.count() > 0:
+ state = states.all()[0]
+ if state:
+ folder_date = state.ts
+
+ rel_export_path_dir = "thumbnails/renkan/%04d/%02d/%02d" % (folder_date.year, folder_date.month, folder_date.day)
+ export_path_dir = os.path.join(settings.MEDIA_ROOT,rel_export_path_dir)
+ export_filename = "%s.png" % hdalab_renkan.renkan.rk_id
+
+ export_path = os.path.join(export_path_dir, export_filename)
+ rel_export_path = os.path.join(rel_export_path_dir, export_filename)
+
+ if not os.path.exists(export_path_dir):
+ os.makedirs(export_path_dir)
+
+ preview_dim = getattr(settings, 'RENKAN_PREVIEW_DIM', (500,500))
+ preview_wait = getattr(settings, 'RENKAN_PREVIEW_WAIT', 5000)
+
+ preview_args = [
+ getattr(settings,'RENKAN_PREVIEW_PHANTOMJS_PATH','phantomjs'),
+ os.path.join(os.path.dirname(os.path.abspath(__file__)),'scripts/capture-phantomjs.js'),
+ "%s%shdalab%s?rk_id=%s" % (settings.WEB_URL, settings.BASE_URL, reverse('renkan_full'),hdalab_renkan.renkan.rk_id),
+ export_path,
+ "--width=%d" % preview_dim[0],
+ "--height=%d" % preview_dim[1],
+ "--wait=%d" % preview_wait
+ ]
+ check_call(preview_args)
+
+ hdalab_renkan.renkan.image = rel_export_path
+ hdalab_renkan.renkan.save()
+
--- a/src/hdalab/settings.py Mon Mar 09 11:03:57 2015 +0100
+++ b/src/hdalab/settings.py Mon Mar 09 11:05:44 2015 +0100
@@ -149,7 +149,10 @@
'django.contrib.staticfiles',
'django.contrib.admin',
'django_extensions',
+ 'djcelery_email',
'registration',
+ 'honeypot',
+ 'envelope',
'haystack',
'easy_thumbnails',
'renkanmanager',
@@ -177,6 +180,16 @@
LOCALE_PATHS = ()
+RENKAN_PREVIEW_DIM = (500,500)
+RENKAN_PREVIEW_WAIT = 5000
+
+CELERY_TASK_SERIALIZER = 'json'
+CELERY_ACCEPT_CONTENT = ['json', 'msgpack', 'yaml']
+
+EMAIL_BACKEND = 'djcelery_email.backends.CeleryEmailBackend'
+
+HONEYPOT_FIELD_NAME='phone'
+ENVELOPE_SUBJECT_INTRO='[hdalab contact]'
from hdalab.config import * #@UnusedWildImport
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hdalab/signals.py Mon Mar 09 11:05:44 2015 +0100
@@ -0,0 +1,88 @@
+# -*- coding: utf-8 -*-
+'''
+Created on Mar 8, 2015
+
+@author: ymh
+'''
+import logging
+
+from django.conf import settings
+from django.core.mail.message import EmailMultiAlternatives
+from django.db.models.signals import post_save, pre_delete
+from django.template.base import TemplateDoesNotExist
+from django.template.loader import render_to_string
+from django.utils.html import strip_tags
+
+from hdalab.models.renkan import HdalabRenkan, HdalabRenkanStateTransition
+from renkanmanager.models import Renkan
+
+
+logger = logging.getLogger(__name__)
+
+MAIL_TEMPLATES = {
+ (HdalabRenkan.MODERATED,HdalabRenkan.PUBLISHED): ("mails/published_renkan", "Renkan publié"),
+ (HdalabRenkan.MODERATED,HdalabRenkan.REJECTED): ("mails/rejected_renkan", "Renkan rejeté"),
+ (HdalabRenkan.PUBLISHED, HdalabRenkan.EDITION): ("mails/unpublished_renkan", "Renkan dépublié"),
+}
+
+
+#TODO put into queue
+def send_renkan_moderation_messages(sender, **kwargs):
+ renkan_state = kwargs.get('instance', None)
+ if not renkan_state or (renkan_state.from_state,renkan_state.to_state) not in MAIL_TEMPLATES:
+ return
+
+ template_key = (renkan_state.from_state,renkan_state.to_state)
+ msg_txt = ""
+ msg_html = ""
+ subject = ""
+ try:
+ template_name, subject = MAIL_TEMPLATES[template_key]
+# template = loader.get_template(template_name)
+ context = {'renkan_state': renkan_state, 'WEB_URL': settings.WEB_URL}
+ msg_html = render_to_string(template_name+".txt", context)
+ msg_txt = render_to_string(template_name+".html", context)
+ except TemplateDoesNotExist:
+ logger.error("Mail template %s for state %s not found", MAIL_TEMPLATES[template_key], HdalabRenkan.STATE_CHOICES_DICT[renkan_state.to_state])
+ return
+ except Exception as e:
+ logger.error("Error rendering template %s for state %s : %r", MAIL_TEMPLATES[template_key], HdalabRenkan.STATE_CHOICES_DICT[renkan_state.to_state], e)
+
+ if msg_txt and msg_html and renkan_state.renkan and renkan_state.renkan.renkan and renkan_state.renkan.renkan.owner and renkan_state.renkan.renkan.owner.email:
+ logger.debug("Sending following mail to %s : %s", renkan_state.renkan.renkan.owner.email, msg_txt)
+ emsg = EmailMultiAlternatives(subject, strip_tags(msg_txt), settings.DEFAULT_FROM_EMAIL, [renkan_state.renkan.renkan.owner.email])
+ emsg.attach_alternative(msg_html, "text/html")
+ emsg.send(fail_silently=True)
+
+
+def queue_renkan_rendering(sender, **kwargs):
+ renkan_state = kwargs.get('instance', None)
+ if not renkan_state:
+ return
+
+ if renkan_state.from_state == HdalabRenkan.PUBLISHED and renkan_state.renkan.renkan.image != settings.DEFAULT_RENKAN_ICON:
+ if renkan_state.renkan.renkan.image:
+ renkan_state.renkan.renkan.image.delete(False)
+ renkan_state.renkan.renkan.image.delete_thumbnails()
+ renkan_state.renkan.renkan.image = settings.DEFAULT_RENKAN_ICON
+ renkan_state.renkan.renkan.save()
+ elif renkan_state.to_state == HdalabRenkan.PUBLISHED:
+ from hdalab.tasks import capture_preview
+ capture_preview.delay(renkan_state.renkan.renkan.rk_id) # @UndefinedVariable
+
+def renkan_delete_image(sender, **kwargs):
+ renkan = kwargs.get('instance', None)
+ if not renkan or not renkan.image or renkan.image == settings.DEFAULT_RENKAN_ICON:
+ return
+ renkan.image.delete(False)
+ renkan.image.delete_thumbnails()
+
+
+RENKAN_MODERATION_UUID = "e2f84503-609b-4efa-819d-908e2efe7b1b"
+RENKAN_RENDERING_UUID = "b8830748-be2b-479a-8aef-c8d952437b2f"
+RENKAN_DELETE_UUID = "09c23ca2-4d59-4c29-b94a-2c2672d5a89b"
+
+post_save.connect(send_renkan_moderation_messages, sender=HdalabRenkanStateTransition, dispatch_uid=RENKAN_MODERATION_UUID)
+post_save.connect(queue_renkan_rendering, sender=HdalabRenkanStateTransition, dispatch_uid=RENKAN_RENDERING_UUID)
+pre_delete.connect(renkan_delete_image, sender=Renkan, dispatch_uid=RENKAN_DELETE_UUID)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hdalab/static/hdalab/css/contact.css Mon Mar 09 11:05:44 2015 +0100
@@ -0,0 +1,88 @@
+@CHARSET "UTF-8";
+
+#contact-description {
+ margin-bottom: 20px;
+}
+
+#contact-div {
+ width: 500px;
+ padding: 10px;
+ background-color: rgb(230, 230, 230);
+ border-radius: 2px;
+ margin: auto;
+}
+
+#contact-div p {
+ color: #4f5451;
+ font-size: 14px;
+ font-size: 1.4rem;
+ margin: 10px 30px;
+ clear: right;
+}
+#contact-div label{
+ font-size: 14px;
+ font-size: 1.4rem;
+ line-height: 3.4;
+ display: block;
+}
+#contact-div .error input, #contact-div .error select {
+ border: 2px red solid;
+}
+
+#contact-div input[type="text"],
+#contact-div input[type="email"],
+#contact-div textarea {
+ border:0;
+ box-sizing: border-box;
+ color: #4f5451;
+ font-size: 12px;
+ font-size: 1.2rem;
+ font-weight: 300;
+ width: 100%;
+ border-radius: 2px;
+}
+
+#contact-div input[type="text"],
+#contact-div input[type="email"] {
+ height: 50px;
+ padding: 0 20px;
+}
+
+#contact-div textarea {
+ height: 200px;
+ padding: 5px 5px;
+}
+
+
+#contact-div input[type="text"]:focus,
+#contact-div input[type="email"]:focus,
+#contact-div textarea:focus {
+ background-color: rgba(255, 255, 255, 1);
+ border:1px solid #7cb0bd;
+}
+#contact-div input[type="submit"] {
+ content: " ";
+ height: 30px;
+ border: 0;
+ color: #fff;
+ font-size: 14px;
+ font-size: 1.4rem;
+ font-weight: 300;
+ background-color: #7cb0bd;
+ border-radius: 2px;
+ transition: background-color 0.3s ease;
+ cursor:pointer;
+ margin: 10px 0;
+/* float: right; */
+}
+#contact-div input[type="submit"]:hover {
+ background-color: #4f5451;
+}
+
+#contact-div .btn-submit {
+ text-align: right;
+}
+
+#contact-div fieldset {
+ border: none;
+}
--- a/src/hdalab/static/hdalab/css/footer.css Mon Mar 09 11:03:57 2015 +0100
+++ b/src/hdalab/static/hdalab/css/footer.css Mon Mar 09 11:05:44 2015 +0100
@@ -7,7 +7,7 @@
background-color: #7cb0bd;
}
#footer .nav .row {
- width: 311px;
+ width: 400px;
}
#footer .nav ul {
float: left;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hdalab/static/hdalab/css/full_renkan.css Mon Mar 09 11:05:44 2015 +0100
@@ -0,0 +1,7 @@
+.rnk-full-wrapper, .rnk-full-container{
+ width: 100%;
+}
+.rnk-full-container{
+ height: 100%;
+ width: 100%;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hdalab/tasks.py Mon Mar 09 11:05:44 2015 +0100
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+'''
+Created on Mar 7, 2015
+
+@author: ymh
+'''
+from __future__ import absolute_import
+
+from celery import shared_task
+
+from hdalab.models.renkan import HdalabRenkan
+from hdalab.services import renkan_capture_preview
+
+
+@shared_task
+def capture_preview(rk_id):
+
+ hdalab_renkan = HdalabRenkan.objects.filter(renkan__rk_id=rk_id).select_related().get()
+
+ renkan_capture_preview(hdalab_renkan)
\ No newline at end of file
--- a/src/hdalab/templates/base.html Mon Mar 09 11:03:57 2015 +0100
+++ b/src/hdalab/templates/base.html Mon Mar 09 11:05:44 2015 +0100
@@ -75,6 +75,7 @@
<li><a href="{% url 'a_propos'%}">{% trans 'A Propos' %}</a></li>
<li><a href="{% url 'credits'%}">{% trans 'Crédits' %}</a></li>
<li><a href="{% url 'mentions_legales'%}">{% trans 'Mentions légales' %}</a></li>
+ <li><a href="{% url 'envelope-contact'%}">{% trans 'Contact' %}</a></li>
</ul>
</div>
</div>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hdalab/templates/envelope/contact.html Mon Mar 09 11:05:44 2015 +0100
@@ -0,0 +1,32 @@
+{% extends "base.html" %}
+{% load static %}
+{% load i18n %}
+{% load envelope_tags %}
+
+{% block title %}{% trans "Contact" %}{% endblock %}
+
+{% block css_import %}
+{{block.super}}
+ <link rel="stylesheet" type="text/css" href="{% static 'hdalab/css/contact.css' %}" />
+{% endblock %}
+
+
+{% block main_content %}
+ <div class="all-title">
+ <h1><strong>{% trans "Contact" %}</strong></h1>
+ </div>
+ <div id="contact-description" class="description">
+ {% blocktrans %}
+ <p>Vous souhaitez poser une question sur Histoire des arts' Lab ?</p>
+ <p>Remplissez le formulaire suivant :</p>
+ {% endblocktrans %}
+ </div>
+ <div id="contact-div">
+ <form action="{% url 'envelope-contact' %}" method="post">
+ {% csrf_token %}
+ {% antispam_fields %}
+ {{ form.as_p }}
+ <p><input type="submit" value="{% trans "Send!" %}" /></p>
+ </form>
+ </div>
+{% endblock %}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hdalab/templates/envelope/email_body.html Mon Mar 09 11:05:44 2015 +0100
@@ -0,0 +1,107 @@
+{% load i18n %}<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>Message du formulaire de contact hdalab</title>
+ <!-- Designed by https://github.com/kaytcat -->
+ <!-- Robot header image designed by Freepik.com -->
+ <style type="text/css" media="only screen and (max-width: 480px)">
+ /* Mobile styles */
+ @media only screen and (max-width: 480px) {
+ table[class="w320"] {
+ width: 320px;
+ }
+ td[class="mobile-block"] {
+ width: 100%;
+ display: block;
+ }
+ }
+ </style>
+</head>
+<body style="-webkit-font-smoothing:antialiased; width:100%; height:100%; color:#37302d; font-size:16px; padding:0; margin:0; display:block; background:#ffffff; -webkit-text-size-adjust:none" bgcolor="#ffffff" width="100%" height="100%">
+<table align="center" cellpadding="0" cellspacing="0" height="100%" style="border-collapse:collapse; width:100%" width="100%">
+ <tr>
+ <td align="center" valign="top" bgcolor="#ffffff" width="100%" style="font-family:Helvetica, Arial, sans-serif; font-weight:400; text-align:center">
+ <center>
+ <table style="border-collapse:collapse; margin:0 auto" cellpadding="0" cellspacing="0" width="600">
+ <tr>
+ <td align="center" valign="top" style="font-family:Helvetica, Arial, sans-serif; font-weight:400; text-align:center">
+ <table style="border-collapse:collapse; width:100%; margin:0 auto" cellpadding="0" cellspacing="0" width="100%">
+ <tr>
+ <td style="font-family:Helvetica, Arial, sans-serif; font-weight:400; font-size:30px; text-align:center" align="center">
+ <br>
+ Message du formulaire de contact hdalab
+ <br>
+ <br>
+ </td>
+ </tr>
+ </table>
+ <table style="border-collapse:collapse; width:100%; margin:0 auto" cellpadding="0" cellspacing="0" bgcolor="#4dbfbf" width="100%">
+ <tr>
+ <td style="font-family:Helvetica, Arial, sans-serif; font-weight:400; text-align:center" align="center">
+ <br>
+ <img src="https://www.filepicker.io/api/file/TjmeNWS5Q2SFmtJlUGLf" width="224" height="240" alt="robot picture">
+ </td>
+ </tr>
+ <tr>
+ <td style="font-family:Helvetica, Arial, sans-serif; font-weight:400; text-align:center; color:#ffffff; font-size:36px" align="center">
+ {{ subject }}
+ </td>
+ </tr>
+ <tr>
+ <td style="font-family:Helvetica, Arial, sans-serif; font-weight:400; text-align:center" align="center">
+ <center>
+ <table style="border-collapse:collapse; margin:0 auto" cellpadding="0" cellspacing="0" width="60%">
+ <tr>
+ <td style="font-family:Helvetica, Arial, sans-serif; font-weight:400; text-align:center; color:#187272" align="center">
+ <br>
+ {{ message }}
+ <br>
+ <br>
+ </td>
+ </tr>
+ </table>
+ </center>
+ </td>
+ </tr>
+ </table>
+ <table style="border-collapse:collapse; width:100%; margin:0 auto" cellpadding="0" cellspacing="0" bgcolor="#f5774e" width="100%">
+ <tr>
+ <td style="font-family:Helvetica, Arial, sans-serif; font-weight:400; text-align:center; background-color:#f5774e" bgcolor="#f5774e" align="center">
+ <center>
+ <table style="border-collapse:collapse; width:80%; margin:0 auto" cellspacing="0" cellpadding="0" width="80%">
+ <tr>
+ <td style="font-family:Helvetica, Arial, sans-serif; font-weight:400; text-align:left; color:#933f24" align="left">
+ <br>
+ <br>
+ Envoyeur: {{ sender }}
+ </td>
+ <td style="font-family:Helvetica, Arial, sans-serif; font-weight:400; text-align:right; vertical-align:top; color:#933f24" align="right">
+ <br>
+ <br>
+ {{ email }}
+ </td>
+ </tr>
+ </table>
+ <table style="border-collapse:collapse; width:80%; margin:0 auto" cellspacing="0" cellpadding="0" width="80%">
+ <tr>
+ <td style="font-family:Helvetica, Arial, sans-serif; font-weight:400; color:#933f24; text-align:left; border-bottom:1px solid #933f24" align="left">
+ <br>
+ <br>
+ </td>
+ </tr>
+ </table>
+ </center>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </center>
+ </td>
+ </tr>
+</table>
+</body>
+</html>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hdalab/templates/envelope/email_body.txt Mon Mar 09 11:05:44 2015 +0100
@@ -0,0 +1,7 @@
+{% load i18n %}
+Message du formulaire de contact hdalab
+Envoyeur : {{ sender }} ({{ email }})
+Vici le message
+================================================================================
+{{ message }}
+================================================================================
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hdalab/templates/renkan_view_full.html Mon Mar 09 11:05:44 2015 +0100
@@ -0,0 +1,56 @@
+{% load static %}
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{{LANGUAGE_CODE}}" lang="{{LANGUAGE_CODE}}">
+ <head>
+ <meta charset="utf-8" />
+ <meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
+ <meta http-equiv="content-language" content="{{LANGUAGE_CODE}}" />
+ <link rel="SHORTCUT ICON" href="{% static 'hdalab/img/favicon.ico' %}" />
+ <title>HdA Lab renkan view > {{datasheet.title}}</title>
+ <link rel="stylesheet" type="text/css" href="{% static 'hdalab/css/common.css' %}" />
+ <link rel="stylesheet" type="text/css" href="{% static 'hdalab/css/additionnal_renkan.css' %}" />
+ <link rel="stylesheet" type="text/css" href="{% static 'hdalab/css/full_renkan.css' %}" />
+ <link rel="stylesheet" type="text/css" href="{% static 'renkanmanager/lib/renkan/css/renkan.css' %}" />
+ <script src="{% static 'hdalab/lib/jquery.min.js' %}"></script>
+ <script src="{% static 'renkanmanager/lib/jquery-mousewheel/jquery.mousewheel.js' %}"></script>
+ <script src="{% static 'renkanmanager/lib/underscore/underscore.js' %}"></script>
+ <script src="{% static 'renkanmanager/lib/backbone/backbone.js' %}"></script>
+ <script src="{% static 'renkanmanager/lib/backbone-relational/backbone-relational.js' %}"></script>
+ <script src="{% static 'renkanmanager/lib/paper/paper-full.js' %}"></script>
+ <script type="text/javascript">
+ var require = {
+ baseUrl: "{% static 'renkanmanager/lib/' %}"
+ };
+ </script>
+ <script src="{% static 'renkanmanager/lib/requirejs/require.js' %}"></script>
+ <script src="{% static 'renkanmanager/lib/renkan/js/renkan.js' %}"></script>
+ <script type="text/javascript">
+
+ function startRenkan(){
+ var _renkan = new Rkns.Renkan({
+ static_url : "{% static 'renkanmanager/lib/renkan/' %}",
+ editor_mode: false,
+ show_bins: false,
+ show_export_button: false,
+ show_top_bar: false,
+ show_minimap: false,
+ language: "fr"
+ });
+ Rkns.jsonIO(_renkan, {
+ url: "{% url 'renkan_get_put' %}" + window.location.search
+ });
+ };
+ </script>
+ </head>
+ <body>
+ <main>
+ <div class="rnk-full-wrapper">
+ <div class="rnk-full-container">
+ <div id="renkan"></div>
+ </div>
+ </div>
+ </main>
+ </body>
+</html>
\ No newline at end of file
--- a/src/hdalab/urls.py Mon Mar 09 11:03:57 2015 +0100
+++ b/src/hdalab/urls.py Mon Mar 09 11:05:44 2015 +0100
@@ -40,6 +40,7 @@
url(r'^renkan/edit/$', RenkanEdit.as_view(), name='renkan_edit'),
url(r'^renkan/getput/$', HdalabRenkanGetPut.as_view(), name='renkan_get_put'),
url(r'^renkan/view/$', TemplateView.as_view(template_name="renkan_view.html"), name='renkan_view'),
+ url(r'^renkan/full/$', TemplateView.as_view(template_name="renkan_view_full.html"), name='renkan_full'),
url(r'^renkan/copy/(?P<rk_id>.+)$', login_required(HdalabRenkanCopy.as_view()), name='renkan_copy'),
url(r'^renkan/delete/(?P<rk_id>.+)$', login_required(HdalabRenkanDelete.as_view()), name='renkan_delete'),
url(r'^renkan/moderate/(?P<rk_id>.+)$', login_required(HdalabRenkanModerate.as_view()), name='renkan_moderate'),
@@ -56,9 +57,10 @@
url(r'^edito/folder/(?P<folder_pk>[\w-]+)$', staff_member_required(HdalabAddOrUpdateFolder.as_view()), name='hdalab_add_or_update_folder'),
url(r'^edito/deletefolder/(?P<folder_pk>[\w-]+)$', staff_member_required(HdalabDeleteFolder.as_view()), name='hdalab_delete_folder'),
- url(r'^hdabo/a_propos/$', TemplateView.as_view(template_name="a_propos.html"), name='a_propos'),
- url(r'^hdabo/credits/$', TemplateView.as_view(template_name="credits.html"), name='credits'),
- url(r'^hdabo/mentions_legales/$', TemplateView.as_view(template_name="mentions_legales.html"), name='mentions_legales')
+ url(r'^hdalab/a_propos/$', TemplateView.as_view(template_name="a_propos.html"), name='a_propos'),
+ url(r'^hdalab/credits/$', TemplateView.as_view(template_name="credits.html"), name='credits'),
+ url(r'^hdalab/mentions_legales/$', TemplateView.as_view(template_name="mentions_legales.html"), name='mentions_legales'),
+ url(r'^hdalab/contact/', include('envelope.urls')),
)
--- a/src/hdalab/utils.py Mon Mar 09 11:03:57 2015 +0100
+++ b/src/hdalab/utils.py Mon Mar 09 11:05:44 2015 +0100
@@ -4,12 +4,14 @@
@author: ymh and tc
'''
+import hashlib
+import logging
+import re
+
from django.core.cache import cache
from django.utils.encoding import smart_str
-import hashlib
-import re
-import logging
+
logger = logging.getLogger(__name__)
@@ -29,4 +31,7 @@
while n > 0:
digits.insert(0, n % b)
n = n // b
- return digits
\ No newline at end of file
+ return digits
+
+
+
\ No newline at end of file
--- a/virtualenv/res/lib/lib_create_env.py Mon Mar 09 11:03:57 2015 +0100
+++ b/virtualenv/res/lib/lib_create_env.py Mon Mar 09 11:05:44 2015 +0100
@@ -37,7 +37,7 @@
'PYPARSING' : { 'setup': 'pyparsing', 'url': 'https://pypi.python.org/packages/source/p/pyparsing/pyparsing-2.0.3.tar.gz', 'local' : 'pyparsing-2.0.3.tar.gz', 'install': {'method': 'pip', 'option_str': None, 'dict_extra_env': None}},
'PIL' : { 'setup': 'pil', 'url': 'http://effbot.org/downloads/Imaging-1.1.7.tar.gz', 'local' : 'Imaging-1.1.7.tar.gz', 'install': {'method': 'pip', 'option_str': None, 'dict_extra_env': None}},
'EASYTHUMBNAIL' : { 'setup': 'easy-thumbnail', 'url': 'https://github.com/SmileyChris/easy-thumbnails/archive/2.2.tar.gz', 'local' : 'easy-thumbnails-2.2.tar.gz', 'install': {'method': 'pip', 'option_str': None, 'dict_extra_env': None}},
- 'SIX' : { 'setup': 'six', 'url': 'https://pypi.python.org/packages/source/s/six/six-1.8.0.tar.gz', 'local' : 'six-1.8.0.tar.gz', 'install': {'method': 'pip', 'option_str': None, 'dict_extra_env': None}},
+ 'SIX' : { 'setup': 'six', 'url': 'https://pypi.python.org/packages/source/s/six/six-1.9.0.tar.gz', 'local' : 'six-1.9.0.tar.gz', 'install': {'method': 'pip', 'option_str': None, 'dict_extra_env': None}},
'SIMPLEJSON' : { 'setup': 'simplejson', 'url': 'https://github.com/simplejson/simplejson/archive/v3.6.5.tar.gz', 'local' : 'simplejson-3.6.5.tar.gz', 'install': {'method': 'pip', 'option_str': None, 'dict_extra_env': None}},
'HTML5LIB' : { 'setup': 'html5lib', 'url': 'https://github.com/html5lib/html5lib-python/archive/0.999.tar.gz', 'local' : 'html5lib-0.999.tar.gz', 'install': {'method': 'pip', 'option_str': None, 'dict_extra_env': None}},
'URLLIB3': { 'setup': 'urllib3', 'url':'https://github.com/shazow/urllib3/archive/1.9.1.tar.gz', 'local':"urllib3-1.9.1.tar.gz", 'install': {'method': 'pip', 'option_str': None, 'dict_extra_env': None}},
@@ -50,6 +50,15 @@
'REDLAND_BINDINGS': { 'setup': 'redland_bindings', 'url':'redland-bindings-1.0.17.1.tar.gz', 'local':"redland-bindings-1.0.17.1.tar.gz", 'install': {'method': 'install_redland_bindings', 'option_str': None, 'dict_extra_env': None}},
'UNIDECODE': { 'setup': 'unidecode', 'url':'https://pypi.python.org/packages/source/U/Unidecode/Unidecode-0.04.17.tar.gz', 'local':"Unidecode-0.04.17.tar.gz", 'install': {'method': 'pip', 'option_str': None, 'dict_extra_env': None}},
'PYTZ': { 'setup': 'pytz', 'url':'https://pypi.python.org/packages/source/p/pytz/pytz-2014.10.tar.bz2', 'local':"pytz-2014.10.tar.bz2", 'install': {'method': 'pip', 'option_str': None, 'dict_extra_env': None}},
+ 'KOMBU': { 'setup': 'kombu', 'url':'https://github.com/celery/kombu/archive/v3.0.24.tar.gz', 'local':"kombu-3.0.24.tar.gz", 'install': {'method': 'pip', 'option_str': None, 'dict_extra_env': None}},
+ 'AMQP': { 'setup': 'amqp', 'url':'https://github.com/celery/py-amqp/archive/v1.4.6.tar.gz', 'local':"py-amqp-1.4.6.tar.gz", 'install': {'method': 'pip', 'option_str': None, 'dict_extra_env': None}},
+ 'ANYJSON': { 'setup': 'anyjson', 'url':'https://bitbucket.org/runeh/anyjson/get/0.3.3.tar.gz', 'local':"anyjson-0.3.3.tar.gz", 'install': {'method': 'pip', 'option_str': None, 'dict_extra_env': None}},
+ 'BILLIARD': { 'setup': 'billiard', 'url':'https://github.com/celery/billiard/archive/v3.3.0.19.tar.gz', 'local':"billiard-3.3.0.19.tar.gz", 'install': {'method': 'pip', 'option_str': None, 'dict_extra_env': None}},
+ 'CELERY': { 'setup': 'celery', 'url':'https://github.com/celery/celery/archive/v3.1.17.tar.gz', 'local':"celery-3.1.17.tar.gz", 'install': {'method': 'pip', 'option_str': None, 'dict_extra_env': None}},
+ 'APPCONF': { 'setup': 'django-appconf', 'url':'https://github.com/jezdez/django-appconf/archive/v1.0.1.tar.gz', 'local':"django-appconf-1.0.1.tar.gz", 'install': {'method': 'pip', 'option_str': None, 'dict_extra_env': None}},
+ 'CELERY-EMAIL': { 'setup': 'django-celery-email', 'url':'https://github.com/pmclanahan/django-celery-email/archive/1.1.0.tar.gz', 'local':"django-celery-email-1.1.0.tar.gz", 'install': {'method': 'pip', 'option_str': None, 'dict_extra_env': None}},
+ 'DJANGO-ENVELOPE': { 'setup': 'django-envelope', 'url':'https://github.com/zsiciarz/django-envelope/archive/1.0.0.tar.gz', 'local':'django-envelope-1.0.0.tar.gz', 'install': {'method': 'pip', 'option_str': None, 'dict_extra_env': None}},
+ 'DJANGO-HONEYPOT': { 'setup': 'django-honeypot', 'url':'https://github.com/sunlightlabs/django-honeypot/archive/0.3.0.tar.gz', 'local':'django-honeypot-0.3.0.tar.gz', 'install': {'method': 'pip', 'option_str': None, 'dict_extra_env': None}},
}
Binary file virtualenv/res/src/SQLAlchemy-0.9.8.tar.gz has changed
Binary file virtualenv/res/src/amqp-1.4.6.tar.gz has changed
Binary file virtualenv/res/src/anyjson-0.3.3.tar.gz has changed
Binary file virtualenv/res/src/billiard-3.3.0.19.tar.gz has changed
Binary file virtualenv/res/src/celery-3.1.17.tar.gz has changed
Binary file virtualenv/res/src/django-appconf-1.0.1.tar.gz has changed
Binary file virtualenv/res/src/django-celery-email-1.1.0.tar.gz has changed
Binary file virtualenv/res/src/django-envelope-1.0.0.tar.gz has changed
Binary file virtualenv/res/src/django-honeypot-0.3.0.tar.gz has changed
Binary file virtualenv/res/src/django-registration-0.8.tar.gz has changed
Binary file virtualenv/res/src/kombu-3.0.24.tar.gz has changed
Binary file virtualenv/res/src/redland-1.0.11.tar.gz has changed
Binary file virtualenv/res/src/six-1.8.0.tar.gz has changed
Binary file virtualenv/res/src/six-1.9.0.tar.gz has changed
Binary file virtualenv/res/src/wikitools-1.1.1.tar.bz2 has changed
--- a/virtualenv/web/res/requirements.txt Mon Mar 09 11:03:57 2015 +0100
+++ b/virtualenv/web/res/requirements.txt Mon Mar 09 11:05:44 2015 +0100
@@ -1,31 +1,41 @@
+#-e git+git://github.com/IRI-Research/rdflib.git@96c30f98bbb628e13aaa32c9c392584b0fbf8788#egg=rdflib
#STATIC_DEPS=true LIBXML2_VERSION=2.9.2 LIBXSLT_VERSION=1.1.28 LIBICONV_VERSION=1.14 pip install --no-index -r requirements.txt
-f ../../res/src
Django==1.6.10
Pillow==2.6.1
PyYAML==3.11
SPARQLWrapper==1.6.4
+SQLAlchemy==0.9.8
South==1.0.1
+Unidecode==0.04.17
Whoosh==2.5.7
-easy-thumbnails==2.2
+amqp==1.4.6
+anyjson==0.3.3
+billiard==3.3.0.19
+celery==3.1.17
+django-appconf==1.0.1
+django-celery-email==1.1.0
+django-envelope==1.0
django-extensions==1.4.4
django-haystack==2.2.0
+django-honeypot==0.4.0
django-registration==1.1
+easy-thumbnails==2.2
+elasticsearch==1.2.0
+html5lib==0.999
httplib2==0.9
-html5lib==0.999
isodate==0.5.1
+kombu==3.0.24
lxml==3.4.0
psycopg2==2.5.4
pycrypto==2.6.1
-elasticsearch==1.2.0
pyparsing==2.0.3
+pytz==2014.10
+rdflib==4.2.0-dev
requests==2.4.3
simplejson==3.6.5
-six==1.8.0
-rdflib==4.2-dev
-#-e git+git://github.com/IRI-Research/rdflib.git@96c30f98bbb628e13aaa32c9c392584b0fbf8788#egg=rdflib
+six==1.9.0
urllib3==1.9.1
wikitools==1.2
wsgiref==0.1.2
-Unidecode==0.04.17
-pytz==2014.10