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 @@
<#-- Image --> - <@p.imageLinks individual propertyGroups editing /> + <@p.imageLinks individual propertyGroups editable />
@@ -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 -->
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 - +<#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} +<#macro dataPropertyList property editable> + <#list property.statements as statement> + <@propertyListItem property statement editable>${statement.value} -<#macro collatedObjectPropertyList property showEditingLinks> +<#macro collatedObjectPropertyList property editable> <#assign subclasses = property.subclasses> <#list subclasses?keys as subclass>
  • ${subclass?lower_case}

  • -<#macro simpleObjectPropertyList property showEditingLinks> - <@objectPropertyList property.statements "propStatement-simple.ftl" showEditingLinks /> +<#macro simpleObjectPropertyList property editable> + <@objectPropertyList property property.statements "propStatement-simple.ftl" editable /> -<#macro objectPropertyList statements template showEditingLinks> +<#macro objectPropertyList property statements template editable> <#list statements as statement> - <@propertyListItem statement showEditingLinks><#include "${template}"> + <@propertyListItem property statement editable><#include "${template}"> <#-- 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 /> +<#macro addLinkWithLabel property editable label="${property.name?capitalize}"> + <#local addLink><@addLink property editable /> <#if addLink?has_content>

    ${label} ${addLink}

    -<#macro addLink property showEditingLinks> - <#if showEditingLinks> +<#macro addLink property editable> + <#if editable> <#local url = property.addUrl> <#if url?has_content> add @@ -51,28 +51,28 @@ name will be used as the label. --> -<#macro propertyListItem statement showEditingLinks> +<#macro propertyListItem property statement editable>
  • <#nested> - <@editingLinks statement showEditingLinks /> + <@editingLinks property statement editable />
  • -<#macro editingLinks statement showEditingLinks> - <#if showEditingLinks> - <@editLink statement /> - <@deleteLink statement /> +<#macro editingLinks property statement editable> + <#if editable> + <@editLink property statement /> + <@deleteLink property statement /> -<#macro editLink statement> +<#macro editLink property statement> <#local url = statement.editUrl> <#if url?has_content> edit -<#macro deleteLink statement> +<#macro deleteLink property statement> <#local url = statement.deleteUrl> <#if url?has_content> delete @@ -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 --> <@addLinkWithLabel additionalLinks showEditLinks "Additional Web Pages" /> <#if additionalLinks.statements?has_content> <#-- if there are any statements --> @@ -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> ${individual.name} - <@p.editingLinks mainImage.statements[0] showEditLinks /> + <@p.editingLinks mainImage mainImage.statements[0] showEditLinks /> <#else> <@p.addLinkWithLabel mainImage showEditLinks "Photo" /> <#if placeholderImage?has_content> placeholder image - \ No newline at end of file