getHandlerPath(); $handlerClass = $webserviceObject->getHandlerClass(); require_once $handlerPath; $handler = new $handlerClass($webserviceObject,$user,$adb,$log); $meta = $handler->getMeta(); $entityName = $meta->getObjectEntityName($id); $types = vtws_listtypes(null, $user); if(!in_array($entityName,$types['types'])){ throw new WebServiceException(WebServiceErrorCode::$ACCESSDENIED,"Permission to perform the operation is denied"); } if($entityName !== $webserviceObject->getEntityName()){ throw new WebServiceException(WebServiceErrorCode::$INVALIDID,"Id specified is incorrect"); } if(!$meta->hasPermission(EntityMeta::$DELETE,$id)){ throw new WebServiceException(WebServiceErrorCode::$ACCESSDENIED,"Permission to read given object is denied"); } $idComponents = vtws_getIdComponents($id); if(!$meta->exists($idComponents[1])){ throw new WebServiceException(WebServiceErrorCode::$RECORDNOTFOUND,"Record you are trying to access is not found"); } if($meta->hasDeleteAccess()!==true){ throw new WebServiceException(WebServiceErrorCode::$ACCESSDENIED,"Permission to delete is denied"); } $entity = $handler->delete($id); VTWS_PreserveGlobal::flush(); return $entity; } ?>