From 8772fd4b2dee4a4b58dfc963b248c7e7f541c33e Mon Sep 17 00:00:00 2001 From: Roy Wetherall Date: Mon, 22 Oct 2012 01:23:19 +0000 Subject: [PATCH] RM-531: Impossible to declare email record git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.0@42909 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../RecordsManagementNodeFormFilter.java | 32 +++++++++++++------ 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementNodeFormFilter.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementNodeFormFilter.java index 43a0d08512..420c6eccec 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementNodeFormFilter.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementNodeFormFilter.java @@ -18,6 +18,7 @@ */ package org.alfresco.module.org_alfresco_module_rm.forms; +import java.io.Serializable; import java.util.List; import java.util.Map; import java.util.Set; @@ -263,20 +264,31 @@ public class RecordsManagementNodeFormFilter extends RecordsManagementFormFilter List fieldDefs = form.getFieldDefinitions(); for (FieldDefinition fieldDef : fieldDefs) { - if (fieldDef.getName().equals("cm:title") || - fieldDef.getName().equals("cm:author") || - fieldDef.getName().equals("rma:originator") || - fieldDef.getName().equals("rma:publicationDate") || - fieldDef.getName().equals("rma:dateReceived") || - fieldDef.getName().equals("rma:address") || - fieldDef.getName().equals("rma:otherAddress")) - { - fieldDef.setProtectedField(true); + String prefixName = fieldDef.getName(); + + // check the value of the property, if empty then do not mark property + // as read only + QName qname = QName.createQName(prefixName, namespaceService); + Serializable value = nodeService.getProperty(nodeRef, qname); + if (value != null) + { + if (prefixName.equals("cm:title") || + prefixName.equals("cm:author") || + prefixName.equals("rma:originator") || + prefixName.equals("rma:publicationDate") || + prefixName.equals("rma:dateReceived") || + prefixName.equals("rma:address") || + prefixName.equals("rma:otherAddress")) + { + fieldDef.setProtectedField(true); + } } } - if (logger.isDebugEnabled()) + if (logger.isDebugEnabled() == true) + { logger.debug("Set email related fields to be protected"); + } } /**