--- a/src/p4l/settings.py Tue Sep 10 10:57:45 2013 +0200
+++ b/src/p4l/settings.py Tue Sep 10 12:14:52 2013 +0200
@@ -185,10 +185,10 @@
?uri a skos:Concept.
?uri skos:inScheme <http://skos.um.es/unescothes/CS000> .
?uri skos:prefLabel ?label.
- FILTER (lang(?label) = ?language).
+ FILTER (lang(?label) = %s).
?uri skos:prefLabel ?lab.
FILTER regex (str(?lab), ?reg, 'i').
- FILTER (lang (?lab) = ?language).
+ FILTER (lang (?lab) = %s).
BIND (STRLEN(STRBEFORE (str(?lab), ?reg)) AS ?place).
BIND (STRLEN(STR(?lab)) AS ?len)
}
@@ -204,7 +204,7 @@
?uri a skos:Collection ;
skos:inScheme <http://skos.um.es/unescothes/CS000> ;
skos:prefLabel|rdfs:label ?label .
- FILTER (lang(?label) = ?language).
+ FILTER (lang(?label) = %s).
FILTER NOT EXISTS { [skos:member ?uri] }
}
""",
@@ -220,7 +220,7 @@
FILTER (?type = skos:Collection || ?type = skos:Concept) }.
?root skos:narrower|skos:member ?uri.
?uri skos:prefLabel|rdfs:label ?label.
- FILTER (lang(?label) = ?language).
+ FILTER (lang(?label) = %s).
}
""",
"child-count" : """
@@ -246,10 +246,10 @@
?uri a skos:Concept.
?uri skos:inScheme <http://www.iiep.unesco.org/plan4learning/scheme/Themes> .
?uri skos:prefLabel ?label.
- FILTER (lang(?label) = ?language).
+ FILTER (lang(?label) = %s).
?uri skos:prefLabel ?lab.
FILTER regex (str(?lab), ?reg, 'i').
- FILTER (lang (?lab) = ?language).
+ FILTER (lang (?lab) = %s).
BIND (STRLEN(STRBEFORE (str(?lab), ?reg)) AS ?place).
BIND (STRLEN(STR(?lab)) AS ?len)
}
@@ -265,7 +265,7 @@
?uri a skos:Concept ;
skos:inScheme <http://www.iiep.unesco.org/plan4learning/scheme/Themes> ;
skos:prefLabel ?label .
- FILTER (lang(?label) = ?language).
+ FILTER (lang(?label) = %s).
FILTER NOT EXISTS { [skos:narrower ?uri] }
}
""",
@@ -281,7 +281,7 @@
FILTER (?type = skos:Collection || ?type = skos:Concept) }.
?root skos:narrower|skos:member ?uri.
?uri skos:prefLabel|rdfs:label ?label.
- FILTER (lang(?label) = ?language).
+ FILTER (lang(?label) = %s).
}
""",
'child-count' : """
--- a/src/p4l/static/p4l/js/p4l.js Tue Sep 10 10:57:45 2013 +0200
+++ b/src/p4l/static/p4l/js/p4l.js Tue Sep 10 12:14:52 2013 +0200
@@ -115,7 +115,7 @@
});
-app.directive('addSemUri', function(RecordModel, context){
+app.directive('addSemUri', function(RecordModel, context, $timeout){
return {
restrict: 'E',
replace: true,
@@ -136,10 +136,12 @@
}
}
// initalize autocomplete and browse thesaurus events
- init_autocomplete();
- // We have to apply because init_browse needs the real ids and not {{ $id }}
- $scope.$apply();
- init_browse();
+ // We have to timeout because init_browse needs the real ids and not {{ $id }}
+ // NB : scope.apply generates bug
+ $timeout(function(){
+ init_autocomplete();
+ init_browse();
+ }, 0);
},
controller: function($scope, $element, $attrs, $transclude, RecordModel){
$scope.record = RecordModel.record;
@@ -150,6 +152,12 @@
$scope.list.push($scope.addUriText);
$scope.addUriText = '';
};
+ $scope.removeFromList = function(obj) {
+ var i = $scope.list.indexOf(obj);
+ if(i>=0){
+ $scope.list.splice(i, 1);
+ }
+ }
$scope.updateUriLabelDict = function(k,v) {
$scope.uriLabels[k] = v;
--- a/src/p4l/static/p4l/templates/addSemanticUriForm.html Tue Sep 10 10:57:45 2013 +0200
+++ b/src/p4l/static/p4l/templates/addSemanticUriForm.html Tue Sep 10 12:14:52 2013 +0200
@@ -1,6 +1,6 @@
<div>
<ul>
- <li ng-repeat="item in list">{{uriLabels[item]}} <small class="text-muted">({{item}})</small> <a ng-click='removeFromList(item, list)' class="btn btn-default btn-xs"><i class="glyphicon glyphicon-trash"></i></a></li>
+ <li ng-repeat="item in list">{{uriLabels[item]}} <small class="text-muted">({{item}})</small> <a ng-click='removeFromList(item)' class="btn btn-default btn-xs"><i class="glyphicon glyphicon-trash"></i></a></li>
</ul>
<form class="form-inline" role="form">
<div class="form-group col-md-8">
--- a/src/p4l/views.py Tue Sep 10 10:57:45 2013 +0200
+++ b/src/p4l/views.py Tue Sep 10 12:14:52 2013 +0200
@@ -125,19 +125,21 @@
uri_labels.update(get_labels_for_uris([self.object.recordType] if self.object.recordType else [], "http://www.iiep.unesco.org/plan4learning/scheme/DocumentType", lang, False))
context['uri_labels'] = json.dumps(uri_labels)
+ # lang must be like "XX" in the sparql request
+ lang = '"' + lang + '"'
query_dicts = {
'subjects': {
'dataurl': settings.SPARQL_QUERY_ENDPOINT,
- 'dataquery': settings.SPARQL_SUBJECT_QUERIES["filter"],
- 'datarootquery': settings.SPARQL_SUBJECT_QUERIES["root"],
- 'datachildsquery': settings.SPARQL_SUBJECT_QUERIES["childs"],
+ 'dataquery': settings.SPARQL_SUBJECT_QUERIES["filter"] % (lang, lang),
+ 'datarootquery': settings.SPARQL_SUBJECT_QUERIES["root"] % lang,
+ 'datachildsquery': settings.SPARQL_SUBJECT_QUERIES["childs"] % lang,
'datachildcountquery': settings.SPARQL_SUBJECT_QUERIES["child-count"]
},
'themes' : {
'dataurl': settings.SPARQL_QUERY_ENDPOINT,
- 'dataquery': settings.SPARQL_THEME_QUERIES["filter"],
- 'datarootquery': settings.SPARQL_THEME_QUERIES["root"],
- 'datachildsquery': settings.SPARQL_THEME_QUERIES["childs"],
+ 'dataquery': settings.SPARQL_THEME_QUERIES["filter"] % (lang, lang),
+ 'datarootquery': settings.SPARQL_THEME_QUERIES["root"] % lang,
+ 'datachildsquery': settings.SPARQL_THEME_QUERIES["childs"] % lang,
'datachildcountquery': settings.SPARQL_THEME_QUERIES["child-count"]
}
}