Index: trunk/grails-app/controllers/SiteDetailedController.groovy
===================================================================
--- trunk/grails-app/controllers/SiteDetailedController.groovy	(revision 359)
+++ trunk/grails-app/controllers/SiteDetailedController.groovy	(revision 360)
@@ -3,4 +3,6 @@
 @Secured(['ROLE_AppAdmin', 'ROLE_Manager', 'ROLE_AssetManager'])
 class SiteDetailedController extends BaseController {
+
+    def siteService
 
     // the delete, save and update actions only accept POST requests
@@ -29,20 +31,20 @@
     @Secured(['ROLE_AppAdmin'])
     def delete = {
-        def siteInstance = Site.get( params.id )
-        if(siteInstance) {
-            try {
-                siteInstance.delete(flush:true)
-                flash.message = "Site ${params.id} deleted"
-                redirect(action:list)
-            }
-            catch(org.springframework.dao.DataIntegrityViolationException e) {
-                flash.message = "Site ${params.id} could not be deleted"
-                redirect(action:show,id:params.id)
-            }
+        def result = siteService.delete(params)
+
+        if(!result.error) {
+            flash.message = g.message(code: "default.delete.success", args: ["Site", params.id])
+            redirect(action:list)
+            return
         }
-        else {
-            flash.message = "Site not found with id ${params.id}"
+
+        flash.errorMessage = g.message(code: result.error.code, args: result.error.args)
+
+        if(result.error.code == "default.not.found") {
             redirect(action:list)
+            return
         }
+
+        redirect(action:show, id: params.id)
     }
 
