summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael DeHaan <mdehaan@redhat.com>2009-01-27 11:32:43 -0500
committerMichael DeHaan <mdehaan@redhat.com>2009-01-27 11:32:43 -0500
commita30b353ae350d546dd9ec98ab84b710f4662ccaa (patch)
tree81572e1d260822a3d1ffa6137c7475414bbf4bbc
parent609ae5295959c6166ed16a19cdf075065d591bc3 (diff)
parent30a862700654238d4b255875c7eae1dfadabe20d (diff)
downloadcobbler-a30b353ae350d546dd9ec98ab84b710f4662ccaa.tar.gz
cobbler-a30b353ae350d546dd9ec98ab84b710f4662ccaa.tar.xz
cobbler-a30b353ae350d546dd9ec98ab84b710f4662ccaa.zip
Merge commit 'jcapel_nl/devel-bugs' into devel
-rw-r--r--cobbler/item_system.py29
-rw-r--r--webui_templates/system_edit.tmpl7
2 files changed, 11 insertions, 25 deletions
diff --git a/cobbler/item_system.py b/cobbler/item_system.py
index 4939fa02..e3cb58a7 100644
--- a/cobbler/item_system.py
+++ b/cobbler/item_system.py
@@ -81,22 +81,20 @@ class System(item.Item):
def delete_interface(self,name):
"""
- Used to remove an interface. Not valid for the default
-interface.
+ Used to remove an interface.
"""
- if self.interfaces.has_key(name) and name != "eth0":
+ if self.interfaces.has_key(name) and len(self.interfaces) > 1:
del self.interfaces[name]
else:
- if name == "eth0":
- raise CX(_("Interface %s can never be deleted") % name)
- else:
+ if not self.interfaces.has_key(name):
raise CX(_("Cannot delete interface that is not present: %s") % name)
+ else:
+ raise CX(_("At least one interface needs to be defined."))
+
return True
def __get_interface(self,name):
- if name is None:
- return self.__get_default_interface()
if not self.interfaces.has_key(name):
self.interfaces[name] = {
@@ -115,8 +113,6 @@ interface.
return self.interfaces[name]
- def __get_default_interface(self):
- return self.__get_interface("eth0")
def from_datastruct(self,seed_data):
@@ -314,8 +310,6 @@ interface.
Set the name. If the name is a MAC or IP, and the first MAC and/or IP is not defined, go ahead
and fill that value in.
"""
- intf = self.__get_default_interface()
-
if self.name not in ["",None] and self.parent not in ["",None] and self.name == self.parent:
raise CX(_("self parentage is weird"))
@@ -325,10 +319,15 @@ interface.
if not x.isalnum() and not x in [ "_", "-", ".", ":", "+" ] :
raise CX(_("invalid characters in name: %s") % x)
+ # Stuff here defaults to eth0. Yes, it's ugly and hardcoded, but so was
+ # the default interface behaviour that's now removed. ;)
+ # --Jasper Capel
if utils.is_mac(name):
+ intf = self.__get_interface("eth0")
if intf["mac_address"] == "":
intf["mac_address"] = name
elif utils.is_ip(name):
+ intf = self.__get_interface("eth0")
if intf["ip_address"] == "":
intf["ip_address"] = name
self.name = name
@@ -393,12 +392,6 @@ interface.
return True
return False
- def set_default_interface(self,interface):
- if self.interfaces.has_key(interface):
- self.default_interface = interface
- else:
- raise CX(_("invalid interface (%s)") % interface)
-
def set_dhcp_tag(self,dhcp_tag,interface):
intf = self.__get_interface(interface)
intf["dhcp_tag"] = dhcp_tag
diff --git a/webui_templates/system_edit.tmpl b/webui_templates/system_edit.tmpl
index 0d271728..92cd057e 100644
--- a/webui_templates/system_edit.tmpl
+++ b/webui_templates/system_edit.tmpl
@@ -120,12 +120,6 @@ function on_interface_delete()
selected = get_selected_interface()
interfaces = document.getElementById("interfaces")
-
- if (interfaces.value == no_delete) {
- alert("the default interface cannot be deleted")
- return
- }
-
if (interfaces.length == 1) {
alert("systems must always have at least one interface")
return
@@ -329,7 +323,6 @@ function page_onload() {
interface_table = build_interface_table()
last_interface = get_selected_interface()
load_intf()
- no_delete = "eth0"
}
</script>