diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java index 9de79dbcb..9c6a21fec 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java @@ -84,4 +84,13 @@ public class DataPropertyTemplateModel extends PropertyTemplateModel { return statements; } + public DataPropertyStatementTemplateModel getFirst() { + return ( (statements == null || statements.isEmpty()) ) ? null : statements.get(0); + } + + public String getFirstValue() { + DataPropertyStatementTemplateModel first = getFirst(); + return first == null ? null : first.getValue(); + } + } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/UncollatedObjectPropertyTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/UncollatedObjectPropertyTemplateModel.java index ec4671452..4e72ca0a6 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/UncollatedObjectPropertyTemplateModel.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/UncollatedObjectPropertyTemplateModel.java @@ -65,4 +65,8 @@ public class UncollatedObjectPropertyTemplateModel extends ObjectPropertyTemplat public boolean isCollatedBySubclass() { return false; } + + public ObjectPropertyStatementTemplateModel getFirst() { + return ( (statements == null || statements.isEmpty()) ) ? null : statements.get(0); + } } diff --git a/webapp/web/config/listViewConfig-default.xml b/webapp/web/config/listViewConfig-default.xml index e15256429..1cc38e5e5 100644 --- a/webapp/web/config/listViewConfig-default.xml +++ b/webapp/web/config/listViewConfig-default.xml @@ -14,7 +14,7 @@ ?subject ?property ?object OPTIONAL { ?object rdfs:label ?name } OPTIONAL { ?object vitro:moniker ?moniker } - } + } ORDER BY ?name ?object @@ -28,7 +28,7 @@ OPTIONAL { ?object rdfs:label ?name } OPTIONAL { ?object vitro:moniker ?moniker } FILTER ( afn:namespace(?subclass) != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" ) - } ORDER BY ?subclass + } ORDER BY ?subclass ?name ?object diff --git a/webapp/web/templates/freemarker/body/partials/individual/lib-properties.ftl b/webapp/web/templates/freemarker/body/partials/individual/lib-properties.ftl index ced1886b2..5ff1e501f 100644 --- a/webapp/web/templates/freemarker/body/partials/individual/lib-properties.ftl +++ b/webapp/web/templates/freemarker/body/partials/individual/lib-properties.ftl @@ -180,7 +180,7 @@ name will be used as the label. --> If there's a mainImage statement but no thumbnail image, treat it as if there is no image. --> <#if (mainImage.statements)?has_content && thumbUrl?has_content> ${individual.name} - <@p.editingLinks "${mainImage.localName}" mainImage.statements[0] editable /> + <@p.editingLinks "${mainImage.localName}" mainImage.first editable /> <#else> <#local imageLabel><@p.addLinkWithLabel mainImage editable "Photo" /> ${imageLabel}