--- a/src/ldt/README Sun Mar 04 04:30:43 2012 +0100
+++ b/src/ldt/README Mon Mar 05 23:45:26 2012 +0100
@@ -6,3 +6,7 @@
+trick:
+compile messages for js
+python ../../../web/ldtplatform/manage.py makemessages -a -d djangojs
+python ../../../web/ldtplatform/manage.py compilemessages
--- a/src/ldt/ldt/ldt_utils/templates/front/front_base.html Sun Mar 04 04:30:43 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/front/front_base.html Mon Mar 05 23:45:26 2012 +0100
@@ -1,6 +1,7 @@
{% load i18n %}
{% load logintag %}
{% load navigation %}
+{% load analytics %}
<!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}}">
@@ -86,6 +87,7 @@
</ul>
<div class="clear"></div>
</div>
+{% analytics %}
</body>
</html>
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_content.html Sun Mar 04 04:30:43 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_content.html Mon Mar 05 23:45:26 2012 +0100
@@ -6,13 +6,12 @@
{% block js_import %}
{{ block.super }}
<script type="text/javascript" src="{{ADMIN_MEDIA_PREFIX}}js/core.js" ></script>
- <script type="text/javascript" src="{% url jsi18n %}" ></script>
+ <script type="text/javascript" src="{% url ldt.jsi18n packages='ldt' %}" ></script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/projectscontents.js"></script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/jquery.nyroModal.min.js"></script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/jquery.textchange.min.js"></script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/jquery-ui.min.js"></script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/swfupload/swfupload.js"></script>
- <script type="text/javascript" src="{% url django.views.i18n.javascript_catalog %}"></script>
{{ content_form.media.js }}
{% endblock %}
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_group.html Sun Mar 04 04:30:43 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_group.html Mon Mar 05 23:45:26 2012 +0100
@@ -6,7 +6,8 @@
{% block js_import %}
{{ block.super }}
- <script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}/js/jquery.nyroModal.min.js"></script>
+ <script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}/js/jquery.nyroModal.min.js"></script>
+ <script type="text/javascript" src="{% url ldt.jsi18n packages='ldt' %}" ></script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/projectscontents.js" ></script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/tiny_mce/tiny_mce.js"></script>
{{ content_form.media.js }}
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_ldt.html Sun Mar 04 04:30:43 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_ldt.html Mon Mar 05 23:45:26 2012 +0100
@@ -5,7 +5,8 @@
{% block js_import %}
{{ block.super }}
- <script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}/js/jquery.nyroModal.min.js"></script>
+ <script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/jquery.nyroModal.min.js"></script>
+ <script type="text/javascript" src="{% url ldt.jsi18n packages='ldt' %}" ></script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/projectscontents.js"></script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/tiny_mce/tiny_mce.js"></script>
{{ content_form.media.js }}
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/embed_popup.html Sun Mar 04 04:30:43 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/embed_popup.html Mon Mar 05 23:45:26 2012 +0100
@@ -1,4 +1,5 @@
{% load i18n %}
+{% load analytics %}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
@@ -78,7 +79,7 @@
</div>
<a href="{{json_url}}?escape=true&mimetype=text/plain" class="ldt_json_link" >{% trans 'clik here to see the project content' %}</a>
-
+{% analytics %}
</body>
</html>
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/error_confirm.html Sun Mar 04 04:30:43 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/error_confirm.html Mon Mar 05 23:45:26 2012 +0100
@@ -3,7 +3,8 @@
{% load i18n %} {# form of creation of content #}
{% block js_import %}
- {{ block.super }}
+ {{ block.super }}
+ <script type="text/javascript" src="{% url ldt.jsi18n packages='ldt' %}" ></script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/projectscontents.js"></script>
{% endblock %}
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/groups.html Sun Mar 04 04:30:43 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/groups.html Mon Mar 05 23:45:26 2012 +0100
@@ -3,6 +3,7 @@
{% block js_import %}
{{block.super}}
+ <script type="text/javascript" src="{% url ldt.jsi18n packages='ldt' %}" ></script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/projectscontents.js" ></script>
{% endblock %}
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/init_ldt.html Sun Mar 04 04:30:43 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/init_ldt.html Mon Mar 05 23:45:26 2012 +0100
@@ -8,6 +8,7 @@
<title>Ligne de Temps - IRI</title>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/jquery.min.js"></script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/jquery.nyroModal.min.js"></script>
+<script type="text/javascript" src="{% url ldt.jsi18n packages='ldt' %}" ></script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/projectscontents.js"></script>
<script type="text/javascript">
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/ldt_list.html Sun Mar 04 04:30:43 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/ldt_list.html Mon Mar 05 23:45:26 2012 +0100
@@ -3,6 +3,7 @@
{% block js_import %}
{{block.super}}
+ <script type="text/javascript" src="{% url ldt.jsi18n packages='ldt' %}" ></script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/projectscontents.js" ></script>
{% endblock %}
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/published_projects.html Sun Mar 04 04:30:43 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/published_projects.html Mon Mar 05 23:45:26 2012 +0100
@@ -3,6 +3,7 @@
{% block js_import %}
{{block.super}}
+ <script type="text/javascript" src="{% url ldt.jsi18n packages='ldt' %}" ></script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/projectscontents.js" ></script>
{% endblock %}
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/search_results.html Sun Mar 04 04:30:43 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/search_results.html Mon Mar 05 23:45:26 2012 +0100
@@ -2,7 +2,8 @@
{% load i18n %}
{% block js_import %}
- {{ block.super }}
+ {{ block.super }}
+ <script type="text/javascript" src="{% url ldt.jsi18n packages='ldt' %}" ></script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/projectscontents.js" ></script>
{% endblock %}
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/workspace_base.html Sun Mar 04 04:30:43 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/workspace_base.html Mon Mar 05 23:45:26 2012 +0100
@@ -3,7 +3,8 @@
{% block js_import %}
{{block.super}}
- <script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/projectscontents.js" ></script>
+ <script type="text/javascript" src="{% url ldt.jsi18n packages='ldt' %}" ></script>
+ <script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/projectscontents.js" ></script>
{% endblock %}
--- a/src/ldt/ldt/ldt_utils/urls.py Sun Mar 04 04:30:43 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/urls.py Mon Mar 05 23:45:26 2012 +0100
@@ -49,7 +49,8 @@
)
urlpatterns += patterns('',
- url('^jsi18n', 'django.views.i18n.javascript_catalog', name='jsi18n'),
+ url('^jsi18n/?$', 'django.views.i18n.javascript_catalog', name='ldt.jsi18n.all'),
+ url('^jsi18n/(?P<packages>\S+?)/$', 'django.views.i18n.javascript_catalog', {'domain':'djangojs'}, name='ldt.jsi18n'),
)
Binary file src/ldt/ldt/locale/en/LC_MESSAGES/djangojs.mo has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ldt/ldt/locale/en/LC_MESSAGES/djangojs.po Mon Mar 05 23:45:26 2012 +0100
@@ -0,0 +1,26 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-03-05 20:40+0100\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"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: static/ldt/js/projectscontents.js:712
+msgid "check all"
+msgstr "check all"
+
+#: static/ldt/js/projectscontents.js:713
+msgid "uncheck all"
+msgstr "uncheck all"
Binary file src/ldt/ldt/locale/fr/LC_MESSAGES/djangojs.mo has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ldt/ldt/locale/fr/LC_MESSAGES/djangojs.po Mon Mar 05 23:45:26 2012 +0100
@@ -0,0 +1,26 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# Yves-Marie Haussonne <ymh.work@gmail.com>, 2012.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-03-05 20:40+0100\n"
+"PO-Revision-Date: 2012-03-05 20:44+0200\n"
+"Last-Translator: Yves-Marie Haussonne <ymh.work@gmail.com>\n"
+"Language-Team: IRI\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Virtaal 0.7.0-mac-beta-1\n"
+
+#: static/ldt/js/projectscontents.js:712
+msgid "check all"
+msgstr "Tout cocher"
+
+#: static/ldt/js/projectscontents.js:713
+msgid "uncheck all"
+msgstr "Tout décocher"
--- a/src/ldt/ldt/static/ldt/js/projectscontents.js Sun Mar 04 04:30:43 2012 +0100
+++ b/src/ldt/ldt/static/ldt/js/projectscontents.js Mon Mar 05 23:45:26 2012 +0100
@@ -712,3 +712,23 @@
}
}
}
+
+function check_uncheck_all(name) {
+ var check_all = gettext("check all");
+ var uncheck_all = gettext("uncheck all");
+ var id_name = "#global_checkbox_" + name;
+
+ $(id_name).attr('title', uncheck_all);
+
+ $(id_name).change(function () {
+ var checkbox_names = ".checkbox_" + name;
+ if ($(id_name).is(":checked")) {
+ $(checkbox_names).prop('checked', true);
+ $(id_name).attr('title', uncheck_all );
+ } else {
+ $(checkbox_names).prop('checked', false);
+ $(id_name).attr('title', check_all);
+ }
+ $(checkbox_names).trigger("change");
+ });
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ldt/ldt/templates/google_analytics/analytics_template.html Mon Mar 05 23:45:26 2012 +0100
@@ -0,0 +1,10 @@
+<script type="text/javascript">
+var _gaq = _gaq || [];
+_gaq.push(['_setAccount', '{{ analytics_code }}']);
+_gaq.push(['_trackPageview']);
+(function() {
+var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+})();
+</script>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ldt/ldt/templates/google_analytics/async_analytics_template.html Mon Mar 05 23:45:26 2012 +0100
@@ -0,0 +1,6 @@
+<script>
+var _gaq=[['_setAccount','{{ analytics_code }}'],['_trackPageview']];
+(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
+g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
+s.parentNode.insertBefore(g,s)}(document,'script'));
+</script>
\ No newline at end of file
--- a/src/ldt/ldt/templates/ldt/ldt_raw_base.html Sun Mar 04 04:30:43 2012 +0100
+++ b/src/ldt/ldt/templates/ldt/ldt_raw_base.html Mon Mar 05 23:45:26 2012 +0100
@@ -1,6 +1,7 @@
{% load i18n %}
{% load logintag %}
{% load navigation %}
+{% load analytics %}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
@@ -13,27 +14,6 @@
<title>{% block title %}{% trans "page_title" %}{% endblock %}</title>
{% block js_import %}
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/jquery.min.js"></script>
- <script type="text/javascript">
- function check_uncheck_all(name) {
- var check_all = '{% trans "check all" %}';
- var uncheck_all = '{% trans "uncheck all" %}';
- var id_name = "#global_checkbox_" + name;
-
- $(id_name).attr('title', uncheck_all);
-
- $(id_name).change(function () {
- var checkbox_names = ".checkbox_" + name;
- if ($(id_name).is(":checked")) {
- $(checkbox_names).prop('checked', true);
- $(id_name).attr('title', uncheck_all );
- } else {
- $(checkbox_names).prop('checked', false);
- $(id_name).attr('title', check_all);
- }
- $(checkbox_names).trigger("change");
- });
- }
- </script>
{% endblock %}
{% block css_declaration %}
@@ -61,5 +41,6 @@
<body>
{% block body %}
{% endblock %}
+{% analytics %}
</body>
</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ldt/ldt/templatetags/analytics.py Mon Mar 05 23:45:26 2012 +0100
@@ -0,0 +1,70 @@
+###
+# Taken and adapted form django-google-analytics : http://
+#
+#
+##
+from django import template
+
+from django.template import Context, loader
+from django.conf import settings
+
+
+register = template.Library()
+
+def __clean_token(str, tag_name):
+ if not (str[0] == str[-1] and str[0] in ('"', "'")):
+ raise template.TemplateSyntaxError, "%r tag's argument should be in quotes" % tag_name
+ return str[1:-1]
+
+def do_get_analytics(parser, token):
+ code = None
+ style = None
+ tag_name = None
+ try:
+ # split_contents() knows not to split quoted strings.
+ tokens = token.split_contents()
+ if len(tokens) > 0 :
+ tag_name = tokens[0]
+ if len(tokens) > 1 :
+ style = tokens[1]
+ if len(tokens) > 2 :
+ code = tokens[2]
+ except ValueError:
+ code = None
+
+ if not code:
+ code = getattr(settings,'GOOGLE_ANALYTICS_CODE',None)
+ else:
+ code = __clean_token(code, tag_name)
+
+ if style:
+ style = __clean_token(style, tag_name)
+ else:
+ style = 'async'
+
+ return AnalyticsNode(code, style)
+
+class AnalyticsNode(template.Node):
+ def __init__(self, code=None, style='async'):
+ self.code = code
+ self.style = style
+
+ def render(self, context):
+ if not self.code:
+ return ''
+
+ if self.style == 'async':
+ template_path = 'google_analytics/async_analytics_template.html'
+ else:
+ template_path = 'google_analytics/analytics_template.html'
+
+ if self.code.strip() != '':
+ t = loader.get_template(template_path)
+ c = Context({
+ 'analytics_code': self.code,
+ })
+ return t.render(c)
+ else:
+ return ''
+
+register.tag('analytics', do_get_analytics)
--- a/web/ldtplatform/config.py.tmpl Sun Mar 04 04:30:43 2012 +0100
+++ b/web/ldtplatform/config.py.tmpl Mon Mar 05 23:45:26 2012 +0100
@@ -72,6 +72,8 @@
MANAGERS = ADMINS
+GOOGLE_ANALYTICS_CODE = 'UA-1234-1'
+
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'iri.ddc@gmail.com'
@@ -95,3 +97,4 @@
FRONT_TAG_LIST = [u"Enmi 2011", u"film", u"conférence"]
+