diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-condition-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-condition-context.xml
index ba58d29116..0f8a8467c4 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-condition-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-condition-context.xml
@@ -52,6 +52,16 @@
class="org.alfresco.module.org_alfresco_module_rm.capability.declarative.condition.FillingCapabilityCondition">
+
+
+
+
+
+
@@ -208,7 +218,7 @@
-
+
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-disposition-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-disposition-context.xml
index ba01166921..0782fa8641 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-disposition-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-disposition-context.xml
@@ -157,7 +157,7 @@
-
+
@@ -179,8 +179,8 @@
-
-
+
+
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-group-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-group-context.xml
index 17bbf38dee..e90e4e18a6 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-group-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-group-context.xml
@@ -242,4 +242,15 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml
index 9611d55654..e42bf2ba4c 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml
@@ -6,9 +6,9 @@
-
@@ -660,6 +660,7 @@
+
.
+ */
+package org.alfresco.module.org_alfresco_module_rm.capability.declarative.condition;
+
+import java.util.List;
+
+import org.alfresco.module.org_alfresco_module_rm.capability.declarative.AbstractCapabilityCondition;
+import org.alfresco.service.cmr.repository.ChildAssociationRef;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.security.AccessStatus;
+
+/**
+ * Base class for FillingOnChildrenCapabilityCondition and ReadOnChildrenCapabilityCondition
+ *
+ * @author Tuna Aksoy
+ * @since 2.3
+ */
+public abstract class ChildPermissionCapabilityCondition extends AbstractCapabilityCondition
+{
+ protected boolean evaluateImpl(NodeRef nodeRef, String permission)
+ {
+ boolean result = true;
+
+ List childAssocs = nodeService.getChildAssocs(nodeRef);
+ for (ChildAssociationRef childAssociationRef : childAssocs)
+ {
+ NodeRef childRef = childAssociationRef.getChildRef();
+ if (permissionService.hasPermission(childRef, permission) == AccessStatus.DENIED)
+ {
+ result = false;
+ break;
+ }
+ }
+
+ return result;
+ }
+}
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/declarative/condition/FillingOnChildrenCapabilityCondition.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/declarative/condition/FillingOnChildrenCapabilityCondition.java
new file mode 100644
index 0000000000..576cf627a4
--- /dev/null
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/declarative/condition/FillingOnChildrenCapabilityCondition.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2005-2014 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with Alfresco. If not, see .
+ */
+package org.alfresco.module.org_alfresco_module_rm.capability.declarative.condition;
+
+import org.alfresco.module.org_alfresco_module_rm.capability.RMPermissionModel;
+import org.alfresco.service.cmr.repository.NodeRef;
+
+/**
+ * Filling on children capability condition.
+ *
+ * @author Tuna Aksoy
+ * @since 2.3
+ */
+public class FillingOnChildrenCapabilityCondition extends ChildPermissionCapabilityCondition
+{
+ /**
+ * @see org.alfresco.module.org_alfresco_module_rm.capability.declarative.CapabilityCondition#evaluate(org.alfresco.service.cmr.repository.NodeRef)
+ */
+ @Override
+ public boolean evaluateImpl(NodeRef nodeRef)
+ {
+ return evaluateImpl(nodeRef, RMPermissionModel.FILING);
+ }
+}
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/declarative/condition/ReadOnChildrenCapabilityCondition.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/declarative/condition/ReadOnChildrenCapabilityCondition.java
new file mode 100644
index 0000000000..ac6f24c914
--- /dev/null
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/declarative/condition/ReadOnChildrenCapabilityCondition.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2005-2014 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with Alfresco. If not, see .
+ */
+package org.alfresco.module.org_alfresco_module_rm.capability.declarative.condition;
+
+import org.alfresco.module.org_alfresco_module_rm.capability.RMPermissionModel;
+import org.alfresco.service.cmr.repository.NodeRef;
+
+/**
+ * Read on children capability condition.
+ *
+ * @author Tuna Aksoy
+ * @since 2.3
+ */
+public class ReadOnChildrenCapabilityCondition extends ChildPermissionCapabilityCondition
+{
+ /**
+ * @see org.alfresco.module.org_alfresco_module_rm.capability.declarative.CapabilityCondition#evaluate(org.alfresco.service.cmr.repository.NodeRef)
+ */
+ @Override
+ public boolean evaluateImpl(NodeRef nodeRef)
+ {
+ return evaluateImpl(nodeRef, RMPermissionModel.READ_RECORDS);
+ }
+}