diff --git a/productMods/config/listViewConfig-hasRole.xml b/productMods/config/listViewConfig-hasRole.xml
index 66862246..1a16b704 100644
--- a/productMods/config/listViewConfig-hasRole.xml
+++ b/productMods/config/listViewConfig-hasRole.xml
@@ -11,10 +11,15 @@
SELECT DISTINCT ?subclass
?role
+ ?startDateOnly
?roleLabel
?activity ?activityName
?dateTimeStart ?dateTimeEnd WHERE {
+
?subject ?property ?role
+
+ LET (?startDateOnly := (?property = core:hasPresenterRole) )
+
OPTIONAL { ?role core:roleIn ?activity .
?activity rdfs:label ?activityName
}
diff --git a/productMods/templates/freemarker/body/partials/individual/propStatement-hasRole.ftl b/productMods/templates/freemarker/body/partials/individual/propStatement-hasRole.ftl
index fb19fc5a..94151f16 100644
--- a/productMods/templates/freemarker/body/partials/individual/propStatement-hasRole.ftl
+++ b/productMods/templates/freemarker/body/partials/individual/propStatement-hasRole.ftl
@@ -10,7 +10,6 @@
<#-- Use a macro to keep variable assignments local; otherwise the values carry over to the
next statement -->
<#macro showRole statement>
-
<#local linkedIndividual>
<#if statement.activity??>
${statement.activityLabel!statement.activityName}
@@ -19,7 +18,15 @@
missing activity
#if>
#local>
+
+ <#local dateTime>
+ <#if statement.startDateOnly == "true">
+ <@dt.yearSpan statement.dateTimeStart! />
+ <#else>
+ <@dt.yearIntervalSpan "${statement.dateTimeStart!}" "${statement.dateTimeEnd!}" />
+ #if>
+ #local>
- ${linkedIndividual} ${statement.roleLabel!} <@dt.yearIntervalSpan "${statement.dateTimeStart!}" "${statement.dateTimeEnd!}" />
+ ${linkedIndividual} ${statement.roleLabel!} ${dateTime!}
#macro>
\ No newline at end of file