get language for sparql request
authorcavaliet
Mon, 02 Sep 2013 17:49:41 +0200
changeset 20 fa466993084a
parent 19 6b45fd23e4a0
child 21 dad1f8de08a9
child 25 9d1f73118faa
get language for sparql request
src/p4l/settings.py
src/p4l/static/p4l/css/img/flags.png
src/p4l/static/p4l/css/p4l.css
src/p4l/static/p4l/img/blank.gif
src/p4l/templates/p4l/p4l_record_view.html
src/p4l/views.py
--- a/src/p4l/settings.py	Mon Sep 02 16:40:28 2013 +0200
+++ b/src/p4l/settings.py	Mon Sep 02 17:49:41 2013 +0200
@@ -103,6 +103,7 @@
     'django.middleware.csrf.CsrfViewMiddleware',
     'django.contrib.auth.middleware.AuthenticationMiddleware',
     'django.contrib.messages.middleware.MessageMiddleware',
+    'django.middleware.locale.LocaleMiddleware',
     # Uncomment the next line for simple clickjacking protection:
     # 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 )
Binary file src/p4l/static/p4l/css/img/flags.png has changed
--- a/src/p4l/static/p4l/css/p4l.css	Mon Sep 02 16:40:28 2013 +0200
+++ b/src/p4l/static/p4l/css/p4l.css	Mon Sep 02 17:49:41 2013 +0200
@@ -21,4 +21,14 @@
 }
 .two_buttons{
 	min-width: 100px;
-}
\ No newline at end of file
+}
+
+/* Flags */
+.flag {
+    width: 16px;
+    height: 11px;
+    background:url(./img/flags.png) no-repeat
+}
+.flag.flag-es {background-position: -16px 0}
+.flag.flag-fr {background-position: 0 -11px}
+.flag.flag-gb {background-position: -16px -11px}
Binary file src/p4l/static/p4l/img/blank.gif has changed
--- a/src/p4l/templates/p4l/p4l_record_view.html	Mon Sep 02 16:40:28 2013 +0200
+++ b/src/p4l/templates/p4l/p4l_record_view.html	Mon Sep 02 17:49:41 2013 +0200
@@ -243,4 +243,10 @@
     isDocumentPart = models.BooleanField() #iiep:isDocumentPart
    -->
 </table>
+<div class="row">
+    <div class="col-md-12 text-right">
+      <a href="?uri={{ record.uri }}&lang=fr" alt="FR" /><img src="{% static 'p4l/img/blank.gif' %}" class="flag flag-fr" alt="FR" /></a>&nbsp;
+      <a href="?uri={{ record.uri }}&lang=en" alt="EN" /><img src="{% static 'p4l/img/blank.gif' %}" class="flag flag-gb" alt="EN" /></a>&nbsp;
+      <a href="?uri={{ record.uri }}&lang=es" alt="ES" /><img src="{% static 'p4l/img/blank.gif' %}" class="flag flag-es" alt="ES" /></a>
+</div>
 {% endblock %}
\ No newline at end of file
--- a/src/p4l/views.py	Mon Sep 02 16:40:28 2013 +0200
+++ b/src/p4l/views.py	Mon Sep 02 17:49:41 2013 +0200
@@ -60,27 +60,33 @@
     
     def get_context_data(self, **kwargs):
         context = DetailView.get_context_data(self, **kwargs)
+        # We get the language, "fr" by default
+        lang = "fr"
+        if "lang" in self.request.GET:
+            lang = self.request.GET["lang"]
+        elif hasattr(self.request, "LANGUAGE_CODE") and self.request.LANGUAGE_CODE in ["fr","en","es"]:
+            lang = self.request.LANGUAGE_CODE
         # self.object is the record entry
         # We get the subjects'labels with the Thesaurus repository
         uri_list = [s.uri for s in self.object.subjects.all()]
-        uris_labels = get_labels_for_uris(uri_list, "http://skos.um.es/unescothes/CS000", "fr", False)
+        uris_labels = get_labels_for_uris(uri_list, "http://skos.um.es/unescothes/CS000", lang, False)
         context['subjects_labels'] = uris_labels
         # We get the themes'labels with the Themes repository
         uri_list = [s.uri for s in self.object.themes.all()]
-        uris_labels = get_labels_for_uris(uri_list, "http://www.iiep.unesco.org/plan4learning/scheme/Themes", "fr", False)
+        uris_labels = get_labels_for_uris(uri_list, "http://www.iiep.unesco.org/plan4learning/scheme/Themes", lang, False)
         context['themes_labels'] = uris_labels
         # We get the countries'labels with the Thesaurus repository
         uri_list = [s.uri for s in self.object.countries.all()]
-        uris_labels = get_labels_for_uris(uri_list, "http://skos.um.es/unescothes/CS000/Countries", "fr", False)
+        uris_labels = get_labels_for_uris(uri_list, "http://skos.um.es/unescothes/CS000/Countries", lang, False)
         context['countries_labels'] = uris_labels
         # We get the languages'labels with the Languages repository
         if self.object.language:
             uri_list = [self.object.language.uri]
-            uris_labels = get_labels_for_uris(uri_list, "http://www.iiep.unesco.org/plan4learning/scheme/Languages", "fr", False)
+            uris_labels = get_labels_for_uris(uri_list, "http://www.iiep.unesco.org/plan4learning/scheme/Languages", lang, False)
             context['language_label'] = uris_labels[self.object.language.uri]
         # We get the other languages'labels with the Languages repository
         uri_list = [s.uri for s in self.object.otherLanguages.all()]
-        uris_labels = get_labels_for_uris(uri_list, "http://www.iiep.unesco.org/plan4learning/scheme/Languages", "fr", False)
+        uris_labels = get_labels_for_uris(uri_list, "http://www.iiep.unesco.org/plan4learning/scheme/Languages", lang, False)
         context['otherLanguages_labels'] = uris_labels
         # We get the project'labels with the Projects repository
         uri_list = [s.uri for s in self.object.projectNames.all()]
@@ -97,7 +103,7 @@
         # We get the recordType'labels with the DocumentType repository
         if self.object.recordType:
             uri_list = [self.object.recordType]
-            uris_labels = get_labels_for_uris(uri_list, "http://www.iiep.unesco.org/plan4learning/scheme/DocumentType", "fr", False)
+            uris_labels = get_labels_for_uris(uri_list, "http://www.iiep.unesco.org/plan4learning/scheme/DocumentType", lang, False)
             context['recordType_label'] = uris_labels[self.object.recordType]
         
         return context