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 + + <#local dateTime> + <#if statement.startDateOnly == "true"> + <@dt.yearSpan statement.dateTimeStart! /> + <#else> + <@dt.yearIntervalSpan "${statement.dateTimeStart!}" "${statement.dateTimeEnd!}" /> + + - ${linkedIndividual} ${statement.roleLabel!} <@dt.yearIntervalSpan "${statement.dateTimeStart!}" "${statement.dateTimeEnd!}" /> + ${linkedIndividual} ${statement.roleLabel!} ${dateTime!} \ No newline at end of file