Index: trunk/grails-app/controllers/AssetSubItemDetailedController.groovy
===================================================================
--- trunk/grails-app/controllers/AssetSubItemDetailedController.groovy	(revision 350)
+++ trunk/grails-app/controllers/AssetSubItemDetailedController.groovy	(revision 352)
@@ -116,8 +116,10 @@
             flash.message = "AssetSubItem not found with id ${params.id}"
             redirect(action: "search")
-        }
-        else {
-            return [ assetSubItemInstance : assetSubItemInstance ]
-        }
+            return
+        }
+
+        def possibleParentItems = assetSubItemService.possibleParentItems(assetSubItemInstance)
+
+        return [ assetSubItemInstance : assetSubItemInstance, possibleParentItems: possibleParentItems ]
     }
 
@@ -137,15 +139,7 @@
             assetSubItemInstance.properties = params
 
-//             if(!assetSubItemInstance.asset && !assetSubItemInstance.parentItem) {
-//                 flash.message = "Either an asset or parentItem is required."
-//                 render(view:'edit',model:[assetSubItemInstance:assetSubItemInstance])
-//                 return
-//             }
-// 
-//             if(assetSubItemInstance.asset && assetSubItemInstance.parentItem) {
-//             flash.message = "Both an asset and parentItem may not be specified at the same time."
-//                 render(view:'edit',model:[parentItem:parentItem])
-//                 return
-//             }
+            if(assetSubItemInstance.assets) {
+                assetSubItemInstance.parentItem = null
+            }
 
             if(!assetSubItemInstance.hasErrors() && assetSubItemInstance.save(flush: true)) {
