diff options
author | Michael DeHaan <mdehaan@redhat.com> | 2008-04-04 17:12:32 -0400 |
---|---|---|
committer | Michael DeHaan <mdehaan@redhat.com> | 2008-04-04 17:12:32 -0400 |
commit | 9337f9411092bcd3da4005fa29557f875fbf68e8 (patch) | |
tree | 0b4470c705a4e67f7cddc64540176020a8867461 /cobbler/remote.py | |
parent | b7e606d6fe4c431c8fb95e96ac6b4c5e101f202d (diff) | |
download | third_party-cobbler-9337f9411092bcd3da4005fa29557f875fbf68e8.tar.gz third_party-cobbler-9337f9411092bcd3da4005fa29557f875fbf68e8.tar.xz third_party-cobbler-9337f9411092bcd3da4005fa29557f875fbf68e8.zip |
Get duplicate name/ip/mac checks implemented for WebUI and XMLRPC
now that command line/local-API is done.
Diffstat (limited to 'cobbler/remote.py')
-rw-r--r-- | cobbler/remote.py | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/cobbler/remote.py b/cobbler/remote.py index ed3cc53..d9f937b 100644 --- a/cobbler/remote.py +++ b/cobbler/remote.py @@ -810,41 +810,56 @@ class CobblerReadWriteXMLRPCInterface(CobblerXMLRPCInterface): found = self.api.repos().find(name) return self.__store_object(found) - def save_distro(self,object_id,token): + def save_distro(self,object_id,token,editmode="bypass"): """ Saves a newly created or modified distro object to disk. """ self.log("save_distro",object_id=object_id,token=token) obj = self.__get_object(object_id) self.check_access(token,"save_distro",obj) - return self.api.distros().add(obj,save=True) + if editmode == "new": + return self.api.distros().add(obj,save=True,check_for_duplicate_names=True) + else: + return self.api.distros().add(obj,save=True) - def save_profile(self,object_id,token): + def save_profile(self,object_id,token,editmode="bypass"): """ Saves a newly created or modified profile object to disk. """ self.log("save_profile",token=token,object_id=object_id) obj = self.__get_object(object_id) self.check_access(token,"save_profile",obj) - return self.api.profiles().add(obj,save=True) + if editmode == "new": + return self.api.profiles().add(obj,save=True,check_for_duplicate_names=True) + else: + return self.api.profiles().add(obj,save=True) - def save_system(self,object_id,token): + def save_system(self,object_id,token,editmode="bypass"): """ Saves a newly created or modified system object to disk. """ self.log("save_system",token=token,object_id=object_id) obj = self.__get_object(object_id) self.check_access(token,"save_system",obj) - return self.api.systems().add(obj,save=True) + if editmode == "new": + return self.api.systems().add(obj,save=True,check_for_duplicate_names=True,check_for_duplicate_netinfo=True) + elif editmode == "edit": + return self.api.systems().add(obj,save=True,check_for_duplicate_netinfo=True) + else: + return self.api.systems().add(obj,save=True) + - def save_repo(self,object_id,token=None): + def save_repo(self,object_id,token=None,editmode="bypass"): """ Saves a newly created or modified repo object to disk. """ self.log("save_repo",object_id=object_id,token=token) obj = self.__get_object(object_id) self.check_access(token,"save_repo",obj) - return self.api.repos().add(obj,save=True) + if editmode == "new": + return self.api.repos().add(obj,save=True,check_for_duplicate_names=True) + else: + return self.api.repos().add(obj,save=True) def copy_distro(self,object_id,newname,token=None): """ |