diff --git a/productMods/config/listViewConfig-informationResourceInAuthorship.xml b/productMods/config/listViewConfig-informationResourceInAuthorship.xml
index d02b328a..9934aa97 100644
--- a/productMods/config/listViewConfig-informationResourceInAuthorship.xml
+++ b/productMods/config/listViewConfig-informationResourceInAuthorship.xml
@@ -13,25 +13,25 @@
SELECT DISTINCT ?subclass
?authorship
- ?person ?personName
+ ?author ?authorName
WHERE {
?subject ?property ?authorship .
OPTIONAL { ?authorship core:rank ?rank }
- OPTIONAL { ?authorship core:relates ?person .
- ?person a foaf:Person .
- ?person rdfs:label ?personName
+ OPTIONAL { ?authorship core:relates ?author .
+ ?author a foaf:Agent .
+ ?author rdfs:label ?authorName
- OPTIONAL { ?authorship core:relates ?person .
- ?person a foaf:Person .
- ?person vitro:mostSpecificType ?subclass .
- ?subclass rdfs:subClassOf foaf:Person
+ OPTIONAL { ?authorship core:relates ?author .
+ ?author a foaf:Agent .
+ ?author vitro:mostSpecificType ?subclass .
+ ?subclass rdfs:subClassOf foaf:Agent
}
}
- FILTER ( bound(?person) )
+ FILTER ( bound(?author) )
- } ORDER BY ?subclass ?rank ?personName
+ } ORDER BY ?subclass ?rank ?authorName
@@ -43,11 +43,11 @@
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship ?authorshipProperty ?authorshipValue .
- ?authorship core:relates ?person .
- ?person a foaf:Person .
- ?person rdfs:label ?personName .
- ?person vitro:mostSpecificType ?subclass .
- ?subclass rdfs:subClassOf foaf:Person
+ ?authorship core:relates ?author .
+ ?author a foaf:Agent .
+ ?author rdfs:label ?authorName .
+ ?author vitro:mostSpecificType ?subclass .
+ ?subclass rdfs:subClassOf foaf:Agent
} WHERE {
{
?subject ?property ?authorship .
@@ -59,17 +59,17 @@
} UNION {
?subject ?property ?authorship .
?authorship a core:Authorship .
- ?authorship core:relates ?person .
- ?person a foaf:Person .
- ?person rdfs:label ?personName
+ ?authorship core:relates ?author .
+ ?author a foaf:Agent .
+ ?author rdfs:label ?authorName
} UNION {
?subject ?property ?authorship .
?authorship a core:Authorship .
- ?authorship core:relates ?person .
- ?person a foaf:Person .
- ?person rdfs:label ?personName .
- ?person vitro:mostSpecificType ?subclass .
- ?subclass rdfs:subClassOf foaf:Person
+ ?authorship core:relates ?author .
+ ?author a foaf:Agent .
+ ?author rdfs:label ?authorName .
+ ?author vitro:mostSpecificType ?subclass .
+ ?subclass rdfs:subClassOf foaf:Agent
}
}
diff --git a/productMods/config/listViewConfig-organizationForTraining.xml b/productMods/config/listViewConfig-organizationForTraining.xml
index 9530b30c..f3ac27b8 100644
--- a/productMods/config/listViewConfig-organizationForTraining.xml
+++ b/productMods/config/listViewConfig-organizationForTraining.xml
@@ -164,34 +164,34 @@
- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
- PREFIX core: <http://vivoweb.org/ontology/core#>
-
- CONSTRUCT {
- ?dateTimeInterval core:start ?dateTimeStartValue .
- ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ CONSTRUCT {
+ ?subject ?property ?edTraining .
+ ?leaderRole core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
} WHERE {
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .
- ?edTraining core:dateTimeInterval ?dateTimeInterval .
- ?dateTimeInterval core:start ?dateTimeStartValue .
- ?dateTimeStartValue core:dateTime ?dateTimeStart .
- }
+ ?leaderRole core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ }
- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
- PREFIX core: <http://vivoweb.org/ontology/core#>
-
- CONSTRUCT {
- ?dateTimeInterval core:end ?dateTimeEndValue .
- ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ CONSTRUCT {
+ ?subject ?property ?edTraining .
+ ?leaderRole core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeEnd
} WHERE {
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .
- ?edTraining core:dateTimeInterval ?dateTimeInterval .
- ?dateTimeInterval core:end ?dateTimeEndValue .
- ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ ?leaderRole core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeEnd
}
diff --git a/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl b/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl
index f756c881..783105ff 100644
--- a/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl
+++ b/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl
@@ -62,7 +62,7 @@
#if>
<#list title.statements as statement>
${statement.preferredTitle}
- <@p.editingLinks "${title.localName}" "${title.name}" statement editable />
+ <@p.editingLinks "${title.localName}" "${title.name}" statement editable title.rangeUri />
#list>
#if>
<#-- If preferredTitle is unpopulated, display mostSpecificTypes -->
diff --git a/productMods/templates/freemarker/body/individual/individual--foaf-person-quickview.ftl b/productMods/templates/freemarker/body/individual/individual--foaf-person-quickview.ftl
index 010c2e75..4ac95fce 100644
--- a/productMods/templates/freemarker/body/individual/individual--foaf-person-quickview.ftl
+++ b/productMods/templates/freemarker/body/individual/individual--foaf-person-quickview.ftl
@@ -78,7 +78,7 @@
${statement.preferredTitle}
<#else>
${statement.preferredTitle}
- <@p.editingLinks "${title.localName}" "${title.name}" statement editable />
+ <@p.editingLinks "${title.localName}" "${title.name}" statement editable title.rangeUri />
#if>
#list>
#if>
diff --git a/productMods/templates/freemarker/body/partials/individual/individual-contactInfo-2column.ftl b/productMods/templates/freemarker/body/partials/individual/individual-contactInfo-2column.ftl
index 5a02ac66..19540597 100644
--- a/productMods/templates/freemarker/body/partials/individual/individual-contactInfo-2column.ftl
+++ b/productMods/templates/freemarker/body/partials/individual/individual-contactInfo-2column.ftl
@@ -40,7 +40,7 @@
<#list phone.statements as statement>
style="padding-left:10px;"#if>>
${statement.number!}
- <@p.editingLinks "${phone.localName}" "${phone.name}" statement editable />
+ <@p.editingLinks "${phone.localName}" "${phone.name}" statement editable phone.rangeUri />
#list>
@@ -66,7 +66,7 @@
style="padding-left:10px;"#if>>
${statement.emailAddress!}
- <@p.editingLinks "${email.localName}" "${email.name}" statement editable />
+ <@p.editingLinks "${email.localName}" "${email.name}" statement editable email.rangeUri />
#list>
diff --git a/productMods/templates/freemarker/body/partials/individual/individual-contactInfo.ftl b/productMods/templates/freemarker/body/partials/individual/individual-contactInfo.ftl
index 065a9aa6..0f990bb2 100644
--- a/productMods/templates/freemarker/body/partials/individual/individual-contactInfo.ftl
+++ b/productMods/templates/freemarker/body/partials/individual/individual-contactInfo.ftl
@@ -25,7 +25,7 @@
<#list phone.statements as statement>
${statement.number!}
- <@p.editingLinks "${phone.localName}" "${phone.name}" statement editable />
+ <@p.editingLinks "${phone.localName}" "${phone.name}" statement editable phone.rangeUri />
#list>
@@ -47,7 +47,7 @@
<#list email.statements as statement>
${statement.emailAddress!}
- <@p.editingLinks "${email.localName}" "${email.name}" statement editable />
+ <@p.editingLinks "${email.localName}" "${email.name}" statement editable email.rangeUri />
#list>
diff --git a/productMods/templates/freemarker/body/partials/individual/propStatement-informationResourceInAuthorship.ftl b/productMods/templates/freemarker/body/partials/individual/propStatement-informationResourceInAuthorship.ftl
index df612dfe..78581373 100644
--- a/productMods/templates/freemarker/body/partials/individual/propStatement-informationResourceInAuthorship.ftl
+++ b/productMods/templates/freemarker/body/partials/individual/propStatement-informationResourceInAuthorship.ftl
@@ -12,8 +12,8 @@
<#-- Use a macro to keep variable assignments local; otherwise the values carry over to the
next statement -->
<#macro showAuthorship statement>
- <#if statement.person??>
- ${statement.personName}
+ <#if statement.author??>
+ ${statement.authorName}
<#else>
<#-- This shouldn't happen, but we must provide for it -->
${i18n().missing_author}
diff --git a/productMods/templates/freemarker/body/partials/individual/propStatement-organizationForTraining.ftl b/productMods/templates/freemarker/body/partials/individual/propStatement-organizationForTraining.ftl
index 711d2ee7..eb5f50c2 100644
--- a/productMods/templates/freemarker/body/partials/individual/propStatement-organizationForTraining.ftl
+++ b/productMods/templates/freemarker/body/partials/individual/propStatement-organizationForTraining.ftl
@@ -26,12 +26,12 @@
<#if statement.degree??>
${statement.degreeAbbr!} <#if statement.majorField??> ${i18n().in} ${statement.majorField!} #if>
<#elseif statement.majorField??>
- ${statement.majorField!}, ${statement.info!}
- <#else>
+ ${statement.majorField!}
+ <#elseif statement.info??>
${statement.info!}
#if>
#local>
- <@s.join [ linkedIndividual, detailedInfo ] />
+ <@s.join [ linkedIndividual, detailedInfo ] /> <@dt.yearIntervalSpan "${statement.dateTimeStart!}" "${statement.dateTimeEnd!}" false/>
#macro>
diff --git a/productMods/templates/freemarker/edit/forms/organizationForTraining.ftl b/productMods/templates/freemarker/edit/forms/organizationForTraining.ftl
index b3d6561b..d474e1ac 100644
--- a/productMods/templates/freemarker/edit/forms/organizationForTraining.ftl
+++ b/productMods/templates/freemarker/edit/forms/organizationForTraining.ftl
@@ -83,6 +83,9 @@ Set this flag on the input acUriReceiver where you would like this behavior to o
<#else>
${submissionErrors[errorFieldName]}
#if>
+ <#else>
+ ${submissionErrors[errorFieldName]}
+ #if>
#if>
#list>
<#--Checking if Person Type field is empty-->
diff --git a/rdf/display/everytime/PropertyConfig.n3 b/rdf/display/everytime/PropertyConfig.n3
index 416802f9..1dc86915 100644
--- a/rdf/display/everytime/PropertyConfig.n3
+++ b/rdf/display/everytime/PropertyConfig.n3
@@ -65,6 +65,23 @@ local:authorInAuthorshipConfig a :ObjectPropertyDisplayConfig ;
vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddPublicationToPersonGenerator"^^xsd:string ;
:propertyGroup .
+local:orgInAuthorshipContext a :ConfigContext ;
+ :hasConfiguration local:orgInAuthorshipConfig ;
+ :configContextFor vivo:relatedBy ;
+ :qualifiedByDomain ;
+ :qualifiedBy vivo:Authorship .
+
+local:orgInAuthorshipConfig a :ObjectPropertyDisplayConfig ;
+ :listViewConfigFile "listViewConfig-authorInAuthorship.xml"^^xsd:string ;
+ :displayName "selected publications" ;
+ vitro:collateBySubclassAnnot
+ "true"^^xsd:boolean;
+ vitro:displayRankAnnot 1;
+ vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
+ vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
+ vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddPublicationToPersonGenerator"^^xsd:string ;
+ :propertyGroup .
+
local:hasServiceProviderRoleContext a :ConfigContext ;
:hasConfiguration local:hasServiceProviderRoleConfig ;
:configContextFor ;
@@ -97,6 +114,22 @@ local:hasClinicalRoleConfig a :ObjectPropertyDisplayConfig ;
vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddClinicalRoleToPersonGenerator"^^ ;
:propertyGroup .
+local:orgHasClinicalRoleContext a :ConfigContext ;
+ :hasConfiguration local:orgHasClinicalRoleConfig ;
+ :configContextFor ;
+ :qualifiedByDomain ;
+ :qualifiedBy .
+
+local:orgHasClinicalRoleConfig a :ObjectPropertyDisplayConfig ;
+ :listViewConfigFile "listViewConfig-hasClinicalActivity.xml"^^xsd:string ;
+ :displayName "clinical activities" ;
+ vitro:displayRankAnnot 70;
+ vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
+ vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
+ vitro:stubObjectPropertyAnnot "true"^^xsd:boolean ;
+ vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddClinicalRoleToPersonGenerator"^^ ;
+ :propertyGroup .
+
local:hasLeaderRoleContext a :ConfigContext ;
:hasConfiguration local:hasLeaderRoleConfig ;
:configContextFor ;
@@ -113,6 +146,22 @@ local:hasLeaderRoleConfig a :ObjectPropertyDisplayConfig ;
vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddHeadOfRoleToPersonGenerator"^^ ;
:propertyGroup .
+local:orgHasLeaderRoleContext a :ConfigContext ;
+ :hasConfiguration local:orgHasLeaderRoleConfig ;
+ :configContextFor ;
+ :qualifiedByDomain ;
+ :qualifiedBy .
+
+local:orgHasLeaderRoleConfig a :ObjectPropertyDisplayConfig ;
+ :listViewConfigFile "listViewConfig-roleContributesTo.xml"^^xsd:string ;
+ :displayName "head of" ;
+ vitro:displayRankAnnot 30;
+ vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
+ vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
+ vitro:stubObjectPropertyAnnot "true"^^xsd:boolean ;
+ vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddHeadOfRoleToPersonGenerator"^^ ;
+ :propertyGroup .
+
local:hasMemberRoleContext a :ConfigContext ;
:hasConfiguration local:hasMemberRoleConfig ;
:configContextFor ;
@@ -129,6 +178,22 @@ local:hasMemberRoleConfig a :ObjectPropertyDisplayConfig ;
vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddMemberRoleToPersonGenerator"^^ ;
:propertyGroup .
+local:orgHasMemberRoleContext a :ConfigContext ;
+ :hasConfiguration local:orgHasMemberRoleConfig ;
+ :configContextFor ;
+ :qualifiedByDomain ;
+ :qualifiedBy .
+
+local:orgHasMemberRoleConfig a :ObjectPropertyDisplayConfig ;
+ :listViewConfigFile "listViewConfig-roleContributesTo.xml"^^xsd:string ;
+ :displayName "member of" ;
+ vitro:displayRankAnnot 50;
+ vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
+ vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
+ vitro:stubObjectPropertyAnnot "true"^^xsd:boolean ;
+ vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddMemberRoleToPersonGenerator"^^ ;
+ :propertyGroup .
+
local:hasTeacherRoleContext a :ConfigContext ;
:hasConfiguration local:hasTeacherRoleConfig ;
:configContextFor ;
@@ -193,6 +258,22 @@ local:hasOrganizerRoleConfig a :ObjectPropertyDisplayConfig ;
vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddOrganizerRoleToPersonGenerator"^^ ;
:propertyGroup .
+local:orgHasOrganizerRoleContext a :ConfigContext ;
+ :hasConfiguration local:orgHasOrganizerRoleConfig ;
+ :configContextFor ;
+ :qualifiedByDomain ;
+ :qualifiedBy .
+
+local:orgHasOrganizerRoleConfig a :ObjectPropertyDisplayConfig ;
+ :listViewConfigFile "listViewConfig-roleRealizedIn.xml"^^xsd:string ;
+ :displayName "organizer of" ;
+ vitro:displayRankAnnot 4;
+ vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
+ vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
+ vitro:stubObjectPropertyAnnot "true"^^xsd:boolean ;
+ vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddOrganizerRoleToPersonGenerator"^^ ;
+ :propertyGroup .
+
local:hasOutreachProviderRoleContext a :ConfigContext ;
:hasConfiguration local:hasOutreachProviderRoleConfig ;
:configContextFor ;
@@ -209,6 +290,22 @@ local:hasOutreachProviderRoleConfig a :ObjectPropertyDisplayConfig ;
vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddOutreachProviderRoleToPersonGenerator"^^ ;
:propertyGroup .
+local:orgHasOutreachProviderRoleContext a :ConfigContext ;
+ :hasConfiguration local:orgHasOutreachProviderRoleConfig ;
+ :configContextFor ;
+ :qualifiedByDomain ;
+ :qualifiedBy .
+
+local:orgHasOutreachProviderRoleConfig a :ObjectPropertyDisplayConfig ;
+ :listViewConfigFile "listViewConfig-roleContributesTo.xml"^^xsd:string ;
+ :displayName "outreach and community service" ;
+ vitro:displayRankAnnot 50;
+ vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
+ vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
+ vitro:stubObjectPropertyAnnot "true"^^xsd:boolean ;
+ vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddOutreachProviderRoleToPersonGenerator"^^ ;
+ :propertyGroup .
+
local:hasAttendeeRoleContext a :ConfigContext ;
:hasConfiguration local:hasAttendeeRoleConfig ;
:configContextFor ;
@@ -225,6 +322,22 @@ local:hasAttendeeRoleConfig a :ObjectPropertyDisplayConfig ;
vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddAttendeeRoleToPersonGenerator"^^ ;
:propertyGroup .
+local:orgHasAttendeeRoleContext a :ConfigContext ;
+ :hasConfiguration local:orgHasAttendeeRoleConfig ;
+ :configContextFor ;
+ :qualifiedByDomain ;
+ :qualifiedBy .
+
+local:orgHasAttendeeRoleConfig a :ObjectPropertyDisplayConfig ;
+ :listViewConfigFile "listViewConfig-hasAttendeeRole.xml"^^xsd:string ;
+ :displayName "attended" ;
+ vitro:displayRankAnnot 1;
+ vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
+ vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
+ vitro:stubObjectPropertyAnnot "true"^^xsd:boolean ;
+ vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddAttendeeRoleToPersonGenerator"^^ ;
+ :propertyGroup .
+
local:hasResearcherRoleContext a :ConfigContext ;
:hasConfiguration local:hasResearcherRoleConfig ;
:configContextFor ;
@@ -303,6 +416,23 @@ local:hasPresenterRoleConfig a :ObjectPropertyDisplayConfig ;
vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddPresenterRoleToPersonGenerator"^^ ;
:propertyGroup .
+local:orgHasPresenterRoleContext a :ConfigContext ;
+ :hasConfiguration local:orgHasPresenterRoleConfig ;
+ :configContextFor ;
+ :qualifiedByDomain ;
+ :qualifiedBy .
+
+local:orgHasPresenterRoleConfig a :ObjectPropertyDisplayConfig ;
+ :listViewConfigFile "listViewConfig-hasPresenterRole.xml"^^xsd:string ;
+ :displayName "presentations" ;
+ vitro:collateBySubclassAnnot
+ "true"^^xsd:boolean;
+ vitro:displayRankAnnot 30;
+ vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
+ vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
+ vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddPresenterRoleToPersonGenerator"^^ ;
+ :propertyGroup .
+
local:awardOrHonorContext a :ConfigContext ;
:hasConfiguration local:awardOrHonorConfig ;
:configContextFor ;
@@ -318,6 +448,21 @@ local:awardOrHonorConfig a :ObjectPropertyDisplayConfig ;
vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasAwardOrHonorGenerator"^^ ;
:propertyGroup .
+local:orgHasAwardOrHonorContext a :ConfigContext ;
+ :hasConfiguration local:orgHasAwardOrHonorConfig ;
+ :configContextFor ;
+ :qualifiedByDomain ;
+ :qualifiedBy .
+
+local:orgHasAwardOrHonorConfig a :ObjectPropertyDisplayConfig ;
+ :listViewConfigFile "listViewConfig-awardOrHonor.xml"^^xsd:string ;
+ :displayName "awards and honors" ;
+ vitro:displayRankAnnot 20;
+ vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
+ vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
+ vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasAwardOrHonorGenerator"^^ ;
+ :propertyGroup .
+
local:educationalTrainingContext a :ConfigContext ;
:hasConfiguration local:educationalTrainingConfig ;
:configContextFor ;
@@ -570,6 +715,22 @@ local:additionalEmailConfig a :ObjectPropertyDisplayConfig ;
vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasEmailGenerator"^^ ;
:propertyGroup .
+local:organizationEmailContext a :ConfigContext ;
+ :hasConfiguration local:organizationEmailConfig ;
+ :configContextFor ;
+ :qualifiedByDomain ;
+ :qualifiedByRoot ;
+ :qualifiedBy .
+
+local:organizationEmailConfig a :ObjectPropertyDisplayConfig ;
+ :listViewConfigFile "listViewConfig-additionalEmail.xml"^^xsd:string ;
+ :displayName "email address" ;
+ vitro:displayRankAnnot 30;
+ vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
+ vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
+ vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasEmailGenerator"^^ ;
+ :propertyGroup .
+
local:primaryEmailContext a :ConfigContext ;
:hasConfiguration local:primaryEmailConfig ;
:configContextFor ;
@@ -768,6 +929,20 @@ local:eventLocationConfig a :ObjectPropertyDisplayConfig ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
:propertyGroup .
+local:organizationLocationContext a :ConfigContext ;
+ :hasConfiguration local:organizationLocationConfig ;
+ :configContextFor ;
+ :qualifiedByDomain ;
+ :qualifiedBy vivo:GeographicLocation .
+
+local:organizationLocationConfig a :ObjectPropertyDisplayConfig ;
+ :listViewConfigFile "listViewConfig-default.xml"^^xsd:string ;
+ :displayName "has geographic location" ;
+ vitro:displayRankAnnot 2;
+ vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
+ vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
+ :propertyGroup .
+
local:hasRoomContext a :ConfigContext ;
:hasConfiguration local:hasRoomConfig ;
:configContextFor ;
@@ -937,6 +1112,20 @@ local:awardOrHonorGivenConfig a :ObjectPropertyDisplayConfig ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
:propertyGroup .
+local:orgAwardsGrantContext a :ConfigContext ;
+ :hasConfiguration local:orgAwardsGrantConfig ;
+ :configContextFor ;
+ :qualifiedByDomain ;
+ :qualifiedBy .
+
+local:orgAwardsGrantConfig a :ObjectPropertyDisplayConfig ;
+ :listViewConfigFile "listViewConfig-default.xml"^^xsd:string ;
+ :displayName "awards grant" ;
+ vitro:displayRankAnnot 61;
+ 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/OrganizationHasPositionValidator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/FirstAndLastNameValidator.java
similarity index 89%
rename from src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/OrganizationHasPositionValidator.java
rename to src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/FirstAndLastNameValidator.java
index 60c52f7d..93edd51c 100644
--- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/OrganizationHasPositionValidator.java
+++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/FirstAndLastNameValidator.java
@@ -12,11 +12,16 @@ import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.N3ValidatorVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.MultiValueEditSubmission;
-public class OrganizationHasPositionValidator implements N3ValidatorVTwo {
+public class FirstAndLastNameValidator implements N3ValidatorVTwo {
private static String MISSING_FIRST_NAME_ERROR = "You must enter a value in the First Name field.";
private static String MISSING_LAST_NAME_ERROR = "You must enter a value in the Last Name field.";
private static String MALFORMED_LAST_NAME_ERROR = "The last name field may not contain a comma. Please enter first name in First Name field.";
+ private String uriReceiver;
+
+ public FirstAndLastNameValidator(String uriReceiver) {
+ this.uriReceiver = uriReceiver;
+ }
@Override
public Map validate(EditConfigurationVTwo editConfig,
@@ -26,11 +31,11 @@ public class OrganizationHasPositionValidator implements N3ValidatorVTwo {
Map errors = new HashMap();
- List personUri = urisFromForm.get("existingPerson");
+ List personUri = urisFromForm.get(uriReceiver);
if (allListElementsEmpty(personUri) || personUri.contains(">SUBMITTED VALUE WAS BLANK<")) {
personUri = null;
}
- // If there's an adviseeUri, then we're done. The firstName and lastName fields are
+ // If there's an personUri, then we're done. The firstName and lastName fields are
// disabled and so don't get submitted.
if (personUri != null) {
return null;
diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/PersonHasAdviseesValidator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/PersonHasAdviseesValidator.java
deleted file mode 100644
index cecd3dda..00000000
--- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/PersonHasAdviseesValidator.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/* $This file is distributed under the terms of the license in /doc/license.txt$ */
-
-package edu.cornell.mannlib.vitro.webapp.edit.n3editing;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import com.hp.hpl.jena.rdf.model.Literal;
-
-import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.N3ValidatorVTwo;
-import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo;
-import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.MultiValueEditSubmission;
-
-public class PersonHasAdviseesValidator implements N3ValidatorVTwo {
-
- private static String MISSING_FIRST_NAME_ERROR = "You must enter a value in the First Name field.";
- private static String MISSING_LAST_NAME_ERROR = "You must enter a value in the Last Name field.";
- private static String MALFORMED_LAST_NAME_ERROR = "The last name field may not contain a comma. Please enter first name in First Name field.";
-
- @Override
- public Map validate(EditConfigurationVTwo editConfig,
- MultiValueEditSubmission editSub) {
- Map> urisFromForm = editSub.getUrisFromForm();
- Map> literalsFromForm = editSub.getLiteralsFromForm();
-
- Map errors = new HashMap();
-
- List adviseeUri = urisFromForm.get("existingAdvisee");
- if (allListElementsEmpty(adviseeUri) || adviseeUri.contains(">SUBMITTED VALUE WAS BLANK<")) {
- adviseeUri = null;
- }
- // If there's an adviseeUri, then we're done. The firstName and lastName fields are
- // disabled and so don't get submitted.
- if (adviseeUri != null) {
- return null;
- }
-
- //Expecting only one first name in this case
- //To Do: update logic if multiple first names considered
- Literal firstName = null;
- List firstNameList = literalsFromForm.get("firstName");
- if(firstNameList != null && firstNameList.size() > 0) {
- firstName = firstNameList.get(0);
- }
- if( firstName != null &&
- firstName.getLexicalForm() != null &&
- "".equals(firstName.getLexicalForm()) )
- firstName = null;
-
-
- List lastNameList = literalsFromForm.get("lastName");
- Literal lastName = null;
- if(lastNameList != null && lastNameList.size() > 0) {
- lastName = lastNameList.get(0);
- }
- String lastNameValue = "";
- if (lastName != null) {
- lastNameValue = lastName.getLexicalForm();
- if( "".equals(lastNameValue) ) {
- lastName = null;
- }
- }
-
- if (lastName == null) {
- errors.put("lastName", MISSING_LAST_NAME_ERROR);
- // Don't reject space in the last name: de Vries, etc.
- } else if (lastNameValue.contains(",")) {
- errors.put("lastName", MALFORMED_LAST_NAME_ERROR);
- }
-
- if (firstName == null) {
- errors.put("firstName", MISSING_FIRST_NAME_ERROR);
- }
-
- return errors.size() != 0 ? errors : null;
- }
-
- private boolean allListElementsEmpty(List checkList) {
- if(checkList == null)
- return true;
- if(checkList.isEmpty()) {
- return true;
- }
- boolean allEmpty = true;
- for(String s: checkList) {
- if(s.length() != 0){
- allEmpty = false;
- break;
- }
- }
- return allEmpty;
- }
-
-}
diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/PersonHasAdvisorsValidator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/PersonHasAdvisorsValidator.java
deleted file mode 100644
index b13aa7c0..00000000
--- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/PersonHasAdvisorsValidator.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/* $This file is distributed under the terms of the license in /doc/license.txt$ */
-
-package edu.cornell.mannlib.vitro.webapp.edit.n3editing;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import com.hp.hpl.jena.rdf.model.Literal;
-
-import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.N3ValidatorVTwo;
-import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo;
-import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.MultiValueEditSubmission;
-
-public class PersonHasAdvisorsValidator implements N3ValidatorVTwo {
-
- private static String MISSING_FIRST_NAME_ERROR = "You must enter a value in the First Name field.";
- private static String MISSING_LAST_NAME_ERROR = "You must enter a value in the Last Name field.";
- private static String MALFORMED_LAST_NAME_ERROR = "The last name field may not contain a comma. Please enter first name in First Name field.";
-
- @Override
- public Map validate(EditConfigurationVTwo editConfig,
- MultiValueEditSubmission editSub) {
- Map> urisFromForm = editSub.getUrisFromForm();
- Map> literalsFromForm = editSub.getLiteralsFromForm();
-
- Map errors = new HashMap();
-
- List adviseeUri = urisFromForm.get("existingAdvisor");
- if (allListElementsEmpty(adviseeUri) || adviseeUri.contains(">SUBMITTED VALUE WAS BLANK<")) {
- adviseeUri = null;
- }
- // If there's an adviseeUri, then we're done. The firstName and lastName fields are
- // disabled and so don't get submitted.
- if (adviseeUri != null) {
- return null;
- }
-
- //Expecting only one first name in this case
- //To Do: update logic if multiple first names considered
- Literal firstName = null;
- List firstNameList = literalsFromForm.get("firstName");
- if(firstNameList != null && firstNameList.size() > 0) {
- firstName = firstNameList.get(0);
- }
- if( firstName != null &&
- firstName.getLexicalForm() != null &&
- "".equals(firstName.getLexicalForm()) )
- firstName = null;
-
-
- List lastNameList = literalsFromForm.get("lastName");
- Literal lastName = null;
- if(lastNameList != null && lastNameList.size() > 0) {
- lastName = lastNameList.get(0);
- }
- String lastNameValue = "";
- if (lastName != null) {
- lastNameValue = lastName.getLexicalForm();
- if( "".equals(lastNameValue) ) {
- lastName = null;
- }
- }
-
- if (lastName == null) {
- errors.put("lastName", MISSING_LAST_NAME_ERROR);
- // Don't reject space in the last name: de Vries, etc.
- } else if (lastNameValue.contains(",")) {
- errors.put("lastName", MALFORMED_LAST_NAME_ERROR);
- }
-
- if (firstName == null) {
- errors.put("firstName", MISSING_FIRST_NAME_ERROR);
- }
-
- return errors.size() != 0 ? errors : null;
- }
-
- private boolean allListElementsEmpty(List checkList) {
- if(checkList == null)
- return true;
- if(checkList.isEmpty()) {
- return true;
- }
- boolean allEmpty = true;
- for(String s: checkList) {
- if(s.length() != 0){
- allEmpty = false;
- break;
- }
- }
- return allEmpty;
- }
-
-}
diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/PublicationHasEditorValidator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/PublicationHasEditorValidator.java
deleted file mode 100644
index fafc1def..00000000
--- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/PublicationHasEditorValidator.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/* $This file is distributed under the terms of the license in /doc/license.txt$ */
-
-package edu.cornell.mannlib.vitro.webapp.edit.n3editing;
-
-import java.lang.String;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.commons.lang.StringUtils;
-
-import com.hp.hpl.jena.rdf.model.Literal;
-
-import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.N3ValidatorVTwo;
-import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo;
-import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.MultiValueEditSubmission;
-
-public class PublicationHasEditorValidator implements N3ValidatorVTwo {
-
- private static String MISSING_FIRST_NAME_ERROR = "Must specify the editor's first name.";
- private static String MISSING_LAST_NAME_ERROR = "Must specify the editor's last name.";
- private static String MALFORMED_LAST_NAME_ERROR = "Last name may not contain a comma. Please enter first name in first name field.";
-;
- @Override
- public Map validate(EditConfigurationVTwo editConfig,
- MultiValueEditSubmission editSub) {
- Map> urisFromForm = editSub.getUrisFromForm();
- Map> literalsFromForm = editSub.getLiteralsFromForm();
-
- Map errors = new HashMap();
-
- List personUri = urisFromForm.get("personUri");
-
- if (allListElementsEmpty(personUri)) {
- personUri = null;
- }
- // If there's a personUri, then we're done. The firstName and lastName fields are
- // disabled and so don't get submitted.
- if (personUri != null ) {
- return null;
- }
-
- //Expecting only one first name in this case
- //To Do: update logic if multiple first names considered
- Literal firstName = null;
- List firstNameList = literalsFromForm.get("firstName");
- if(firstNameList != null && firstNameList.size() > 0) {
- firstName = firstNameList.get(0);
- }
- if( firstName != null &&
- firstName.getLexicalForm() != null &&
- "".equals(firstName.getLexicalForm()) )
- firstName = null;
-
-
- List lastNameList = literalsFromForm.get("lastName");
- Literal lastName = null;
- if(lastNameList != null && lastNameList.size() > 0) {
- lastName = lastNameList.get(0);
- }
- String lastNameValue = "";
- if (lastName != null) {
- lastNameValue = lastName.getLexicalForm();
- if( "".equals(lastNameValue) ) {
- lastName = null;
- }
- }
-
- if (lastName == null) {
- errors.put("lastName", MISSING_LAST_NAME_ERROR);
- // Don't reject space in the last name: de Vries, etc.
- } else if (lastNameValue.contains(",")) {
- errors.put("lastName", MALFORMED_LAST_NAME_ERROR);
- }
-
- if (firstName == null) {
- errors.put("firstName", MISSING_FIRST_NAME_ERROR);
- }
-
- return errors.size() != 0 ? errors : null;
- }
-
- private boolean allListElementsEmpty(List checkList) {
- if(checkList == null)
- return true;
- if(checkList.isEmpty()) {
- return true;
- }
- boolean allEmpty = true;
- for(String s: checkList) {
- if(s.length() != 0){
- allEmpty = false;
- break;
- }
- }
- return allEmpty;
- }
-
-}
diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java
index 4429a079..681ad650 100644
--- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java
+++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java
@@ -355,7 +355,7 @@ public class AddAuthorsToInformationResourceGenerator extends VivoBaseGenerator
+ "?subject core:relatedBy ?authorshipURI . \n"
+ "?authorshipURI a core:Authorship . \n"
+ "?authorshipURI core:relates ?authorURI . \n"
- + "?authorURI a foaf:Person . \n"
+ + "?authorURI a foaf:Agent . \n"
+ "OPTIONAL { ?authorURI rdfs:label ?authorName } \n"
+ "OPTIONAL { ?authorshipURI core:rank ?rank } \n"
+ "} ORDER BY ?rank";
diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddEditorsToInformationResourceGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddEditorsToInformationResourceGenerator.java
index 56ebd820..bb14fa36 100644
--- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddEditorsToInformationResourceGenerator.java
+++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddEditorsToInformationResourceGenerator.java
@@ -27,7 +27,7 @@ import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement;
import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.jena.QueryUtils;
-import edu.cornell.mannlib.vitro.webapp.edit.n3editing.PublicationHasEditorValidator;
+import edu.cornell.mannlib.vitro.webapp.edit.n3editing.FirstAndLastNameValidator;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo;
@@ -84,7 +84,7 @@ public class AddEditorsToInformationResourceGenerator extends VivoBaseGenerator
//template file
editConfiguration.setTemplate("addEditorsToInformationResource.ftl");
//add validators
- editConfiguration.addValidator(new PublicationHasEditorValidator());
+ editConfiguration.addValidator(new FirstAndLastNameValidator("personUri"));
//Adding additional data, specifically edit mode
addFormSpecificData(editConfiguration, vreq);
diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddEditorshipToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddEditorshipToPersonGenerator.java
index 486d6fba..afd47f35 100644
--- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddEditorshipToPersonGenerator.java
+++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddEditorshipToPersonGenerator.java
@@ -24,7 +24,6 @@ import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
-import edu.cornell.mannlib.vitro.webapp.edit.n3editing.PersonHasAdviseesValidator;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils;
diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/OrganizationForTrainingGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/OrganizationForTrainingGenerator.java
index c7070d8b..2030ea94 100644
--- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/OrganizationForTrainingGenerator.java
+++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/OrganizationForTrainingGenerator.java
@@ -12,6 +12,7 @@ import com.hp.hpl.jena.vocabulary.XSD;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
+import edu.cornell.mannlib.vitro.webapp.edit.n3editing.FirstAndLastNameValidator;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo;
@@ -166,6 +167,7 @@ public class OrganizationForTrainingGenerator extends VivoBaseGenerator impleme
//Add validator
conf.addValidator(new DateTimeIntervalValidationVTwo("startField","endField"));
conf.addValidator(new AntiXssValidation());
+ conf.addValidator(new FirstAndLastNameValidator("existingPerson"));
//Adding additional data, specifically edit mode
addFormSpecificData(conf, vreq);
diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/OrganizationHasPositionHistoryGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/OrganizationHasPositionHistoryGenerator.java
index aad3d6b5..e8fd3abd 100644
--- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/OrganizationHasPositionHistoryGenerator.java
+++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/OrganizationHasPositionHistoryGenerator.java
@@ -10,14 +10,14 @@ import com.hp.hpl.jena.vocabulary.XSD;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary.Precision;
+import edu.cornell.mannlib.vitro.webapp.edit.n3editing.FirstAndLastNameValidator;
+import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesWithParent;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.IndividualsViaVClassOptions;
-import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation;
-import edu.cornell.mannlib.vitro.webapp.edit.n3editing.OrganizationHasPositionValidator;
public class OrganizationHasPositionHistoryGenerator extends VivoBaseGenerator
implements EditConfigurationGenerator {
@@ -257,7 +257,7 @@ public class OrganizationHasPositionHistoryGenerator extends VivoBaseGenerator
conf.addField(endField.setEditElement(new DateTimeWithPrecisionVTwo(
endField, URI_PRECISION_YEAR, URI_PRECISION_NONE)));
- conf.addValidator(new OrganizationHasPositionValidator());
+ conf.addValidator(new FirstAndLastNameValidator("existingPerson"));
conf.addValidator(new AntiXssValidation());
conf.addValidator(new DateTimeIntervalValidationVTwo("startField",
"endField"));
diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdviseeRelationshipGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdviseeRelationshipGenerator.java
index 22fa72fa..13bf656f 100644
--- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdviseeRelationshipGenerator.java
+++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdviseeRelationshipGenerator.java
@@ -11,7 +11,7 @@ import com.hp.hpl.jena.vocabulary.XSD;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
-import edu.cornell.mannlib.vitro.webapp.edit.n3editing.PersonHasAdvisorsValidator;
+import edu.cornell.mannlib.vitro.webapp.edit.n3editing.FirstAndLastNameValidator;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils;
@@ -184,7 +184,7 @@ public class PersonHasAdviseeRelationshipGenerator extends VivoBaseGenerator imp
conf.addValidator(new DateTimeIntervalValidationVTwo("startField","endField"));
conf.addValidator(new AntiXssValidation());
- conf.addValidator(new PersonHasAdvisorsValidator());
+ conf.addValidator(new FirstAndLastNameValidator("existingAdvisor"));
addFormSpecificData(conf, vreq);
prepare(vreq, conf);
diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdvisorRelationshipGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdvisorRelationshipGenerator.java
index 8ab694a7..987e42fa 100644
--- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdvisorRelationshipGenerator.java
+++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdvisorRelationshipGenerator.java
@@ -11,7 +11,7 @@ import com.hp.hpl.jena.vocabulary.XSD;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
-import edu.cornell.mannlib.vitro.webapp.edit.n3editing.PersonHasAdviseesValidator;
+import edu.cornell.mannlib.vitro.webapp.edit.n3editing.FirstAndLastNameValidator;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils;
@@ -184,7 +184,7 @@ public class PersonHasAdvisorRelationshipGenerator extends VivoBaseGenerator imp
conf.addValidator(new DateTimeIntervalValidationVTwo("startField","endField"));
conf.addValidator(new AntiXssValidation());
- conf.addValidator(new PersonHasAdviseesValidator());
+ conf.addValidator(new FirstAndLastNameValidator("existingAdvisee"));
addFormSpecificData(conf, vreq);
prepare(vreq, conf);
diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasEducationalTraining.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasEducationalTraining.java
index 6ff53e79..d832a2c2 100644
--- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasEducationalTraining.java
+++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasEducationalTraining.java
@@ -296,8 +296,8 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements
final static String orgTypeQuery =
"PREFIX rdfs: <"+ rdfs +"> \n"+
"SELECT ?existingOrgType WHERE {\n"+
- "?edTraining ?existingAwardedDegree . \n" +
- "?existingAwardedDegree ?existingOrg .\n"+
+ "?edTraining ?existingOrg . \n" +
+ "?existingOrg ?edTraining .\n"+
"?existingOrg a ?existingOrgType .\n"+
"?existingOrgType rdfs:subClassOf <"+ orgClass +"> .\n"+
"}";
diff --git a/themes/wilma/templates/individual--foaf-person.ftl b/themes/wilma/templates/individual--foaf-person.ftl
index 9055574f..e5ba0442 100644
--- a/themes/wilma/templates/individual--foaf-person.ftl
+++ b/themes/wilma/templates/individual--foaf-person.ftl
@@ -77,7 +77,7 @@
#if>
<#list title.statements as statement>
${statement.preferredTitle}
- <@p.editingLinks "${title.localName}" "${title.name}" statement editable />
+ <@p.editingLinks "${title.localName}" "${title.name}" statement editable title.rangeUri />
#list>
#if>
<#-- If preferredTitle is unpopulated, display mostSpecificTypes -->