From be11fc589f166fef7a94320b738e8be6485ae92c Mon Sep 17 00:00:00 2001
From: tworrall
Date: Mon, 5 Aug 2013 14:57:59 -0400
Subject: [PATCH] VIVO-208: all fields now displayed when custom forms are
rendered; customized 2-stage forms will still work as before
---
.../vivoOrganizationDataGetters.n3 | 9 +++++
.../edit/forms/addAttendeeRoleToPerson.ftl | 6 ++-
.../edit/forms/addClinicalRoleToPerson.ftl | 4 ++
.../edit/forms/addEditorRoleToPerson.ftl | 2 +
.../edit/forms/addHeadOfRoleToPerson.ftl | 4 +-
.../edit/forms/addMemberRoleToPerson.ftl | 2 +
.../edit/forms/addOrganizerRoleToPerson.ftl | 6 ++-
.../forms/addOutreachProviderRoleToPerson.ftl | 3 ++
.../edit/forms/addPresenterRoleToPerson.ftl | 29 +++++---------
.../edit/forms/addPublicationToPerson.ftl | 4 +-
.../edit/forms/addResearcherRoleToPerson.ftl | 3 ++
.../edit/forms/addReviewerRoleToPerson.ftl | 7 +++-
.../edit/forms/addRoleToPersonTwoStage.ftl | 15 ++++---
.../forms/addServiceProviderRoleToPerson.ftl | 4 +-
.../edit/forms/addTeacherRoleToPerson.ftl | 5 +++
.../edit/forms/css/autocomplete.css | 2 +-
.../forms/personHasAdvisingRelationship.ftl | 3 +-
.../forms/personHasEducationalTraining.ftl | 16 ++++----
.../edit/forms/personHasPositionHistory.ftl | 15 ++++---
.../AddAttendeeRoleToPersonGenerator.java | 5 ++-
.../AddHeadOfRoleToPersonGenerator.java | 37 +++---------------
.../AddOrganizerRoleToPersonGenerator.java | 29 +++++++-------
...OutreachProviderRoleToPersonGenerator.java | 38 +++---------------
...dServiceProviderRoleToPersonGenerator.java | 39 +++----------------
themes/wilma/i18n/all.properties | 14 ++++---
themes/wilma/i18n/all_es.properties | 36 +++++++++--------
26 files changed, 149 insertions(+), 188 deletions(-)
diff --git a/productMods/WEB-INF/ontologies/app/loadedAtStartup/vivoOrganizationDataGetters.n3 b/productMods/WEB-INF/ontologies/app/loadedAtStartup/vivoOrganizationDataGetters.n3
index a8f21006..b1ece312 100644
--- a/productMods/WEB-INF/ontologies/app/loadedAtStartup/vivoOrganizationDataGetters.n3
+++ b/productMods/WEB-INF/ontologies/app/loadedAtStartup/vivoOrganizationDataGetters.n3
@@ -6,6 +6,7 @@
@prefix rdfs: .
@prefix core: .
@prefix vivoweb: .
+@prefix afn: .
#### n3 for research areas ####
@@ -30,12 +31,20 @@ display:getResearchAreaDataGetter
"""
PREFIX rdfs:
PREFIX vivo:
+ PREFIX afn:
SELECT DISTINCT (str(?researchAreaLabel) AS ?raLabel) ?ra
WHERE {
?individualURI vivo:organizationForPosition ?posn .
?posn vivo:positionForPerson ?person .
?person vivo:hasResearchArea ?ra .
?ra rdfs:label ?researchAreaLabel
+ OPTIONAL { ?posn vivo:dateTimeInterval ?dti
+ OPTIONAL { ?dti vivo:end ?end .
+ ?end vivo:dateTime ?endDate
+ }
+ }
+ FILTER ( !bound(?endDate) ||
+ afn:substring(str(?endDate), 0, 4) >= afn:substring(str(afn:now()), 0, 4) )
}
ORDER BY ?raLabel
""" .
diff --git a/productMods/templates/freemarker/edit/forms/addAttendeeRoleToPerson.ftl b/productMods/templates/freemarker/edit/forms/addAttendeeRoleToPerson.ftl
index 864a5b20..95b04879 100644
--- a/productMods/templates/freemarker/edit/forms/addAttendeeRoleToPerson.ftl
+++ b/productMods/templates/freemarker/edit/forms/addAttendeeRoleToPerson.ftl
@@ -17,10 +17,12 @@ showRoleLAbelField
roleExamples-->
-<#--Variable assignments for Add Clinical Role To Person-->
+<#--Variable assignments-->
<#assign roleDescriptor = "${i18n().attended}" />
<#assign typeSelectorLabel = "${i18n().event_type}" />
-<#assign buttonText = "${i18n().attendee_capitalized}" />
+<#assign genericLabel = "${i18n().event_capitalized}" />
+<#assign acMultipleTypes = "'true'" />
+<#assign acTypes = "{activity: 'http://vivoweb.org/ontology/core#EventSeries,http://purl.org/NET/c4dm/event.owl#Event'}" />
<#--Each of the two stage forms will include the form below-->
<#include "addRoleToPersonTwoStage.ftl">
\ No newline at end of file
diff --git a/productMods/templates/freemarker/edit/forms/addClinicalRoleToPerson.ftl b/productMods/templates/freemarker/edit/forms/addClinicalRoleToPerson.ftl
index 9ff6925d..affa452e 100644
--- a/productMods/templates/freemarker/edit/forms/addClinicalRoleToPerson.ftl
+++ b/productMods/templates/freemarker/edit/forms/addClinicalRoleToPerson.ftl
@@ -25,6 +25,10 @@ RoleToActivityPredicate
<#--Variable assignments for Add Clinical Role To Person-->
<#assign roleDescriptor = "${i18n().clinical_activity}" />
<#assign typeSelectorLabel = "${i18n().clinical_activity_type}" />
+<#assign genericLabel = "${i18n().clinical_activity?capitalize}" />
+
+<#assign acMultipleTypes = "'true'" />
+<#assign acTypes = "{activity: 'http://vivoweb.org/ontology/core#Project,http://vivoweb.org/ontology/core#Service'}" />
<#--Each of the two stage forms will include the form below-->
diff --git a/productMods/templates/freemarker/edit/forms/addEditorRoleToPerson.ftl b/productMods/templates/freemarker/edit/forms/addEditorRoleToPerson.ftl
index 9d564cb8..e0e97118 100644
--- a/productMods/templates/freemarker/edit/forms/addEditorRoleToPerson.ftl
+++ b/productMods/templates/freemarker/edit/forms/addEditorRoleToPerson.ftl
@@ -20,7 +20,9 @@ roleExamples-->
<#--Variable assignments for Add Clinical Role To Person-->
<#assign roleDescriptor = "${i18n().collection_series_editor_role}" />
<#assign typeSelectorLabel = "${i18n().editor_role_in}" />
+<#assign genericLabel = "Collection" />
+<#assign acTypes = "{activity: 'http://purl.org/ontology/bibo/Collection'}" />
<#--Each of the two stage forms will include the form below-->
<#include "addRoleToPersonTwoStage.ftl">
\ No newline at end of file
diff --git a/productMods/templates/freemarker/edit/forms/addHeadOfRoleToPerson.ftl b/productMods/templates/freemarker/edit/forms/addHeadOfRoleToPerson.ftl
index 1d3d8812..d9c3b932 100644
--- a/productMods/templates/freemarker/edit/forms/addHeadOfRoleToPerson.ftl
+++ b/productMods/templates/freemarker/edit/forms/addHeadOfRoleToPerson.ftl
@@ -20,7 +20,9 @@ roleExamples-->
<#--Variable assignments for Add Clinical Role To Person-->
<#assign roleDescriptor = "${i18n().leadership}" />
<#assign typeSelectorLabel = "${i18n().organization_type}" />
-<#assign buttonText = "${i18n().leadership_role}" />
+<#assign genericLabel = "${i18n().organization_capitalized}" />
+
+<#assign acTypes = "{activity: 'http://xmlns.com/foaf/0.1/Organization'}" />
<#--Each of the two stage forms will include the form below-->
<#include "addRoleToPersonTwoStage.ftl">
\ No newline at end of file
diff --git a/productMods/templates/freemarker/edit/forms/addMemberRoleToPerson.ftl b/productMods/templates/freemarker/edit/forms/addMemberRoleToPerson.ftl
index bbbc5c50..aaa4c068 100644
--- a/productMods/templates/freemarker/edit/forms/addMemberRoleToPerson.ftl
+++ b/productMods/templates/freemarker/edit/forms/addMemberRoleToPerson.ftl
@@ -21,6 +21,8 @@ roleExamples-->
<#assign roleDescriptor = "${i18n().membership}" />
<#assign typeSelectorLabel = "${i18n().membership_in}" />
<#assign roleActivityVClass = "${i18n().organizations}" />
+<#assign genericLabel = "${i18n().organization_capitalized}" />
+<#assign acTypes = "{activity: 'http://xmlns.com/foaf/0.1/Organization'}" />
<#--Each of the two stage forms will include the form below-->
<#include "addRoleToPersonTwoStage.ftl">
\ No newline at end of file
diff --git a/productMods/templates/freemarker/edit/forms/addOrganizerRoleToPerson.ftl b/productMods/templates/freemarker/edit/forms/addOrganizerRoleToPerson.ftl
index b94b1b18..e889d511 100644
--- a/productMods/templates/freemarker/edit/forms/addOrganizerRoleToPerson.ftl
+++ b/productMods/templates/freemarker/edit/forms/addOrganizerRoleToPerson.ftl
@@ -17,10 +17,12 @@ showRoleLAbelField
roleExamples-->
-<#--Variable assignments for Add Clinical Role To Person-->
+<#--Variable assignments-->
<#assign roleDescriptor = "${i18n().organizer_of}" />
<#assign typeSelectorLabel = "${i18n().organizer_of}" />
-<#assign buttonText = "${i18n().organizer_role}" />
+<#assign genericLabel = "${i18n().event_capitalized}" />
+<#assign acMultipleTypes = "'true'" />
+<#assign acTypes = "{activity: 'http://vivoweb.org/ontology/core#EventSeries,http://purl.org/NET/c4dm/event.owl#Event'}"
<#--Each of the two stage forms will include the form below-->
<#include "addRoleToPersonTwoStage.ftl">
\ No newline at end of file
diff --git a/productMods/templates/freemarker/edit/forms/addOutreachProviderRoleToPerson.ftl b/productMods/templates/freemarker/edit/forms/addOutreachProviderRoleToPerson.ftl
index dba029de..074605aa 100644
--- a/productMods/templates/freemarker/edit/forms/addOutreachProviderRoleToPerson.ftl
+++ b/productMods/templates/freemarker/edit/forms/addOutreachProviderRoleToPerson.ftl
@@ -20,6 +20,9 @@ roleExamples-->
<#--Variable assignments for Add Clinical Role To Person-->
<#assign roleDescriptor = "${i18n().outreach_comm_service}" />
<#assign typeSelectorLabel = "${i18n().outreach_comm_service_in}" />
+<#assign genericLabel = "${i18n().organization_capitalized}" />
+
+<#assign acTypes = "{activity: 'http://xmlns.com/foaf/0.1/Organization'}" />
<#--Each of the two stage forms will include the form below-->
diff --git a/productMods/templates/freemarker/edit/forms/addPresenterRoleToPerson.ftl b/productMods/templates/freemarker/edit/forms/addPresenterRoleToPerson.ftl
index b5fd9b02..84b7ef74 100644
--- a/productMods/templates/freemarker/edit/forms/addPresenterRoleToPerson.ftl
+++ b/productMods/templates/freemarker/edit/forms/addPresenterRoleToPerson.ftl
@@ -67,6 +67,9 @@ Set this flag on the input acUriReceiver where you would like this behavior to o
<#--Checking if any required fields are empty-->
+ <#if lvf.submissionErrorExists(editSubmission, "presentationType")>
+ Please select a presentation type.
+ #if>
<#if lvf.submissionErrorExists(editSubmission, "presentationLabel")>
${i18n().select_or_enter_name}
#if>
@@ -104,28 +107,28 @@ Set this flag on the input acUriReceiver where you would like this behavior to o
@@ -143,7 +146,7 @@ Set this flag on the input acUriReceiver where you would like this behavior to o
-
${i18n().years_participation_in} ###
+
${i18n().years_participating}
<#--Need to draw edit elements for dates here-->
<#assign htmlForElements = editConfiguration.pageData.htmlForElements />
@@ -160,8 +163,6 @@ Set this flag on the input acUriReceiver where you would like this behavior to o
-
-
${i18n().or} ${i18n().cancel_link}
@@ -169,13 +170,6 @@ Set this flag on the input acUriReceiver where you would like this behavior to o
* ${i18n().required_fields}
- <#-- hide the html that gets written, and use java script to pass the value between the two -->
-
-
@@ -184,7 +178,7 @@ Set this flag on the input acUriReceiver where you would like this behavior to o
',
'',
'')}
-
-
-
diff --git a/productMods/templates/freemarker/edit/forms/addPublicationToPerson.ftl b/productMods/templates/freemarker/edit/forms/addPublicationToPerson.ftl
index 92019649..ea50bb0e 100644
--- a/productMods/templates/freemarker/edit/forms/addPublicationToPerson.ftl
+++ b/productMods/templates/freemarker/edit/forms/addPublicationToPerson.ftl
@@ -138,7 +138,6 @@ Set this flag on the input acUriReceiver where you would like this behavior to o
#list>
-
@@ -301,7 +300,6 @@ Set this flag on the input acUriReceiver where you would like this behavior to o
-
${i18n().or} ${i18n().cancel_link}
@@ -318,7 +316,7 @@ Set this flag on the input acUriReceiver where you would like this behavior to o
sparqlForAcFilter: '${sparqlForAcFilter}',
sparqlQueryUrl: '${sparqlQueryUrl}',
acUrl: '${urls.base}/autocomplete?tokenize=true',
- acTypes: {collection: 'http://purl.org/ontology/bibo/Periodical', book: 'http://purl.org/ontology/bibo/Book', conference: 'http://purl.org/NET/c4dm/event.owl#Event', event: 'http://purl.org/NET/c4dm/event.owl#Event', editor: 'http://xmlns.com/foaf/0.1/Person', publisher: 'http://xmlns.com/foaf/0.1/Organization'},
+ acTypes: {publication: 'http://purl.org/ontology/bibo/Document', collection: 'http://purl.org/ontology/bibo/Periodical', book: 'http://purl.org/ontology/bibo/Book', conference: 'http://purl.org/NET/c4dm/event.owl#Event', event: 'http://purl.org/NET/c4dm/event.owl#Event', editor: 'http://xmlns.com/foaf/0.1/Person', publisher: 'http://xmlns.com/foaf/0.1/Organization'},
editMode: '${editMode}',
defaultTypeName: 'publication', // used in repair mode to generate button text
multipleTypeNames: {collection: 'publication', book: 'book', conference: 'conference', event: 'event', editor: 'editor', publisher: 'publisher'},
diff --git a/productMods/templates/freemarker/edit/forms/addResearcherRoleToPerson.ftl b/productMods/templates/freemarker/edit/forms/addResearcherRoleToPerson.ftl
index 3a6181d8..6d76adc0 100644
--- a/productMods/templates/freemarker/edit/forms/addResearcherRoleToPerson.ftl
+++ b/productMods/templates/freemarker/edit/forms/addResearcherRoleToPerson.ftl
@@ -20,7 +20,10 @@ roleExamples-->
<#--Variable assignments for Add Clinical Role To Person-->
<#assign roleDescriptor = "${i18n().research_activity}" />
<#assign typeSelectorLabel = "${i18n().research_activity_type}" />
+<#assign genericLabel = "${i18n().research_activity?capitalize}" />
+<#assign acMultipleTypes = "'true'" />
+<#assign acTypes = "{activity: 'http://vivoweb.org/ontology/core#Project,http://vivoweb.org/ontology/core#Grant'}" />
<#--Each of the two stage forms will include the form below-->
<#include "addRoleToPersonTwoStage.ftl">
\ No newline at end of file
diff --git a/productMods/templates/freemarker/edit/forms/addReviewerRoleToPerson.ftl b/productMods/templates/freemarker/edit/forms/addReviewerRoleToPerson.ftl
index 8f47007d..b5616f07 100644
--- a/productMods/templates/freemarker/edit/forms/addReviewerRoleToPerson.ftl
+++ b/productMods/templates/freemarker/edit/forms/addReviewerRoleToPerson.ftl
@@ -20,7 +20,10 @@ roleExamples-->
<#--Variable assignments for Add Clinical Role To Person-->
<#assign roleDescriptor = "${i18n().reviewer_of}" />
<#assign typeSelectorLabel = "${i18n().reviewer_of}" />
-<#assign buttonText = "${i18n().reviewer_role}" />
+<#assign genericLabel = "${i18n().item_capitalized}" />
+
+<#assign acTypes = "{activity: 'http://vivoweb.org/ontology/core#InformationResource'}" />
<#--Each of the two stage forms will include the form below-->
-<#include "addRoleToPersonTwoStage.ftl">
\ No newline at end of file
+<#include "addRoleToPersonTwoStage.ftl">
+
diff --git a/productMods/templates/freemarker/edit/forms/addRoleToPersonTwoStage.ftl b/productMods/templates/freemarker/edit/forms/addRoleToPersonTwoStage.ftl
index b1048b7c..f5a4c7b3 100644
--- a/productMods/templates/freemarker/edit/forms/addRoleToPersonTwoStage.ftl
+++ b/productMods/templates/freemarker/edit/forms/addRoleToPersonTwoStage.ftl
@@ -153,9 +153,9 @@ Set this flag on the input acUriReceiver where you would like this behavior to o
-
+<#--
-->
-
+
@@ -176,7 +176,7 @@ Set this flag on the input acUriReceiver where you would like this behavior to o
<#if showRoleLabelField = true>
-
+
#if>
@@ -188,7 +188,7 @@ Set this flag on the input acUriReceiver where you would like this behavior to o
${htmlForElements["startField"]} ${yearHint}
#if>
<#else>
-
${i18n().years_participation_in} ###
+
${i18n().years_participating}
<#if htmlForElements?keys?seq_contains("startField")>
${htmlForElements["startField"]} ${yearHint}
@@ -199,7 +199,7 @@ Set this flag on the input acUriReceiver where you would like this behavior to o
${htmlForElements["endField"]} ${yearHint}
#if>
#if>
-
+<#-- -->
${i18n().or} ${i18n().cancel_link}
@@ -214,7 +214,10 @@ Set this flag on the input acUriReceiver where you would like this behavior to o
var customFormData = {
acUrl: '${urls.base}/autocomplete?tokenize=true',
editMode: '${editMode}',
- defaultTypeName: 'activity', // used in repair mode, to generate button text and org name field label
+ acTypes: ${acTypes!},
+ <#if acMultipleTypes??>acMultipleTypes: ${acMultipleTypes!},#if>
+ // used in repair mode: button text and org name label
+ defaultTypeName: <#if genericLabel??>'${genericLabel}'<#else>'activity'#if>,
baseHref: '${urls.base}/individual?uri=',
blankSentinel: '${blankSentinel}',
flagClearLabelForExisting: '${flagClearLabelForExisting}'
diff --git a/productMods/templates/freemarker/edit/forms/addServiceProviderRoleToPerson.ftl b/productMods/templates/freemarker/edit/forms/addServiceProviderRoleToPerson.ftl
index d78249cf..59775e5a 100644
--- a/productMods/templates/freemarker/edit/forms/addServiceProviderRoleToPerson.ftl
+++ b/productMods/templates/freemarker/edit/forms/addServiceProviderRoleToPerson.ftl
@@ -20,7 +20,9 @@ roleExamples-->
<#--Variable assignments for Add Service Provider Role To Person-->
<#assign roleDescriptor = "${i18n().service_to_profession}" />
<#assign typeSelectorLabel = "${i18n().service_to_profession_in}" />
-<#assign buttonText = "${i18n().service_provider_role}" />
+<#assign genericLabel = "${i18n().organization_capitalized}" />
+
+<#assign acTypes = "{activity: 'http://xmlns.com/foaf/0.1/Organization'}" />
<#--Each of the two stage forms will include the form below-->
diff --git a/productMods/templates/freemarker/edit/forms/addTeacherRoleToPerson.ftl b/productMods/templates/freemarker/edit/forms/addTeacherRoleToPerson.ftl
index 646a7021..4a44a04d 100644
--- a/productMods/templates/freemarker/edit/forms/addTeacherRoleToPerson.ftl
+++ b/productMods/templates/freemarker/edit/forms/addTeacherRoleToPerson.ftl
@@ -22,5 +22,10 @@ roleExamples-->
<#assign typeSelectorLabel = "${i18n().teaching_activity_type}" />
<#assign roleExamples = " (${i18n().teaching_role_hint})" />
+<#assign genericLabel = "${i18n().teaching_activity?capitalize}" />
+
+<#assign acMultipleTypes = "'true'" />
+<#assign acTypes = "{activity: 'http://purl.org/ontology/bibo/Conference,http://vivoweb.org/ontology/core#Course,http://purl.org/ontology/bibo/Workshop'}" />
+
<#--Each of the two stage forms will include the form below-->
<#include "addRoleToPersonTwoStage.ftl">
\ No newline at end of file
diff --git a/productMods/templates/freemarker/edit/forms/css/autocomplete.css b/productMods/templates/freemarker/edit/forms/css/autocomplete.css
index d87f9aa3..eba09eb3 100644
--- a/productMods/templates/freemarker/edit/forms/css/autocomplete.css
+++ b/productMods/templates/freemarker/edit/forms/css/autocomplete.css
@@ -5,7 +5,7 @@ that don't load customFormWithAutocomplete.css still have access to these styles
.acSelection {
display: none;
- margin-top: 2em;
+ margin-top: 1em;
}
.acSelectionInfo {
background-color: #d9d9d9;
diff --git a/productMods/templates/freemarker/edit/forms/personHasAdvisingRelationship.ftl b/productMods/templates/freemarker/edit/forms/personHasAdvisingRelationship.ftl
index 9179385a..a07281a0 100644
--- a/productMods/templates/freemarker/edit/forms/personHasAdvisingRelationship.ftl
+++ b/productMods/templates/freemarker/edit/forms/personHasAdvisingRelationship.ftl
@@ -131,7 +131,8 @@ Set this flag on the input acUriReceiver where you would like this behavior to o
-
diff --git a/productMods/templates/freemarker/edit/forms/personHasEducationalTraining.ftl b/productMods/templates/freemarker/edit/forms/personHasEducationalTraining.ftl
index 01904b49..b2e06895 100644
--- a/productMods/templates/freemarker/edit/forms/personHasEducationalTraining.ftl
+++ b/productMods/templates/freemarker/edit/forms/personHasEducationalTraining.ftl
@@ -111,7 +111,7 @@ Set this flag on the input acUriReceiver where you would like this behavior to o
@@ -191,7 +189,6 @@ Set this flag on the input acUriReceiver where you would like this behavior to o
#if>
<#--End draw elements-->
-
${i18n().or}
@@ -207,6 +204,7 @@ Set this flag on the input acUriReceiver where you would like this behavior to o
var customFormData = {
acUrl: '${urls.base}/autocomplete?tokenize=true&stem=true',
editMode: '${editMode}',
+ acTypes: {organization: 'http://xmlns.com/foaf/0.1/Organization'},
defaultTypeName: 'organization',
baseHref: '${urls.base}/individual?uri=',
blankSentinel: '${blankSentinel}',
diff --git a/productMods/templates/freemarker/edit/forms/personHasPositionHistory.ftl b/productMods/templates/freemarker/edit/forms/personHasPositionHistory.ftl
index 000eb201..988940a1 100644
--- a/productMods/templates/freemarker/edit/forms/personHasPositionHistory.ftl
+++ b/productMods/templates/freemarker/edit/forms/personHasPositionHistory.ftl
@@ -103,13 +103,13 @@ Set this flag on the input acUriReceiver where you would like this behavior to o
<#list orgTypeOpts?keys as key>
<#if orgTypeValue = key >
${orgTypeOpts[key]}
-
+
#if>
#list>
<#else>
#if>
-->
-
+
<#list orgTypeOpts?keys as key>
@@ -117,13 +117,12 @@ Set this flag on the input acUriReceiver where you would like this behavior to o