diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java
index 19f77bcfa..8206253c3 100644
--- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java
+++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java
@@ -46,7 +46,7 @@ public class DataPropertyTemplateModel extends PropertyTemplateModel {
if (policyHelper != null) {
// If the display limit has already been reached, we can't add a new statement
int displayLimit = dp.getDisplayLimit();
- // Display limit of -1 (default value for new property) doesn't count
+ // Display limit of -1 (default value for new property) means no display limit
if ( (displayLimit < 0) || (displayLimit > statements.size()) ) {
RequestedAction action = new AddDataPropStmt(subjectUri, propertyUri,RequestActionConstants.SOME_LITERAL, null, null);
if (policyHelper.isAuthorizedAction(action)) {
diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModel.java
index a9ae7cdb1..f66ccca41 100644
--- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModel.java
+++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModel.java
@@ -140,7 +140,7 @@ public class IndividualTemplateModel extends BaseTemplateModel {
return propertyList;
}
- public boolean getShowEditingLinks() {
+ public boolean isEditable() {
// RY This will be improved later. What is important is not whether the user is a self-editor,
// but whether he has editing privileges on this profile.
return VitroRequestPrep.isSelfEditing(vreq) ||
diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyTemplateModel.java
index 9eb2aa6b9..9d8e45180 100644
--- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyTemplateModel.java
+++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyTemplateModel.java
@@ -17,6 +17,7 @@ public abstract class PropertyTemplateModel extends BaseTemplateModel {
private static final Log log = LogFactory.getLog(PropertyTemplateModel.class);
private String name;
+ private String localName;
protected String propertyUri;
// For editing
@@ -24,10 +25,12 @@ public abstract class PropertyTemplateModel extends BaseTemplateModel {
protected boolean addAccess = false;
PropertyTemplateModel(Property property, Individual subject, EditingPolicyHelper policyHelper) {
+ propertyUri = property.getURI();
+ localName = property.getLocalName();
+
// Do in subclass constructor. The label has not been set on the property, and the
// means of getting the label differs between object and data properties.
// this.name = property.getLabel();
- propertyUri = property.getURI();
if (policyHelper != null) {
subjectUri = subject.getURI();
@@ -38,10 +41,6 @@ public abstract class PropertyTemplateModel extends BaseTemplateModel {
this.name = name;
}
- protected String getUri() {
- return propertyUri;
- }
-
/* Access methods for templates */
@@ -51,7 +50,14 @@ public abstract class PropertyTemplateModel extends BaseTemplateModel {
return name;
}
-
+ public String getLocalName() {
+ return localName;
+ }
+
+ public String getUri() {
+ return propertyUri;
+ }
+
public abstract String getAddUrl();
}
diff --git a/webapp/web/templates/freemarker/body/individual/individual.ftl b/webapp/web/templates/freemarker/body/individual/individual.ftl
index bcd2bc28e..7190a73a1 100644
--- a/webapp/web/templates/freemarker/body/individual/individual.ftl
+++ b/webapp/web/templates/freemarker/body/individual/individual.ftl
@@ -11,7 +11,7 @@
@@ -24,7 +24,7 @@
<#-- Label -->
<#assign label = individual.nameStatement>
${label.value}
- <@p.editingLinks label editing />
+ <@p.editingLinks label label editable />
<#-- Moniker -->
<#if individual.moniker?has_content>
@@ -47,7 +47,7 @@
<#-- Links -->
- <@p.vitroLinks propertyGroups editing />
+ <@p.vitroLinks propertyGroups editable />
diff --git a/webapp/web/templates/freemarker/body/partials/individual/individual-properties.ftl b/webapp/web/templates/freemarker/body/partials/individual/individual-properties.ftl
index c2d716868..05c4aa67b 100644
--- a/webapp/web/templates/freemarker/body/partials/individual/individual-properties.ftl
+++ b/webapp/web/templates/freemarker/body/partials/individual/individual-properties.ftl
@@ -21,20 +21,22 @@
<#-- List the properties in the group -->
<#list group.properties as property>
- <#assign propertyNameCamel = property.name?capitalize?replace(" ", "")?uncap_first />
<#-- Property display name -->
- ${property.name} <@p.addLink property editing />
+ ${property.name} <@p.addLink property editable />
<#-- List the statements for each property -->
<#-- data property -->
<#if property.type == "data">
- <@p.dataPropertyList property.statements editing />
+ <@p.dataPropertyList property editable />
<#-- object property -->
<#elseif property.collatedBySubclass> <#-- collated -->
- <@p.collatedObjectPropertyList property editing />
+ <@p.collatedObjectPropertyList property editable />
<#else> <#-- uncollated -->
- <@p.objectPropertyList property.statements property.template editing />
+ <#-- We pass property.statements and property.template even though we are also
+ passing property, because objecctPropertyList can get other values, and
+ doesn't necessarily use property.statements and property.template -->
+ <@p.objectPropertyList property property.statements property.template editable />
#if>
diff --git a/webapp/web/templates/freemarker/body/partials/individual/individual-setup.ftl b/webapp/web/templates/freemarker/body/partials/individual/individual-setup.ftl
index 661860e70..f45f98f60 100644
--- a/webapp/web/templates/freemarker/body/partials/individual/individual-setup.ftl
+++ b/webapp/web/templates/freemarker/body/partials/individual/individual-setup.ftl
@@ -5,10 +5,6 @@
<#import "lib-list.ftl" as l>
<#import "lib-properties.ftl" as p>
-<#assign editing = individual.showEditingLinks>
-
-<#assign editingClass>
- <#if editing>editing#if>
-#assign>
+<#assign editable = individual.editable>
<#assign propertyGroups = individual.propertyList>
\ No newline at end of file
diff --git a/webapp/web/templates/freemarker/body/partials/individual/lib-properties.ftl b/webapp/web/templates/freemarker/body/partials/individual/lib-properties.ftl
index 5e69ced8e..ba399bbc5 100644
--- a/webapp/web/templates/freemarker/body/partials/individual/lib-properties.ftl
+++ b/webapp/web/templates/freemarker/body/partials/individual/lib-properties.ftl
@@ -4,46 +4,46 @@
Macros for generating property lists
------------------------------------------------------------------------------>
-<#macro dataPropertyList statements showEditingLinks>
- <#list statements as statement>
- <@propertyListItem statement showEditingLinks>${statement.value}@propertyListItem>
+<#macro dataPropertyList property editable>
+ <#list property.statements as statement>
+ <@propertyListItem property statement editable>${statement.value}@propertyListItem>
#list>
#macro>
-<#macro collatedObjectPropertyList property showEditingLinks>
+<#macro collatedObjectPropertyList property editable>
<#assign subclasses = property.subclasses>
<#list subclasses?keys as subclass>
${subclass?lower_case}
- <@objectPropertyList subclasses[subclass] property.template showEditingLinks />
+ <@objectPropertyList property subclasses[subclass] property.template editable />
#list>
#macro>
-<#macro simpleObjectPropertyList property showEditingLinks>
- <@objectPropertyList property.statements "propStatement-simple.ftl" showEditingLinks />
+<#macro simpleObjectPropertyList property editable>
+ <@objectPropertyList property property.statements "propStatement-simple.ftl" editable />
#macro>
-<#macro objectPropertyList statements template showEditingLinks>
+<#macro objectPropertyList property statements template editable>
<#list statements as statement>
- <@propertyListItem statement showEditingLinks><#include "${template}">@propertyListItem>
+ <@propertyListItem property statement editable><#include "${template}">@propertyListItem>
#list>
#macro>
<#-- Some properties usually display without a label. But if there's an add link,
we need to also show the property label. If no label is specified, the property
name will be used as the label. -->
-<#macro addLinkWithLabel property showEditingLinks label="${property.name?capitalize}">
- <#local addLink><@addLink property showEditingLinks />#local>
+<#macro addLinkWithLabel property editable label="${property.name?capitalize}">
+ <#local addLink><@addLink property editable />#local>
<#if addLink?has_content>
${label} ${addLink}
#if>
#macro>
-<#macro addLink property showEditingLinks>
- <#if showEditingLinks>
+<#macro addLink property editable>
+ <#if editable>
<#local url = property.addUrl>
<#if url?has_content>
@@ -51,28 +51,28 @@ name will be used as the label. -->
#if>
#macro>
-<#macro propertyListItem statement showEditingLinks>
+<#macro propertyListItem property statement editable>
<#nested>
- <@editingLinks statement showEditingLinks />
+ <@editingLinks property statement editable />
#macro>
-<#macro editingLinks statement showEditingLinks>
- <#if showEditingLinks>
- <@editLink statement />
- <@deleteLink statement />
+<#macro editingLinks property statement editable>
+ <#if editable>
+ <@editLink property statement />
+ <@deleteLink property statement />
#if>
#macro>
-<#macro editLink statement>
+<#macro editLink property statement>
<#local url = statement.editUrl>
<#if url?has_content>
#if>
#macro>
-<#macro deleteLink statement>
+<#macro deleteLink property statement>
<#local url = statement.deleteUrl>
<#if url?has_content>
@@ -98,13 +98,13 @@ name will be used as the label. -->
<@addLinkWithLabel primaryLink showEditLinks "Primary Web Page" />
<#if primaryLink.statements?has_content> <#-- if there are any statements -->
- <@objectPropertyList primaryLink.statements primaryLink.template showEditLinks />
+ <@objectPropertyList primaryLink primaryLink.statements primaryLink.template showEditLinks />
#if>
<@addLinkWithLabel additionalLinks showEditLinks "Additional Web Pages" />
<#if additionalLinks.statements?has_content> <#-- if there are any statements -->
- <@objectPropertyList additionalLinks.statements additionalLinks.template showEditLinks />
+ <@objectPropertyList additionalLinks additionalLinks.statements additionalLinks.template showEditLinks />
#if>
@@ -119,12 +119,11 @@ name will be used as the label. -->
If there's a mainImage statement but no thumbnail image, treat it as if there is no image. -->
<#if (mainImage.statements)?has_content && thumbUrl?has_content>
- <@p.editingLinks mainImage.statements[0] showEditLinks />
+ <@p.editingLinks mainImage mainImage.statements[0] showEditLinks />
<#else>
<@p.addLinkWithLabel mainImage showEditLinks "Photo" />
<#if placeholderImage?has_content>
#if>
#if>
-
#macro>
\ No newline at end of file