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 |