updates for page management and property deletion and seeing individual page when model is switched

This commit is contained in:
hudajkhan 2013-10-04 15:40:55 -04:00
parent 8eaba019a6
commit 16ea16b9e7
6 changed files with 67 additions and 39 deletions

View file

@ -0,0 +1,10 @@
# $This file is distributed under the terms of the license in /doc/license.txt$
#Data getter type labels
<java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.ClassGroupPageData> rdfs:label "Class Group Page" .
<java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.BrowseDataGetter> rdfs:label "Browse Page" .
<java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.IndividualsForClassesDataGetter> rdfs:label "Class Group Page - Selected Classes" .
<java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter> rdfs:label "Sparql Query Results" .

View file

@ -1,5 +1,8 @@
# $This file is distributed under the terms of the license in /doc/license.txt$
# This file is for the portions of the pageList that should not be editable, i.e.
that it cannot be deleted and that it requires certain permissions #
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix display: <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@ -9,38 +12,6 @@
### This file defines the page list menu for vitro. ###
display:pageListPage
a display:Page ;
display:title "Pages" ;
display:urlMapping "/pageList" ;
display:requiresBodyTemplate "pageList.ftl" ;
display:hasDataGetter display:pageListData;
display:queryModel <vitro:requestDisplayModel> ;
display:requiresAction <java:edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission#ManageMenus> ;
display:cannotDeletePage "true" .
display:pageListData
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
display:queryModel <vitro:contextDisplayModel> ;
display:saveToVar "pages" ;
display:query """
PREFIX display: <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?listedPageUri ?listedPageTitle ?listedPageUrlMapping ?listedPageTemplate ?listedPageMenuItem ?listedPageCannotDeletePage
WHERE {
?listedPageUri a display:Page .
OPTIONAL{ ?listedPageUri display:urlMapping ?listedPageUrlMapping. }
OPTIONAL{ ?listedPageUri display:title ?listedPageTitle. }
OPTIONAL {?listedPageUri display:requiresBodyTemplate ?listedPageTemplate .}
OPTIONAL {?listedPageMenuItem display:toPage ?listedPageUri .}
OPTIONAL {?listedPageUri display:cannotDeletePage ?listedPageCannotDeletePage .}
} ORDER BY ?listedPageTitle """ .
###Page Management and Data Getters
#Data getter type labels
<java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.ClassGroupPageData> rdfs:label "Class Group Page" .
<java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.BrowseDataGetter> rdfs:label "Browse Page" .
<java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.IndividualsForClassesDataGetter> rdfs:label "Class Group Page - Selected Classes" .
<java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter> rdfs:label "Sparql Query Results" .
display:cannotDeletePage "true" .

View file

@ -0,0 +1,35 @@
# $This file is distributed under the terms of the license in /doc/license.txt$
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix display: <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix action: <java:edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission#> .
### This file defines the page list menu for vitro. These statements can be edited through the interface.###
display:pageListPage
a display:Page ;
display:title "Pages" ;
display:urlMapping "/pageList" ;
display:requiresBodyTemplate "pageList.ftl" ;
display:hasDataGetter display:pageListData.
display:pageListData
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
display:saveToVar "pages" ;
display:query """
PREFIX display: <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?listedPageUri ?listedPageTitle ?listedPageUrlMapping ?listedPageTemplate ?listedPageMenuItem ?listedPageCannotDeletePage
WHERE {
?listedPageUri a display:Page .
OPTIONAL{ ?listedPageUri display:urlMapping ?listedPageUrlMapping. }
OPTIONAL{ ?listedPageUri display:title ?listedPageTitle. }
OPTIONAL {?listedPageUri display:requiresBodyTemplate ?listedPageTemplate .}
OPTIONAL {?listedPageMenuItem display:toPage ?listedPageUri .}
OPTIONAL {?listedPageUri display:cannotDeletePage ?listedPageCannotDeletePage .}
} ORDER BY ?listedPageTitle """ .
###Page Management and Data Getters

View file

@ -20,6 +20,7 @@ import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.Red
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.TemplateResponseValues;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess.FactoryID;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.N3EditUtils;
@ -186,7 +187,7 @@ public class DeletePropertyController extends FreemarkerHttpServlet {
private void deleteObjectPropertyStatement(VitroRequest vreq) {
WebappDaoFactory wdf = vreq.getWebappDaoFactory();
String objectUri = EditConfigurationUtils.getObjectUri(vreq);
String objectUri = EditConfigurationUtils.getObjectUri(vreq);
String subjectUri = EditConfigurationUtils.getSubjectUri(vreq);
String predicateUri = EditConfigurationUtils.getPredicateUri(vreq);
//delete object property statement

View file

@ -181,6 +181,10 @@ public class GroupedPropertyList extends BaseTemplateModel {
// that gets applied to the request. This breaks blank node structures in the
// restrictions that determine applicable properties.
WebappDaoFactory wadf = ModelAccess.on(vreq.getSession().getServletContext()).getWebappDaoFactory();
//Allowing model switching for display model
if(vreq.getAttribute("specialWriteModel") != null) {
wadf = ModelAccess.on(vreq).getWebappDaoFactory();
}
PropertyInstanceDao piDao = wadf.getPropertyInstanceDao();
Collection<PropertyInstance> allPropInstColl = piDao

View file

@ -250,24 +250,31 @@ name will be used as the label. -->
<#if useEditLink>
<@editingLinks "label" "" label editable />
<#elseif editable || (languageCount > 1)>
<#--We display the link even when the user is not logged in case of multiple labels with different languages-->
<#--We display the link even when the user is not logged in case of multiple labels with different languages-->
<#assign labelLink = ""/>
<#-- Manage labels now goes to generator -->
<#assign individualUri = individual.uri!""/>
<#assign individualUri = (individualUri?url)/>
<#assign individualProfileUrl = individual.profileUrl />
<#assign profileParameters = individualProfileUrl?substring(individualProfileUrl?index_of("?") + 1)/>
<#assign extraParameters = ""/>
<#if profileParameters?contains("uri=")>
<#assign extraParameters = profileParameters?replace("uri=" + individualUri, "") />
</#if>
<#--IF there are special parameters, then get those-->
<#if editable>
<#assign imageAlt = "${i18n().manage}" />
<#assign linkTitle = "${i18n().manage_list_of_labels}">
<#assign labelLink= "${urls.base}/editRequestDispatch?subjectUri=${individualUri}&editForm=edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.ManageLabelsGenerator&predicateUri=${labelPropertyUri}">
<#assign labelLink= "${urls.base}/editRequestDispatch?subjectUri=${individualUri}&editForm=edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.ManageLabelsGenerator&predicateUri=${labelPropertyUri}${extraParameters}">
<#else>
<#assign linkTitle = "${i18n().view_list_of_labels}">
<#assign imageAlt = "${i18n().view}" />
<#assign labelLink= "${urls.base}/viewLabels?subjectUri=${individualUri}">
<#assign labelLink= "${urls.base}/viewLabels?subjectUri=${individualUri}${extraParameters}">
</#if>
<span class="inline">
<a class="add-label" href="${labelLink}"
title="${linkTitle}">
title="${linkTitle}">${individualProfileUrl} -> ${profileParameters} -> ${extraParameters}
<img class="add-individual" src="${urls.images}/individual/manage-icon.png" alt="${imageAlt}" /></a>
</span>
</#if>