diff options
author | Michael DeHaan <mdehaan@redhat.com> | 2009-01-27 11:32:43 -0500 |
---|---|---|
committer | Michael DeHaan <mdehaan@redhat.com> | 2009-01-27 11:32:43 -0500 |
commit | a30b353ae350d546dd9ec98ab84b710f4662ccaa (patch) | |
tree | 81572e1d260822a3d1ffa6137c7475414bbf4bbc | |
parent | 609ae5295959c6166ed16a19cdf075065d591bc3 (diff) | |
parent | 30a862700654238d4b255875c7eae1dfadabe20d (diff) | |
download | cobbler-a30b353ae350d546dd9ec98ab84b710f4662ccaa.tar.gz cobbler-a30b353ae350d546dd9ec98ab84b710f4662ccaa.tar.xz cobbler-a30b353ae350d546dd9ec98ab84b710f4662ccaa.zip |
Merge commit 'jcapel_nl/devel-bugs' into devel
-rw-r--r-- | cobbler/item_system.py | 29 | ||||
-rw-r--r-- | webui_templates/system_edit.tmpl | 7 |
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> |