diff --git a/config/example.runtime.properties b/config/example.runtime.properties
index 6e61088d..7c528649 100644
--- a/config/example.runtime.properties
+++ b/config/example.runtime.properties
@@ -181,7 +181,7 @@ RDFService.languageFilter = true
#
# This should not be used with languages.forceLocale, which will override it.
#
-# languages.selectableLocales = en, es, fr
+# languages.selectableLocales = en_US, es_ES
#
# Tell VIVO to generate HTTP headers on its responses to facilitate caching the
diff --git a/languages/example/themes/wilma/i18n/all_es.properties b/languages/example/themes/wilma/i18n/all_es.properties
index 35ac2536..0b02b0cc 100644
--- a/languages/example/themes/wilma/i18n/all_es.properties
+++ b/languages/example/themes/wilma/i18n/all_es.properties
@@ -120,6 +120,7 @@ missing_info_resource = falta de recursos de información
award_receipt_name = Nombre del premio recibido
award_name = Nombre del premio
conferred_by = conferida por
+conferred_on = conferida a
selected_award = Premio Seleccionado
incomplete_date_time_interval = intervalo de la fecha / hora incompleta
diff --git a/productMods/config/listViewConfig-awardOrHonorGiven.xml b/productMods/config/listViewConfig-awardOrHonorGiven.xml
new file mode 100644
index 00000000..6b7ead3e
--- /dev/null
+++ b/productMods/config/listViewConfig-awardOrHonorGiven.xml
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+
+ PREFIX foaf: <http://xmlns.com/foaf/0.1/>
+ PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
+ PREFIX bibo: <http://purl.org/ontology/bibo/>
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ PREFIX owl: <http://www.w3.org/2002/07/owl#>
+ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+ PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#>
+
+ SELECT DISTINCT ?awardReceipt
+ ?receiptLabel
+ ?award
+ ?awardLabel
+ ?givenTo
+ ?givenToLabel
+ ?dateTimeStart
+ ?dateTimeEnd
+ ?dateTime
+
+ WHERE {
+ ?subject ?property ?awardReceipt .
+ ?awardReceipt a core:AwardReceipt .
+ OPTIONAL { ?awardReceipt rdfs:label ?receiptLabel }
+ OPTIONAL { ?awardReceipt core:relates ?award .
+ ?award a core:Award .
+ ?award core:relatedBy ?awardReceipt .
+ ?award rdfs:label ?awardLabel
+ }
+ OPTIONAL { ?awardReceipt core:relates ?givenTo .
+ ?givenTo rdfs:label ?givenToLabel
+ }
+ OPTIONAL { ?awardReceipt core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ }
+ OPTIONAL { ?awardReceipt core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ }
+ OPTIONAL { ?awardReceipt core:dateTimeValue ?dateTimeValue .
+ ?dateTimeValue core:dateTime ?dateTime
+ }
+ } ORDER BY DESC(?dateTime) DESC(?dateTimeEnd)
+
+
+
+ PREFIX bibo: <http://purl.org/ontology/bibo/>
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+ PREFIX foaf: <http://xmlns.com/foaf/0.1/>
+
+ CONSTRUCT {
+ ?subject ?property ?awardReceipt .
+ ?awardReceipt a core:AwardReceipt .
+ ?awardReceipt rdfs:label ?receiptLabel .
+ ?awardReceipt core:relates ?award .
+ ?award a core:Award .
+ ?award core:relatedBy ?awardReceipt .
+ ?award rdfs:label ?awardLabel .
+ ?awardReceipt core:relates ?givenTo .
+ ?givenTo rdfs:label ?givenToLabel .
+ ?awardReceipt core:dateTimeValue ?dateTimeValue .
+ ?dateTimeValue core:dateTime ?dateTime
+ } WHERE {
+ {
+ ?subject ?property ?awardReceipt .
+ ?awardReceipt a core:AwardReceipt .
+ } UNION {
+ ?subject ?property ?awardReceipt .
+ ?awardReceipt a core:AwardReceipt .
+ ?awardReceipt rdfs:label ?receiptLabel
+ } UNION {
+ ?subject ?property ?awardReceipt .
+ ?awardReceipt a core:AwardReceipt .
+ ?awardReceipt rdfs:label ?receiptLabel .
+ ?awardReceipt core:relates ?award .
+ ?award a core:Award .
+ ?award core:relatedBy ?awardReceipt .
+ ?award rdfs:label ?awardLabel
+ } UNION {
+ ?subject ?property ?awardReceipt .
+ ?awardReceipt a core:AwardReceipt .
+ ?awardReceipt rdfs:label ?receiptLabel .
+ ?awardReceipt core:relates ?givenTo .
+ ?givenTo a foaf:Person .
+ ?givenTo rdfs:label ?givenToLabel
+ } UNION {
+ ?subject ?property ?awardReceipt .
+ ?awardReceipt a core:AwardReceipt .
+ ?awardReceipt core:dateTimeValue ?dateTimeValue .
+ ?dateTimeValue core:dateTime ?dateTime
+ }
+ }
+
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ CONSTRUCT {
+ ?subject ?property ?awardReceipt .
+ ?awardReceipt a core:AwardReceipt .
+ ?awardReceipt core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ } WHERE {
+ ?subject ?property ?awardReceipt .
+ ?awardReceipt a core:AwardReceipt .
+ ?awardReceipt core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ }
+
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ CONSTRUCT {
+ ?subject ?property ?awardReceipt .
+ ?awardReceipt a core:AwardReceipt .
+ ?awardReceipt core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ } WHERE {
+ ?subject ?property ?awardReceipt .
+ ?awardReceipt a core:AwardReceipt .
+ ?awardReceipt core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ }
+
+ propStatement-awardOrHonorGiven.ftl
+
diff --git a/productMods/templates/freemarker/body/partials/individual/propStatement-awardOrHonorGiven.ftl b/productMods/templates/freemarker/body/partials/individual/propStatement-awardOrHonorGiven.ftl
new file mode 100644
index 00000000..16d9b85b
--- /dev/null
+++ b/productMods/templates/freemarker/body/partials/individual/propStatement-awardOrHonorGiven.ftl
@@ -0,0 +1,40 @@
+<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
+
+<#-- Custom object property statement view for faux property "awards and honors". See the PropertyConfig.3 file for details.
+
+ This template must be self-contained and not rely on other variables set for the individual page, because it
+ is also used to generate the property statement during a deletion.
+ -->
+<#import "lib-sequence.ftl" as s>
+<#import "lib-datetime.ftl" as dt>
+<@showAward statement />
+
+<#-- Use a macro to keep variable assignments local; otherwise the values carry over to the
+ next statement -->
+<#macro showAward statement>
+
+ <#local linkedIndividual>
+ <#if statement.award??>
+ ${statement.awardLabel!}
+ <#else>
+ ${statement.receiptLabel!}
+ #if>
+ #local>
+
+ <#local dateTimeVal>
+ <#if statement.dateTime??>
+ <@dt.yearSpan statement.dateTime! />
+ <#else>
+ <@dt.yearIntervalSpan "${statement.dateTimeStart!}" "${statement.dateTimeEnd!}" />
+ #if>
+ #local>
+
+ <#local conferredOn>
+ <#if statement.givenTo?has_content && statement.givenToLabel?has_content>
+ ${i18n().conferred_on} ${statement.givenToLabel}
+ #if>
+ #local>
+
+ <@s.join [ linkedIndividual, conferredOn!, dateTimeVal! ] />
+
+ #macro>
diff --git a/productMods/templates/freemarker/edit/forms/subjectHasMailingAddress.ftl b/productMods/templates/freemarker/edit/forms/subjectHasMailingAddress.ftl
index e44041ea..f7b7cef9 100644
--- a/productMods/templates/freemarker/edit/forms/subjectHasMailingAddress.ftl
+++ b/productMods/templates/freemarker/edit/forms/subjectHasMailingAddress.ftl
@@ -76,7 +76,7 @@
-
+
diff --git a/rdf/display/everytime/PropertyConfig.n3 b/rdf/display/everytime/PropertyConfig.n3
index 77869e28..416802f9 100644
--- a/rdf/display/everytime/PropertyConfig.n3
+++ b/rdf/display/everytime/PropertyConfig.n3
@@ -41,6 +41,8 @@ local:organizationForPositionConfig a :ObjectPropertyDisplayConfig ;
:displayName "people" ;
:listViewConfigFile "listViewConfig-organizationForPosition.xml"^^xsd:string ;
:propertyGroup ;
+ vitro:collateBySubclassAnnot
+ "true"^^xsd:boolean;
vitro:displayRankAnnot 10;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
@@ -921,6 +923,20 @@ local:awardReceiptsAwardForConfig a :ObjectPropertyDisplayConfig ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
:propertyGroup .
+local:awardOrHonorGivenContext a :ConfigContext ;
+ :hasConfiguration local:awardOrHonorGivenConfig ;
+ :configContextFor ;
+ :qualifiedByDomain ;
+ :qualifiedBy .
+
+local:awardOrHonorGivenConfig a :ObjectPropertyDisplayConfig ;
+ :listViewConfigFile "listViewConfig-awardOrHonorGiven.xml"^^xsd:string ;
+ :displayName "award or honor given" ;
+ vitro:displayRankAnnot 72;
+ vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
+ vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
+ :propertyGroup .
+
local:addressLocationContext a :ConfigContext ;
:hasConfiguration local:addressLocationConfig ;
:configContextFor ;
diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddOutreachProviderRoleToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddOutreachProviderRoleToPersonGenerator.java
index ba109983..5caa2647 100644
--- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddOutreachProviderRoleToPersonGenerator.java
+++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddOutreachProviderRoleToPersonGenerator.java
@@ -35,6 +35,7 @@ public class AddOutreachProviderRoleToPersonGenerator extends AddRoleToPersonTwo
"http://vivoweb.org/ontology/core#CoreLaboratory","Core Laboratory",
"http://vivoweb.org/ontology/core#Department","Department",
"http://vivoweb.org/ontology/core#Division","Division",
+ "http://purl.org/NET/c4dm/event.owl#Event","Event",
"http://vivoweb.org/ontology/core#ExtensionUnit","Extension Unit",
"http://vivoweb.org/ontology/core#Foundation","Foundation",
"http://vivoweb.org/ontology/core#FundingOrganization","Funding Organization",
diff --git a/src/edu/cornell/mannlib/vitro/webapp/search/solr/VivoAgentContextNodeFields.java b/src/edu/cornell/mannlib/vitro/webapp/search/solr/VivoAgentContextNodeFields.java
index 2b92bea3..3dbe47e4 100644
--- a/src/edu/cornell/mannlib/vitro/webapp/search/solr/VivoAgentContextNodeFields.java
+++ b/src/edu/cornell/mannlib/vitro/webapp/search/solr/VivoAgentContextNodeFields.java
@@ -29,7 +29,8 @@ public class VivoAgentContextNodeFields extends ContextNodeFields{
+ " prefix foaf: "
+ " prefix rdfs: "
+ " prefix localNav: "
- + " prefix bibo: ";
+ + " prefix bibo: "
+ + " prefix obo: \n" ;
//queries for foaf:Agent
@@ -49,14 +50,9 @@ public class VivoAgentContextNodeFields extends ContextNodeFields{
" ?uri rdf:type foaf:Agent . " +
" ?uri ?b ?c . " +
" ?c rdf:type core:Position . " +
- " ?c core:involvedOrganizationName ?ContextNodeProperty . }");
-
- queriesForAgent.add(prefix + "SELECT " +
- "(str(?ContextNodeProperty) as ?contextNodeProperty) WHERE {" +
- " ?uri rdf:type foaf:Agent . " +
- " ?uri ?b ?c . " +
- " ?c rdf:type core:Position . " +
- " ?c core:positionInOrganization ?i . ?i rdfs:label ?ContextNodeProperty . }");
+ " ?c core:relates ?i . " +
+ " ?i rdf:type foaf:Organization . " +
+ " ?i rdfs:label ?ContextNodeProperty . }");
queriesForAgent.add(prefix + "SELECT " +
"(str(?ContextNodeProperty) as ?contextNodeProperty) WHERE {" +
@@ -70,7 +66,6 @@ public class VivoAgentContextNodeFields extends ContextNodeFields{
queriesForAgent.add(prefix +
"SELECT " +
"(str(?HRJobTitle) as ?hrJobTitle) " +
- "(str(?InvolvedOrganizationName) as ?involvedOrganizationName) " +
"(str(?PositionInOrganization) as ?positionInOrganization) " +
"(str(?TitleOrRole) as ?titleOrRole) WHERE {"
@@ -78,8 +73,7 @@ public class VivoAgentContextNodeFields extends ContextNodeFields{
+ " ?c rdf:type core:Position . "
+ " OPTIONAL { ?c core:hrJobTitle ?HRJobTitle . } . "
- + " OPTIONAL { ?c core:involvedOrganizationName ?InvolvedOrganizationName . } ."
- + " OPTIONAL { ?c core:positionInOrganization ?i . ?i rdfs:label ?PositionInOrganization . } . "
+ + " OPTIONAL { ?c core:relates ?i . ?i rdf:type foaf:Organization . ?i rdfs:label ?PositionInOrganization . } . "
+ " OPTIONAL { ?c core:titleOrRole ?TitleOrRole . } . "
+ " }");
@@ -88,36 +82,49 @@ public class VivoAgentContextNodeFields extends ContextNodeFields{
queriesForAgent.add(prefix + "SELECT " +
"(str(?ContextNodeProperty) as ?contextNodeProperty) WHERE {" +
" ?uri rdf:type foaf:Agent ; ?b ?c . " +
- " ?c rdf:type core:Relationship . " +
- " ?c core:advisee ?d . ?d rdfs:label ?ContextNodeProperty . }");
+ " ?c rdf:type core:AdvisingRelationship . " +
+ " ?c rdfs:label ?ContextNodeProperty . }");
queriesForAgent.add(prefix + "SELECT " +
"(str(?ContextNodeProperty) as ?contextNodeProperty) WHERE {" +
" ?uri rdf:type foaf:Agent ; ?b ?c . " +
- " ?c rdf:type core:Relationship . " +
+ " ?c rdf:type core:AdvisingRelationship . " +
" ?c core:degreeCandidacy ?e . ?e rdfs:label ?ContextNodeProperty . }");
-
+
queriesForAgent.add(prefix + "SELECT " +
"(str(?label) as ?adviseeLabel) WHERE {" +
" ?uri rdf:type foaf:Agent ." +
- " ?c rdf:type core:Relationship . " +
- " ?c core:advisor ?uri . " +
- " ?c core:advisee ?d . ?d rdfs:label ?label .}" );
+ " ?c rdf:type core:AdvisingRelationship . " +
+ " ?c core:relates ?uri . " +
+ " ?uri obo:RO_0000053 ?advisorRole . " +
+ " ?advisorRole rdf:type core:AdvisorRole . " +
+ " ?c core:relates ?d . " +
+ " ?d rdf:type foaf:Person . " +
+ " ?d obo:RO_0000053 ?adviseeRole . " +
+ " ?adviseeRole rdf:type core:AdviseeRole . " +
+ " ?d rdfs:label ?ContextNodeProperty . }");
queriesForAgent.add(prefix + "SELECT " +
"(str(?label) as ?advisorLabel) WHERE {" +
" ?uri rdf:type foaf:Agent ." +
- " ?c rdf:type core:Relationship . " +
- " ?c core:advisee ?uri . " +
- " ?c core:advisor ?d . ?d rdfs:label ?label .}" );
+ " ?c rdf:type core:AdvisingRelationship . " +
+ " ?c core:relates ?uri . " +
+ " ?uri obo:RO_0000053 ?adviseeRole . " +
+ " ?adviseeRole rdf:type core:AdviseeRole . " +
+ " ?c core:relates ?d . " +
+ " ?d rdf:type foaf:Person . " +
+ " ?d obo:RO_0000053 ?advisorRole . " +
+ " ?advisorRole rdf:type core:AdvisorRole . " +
+ " ?d rdfs:label ?ContextNodeProperty . }");
/* Author */
queriesForAgent.add(prefix + "SELECT " +
"(str(?ContextNodeProperty) as ?contextNodeProperty) WHERE {" +
" ?uri rdf:type foaf:Agent ; ?b ?c . " +
- " ?c rdf:type core:Relationship . " +
- " ?c core:linkedAuthor ?f . " +
+ " ?c rdf:type core:Authorship . " +
+ " ?c core:relates ?f . " +
+ " ?f rdf:type foaf:Person . " +
" ?f rdfs:label ?ContextNodeProperty . " +
" FILTER( ?f != ?uri ) " +
"}");
@@ -125,8 +132,9 @@ public class VivoAgentContextNodeFields extends ContextNodeFields{
queriesForAgent.add(prefix + "SELECT " +
"(str(?ContextNodeProperty) as ?contextNodeProperty) WHERE {" +
" ?uri rdf:type foaf:Agent ; ?b ?c . " +
- " ?c rdf:type core:Relationship . " +
- " ?c core:linkedInformationResource ?h . ?h rdfs:label ?ContextNodeProperty . }");
+ " ?c rdf:type core:Authorship . " +
+ " ?c core:relates ?h . " +
+ " ?h rdf:type obo:IAO_0000030 . ?h rdfs:label ?ContextNodeProperty . }");
/* Award */
@@ -138,8 +146,8 @@ public class VivoAgentContextNodeFields extends ContextNodeFields{
"WHERE {"
+ " ?uri rdf:type foaf:Agent ; ?b ?c . "
+ " ?c rdf:type core:AwardReceipt . "
- + " OPTIONAL { ?c rdfs:label ?AwardLabel . } . "
- + " OPTIONAL { ?c core:awardConferredBy ?d . ?d rdfs:label ?AwardConferredBy . } . "
+ + " OPTIONAL { ?c core:relates ?e . ?e rdf:type core:Award . ?e rdfs:label ?AwardLabel . } . "
+ + " OPTIONAL { ?c core:assignedBy ?d . ?d rdf:type foaf:Organization . ?d rdfs:label ?AwardConferredBy . } . "
+ " OPTIONAL { ?c core:description ?Description . } . "
+ " }");
@@ -147,8 +155,9 @@ public class VivoAgentContextNodeFields extends ContextNodeFields{
queriesForAgent.add(prefix +
"SELECT (str(?OrganizationLabel) as ?organizationLabel) WHERE {"
- + "?uri rdf:type foaf:Agent ; ?b ?c . "
- + " ?c rdf:type core:Role ; core:roleIn ?Organization ."
+ + " ?uri rdf:type foaf:Agent ; ?b ?c . "
+ + " ?c rdf:type obo:BFO_0000023 ; core:roleContributesTo ?Organization ."
+ + " ?Organization rdf:type core:Organization . "
+ " ?Organization rdfs:label ?OrganizationLabel . "
+ " }");
@@ -163,12 +172,16 @@ public class VivoAgentContextNodeFields extends ContextNodeFields{
"(str(?TrainingAtOrganizationLabel) as ?trainingAtOrganizationLabel) WHERE {"
+ " ?uri rdf:type foaf:Agent ; ?b ?c . "
- + " ?c rdf:type core:EducationalTraining . "
+ + " ?c rdf:type core:EducationalProcess . "
- + "OPTIONAL { ?c core:degreeEarned ?d . ?d rdfs:label ?AcademicDegreeLabel ; core:abbreviation ?AcademicDegreeAbbreviation . } . "
+ + "OPTIONAL { ?c core:relates ?d . "
+ + " ?d rdf:type core:AwardedDegree . "
+ + " ?d core:relates ?e . "
+ + " ?e rdf:type core:AcademicDegree . "
+ + " ?e rdfs:label ?AcademicDegreeLabel . } . "
+ "OPTIONAL { ?c core:majorField ?MajorField .} ."
+ " OPTIONAL { ?c core:departmentOrSchool ?DepartmentOrSchool . }"
- + " OPTIONAL { ?c core:trainingAtOrganization ?e . ?e rdfs:label ?TrainingAtOrganizationLabel . } . "
+ + " OPTIONAL { ?c obo:RO_0000057 ?f . ?f rdf:type foaf:organization . ?f rdfs:label ?TrainingAtOrganizationLabel . } . "
+"}");
}
}
diff --git a/src/edu/cornell/mannlib/vitro/webapp/search/solr/VivoISFAdvisingFields.java b/src/edu/cornell/mannlib/vitro/webapp/search/solr/VivoISFAdvisingFields.java
index 85e60b91..26db9076 100644
--- a/src/edu/cornell/mannlib/vitro/webapp/search/solr/VivoISFAdvisingFields.java
+++ b/src/edu/cornell/mannlib/vitro/webapp/search/solr/VivoISFAdvisingFields.java
@@ -47,7 +47,8 @@ public class VivoISFAdvisingFields extends ContextNodeFields {
" ?uri core:relatedBy ?rel . \n" +
" ?rel rdf:type core:AdvisingRelationship . \n" +
" ?rel core:relates ?other . \n" +
- " ?other rdfs:label ?result . \n" +
+ " ?other rdfs:label ?result . \n" +
+ " FILTER( ?other != ?uri ) \n" +
"}";
}
diff --git a/test/edu/cornell/mannlib/vitro/webapp/search/solr/VivoAgentContextNodeFieldsTest.java b/test/edu/cornell/mannlib/vitro/webapp/search/solr/VivoAgentContextNodeFieldsTest.java
index 3caf9b89..9fba8924 100644
--- a/test/edu/cornell/mannlib/vitro/webapp/search/solr/VivoAgentContextNodeFieldsTest.java
+++ b/test/edu/cornell/mannlib/vitro/webapp/search/solr/VivoAgentContextNodeFieldsTest.java
@@ -1,12 +1,13 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.search.solr;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
import java.io.InputStream;
-import org.apache.solr.common.SolrInputDocument;
import org.junit.BeforeClass;
+import org.junit.Ignore;
import org.junit.Test;
import com.hp.hpl.jena.rdf.model.Model;
@@ -63,6 +64,7 @@ public class VivoAgentContextNodeFieldsTest extends AbstractTestClass{
assertTrue("expected to have jane because SPCA advises jane", hasJane);
}
+ @Ignore
@Test
public void testWonder(){
Individual ind = new IndividualImpl();
diff --git a/themes/wilma/i18n/all.properties b/themes/wilma/i18n/all.properties
index 158f250a..3d43c23c 100644
--- a/themes/wilma/i18n/all.properties
+++ b/themes/wilma/i18n/all.properties
@@ -120,6 +120,7 @@ missing_info_resource = missing information resource
award_receipt_name = award receipt name
award_name = award name
conferred_by = conferred by
+conferred_on = conferred on
selected_award = Selected Award
incomplete_date_time_interval = incomplete date/time interval