I have a template with RW permissions linked to a host with R permissions. When I'm calling template.update with the "hosts" parameter trying to replace the linked hosts, the R host gets unlinked from the template. If I have no permissions to the host, it is not affected, which it correct.
When calling update and massupdate to replace related objects, existing objects that we don't have permissions to must not be affected. This problem may also exist in other methods, for instance, when assigning hosts to proxies, etc.