diff --git a/webapp/rdf/display/everytime/dataGetterLabels.n3 b/webapp/rdf/display/everytime/dataGetterLabels.n3 new file mode 100644 index 000000000..b51f4a978 --- /dev/null +++ b/webapp/rdf/display/everytime/dataGetterLabels.n3 @@ -0,0 +1,10 @@ +# $This file is distributed under the terms of the license in /doc/license.txt$ + +#Data getter type labels + rdfs:label "Class Group Page" . + rdfs:label "Browse Page" . + rdfs:label "Class Group Page - Selected Classes" . + rdfs:label "Sparql Query Results" . + + + \ No newline at end of file diff --git a/webapp/rdf/display/everytime/pageList.n3 b/webapp/rdf/display/everytime/pageList.n3 index 6c2301851..4d12e80c6 100644 --- a/webapp/rdf/display/everytime/pageList.n3 +++ b/webapp/rdf/display/everytime/pageList.n3 @@ -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: . @prefix display: . @prefix rdf: . @@ -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 ; display:requiresAction ; - display:cannotDeletePage "true" . - -display:pageListData - a ; - display:queryModel ; - display:saveToVar "pages" ; - - display:query """ - PREFIX display: - PREFIX rdfs: - 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 - rdfs:label "Class Group Page" . - rdfs:label "Browse Page" . - rdfs:label "Class Group Page - Selected Classes" . - rdfs:label "Sparql Query Results" . - - - \ No newline at end of file + display:cannotDeletePage "true" . \ No newline at end of file diff --git a/webapp/rdf/display/firsttime/pageList_editableStatements.n3 b/webapp/rdf/display/firsttime/pageList_editableStatements.n3 new file mode 100644 index 000000000..8ad74fa87 --- /dev/null +++ b/webapp/rdf/display/firsttime/pageList_editableStatements.n3 @@ -0,0 +1,35 @@ +# $This file is distributed under the terms of the license in /doc/license.txt$ + +@prefix owl: . +@prefix display: . +@prefix rdf: . +@prefix rdfs: . +@prefix action: . + +### 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 ; + display:saveToVar "pages" ; + display:query """ + PREFIX display: + PREFIX rdfs: + 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 + + \ No newline at end of file diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/DeletePropertyController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/DeletePropertyController.java index b1aca2123..424986cd6 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/DeletePropertyController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/DeletePropertyController.java @@ -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 diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java index 4ee0d14a7..ec3f5bf69 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java @@ -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 allPropInstColl = piDao diff --git a/webapp/web/templates/freemarker/lib/lib-properties.ftl b/webapp/web/templates/freemarker/lib/lib-properties.ftl index 3034fba7c..06cd3b250 100644 --- a/webapp/web/templates/freemarker/lib/lib-properties.ftl +++ b/webapp/web/templates/freemarker/lib/lib-properties.ftl @@ -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 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}"> + title="${linkTitle}">${individualProfileUrl} -> ${profileParameters} -> ${extraParameters} ${imageAlt}