NIHVIVO-1392 Fix a bug in the verbose property display whereby session value was reset every time the main site admin page loaded. Normalize the object property display tier value to int.
This commit is contained in:
parent
faac29e6ba
commit
dfd9da14b8
6 changed files with 27 additions and 15 deletions
|
@ -179,15 +179,25 @@ public class SiteAdminController extends FreemarkerHttpServlet {
|
|||
urls.put("objectPropertyHierarchy", urlBuilder.getPortalUrl("/showObjectPropertyHierarchy", new ParamMap("iffRoot", "true")));
|
||||
map.put("urls", urls);
|
||||
|
||||
// Get current verbose property display value
|
||||
String verbose = vreq.getParameter("verbose");
|
||||
boolean verbosePropertyValue = "true".equals(verbose) ? true : false;
|
||||
vreq.getSession().setAttribute("verbosePropertyDisplay", verbosePropertyValue);
|
||||
Boolean verbosePropertyDisplayValue;
|
||||
// If the form was submitted, get that value
|
||||
if (verbose != null) {
|
||||
verbosePropertyDisplayValue = "true".equals(verbose);
|
||||
// If form not submitted, get the session value
|
||||
} else {
|
||||
Boolean verbosePropertyDisplayValueInSession = (Boolean) vreq.getSession().getAttribute("verbosePropertyDisplay");
|
||||
// True if session value is true, otherwise (session value is false or null) false
|
||||
verbosePropertyDisplayValue = Boolean.TRUE.equals(verbosePropertyDisplayValueInSession);
|
||||
}
|
||||
vreq.getSession().setAttribute("verbosePropertyDisplay", verbosePropertyDisplayValue);
|
||||
|
||||
Map<String, Object> verbosePropertyForm = new HashMap<String, Object>();
|
||||
verbosePropertyForm.put("verboseFieldValue", String.valueOf(!verbosePropertyValue)); // the form toggles the current value
|
||||
verbosePropertyForm.put("verboseFieldValue", String.valueOf(!verbosePropertyDisplayValue)); // the form toggles the current value
|
||||
verbosePropertyForm.put("action", urlBuilder.getPortalUrl(Route.SITE_ADMIN));
|
||||
verbosePropertyForm.put("currentValue", verbosePropertyValue ? "on" : "off");
|
||||
verbosePropertyForm.put("newValue", verbosePropertyValue ? "off" : "on");
|
||||
verbosePropertyForm.put("currentValue", verbosePropertyDisplayValue ? "on" : "off");
|
||||
verbosePropertyForm.put("newValue", verbosePropertyDisplayValue ? "off" : "on");
|
||||
map.put("verbosePropertyForm", verbosePropertyForm);
|
||||
|
||||
return map;
|
||||
|
|
|
@ -66,7 +66,7 @@ public class DataPropertyTemplateModel extends PropertyTemplateModel {
|
|||
}
|
||||
|
||||
@Override
|
||||
protected Object getPropertyDisplayTier(Property p) {
|
||||
protected int getPropertyDisplayTier(Property p) {
|
||||
return ((DataProperty)p).getDisplayTier();
|
||||
}
|
||||
|
||||
|
|
|
@ -119,8 +119,10 @@ public abstract class ObjectPropertyTemplateModel extends PropertyTemplateModel
|
|||
}
|
||||
|
||||
@Override
|
||||
protected Object getPropertyDisplayTier(Property p) {
|
||||
return ((ObjectProperty)p).getDomainDisplayTier();
|
||||
protected int getPropertyDisplayTier(Property p) {
|
||||
// For some reason ObjectProperty.getDomainDisplayTier() returns a String
|
||||
// rather than an int. That should probably be fixed.
|
||||
return Integer.parseInt(((ObjectProperty)p).getDomainDisplayTier());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -51,8 +51,8 @@ public abstract class PropertyTemplateModel extends BaseTemplateModel {
|
|||
if (GroupedPropertyList.VITRO_PROPS_TO_ADD_TO_LIST.contains(property)) {
|
||||
return;
|
||||
}
|
||||
Boolean verboseDisplayFlag = (Boolean) vreq.getSession().getAttribute("verbosePropertyDisplay");
|
||||
if ( ! Boolean.TRUE.equals(verboseDisplayFlag)) {
|
||||
Boolean verboseDisplayValue = (Boolean) vreq.getSession().getAttribute("verbosePropertyDisplay");
|
||||
if ( ! Boolean.TRUE.equals(verboseDisplayValue)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -72,7 +72,7 @@ public abstract class PropertyTemplateModel extends BaseTemplateModel {
|
|||
verboseDisplay.put("propertyEditUrl", editUrl);
|
||||
}
|
||||
|
||||
protected abstract Object getPropertyDisplayTier(Property p);
|
||||
protected abstract int getPropertyDisplayTier(Property p);
|
||||
protected abstract Route getPropertyEditRoute();
|
||||
|
||||
protected void setName(String name) {
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<#import "lib-properties.ftl" as p>
|
||||
|
||||
<#list propertyGroups.all as group>
|
||||
<#assign groupname = group.name(nameForOtherGroup)>
|
||||
<#assign groupName = group.name(nameForOtherGroup)>
|
||||
|
||||
<section class="property-group" role="region">
|
||||
<nav class="scroll-up" role="navigation">
|
||||
|
@ -15,8 +15,8 @@
|
|||
</nav>
|
||||
|
||||
<#-- Display the group heading -->
|
||||
<#if groupname?has_content>
|
||||
<h2 id="${groupname}">${groupname?capitalize}</h2>
|
||||
<#if groupName?has_content>
|
||||
<h2 id="${groupName}">${groupName?capitalize}</h2>
|
||||
</#if>
|
||||
|
||||
<#-- List the properties in the group -->
|
||||
|
|
|
@ -134,7 +134,7 @@ name will be used as the label. -->
|
|||
<span class="verbosePropertyListing">
|
||||
<a class="propertyLink" href="${verboseDisplay.propertyEditUrl}">${verboseDisplay.localName}</a>
|
||||
(${property.type?lower_case} property);
|
||||
display tier: ${verboseDisplay.displayTier} within group;
|
||||
display tier: ${verboseDisplay.displayTier};
|
||||
display level: ${verboseDisplay.displayLevel};
|
||||
update level: ${verboseDisplay.updateLevel}
|
||||
</span>
|
||||
|
|
Loading…
Add table
Reference in a new issue