src/p4l/views.py
changeset 20 fa466993084a
parent 17 b31a67614f76
child 24 3b1b0a9309d6
child 26 a0e152dd1fad
equal deleted inserted replaced
19:6b45fd23e4a0 20:fa466993084a
    58             raise AttributeError(u"Record view must be called uri GET parameter")
    58             raise AttributeError(u"Record view must be called uri GET parameter")
    59         return get_object_or_404(Record.objects.select_related("language"), uri=self.request.GET["uri"])
    59         return get_object_or_404(Record.objects.select_related("language"), uri=self.request.GET["uri"])
    60     
    60     
    61     def get_context_data(self, **kwargs):
    61     def get_context_data(self, **kwargs):
    62         context = DetailView.get_context_data(self, **kwargs)
    62         context = DetailView.get_context_data(self, **kwargs)
       
    63         # We get the language, "fr" by default
       
    64         lang = "fr"
       
    65         if "lang" in self.request.GET:
       
    66             lang = self.request.GET["lang"]
       
    67         elif hasattr(self.request, "LANGUAGE_CODE") and self.request.LANGUAGE_CODE in ["fr","en","es"]:
       
    68             lang = self.request.LANGUAGE_CODE
    63         # self.object is the record entry
    69         # self.object is the record entry
    64         # We get the subjects'labels with the Thesaurus repository
    70         # We get the subjects'labels with the Thesaurus repository
    65         uri_list = [s.uri for s in self.object.subjects.all()]
    71         uri_list = [s.uri for s in self.object.subjects.all()]
    66         uris_labels = get_labels_for_uris(uri_list, "http://skos.um.es/unescothes/CS000", "fr", False)
    72         uris_labels = get_labels_for_uris(uri_list, "http://skos.um.es/unescothes/CS000", lang, False)
    67         context['subjects_labels'] = uris_labels
    73         context['subjects_labels'] = uris_labels
    68         # We get the themes'labels with the Themes repository
    74         # We get the themes'labels with the Themes repository
    69         uri_list = [s.uri for s in self.object.themes.all()]
    75         uri_list = [s.uri for s in self.object.themes.all()]
    70         uris_labels = get_labels_for_uris(uri_list, "http://www.iiep.unesco.org/plan4learning/scheme/Themes", "fr", False)
    76         uris_labels = get_labels_for_uris(uri_list, "http://www.iiep.unesco.org/plan4learning/scheme/Themes", lang, False)
    71         context['themes_labels'] = uris_labels
    77         context['themes_labels'] = uris_labels
    72         # We get the countries'labels with the Thesaurus repository
    78         # We get the countries'labels with the Thesaurus repository
    73         uri_list = [s.uri for s in self.object.countries.all()]
    79         uri_list = [s.uri for s in self.object.countries.all()]
    74         uris_labels = get_labels_for_uris(uri_list, "http://skos.um.es/unescothes/CS000/Countries", "fr", False)
    80         uris_labels = get_labels_for_uris(uri_list, "http://skos.um.es/unescothes/CS000/Countries", lang, False)
    75         context['countries_labels'] = uris_labels
    81         context['countries_labels'] = uris_labels
    76         # We get the languages'labels with the Languages repository
    82         # We get the languages'labels with the Languages repository
    77         if self.object.language:
    83         if self.object.language:
    78             uri_list = [self.object.language.uri]
    84             uri_list = [self.object.language.uri]
    79             uris_labels = get_labels_for_uris(uri_list, "http://www.iiep.unesco.org/plan4learning/scheme/Languages", "fr", False)
    85             uris_labels = get_labels_for_uris(uri_list, "http://www.iiep.unesco.org/plan4learning/scheme/Languages", lang, False)
    80             context['language_label'] = uris_labels[self.object.language.uri]
    86             context['language_label'] = uris_labels[self.object.language.uri]
    81         # We get the other languages'labels with the Languages repository
    87         # We get the other languages'labels with the Languages repository
    82         uri_list = [s.uri for s in self.object.otherLanguages.all()]
    88         uri_list = [s.uri for s in self.object.otherLanguages.all()]
    83         uris_labels = get_labels_for_uris(uri_list, "http://www.iiep.unesco.org/plan4learning/scheme/Languages", "fr", False)
    89         uris_labels = get_labels_for_uris(uri_list, "http://www.iiep.unesco.org/plan4learning/scheme/Languages", lang, False)
    84         context['otherLanguages_labels'] = uris_labels
    90         context['otherLanguages_labels'] = uris_labels
    85         # We get the project'labels with the Projects repository
    91         # We get the project'labels with the Projects repository
    86         uri_list = [s.uri for s in self.object.projectNames.all()]
    92         uri_list = [s.uri for s in self.object.projectNames.all()]
    87         uris_labels = get_labels_for_uris(uri_list, "http://www.iiep.unesco.org/plan4learning/scheme/Projects", None, True)
    93         uris_labels = get_labels_for_uris(uri_list, "http://www.iiep.unesco.org/plan4learning/scheme/Projects", None, True)
    88         context['projects_labels'] = uris_labels
    94         context['projects_labels'] = uris_labels
    95         uris_labels = get_labels_for_uris(uri_list, "http://www.iiep.unesco.org/plan4learning/scheme/Organizations", None, True)
   101         uris_labels = get_labels_for_uris(uri_list, "http://www.iiep.unesco.org/plan4learning/scheme/Organizations", None, True)
    96         context['corporateAuthors_labels'] = uris_labels
   102         context['corporateAuthors_labels'] = uris_labels
    97         # We get the recordType'labels with the DocumentType repository
   103         # We get the recordType'labels with the DocumentType repository
    98         if self.object.recordType:
   104         if self.object.recordType:
    99             uri_list = [self.object.recordType]
   105             uri_list = [self.object.recordType]
   100             uris_labels = get_labels_for_uris(uri_list, "http://www.iiep.unesco.org/plan4learning/scheme/DocumentType", "fr", False)
   106             uris_labels = get_labels_for_uris(uri_list, "http://www.iiep.unesco.org/plan4learning/scheme/DocumentType", lang, False)
   101             context['recordType_label'] = uris_labels[self.object.recordType]
   107             context['recordType_label'] = uris_labels[self.object.recordType]
   102         
   108         
   103         return context
   109         return context
   104 
   110