summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael DeHaan <mdehaan@redhat.com>2008-12-01 13:52:09 -0500
committerMichael DeHaan <mdehaan@redhat.com>2008-12-01 13:52:09 -0500
commit1a9938e84e11f437d6deb6dae9d4ba0ebc7e487d (patch)
treecce9beea00d5fa8fdf137040632842f9ea3bd15f
parent9e9392db3a96b037ac2a632c9e3b41c5c220a7d5 (diff)
downloadcobbler-1a9938e84e11f437d6deb6dae9d4ba0ebc7e487d.tar.gz
cobbler-1a9938e84e11f437d6deb6dae9d4ba0ebc7e487d.tar.xz
cobbler-1a9938e84e11f437d6deb6dae9d4ba0ebc7e487d.zip
Changes to make the webapp able to delete fields by not explicitly checking
to see if fields aren't blank/None.
-rw-r--r--cobbler/item_repo.py2
-rw-r--r--cobbler/utils.py9
-rw-r--r--cobbler/webui/CobblerWeb.py199
3 files changed, 77 insertions, 133 deletions
diff --git a/cobbler/item_repo.py b/cobbler/item_repo.py
index 83a72d39..fe27a8aa 100644
--- a/cobbler/item_repo.py
+++ b/cobbler/item_repo.py
@@ -177,6 +177,8 @@ class Repo(item.Item):
contains games, and we probably don't want those), make it possible to list the packages
one wants out of those repos, so only those packages + deps can be mirrored.
"""
+ if rpms is None:
+ rpms = ""
if type(rpms) != list:
rpmlist = rpms.split(None)
else:
diff --git a/cobbler/utils.py b/cobbler/utils.py
index 23eefd52..e2d60521 100644
--- a/cobbler/utils.py
+++ b/cobbler/utils.py
@@ -888,6 +888,8 @@ def mkdir(path,mode=0777):
raise CX(_("Error creating") % path)
def set_arch(self,arch):
+ if arch is None or arch == "":
+ arch = "x86"
if arch in [ "standard", "ia64", "x86", "i386", "ppc", "ppc64", "x86_64", "s390x" ]:
if arch == "x86" or arch == "standard":
# be consistent
@@ -897,8 +899,9 @@ def set_arch(self,arch):
raise CX(_("arch choices include: x86, x86_64, ppc, ppc64, s390x and ia64"))
def set_os_version(self,os_version):
- if os_version is None:
- raise CX(_("invalid value for --os-version, see manpage"))
+ if os_version == "" or os_version is None:
+ self.os_version = ""
+ return True
self.os_version = os_version.lower()
if self.breed is None or self.breed == "":
raise CX(_("cannot set --os-version without setting --breed first"))
@@ -1095,6 +1098,8 @@ def get_kickstart_templates(api):
return files.keys()
def safe_filter(var):
+ if var is None:
+ return
if var.find("/") != -1 or var.find(";") != -1:
raise CX("Invalid characters found in input")
diff --git a/cobbler/webui/CobblerWeb.py b/cobbler/webui/CobblerWeb.py
index 82e50567..c5115c19 100644
--- a/cobbler/webui/CobblerWeb.py
+++ b/cobbler/webui/CobblerWeb.py
@@ -247,22 +247,16 @@ class CobblerWeb(object):
self.remote.modify_distro(distro, 'name', name, self.token)
self.remote.modify_distro(distro, 'kernel', kernel, self.token)
self.remote.modify_distro(distro, 'initrd', initrd, self.token)
- if kopts:
+ if kopts is not None:
self.remote.modify_distro(distro, 'kopts', kopts, self.token)
- if koptspost:
+ if koptspost is not None:
self.remote.modify_distro(distro, 'kopts-post', koptspost, self.token)
- if ksmeta:
- self.remote.modify_distro(distro, 'ksmeta', ksmeta, self.token)
- if owners:
- self.remote.modify_distro(distro, 'owners', owners, self.token)
- if arch:
- self.remote.modify_distro(distro, 'arch', arch, self.token)
- if breed:
- self.remote.modify_distro(distro, 'breed', breed, self.token)
- if osversion:
- self.remote.modify_distro(distro, 'os-version', osversion, self.token)
- if comment:
- self.remote.modify_distro(distro, 'comment', comment, self.token)
+ self.remote.modify_distro(distro, 'ksmeta', ksmeta, self.token)
+ self.remote.modify_distro(distro, 'owners', owners, self.token)
+ self.remote.modify_distro(distro, 'arch', arch, self.token)
+ self.remote.modify_distro(distro, 'breed', breed, self.token)
+ self.remote.modify_distro(distro, 'os-version', osversion, self.token)
+ self.remote.modify_distro(distro, 'comment', comment, self.token)
# now time to save, do we want to run duplication checks?
self.remote.save_distro(distro, self.token, editmode)
@@ -374,49 +368,29 @@ class CobblerWeb(object):
if editmode != "rename" and name:
self.remote.modify_system(system, 'name', name, self.token )
self.remote.modify_system(system, 'profile', profile, self.token)
- if kopts:
- self.remote.modify_system(system, 'kopts', kopts, self.token)
- if koptspost:
- self.remote.modify_system(system, 'kopts-post', koptspost, self.token)
- if ksmeta:
- self.remote.modify_system(system, 'ksmeta', ksmeta, self.token)
- if owners:
- self.remote.modify_system(system, 'owners', owners, self.token)
- if netboot:
- self.remote.modify_system(system, 'netboot-enabled', netboot, self.token)
- if server_override:
- self.remote.modify_system(system, 'server', server_override, self.token)
-
- if virtfilesize:
- self.remote.modify_system(system, 'virt-file-size', virtfilesize, self.token)
- if virtcpus:
- self.remote.modify_system(system, 'virt-cpus', virtcpus, self.token)
- if virtram:
- self.remote.modify_system(system, 'virt-ram', virtram, self.token)
- if virttype:
- self.remote.modify_system(system, 'virt-type', virttype, self.token)
- if virtpath:
- self.remote.modify_system(system, 'virt-path', virtpath, self.token)
-
- if comment:
- self.remote.modify_system(system, 'comment', comment, self.token)
-
- if power_type:
- self.remote.modify_system(system, 'power_type', power_type, self.token)
- if power_user:
- self.remote.modify_system(system, 'power_user', power_user, self.token)
- if power_pass:
- self.remote.modify_system(system, 'power_pass', power_pass, self.token)
- if power_id:
- self.remote.modify_system(system, 'power_id', power_id, self.token)
- if power_address:
- self.remote.modify_system(system, 'power_address', power_address, self.token)
- if name_servers:
- self.remote.modify_system(system, 'name_servers', name_servers, self.token)
- if gateway:
- self.remote.modify_system(system, 'gateway', gateway, self.token)
- if hostname:
- self.remote.modify_system(system, 'hostname', hostname, self.token)
+ self.remote.modify_system(system, 'kopts', kopts, self.token)
+ self.remote.modify_system(system, 'kopts-post', koptspost, self.token)
+ self.remote.modify_system(system, 'ksmeta', ksmeta, self.token)
+ self.remote.modify_system(system, 'owners', owners, self.token)
+ self.remote.modify_system(system, 'netboot-enabled', netboot, self.token)
+ self.remote.modify_system(system, 'server', server_override, self.token)
+
+ self.remote.modify_system(system, 'virt-file-size', virtfilesize, self.token)
+ self.remote.modify_system(system, 'virt-cpus', virtcpus, self.token)
+ self.remote.modify_system(system, 'virt-ram', virtram, self.token)
+ self.remote.modify_system(system, 'virt-type', virttype, self.token)
+ self.remote.modify_system(system, 'virt-path', virtpath, self.token)
+
+ self.remote.modify_system(system, 'comment', comment, self.token)
+
+ self.remote.modify_system(system, 'power_type', power_type, self.token)
+ self.remote.modify_system(system, 'power_user', power_user, self.token)
+ self.remote.modify_system(system, 'power_pass', power_pass, self.token)
+ self.remote.modify_system(system, 'power_id', power_id, self.token)
+ self.remote.modify_system(system, 'power_address', power_address, self.token)
+ self.remote.modify_system(system, 'name_servers', name_servers, self.token)
+ self.remote.modify_system(system, 'gateway', gateway, self.token)
+ self.remote.modify_system(system, 'hostname', hostname, self.token)
interfaces = args.get("interface_list","")
interfaces = interfaces.split(",")
@@ -613,36 +587,21 @@ class CobblerWeb(object):
self.remote.modify_profile(profile, 'distro', distro, self.token)
if str(subprofile) == "1" and parent:
self.remote.modify_profile(profile, 'parent', parent, self.token)
- if kickstart:
- self.remote.modify_profile(profile, 'kickstart', kickstart, self.token)
- if kopts:
- self.remote.modify_profile(profile, 'kopts', kopts, self.token)
- if koptspost:
- self.remote.modify_profile(profile, 'kopts-post', koptspost, self.token)
- if owners:
- self.remote.modify_profile(profile, 'owners', owners, self.token)
- if enablemenu:
- self.remote.modify_profile(profile, 'enable-menu', enablemenu, self.token)
- if ksmeta:
- self.remote.modify_profile(profile, 'ksmeta', ksmeta, self.token)
- if virtfilesize:
- self.remote.modify_profile(profile, 'virt-file-size', virtfilesize, self.token)
- if virtram:
- self.remote.modify_profile(profile, 'virt-ram', virtram, self.token)
- if virttype:
- self.remote.modify_profile(profile, 'virt-type', virttype, self.token)
- if virtpath:
- self.remote.modify_profile(profile, 'virt-path', virtpath, self.token)
- if virtbridge:
- self.remote.modify_profile(profile, 'virt-bridge', virtbridge, self.token)
- if virtcpus:
- self.remote.modify_profile(profile, 'virt-cpus', virtcpus, self.token)
- if server_override:
- self.remote.modify_profile(profile, 'server', server_override, self.token)
- if comment:
- self.remote.modify_profile(profile, 'comment', comment, self.token)
- if name_servers:
- self.remote.modify_profile(profile, 'name_servers', name_servers, self.token)
+ self.remote.modify_profile(profile, 'kickstart', kickstart, self.token)
+ self.remote.modify_profile(profile, 'kopts', kopts, self.token)
+ self.remote.modify_profile(profile, 'kopts-post', koptspost, self.token)
+ self.remote.modify_profile(profile, 'owners', owners, self.token)
+ self.remote.modify_profile(profile, 'enable-menu', enablemenu, self.token)
+ self.remote.modify_profile(profile, 'ksmeta', ksmeta, self.token)
+ self.remote.modify_profile(profile, 'virt-file-size', virtfilesize, self.token)
+ self.remote.modify_profile(profile, 'virt-ram', virtram, self.token)
+ self.remote.modify_profile(profile, 'virt-type', virttype, self.token)
+ self.remote.modify_profile(profile, 'virt-path', virtpath, self.token)
+ self.remote.modify_profile(profile, 'virt-bridge', virtbridge, self.token)
+ self.remote.modify_profile(profile, 'virt-cpus', virtcpus, self.token)
+ self.remote.modify_profile(profile, 'server', server_override, self.token)
+ self.remote.modify_profile(profile, 'comment', comment, self.token)
+ self.remote.modify_profile(profile, 'name_servers', name_servers, self.token)
if repos is None:
repos = []
@@ -653,8 +612,7 @@ class CobblerWeb(object):
repos.remove( '--none--' )
self.remote.modify_profile(profile, 'repos', repos, self.token)
- if dhcptag:
- self.remote.modify_profile(profile, 'dhcp-tag', dhcptag, self.token)
+ self.remote.modify_profile(profile, 'dhcp-tag', dhcptag, self.token)
self.remote.save_profile(profile,self.token, editmode)
except Exception, e:
log_exc(self.apache)
@@ -760,20 +718,13 @@ class CobblerWeb(object):
self.remote.modify_repo(repo, 'priority', priority, self.token)
self.remote.modify_repo(repo, 'mirror-locally', mirror_locally, self.token)
- if rpm_list:
- self.remote.modify_repo(repo, 'rpm-list', rpm_list, self.token)
- if createrepo_flags:
- self.remote.modify_repo(repo, 'createrepo-flags', createrepo_flags, self.token)
- if arch:
- self.remote.modify_repo(repo, 'arch', arch, self.token)
- if yumopts:
- self.remote.modify_repo(repo, 'yumopts', yumopts, self.token)
- if environment:
- self.remote.modify_repo(repo, 'environment', environment, self.token)
- if owners:
- self.remote.modify_repo(repo, 'owners', owners, self.token)
- if comment:
- self.remote.modify_repo(repo, 'comment', comment, self.token)
+ self.remote.modify_repo(repo, 'rpm-list', rpm_list, self.token)
+ self.remote.modify_repo(repo, 'createrepo-flags', createrepo_flags, self.token)
+ self.remote.modify_repo(repo, 'arch', arch, self.token)
+ self.remote.modify_repo(repo, 'yumopts', yumopts, self.token)
+ self.remote.modify_repo(repo, 'environment', environment, self.token)
+ self.remote.modify_repo(repo, 'owners', owners, self.token)
+ self.remote.modify_repo(repo, 'comment', comment, self.token)
self.remote.save_repo(repo, self.token, editmode)
@@ -883,34 +834,20 @@ class CobblerWeb(object):
try:
if editmode != "rename" and name:
self.remote.modify_image(image, 'name', name, self.token)
- if imagetype is not None:
- self.remote.modify_image(image, 'image-type', imagetype, self.token)
- if breed is not None:
- self.remote.modify_image(image, 'breed', breed, self.token)
- if osversion is not None:
- self.remote.modify_image(image, 'os-version', osversion, self.token)
- if arch is not None:
- self.remote.modify_image(image, 'arch', arch, self.token)
- if file is not None:
- self.remote.modify_image(image, 'file', file, self.token)
- if owners is not None:
- self.remote.modify_image(image, 'owners', owners, self.token)
- if virtcpus is not None:
- self.remote.modify_image(image, 'virt-cpus', virtcpus, self.token)
- if networkcount is not None:
- self.remote.modify_image(image, 'network-count', networkcount, self.token)
- if virtfilesize is not None:
- self.remote.modify_image(image, 'virt-file-size', virtfilesize, self.token)
- if virtpath is not None:
- self.remote.modify_image(image, 'virt-path', virtpath, self.token)
- if virtbridge is not None:
- self.remote.modify_image(image, 'virt-bridge', virtbridge, self.token)
- if virtram is not None:
- self.remote.modify_image(image, 'virt-ram', virtram, self.token)
- if virttype is not None:
- self.remote.modify_image(image, 'virt-type', virttype, self.token)
- if comment:
- self.remote.modify_image(image, 'comment', comment, self.token)
+ self.remote.modify_image(image, 'image-type', imagetype, self.token)
+ self.remote.modify_image(image, 'breed', breed, self.token)
+ self.remote.modify_image(image, 'os-version', osversion, self.token)
+ self.remote.modify_image(image, 'arch', arch, self.token)
+ self.remote.modify_image(image, 'file', file, self.token)
+ self.remote.modify_image(image, 'owners', owners, self.token)
+ self.remote.modify_image(image, 'virt-cpus', virtcpus, self.token)
+ self.remote.modify_image(image, 'network-count', networkcount, self.token)
+ self.remote.modify_image(image, 'virt-file-size', virtfilesize, self.token)
+ self.remote.modify_image(image, 'virt-path', virtpath, self.token)
+ self.remote.modify_image(image, 'virt-bridge', virtbridge, self.token)
+ self.remote.modify_image(image, 'virt-ram', virtram, self.token)
+ self.remote.modify_image(image, 'virt-type', virttype, self.token)
+ self.remote.modify_image(image, 'comment', comment, self.token)
self.remote.save_image(image, self.token, editmode)
except Exception, e: