VIVO-439 mailing address update

This commit is contained in:
tworrall 2013-10-30 11:35:52 -04:00
parent 291d04c44f
commit 5e83c482c7
3 changed files with 80 additions and 8 deletions

View file

@ -13,17 +13,25 @@
<#macro showAddress statement>
<#if statement.street?has_content>
<#if statement.street?contains(";") >
<#list statement.street?split("; ") as lines>
<p class="address-line">
${lines}
</p>
</#list>
<#else>
<p class="address-line">
${statement.street}
</p>
</#if>
</#if>
<#if ( statement.country?has_content && (statement.country == "US" || statement.country?contains("United States") || statement.country?contains("U.S.") || statement.country?contains("U.S.A.") || statement.country?contains("USA")))>
<#local cityState><@s.join [statement.locality!, statement.region!], ", " /></#local>
<#local cityStateZip><@s.join [ cityState!, statement.postalCode!], "&nbsp;" /></#local>
<#if cityStateZip?has_content>
<p class="address-line">${cityStateZip}</p>
<p class="address-line">${statement.country!}</p>
<p class="address-line" style="float:left; padding-right:20px">${statement.country!}</p>
</#if>
<#else>
<#if statement.locality?has_content>
@ -42,7 +50,7 @@
</p>
</#if>
<#if statement.country?has_content>
<p class="address-line">
<p class="address-line" style="float:left; padding-right:20px">
${statement.country}
</p>
</#if>

View file

@ -0,0 +1,51 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
var mailingAddressUtils = {
onLoad: function(editMode) {
this.initObjectReferences();
this.bindEventListeners();
if ( editMode != "add" ) {
this.setStreetAddressDisplayFields();
}
},
initObjectReferences: function() {
this.form = $('#personHasMailingAddress');
this.street1 = $('#streetAddressOne');
this.street2 = $('#streetAddressTwo');
this.streetAddress = $('#streetAddress');
},
bindEventListeners: function() {
this.idCache = {};
this.form.submit(function() {
mailingAddressUtils.setStreetAddressField();
});
},
// the vcard only has one address field, so combine the two
// displayed addresses into the hidden field which gets asserted in the N3
setStreetAddressField: function() {
var tempString = this.street1.val() + "; " + this.street2.val();
this.streetAddress.val(tempString);
},
// in edit mode, take the asserted streetAddress value and parse it into
// the two displayed address fields
setStreetAddressDisplayFields: function() {
var tempString = this.streetAddress.val();
var lineOne = tempString.substring(0,tempString.lastIndexOf(";"));
var lineTwo = tempString.substring(tempString.lastIndexOf(";") + 2);
this.street1.val(lineOne);
this.street2.val(lineTwo);
}
}

View file

@ -68,11 +68,17 @@
<section id="personHasMailingAddress" role="region">
<form id="personHasMailingAddress" class="customForm noIE67" action="${submitUrl}" role="add/edit educational training">
<form id="personHasMailingAddress" class="customForm noIE67" action="${submitUrl}" role="add/edit mailing address">
<p>
<label for="streetAddress">${i18n().street_address} ${requiredHint}</label>
<input size="50" type="text" id="streetAddress" name="streetAddress" value="${streetAddressValue}" />
<label for="streetAddress">${i18n().street_address} 1 ${requiredHint}</label>
<input size="40" type="text" id="streetAddressOne" name="streetAddressOne" value="" />
</p>
<p>
<label for="streetAddress">${i18n().street_address} 2 ${requiredHint}</label>
<input size="40" type="text" id="streetAddressTwo" name="streetAddressTwo" value="" />
<input type="hidden" id="streetAddress" name="streetAddress" value="${streetAddressValue}" />
</p>
<p>
@ -108,12 +114,19 @@
</section>
<script type="text/javascript">
$(document).ready(function(){
mailingAddressUtils.onLoad('${editMode}');
});
</script>
${stylesheets.add('<link rel="stylesheet" href="${urls.base}/js/jquery-ui/css/smoothness/jquery-ui-1.8.9.custom.css" />')}
${stylesheets.add('<link rel="stylesheet" href="${urls.base}/templates/freemarker/edit/forms/css/customForm.css" />')}
${stylesheets.add('<link rel="stylesheet" href="${urls.base}/templates/freemarker/edit/forms/css/customFormWithAutocomplete.css" />')}
${scripts.add('<script type="text/javascript" src="${urls.base}/js/jquery-ui/js/jquery-ui-1.8.9.custom.min.js"></script>',
'<script type="text/javascript" src="${urls.base}/js/extensions/String.js"></script>',
'<script type="text/javascript" src="${urls.base}/templates/freemarker/edit/forms/js/mailingAddressUtils.js"></script>',
'<script type="text/javascript" src="${urls.base}/js/browserUtils.js"></script>',
'<script type="text/javascript" src="${urls.base}/js/jquery_plugins/jquery.bgiframe.pack.js"></script>')}