# HG changeset patch # User cavaliet # Date 1378808092 -7200 # Node ID da37c87abbfb410c31590789d19aa085029fe4d8 # Parent a0ef3043b1d27bf2c34d0894c3622bb6d9064af1 enhance add sem directive diff -r a0ef3043b1d2 -r da37c87abbfb src/p4l/settings.py --- 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 . ?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 ; 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 . ?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 ; 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' : """ diff -r a0ef3043b1d2 -r da37c87abbfb src/p4l/static/p4l/js/p4l.js --- 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; diff -r a0ef3043b1d2 -r da37c87abbfb src/p4l/static/p4l/templates/addSemanticUriForm.html --- 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 @@
    -
  • {{uriLabels[item]}} ({{item}})
  • +
  • {{uriLabels[item]}} ({{item}})
diff -r a0ef3043b1d2 -r da37c87abbfb src/p4l/views.py --- 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"] } }