diff -urN old/cobbler/webui/CobblerWeb.py build/cobbler/webui/CobblerWeb.py
--- old/cobbler/webui/CobblerWeb.py	2008-12-05 12:55:03.000000000 +0100
+++ build/cobbler/webui/CobblerWeb.py	2008-12-08 13:28:09.000000000 +0100
@@ -322,8 +322,193 @@
         else:
             return self.__render('empty.tmpl',{})
 
-    def system_save(self,name=None,oldname=None,comment=None,editmode="edit",profile=None,
-                    new_or_edit=None,  
+
+    def system_list_action(self,actionname=None,targetlist=None,**args):
+        if not self.__xmlrpc_setup():
+            return self.xmlrpc_auth_failure()
+
+        if actionname is None:
+            return self.error_page("Actionname parameter is REQUIRED.")
+
+        if actionname == 'add':
+            return self.system_edit_new()
+
+        if targetlist is None:
+            return self.error_page("Targetlist parameter is REQUIRED.")
+
+        # Single item actions
+        if actionname == 'copy':
+            return self.system_edit_copy(targetlist)
+        if actionname == 'edit':
+            return self.system_edit(targetlist)
+
+        # Multiple items actions
+        systems=[]
+        for targetname in targetlist.split():
+            systems.append(self.remote.get_system(targetname,self.token))
+
+        return self.__render( 'system_'+actionname+'.tmpl', {
+                'systems'    : systems,
+                'profiles'   : self.remote.get_profiles(),
+                'targetlist' : targetlist,
+            } )
+
+
+    def system_netboot(self,targetlist=None,netboot=None,**args):
+        if not self.__xmlrpc_setup():
+            return self.xmlrpc_auth_failure()
+        if targetlist is None:
+            return self.error_page("Targetlist parameter is REQUIRED.")
+        if netboot is None:
+            return self.error_page("Netboot parameter is REQUIRED.")
+        try:
+            systems=[]
+            for targetname in targetlist.split():
+                systems.append(self.remote.get_system_handle(targetname,self.token))
+            for system in systems:
+                self.remote.modify_system(system, 'netboot-enabled', netboot, self.token)
+                self.remote.save_system(system, self.token)
+            return self.system_list()
+        except Exception, e:
+            log_exc(self.apache)
+            return self.error_page("Error while saving system: %s" % str(e))
+
+
+    def system_profile(self,targetlist=None,profile=None,**args):
+        if not self.__xmlrpc_setup():
+            return self.xmlrpc_auth_failure()
+        if targetlist is None:
+            return self.error_page("Targetlist parameter is REQUIRED.")
+        if profile is None:
+            return self.error_page("Profile parameter is REQUIRED.")
+        try:
+            systems=[]
+            for targetname in targetlist.split():
+                systems.append(self.remote.get_system_handle(targetname,self.token))
+            for system in systems:
+                self.remote.modify_system(system, 'profile', profile, self.token)
+                self.remote.save_system(system, self.token)
+            return self.system_list()
+        except Exception, e:
+            log_exc(self.apache)
+            return self.error_page("Error while saving system: %s" % str(e))
+
+
+    def system_power(self,targetlist=None,power=None,**args):
+        if not self.__xmlrpc_setup():
+            return self.xmlrpc_auth_failure()
+        if targetlist is None:
+            return self.error_page("Targetlist parameter is REQUIRED.")
+        if power is None:
+            return self.error_page("Power parameter is REQUIRED.")
+        try:
+            systems=[]
+            for targetname in targetlist.split():
+                systems.append(self.remote.get_system_handle(targetname,self.token))
+            for system in systems:
+                self.remote.power_system(system, power, self.token)
+            return self.system_list()
+        except Exception, e:
+            log_exc(self.apache)
+            return self.error_page("Error while controlling power of system: %s" % str(e))
+
+
+    def system_rename(self,targetlist=None,name=None,**args):
+        if not self.__xmlrpc_setup():
+            return self.xmlrpc_auth_failure()
+        if targetlist is None:
+            return self.error_page("Targetlist parameter is REQUIRED.")
+        try:
+            systems=[]
+            for targetname in targetlist.split():
+                systems.append(self.remote.get_system_handle(targetname,self.token))
+            for system in systems:
+                self.remote.rename_system(system, name, self.token)
+            return self.system_list()
+        except Exception, e:
+            log_exc(self.apache)
+            return self.error_page("Error while renaming system: %s" % str(e))
+
+
+    def system_delete(self,targetlist=None,**args):
+        if not self.__xmlrpc_setup():
+            return self.xmlrpc_auth_failure()
+        if targetlist is None:
+            return self.error_page("Targetlist parameter is REQUIRED.")
+        try:
+            for targetname in targetlist.split():
+                self.remote.remove_system(targetname, self.token)
+            return self.system_list()
+        except Exception, e:
+            log_exc(self.apache)
+            return self.error_page("Error while deleting system: %s" % str(e))
+
+
+
+    def system_edit(self, name=None,**spam):
+        if not self.__xmlrpc_setup():
+            return self.xmlrpc_auth_failure()
+
+        if name is None:
+            return self.error_page("Name parameter is REQUIRED")
+        input_system = self.remote.get_system(name,True)
+        can_edit = self.remote.check_access_no_fail(self.token,"modify_system",name)
+
+        return self.__render( 'system_edit.tmpl', {
+            'user' : self.username,
+            'editmode' : 'edit',
+            'editable' : can_edit,
+            'system': input_system,
+            'profiles': self.remote.get_profiles()
+        } )
+
+
+    def system_edit_new(self,**spam):
+        if not self.__xmlrpc_setup():
+            return self.xmlrpc_auth_failure()
+
+        can_edit = self.remote.check_access_no_fail(self.token,"new_system",None)
+        if not can_edit:
+            return self.__render('message.tmpl', {
+                'message1' : "Access denied.",
+                'message2' : "You do not have permission to create new objects."        
+            })
+
+        return self.__render( 'system_edit.tmpl', {
+            'user' : self.username,
+            'editmode' : 'new',
+            'editable' : True,
+            'system': None,
+            'profiles': self.remote.get_profiles()
+        } )
+
+
+    def system_edit_copy(self, name=None,**spam):
+        if not self.__xmlrpc_setup():
+            return self.xmlrpc_auth_failure()
+
+        if name is None:
+            return self.error_page("Name parameter is REQUIRED")
+            
+        can_edit = self.remote.check_access_no_fail(self.token,"new_system",None)
+        if not can_edit:
+            return self.__render('message.tmpl', {
+                'message1' : "Access denied.",
+                'message2' : "You do not have permission to create new objects."        
+            })
+            
+        input_system = self.remote.get_system(name,True)
+
+        return self.__render( 'system_edit.tmpl', {
+            'user' : self.username,
+            'editmode' : 'copy',
+            'editable' : True,
+            'system': input_system,
+            'profiles': self.remote.get_profiles()
+        } )
+
+
+    def system_save(self,name=None,comment=None,editmode="edit",profile=None,
                     kopts=None, koptspost=None, ksmeta=None, owners=None, server_override=None, netboot='n', 
                     virtpath=None,virtram=None,virttype=None,virtcpus=None,virtfilesize=None,
                     name_servers=None,
@@ -335,37 +520,27 @@
             return self.xmlrpc_auth_failure()
 
         # parameter checking
-        if name is None and oldname is not None:
-            name = oldname
         if name is None:
             return self.error_page("System name parameter is REQUIRED.")
-        if (editmode == 'rename' or editmode == 'copy') and name == oldname:
-            return self.error_page("The name has not been changed.")
-
-        # handle deletes as a special case
-        if new_or_edit == 'edit' and delete1 and delete2:
-            try:
-                self.remote.remove_system(name,self.token)
-            except Exception, e:
-                return self.error_page("could not delete %s, %s" % (name,str(e)))
-            return self.system_list()
 
         # grab a reference to the object
-        if new_or_edit == "edit" and editmode in [ "edit", "rename" ] :
+        if editmode == "edit":
             try:
-                if editmode == "edit":
-                    system = self.remote.get_system_handle( name, self.token )
-                else:
-                    system = self.remote.get_system_handle( oldname, self.token )
-                   
+                system = self.remote.get_system_handle( name, self.token )
             except:
                 return self.error_page("Failed to lookup system: %s" % name)
         else:
+            try:
+                system = self.remote.get_system_handle( name, self.token )
+            except:
+                system = None
+            if system is not None:
+                return self.error_page("Failed to create new system: %s already exists." % name)
             system = self.remote.new_system( self.token )
 
         # go!
         try:
-            if editmode != "rename" and name:
+            if editmode != "edit":
                 self.remote.modify_system(system, 'name', name, self.token )
             self.remote.modify_system(system, 'profile', profile, self.token)
             self.remote.modify_system(system, 'kopts', kopts, self.token)
@@ -437,43 +612,9 @@
             log_exc(self.apache)
             return self.error_page("Error while saving system: %s" % str(e))
 
-       
-
-        if editmode == "rename" and name != oldname:
-            try:
-                self.remote.rename_system(system, name, self.token)
-            except Exception, e:
-                return self.error_page("Rename unsuccessful")
-        
         return self.system_list()
 
 
-    def system_edit(self, name=None,**spam):
-
-        if not self.__xmlrpc_setup():
-            return self.xmlrpc_auth_failure()
-
-        input_system = None
-        if name is not None:
-            input_system = self.remote.get_system(name,True)
-            can_edit = self.remote.check_access_no_fail(self.token,"modify_system",name)
-        else:
-            can_edit = self.remote.check_access_no_fail(self.token,"new_system",None)
-            if not can_edit:
-                return self.__render('message.tmpl', {
-                    'message1' : "Access denied.",
-                    'message2' : "You do not have permission to create new objects."        
-                })
-
-
-        return self.__render( 'system_edit.tmpl', {
-            'user' : self.username,
-            'edit' : True,
-            'editable' : can_edit,
-            'system': input_system,
-            'profiles': self.remote.get_profiles()
-        } )
-
     # ------------------------------------------------------------------------ #
     # Profiles
     # ------------------------------------------------------------------------ #
@@ -989,7 +1130,15 @@
     profile_save.exposed = True
 
     system_edit.exposed = True
+    system_edit_new.exposed = True
+    system_edit_copy.exposed = True
     system_list.exposed = True
+    system_list_action.exposed = True
+    system_netboot.exposed = True
+    system_profile.exposed = True
+    system_power.exposed = True
+    system_rename.exposed = True
+    system_delete.exposed = True
     system_save.exposed = True
 
     repo_edit.exposed = True
diff -urN old/setup.py build/setup.py
--- old/setup.py	2008-12-05 12:55:03.000000000 +0100
+++ build/setup.py	2008-12-08 11:29:07.000000000 +0100
@@ -303,6 +303,11 @@
                                 (wwwtmpl,           ['webui_templates/profile_list.tmpl']),
                                 (wwwtmpl,           ['webui_templates/profile_edit.tmpl']),
                                 (wwwtmpl,           ['webui_templates/system_list.tmpl']),
+                                (wwwtmpl,           ['webui_templates/system_netboot.tmpl']),
+                                (wwwtmpl,           ['webui_templates/system_rename.tmpl']),
+                                (wwwtmpl,           ['webui_templates/system_delete.tmpl']),
+                                (wwwtmpl,           ['webui_templates/system_profile.tmpl']),
+                                (wwwtmpl,           ['webui_templates/system_power.tmpl']),
                                 (wwwtmpl,           ['webui_templates/system_edit.tmpl']),
                                 (wwwtmpl,           ['webui_templates/repo_list.tmpl']),
                                 (wwwtmpl,           ['webui_templates/repo_edit.tmpl']),
@@ -310,6 +315,7 @@
                                 (wwwtmpl,           ['webui_templates/image_edit.tmpl']),
 
                                 # Web UI common templates 
+                                (wwwtmpl,           ['webui_templates/checkboxes.tmpl']),
                                 (wwwtmpl,           ['webui_templates/paginate.tmpl']),
                                 (wwwtmpl,           ['webui_templates/message.tmpl']),
                                 (wwwtmpl,           ['webui_templates/error_page.tmpl']),
diff -urN old/webui_content/cobblerweb.css build/webui_content/cobblerweb.css
--- old/webui_content/cobblerweb.css	2008-11-21 13:59:03.000000000 +0100
+++ build/webui_content/cobblerweb.css	2008-12-08 12:05:57.000000000 +0100
@@ -40,11 +40,13 @@
 table.sortable th {
     background-color: #363a4e;
     margin: 0;
+    white-space: nowrap;
 }
 
 table.sortable caption {
     background-color: #202331;
     margin: 0;
+    white-space: nowrap;
 }
 
 td.nicedit { background-color: #444444; }
diff -urN old/webui_templates/checkboxes.tmpl build/webui_templates/checkboxes.tmpl
--- old/webui_templates/checkboxes.tmpl	1970-01-01 01:00:00.000000000 +0100
+++ build/webui_templates/checkboxes.tmpl	2008-12-08 11:26:04.000000000 +0100
@@ -0,0 +1,43 @@
+    ## USAGE:  # include "/path/to/this/file"
+        
+<script language="Javascript">
+function items_check_all()
+{
+    var checkall=document.getElementById("itemsall").checked
+    var items=document.getElementsByName("items")
+    for( i = 0; i < items.length; ++i ) {
+	var item = items[i];
+	item.checked=checkall;
+    }
+}
+
+function items_checked_count()
+{
+    var items=document.getElementsByName("items")
+    var j=0;
+    for( i = 0; i < items.length; ++i ) {
+	var item = items[i];
+	if (item.checked) {
+	    j++;
+	}
+    }
+    return j;
+}
+
+function items_checked_values()
+{
+    var items=document.getElementsByName("items")
+    var s="";
+    for( i = 0; i < items.length; ++i ) {
+	var item = items[i];
+	if (item.checked) {
+	    if (s=="") {
+		s=item.value
+	    } else {
+		s=s+" "+item.value;
+	    }
+	}
+    }
+    return s;
+}
+</script>
diff -urN old/webui_templates/master.tmpl build/webui_templates/master.tmpl
--- old/webui_templates/master.tmpl	2008-11-25 19:38:42.000000000 +0100
+++ build/webui_templates/master.tmpl	2008-12-08 12:21:04.000000000 +0100
@@ -45,7 +45,7 @@
         <li><a href="$base_url?mode=system_list" class="menu">Systems</a></li>
 	    #if $mode == "system_list"       
     	    <ul id="navaction">
-    		<li><a href="$base_url?mode=system_edit" class="menu">Add</a></li>
+    		<li><a href="$base_url?mode=system_edit_new" class="menu">Add</a></li>
 	    </ul>
 	    #end if	    
         <li><a href="$base_url?mode=ksfile_list" class="menu">Kickstarts</a></li>
diff -urN old/webui_templates/system_delete.tmpl build/webui_templates/system_delete.tmpl
--- old/webui_templates/system_delete.tmpl	1970-01-01 01:00:00.000000000 +0100
+++ build/webui_templates/system_delete.tmpl	2008-12-05 12:57:07.000000000 +0100
@@ -0,0 +1,39 @@
+#extends cobbler.webui.master
+
+#block body
+
+<form name="myform" method="post" action="$base_url?mode=system_delete">
+    <input type="hidden" name="targetlist" id="targetlist" value="$targetlist"/>
+    
+    <table class="sortable">
+    <thead>
+        <caption>Confirm deleting the following systems</caption>
+        <tr>
+            <th class="text">Name</th>
+        </tr>
+    </thead>
+    <tbody>
+        #set $evenodd = 1
+        #for $system in $systems
+        #if $evenodd % 2 == 0
+            #set $tr_class = "roweven"
+        #else
+            #set $tr_class = "rowodd"
+        #end if
+        #set $evenodd += 1
+
+        <tr class="$tr_class">
+            <td>
+                ${system.name}
+            </td>
+        </tr>
+        #end for
+    </tbody>
+    </table>
+
+    </p>
+    
+    <input type="submit" name="delete" value="Delete Systems"/>
+    <input type="button" name="cancel" onclick="javascript:history.go(-1)" value="Cancel"/>
+</form>
+#end block body
diff -urN old/webui_templates/system_edit.tmpl build/webui_templates/system_edit.tmpl
--- old/webui_templates/system_edit.tmpl	2008-12-05 12:49:31.000000000 +0100
+++ build/webui_templates/system_edit.tmpl	2008-12-08 13:23:28.000000000 +0100
@@ -343,16 +343,14 @@
 <fieldset id="cform">
 
     <input name="interface_list" type="hidden" value="" id="interface_list"/>
-   
-    #if $system
-        <input type="hidden" name="new_or_edit" value="edit"/>
-        <input type="hidden" name="oldname" value="$system.name"/>
+    <input type="hidden" name="editmode" value="$editmode"/>
+    
+    #if $editmode == "new"   
+        <legend>Add a System</legend>
     #else
-        <input type="hidden" name="new_or_edit" value="new"/>
+        <legend>Edit a System</legend>
     #end if
-
-    <legend>Edit a System</legend>
-
+    
     <table border=0>
 
     <tr>
@@ -360,14 +358,10 @@
     <label for="name">System Name</label>
     </td>
     <td>
-    #if $system
-    <input type="text" size="128" style="width: 150px;" name="name" id="name" disabled="true"
-    #else
     <input type="text" size="128" style="width: 150px;" name="name" id="name"
+    #if $editmode == "edit"
+        value="$system.name" disabled="true"
     #end if
-        #if $system
-            value="$system.name"
-        #end if
     />
     <p class="context-tip">Example: vanhalen</p>
     </td>
@@ -376,22 +370,6 @@
     #if $system
     <tr>
     <td>
-    <label for="mode">Edit Mode</label>
-    </td>
-    <td>
-    <input type="radio" name="editmode" value="edit" checked onclick="javascript:disablename(true)">Edit
-    <input type="radio" name="editmode" value="rename" onclick="javascript:disablename(false)">Rename + Edit
-    <input type="radio" name="editmode" value="copy" onclick="javascript:disablename(false)">Copy + Edit
-    <p class="context-tip">How do you want to modify this object?</p>
-    </td>
-    </tr>
-    #else
-    <input type="hidden" name="editmode" value="new"/>
-    #end if
-
-    #if $system
-    <tr>
-    <td>
     <label>Created</label>
     </td>
     <td>
@@ -954,19 +932,6 @@
     </td>
     </tr>
 
-    #if $system and $editable == True
-    <tr>
-    <td>
-    <label for="delete">Delete</label>
-    </td>
-    <td>
-       <input type="checkbox" name="delete1" value="delete1">Yes
-       <input type="checkbox" name="delete2" value="delete2">Really
-    <p class="context-tip">Check both buttons and click save to delete this object</p>
-    </td>
-    </tr>
-    #end if
-
     #if $editable == True
     <tr>
     <td>
diff -urN old/webui_templates/system_list.tmpl build/webui_templates/system_list.tmpl
--- old/webui_templates/system_list.tmpl	2008-12-05 12:55:03.000000000 +0100
+++ build/webui_templates/system_list.tmpl	2008-12-08 11:30:57.000000000 +0100
@@ -7,14 +7,71 @@
     #include "/usr/share/cobbler/webui_templates/paginate.tmpl"
     ## ==== END PAGE NAVIGATION ====
 
-<table class="sortable">
 
+    ## ==== BEGIN CHECKBOX SUPPORT  ====
+    #include "/usr/share/cobbler/webui_templates/checkboxes.tmpl"
+    ## ==== END CHECKBOX SUPPORT ====
+
+<script language="Javascript">
+function action_selected(actionname)
+{
+    var itemcount=items_checked_count();
+    if (
+        (itemcount == 0) &&
+        (
+         (actionname == "delete") ||
+         (actionname == "netboot") ||
+         (actionname == "profile") ||
+         (actionname == "power")
+        )
+       )
+    {
+	alert("Select the systems to " + actionname+" first");
+	return;
+    }
+    else if (
+             (itemcount != 1) &&
+             (
+              (actionname == "copy") ||
+              (actionname == "rename")
+             )
+            )
+    {
+	alert("Select only one system to " + actionname);
+	return;
+    }
+
+    document.getElementById("targetlist").value=items_checked_values();
+    document.getElementById("actionname").value=actionname;
+
+    document.myform.submit();
+}
+
+function action_single(actionname,target)
+{
+    document.getElementById("targetlist").value=target;
+    document.getElementById("actionname").value=actionname;
+
+    document.myform.submit();
+}
+</script>
+
+<form name="myform" method="post" action="$base_url?mode=system_list_action">
+    <input type="hidden" name="actionname" id="actionname" value=""/>
+    <input type="hidden" name="targetlist" id="targetlist" value=""/>
+
+    <table class="sortable">
     <thead>
         <caption>Cobbler Systems</caption>
         <tr>
+	    <th class="text"><input type="checkbox" id="itemsall" onclick="javascript:items_check_all();"></th>
             <th class="text">Name</th>
+            <th class="text">Netboot</th>
             <th class="text">Profile</th>
             <th class="text">Kickstart</th>
+            <th class="text"></th>
+            <th class="text"></th>
+            <th class="text"></th>
         </tr>
     </thead>
     <tbody>
@@ -29,8 +86,21 @@
 
         <tr class="$tr_class">
             <td>
+		<input type="checkbox" name="items" value="${system.name}">
+            </td>
+
+            <td>
                 <a href="$base_url?mode=system_edit&name=${system.name}">${system.name}</a>
             </td>
+
+            <td>
+            #if str($system.netboot_enabled) != "False"
+                Yes
+            #else
+                No
+            #end if
+            </td>
+
             <td>
                 <a href="$base_url?mode=profile_edit&name=${system.profile}">${system.profile}</a>
             </td>
@@ -55,10 +125,33 @@
                    #end if 
                 #end if
             </td>
+
+            <td>
+                <input type="button" name="edit" onClick="javascript:action_single('edit','${system.name}')" value="Edit"/>
+            </td>
+
+            <td>
+                <input type="button" name="rename" onClick="javascript:action_single('rename','${system.name}')" value="Rename"/>
+            </td>
+
+            <td>
+                <input type="button" name="copy" onClick="javascript:action_single('copy','${system.name}')" value="Copy"/>
+            </td>
+
         </tr>
 
 
         #end for
     </tbody>
-</table>
+    </table>
+</form>
+
+    <br/>
+    Operations on selected systems:
+    <br/>
+    <input type="button" name="delete" onClick="javascript:action_selected('delete')" value="Delete"/>
+    <input type="button" name="netboot" onClick="javascript:action_selected('netboot')" value="Change Netboot"/>
+    <input type="button" name="profile" onClick="javascript:action_selected('profile')" value="Change Profile"/>
+    <input type="button" name="power" onClick="javascript:action_selected('power')" value="Power control"/>
+
 #end block body
diff -urN old/webui_templates/system_netboot.tmpl build/webui_templates/system_netboot.tmpl
--- old/webui_templates/system_netboot.tmpl	1970-01-01 01:00:00.000000000 +0100
+++ build/webui_templates/system_netboot.tmpl	2008-12-05 12:57:07.000000000 +0100
@@ -0,0 +1,59 @@
+#extends cobbler.webui.master
+
+#block body
+
+<script language="Javascript">
+function submit_netboot(value)
+{
+    document.getElementById("netboot").value=value;
+    document.myform.submit();
+}
+</script>
+
+<form name="myform" method="post" action="$base_url?mode=system_netboot">
+    <input type="hidden" name="targetlist" id="targetlist" value="$targetlist"/>
+    <input type="hidden" name="netboot" id="netboot" value="0"/>
+
+    <table class="sortable">
+    <thead>
+        <caption>Change netboot of the following systems</caption>
+        <tr>
+            <th class="text">Name</th>
+            <th class="text">Current Netboot</th>
+        </tr>
+    </thead>
+    <tbody>
+        #set $evenodd = 1
+        #for $system in $systems
+        #if $evenodd % 2 == 0
+            #set $tr_class = "roweven"
+        #else
+            #set $tr_class = "rowodd"
+        #end if
+        #set $evenodd += 1
+
+        <tr class="$tr_class">
+            <td>
+                ${system.name}
+            </td>
+
+            <td>
+                #if str($system.netboot_enabled) != "False"
+                    Yes
+                #else
+                    No
+    	        #end if
+            </td>
+
+        </tr>
+        #end for
+    </tbody>
+    </table>
+
+    </p>
+
+    <input type="button" name="pxeenable" onclick="javascript:submit_netboot(1)" value="Enable Netboot"/>
+    <input type="button" name="pxedisable" onclick="javascript:submit_netboot(0)" value="Disable Netboot"/>
+    <input type="button" name="cancel" onclick="javascript:history.go(-1)" value="Cancel"/>
+</form>
+#end block body
diff -urN old/webui_templates/system_power.tmpl build/webui_templates/system_power.tmpl
--- old/webui_templates/system_power.tmpl	1970-01-01 01:00:00.000000000 +0100
+++ build/webui_templates/system_power.tmpl	2008-12-05 12:57:07.000000000 +0100
@@ -0,0 +1,66 @@
+#extends cobbler.webui.master
+
+#block body
+
+<script language="Javascript">
+function submit_power(value)
+{
+    document.getElementById("power").value=value;
+    document.myform.submit();
+}
+</script>
+
+<form name="myform" method="post" action="$base_url?mode=system_power">
+    <input type="hidden" name="targetlist" id="targetlist" value="$targetlist"/>
+    <input type="hidden" name="power" id="power" value=""/>
+
+    <table class="sortable">
+    <thead>
+        <caption>Control power of the following systems</caption>
+        <tr>
+            <th class="text">Name</th>
+            <th class="text">Power Type</th>
+            <th class="text">Power Address</th>
+        </tr>
+    </thead>
+    <tbody>
+        #set $evenodd = 1
+        #for $system in $systems
+        #if $evenodd % 2 == 0
+            #set $tr_class = "roweven"
+        #else
+            #set $tr_class = "rowodd"
+        #end if
+        #set $evenodd += 1
+
+        <tr class="$tr_class">
+            <td>
+                ${system.name}
+            </td>
+
+            <td>
+                #set valid_power = [ "none", "bullpap", "wti", "apc_snmp", "ether-wake", "ipmilan", "drac", "ipmitool", "ilo", "rsa", "lpar", "bladecenter" ]
+                #set nothing = valid_power.sort()
+                #for $value in $valid_power:
+                    #if $system and (($system.power_type == $value) or ($system.power_type == "" and $value == "none"))
+                            $value
+                    #end if
+                #end for
+            </td>
+
+            <td>
+                ${system.power_address}
+            </td>
+        </tr>
+        #end for
+    </tbody>
+    </table>
+
+    </p>
+
+    <input type="button" name="reboot" onclick="javascript:submit_power('reboot')" value="Reboot"/>
+    <input type="button" name="poweron" onclick="javascript:submit_power('on')" value="Power On"/>
+    <input type="button" name="poweroff" onclick="javascript:submit_power('off')" value="Power Off"/>
+    <input type="button" name="cancel" onclick="javascript:history.go(-1)" value="Cancel"/>
+</form>
+#end block body
diff -urN old/webui_templates/system_profile.tmpl build/webui_templates/system_profile.tmpl
--- old/webui_templates/system_profile.tmpl	1970-01-01 01:00:00.000000000 +0100
+++ build/webui_templates/system_profile.tmpl	2008-12-05 12:57:07.000000000 +0100
@@ -0,0 +1,63 @@
+#extends cobbler.webui.master
+
+#block body
+
+<script language="Javascript">
+function submit_netboot(value)
+{
+    document.getElementById("netboot").value=value;
+    document.myform.submit();
+}
+</script>
+
+<form name="myform" method="post" action="$base_url?mode=system_profile">
+    <input type="hidden" name="targetlist" id="targetlist" value="$targetlist"/>
+
+    <table class="sortable">
+    <thead>
+        <caption>Change profile of the following systems</caption>
+        <tr>
+            <th class="text">Name</th>
+            <th class="text">Current Profile</th>
+        </tr>
+    </thead>
+    <tbody>
+        #set $evenodd = 1
+        #for $system in $systems
+        #if $evenodd % 2 == 0
+            #set $tr_class = "roweven"
+        #else
+            #set $tr_class = "rowodd"
+        #end if
+        #set $evenodd += 1
+
+        <tr class="$tr_class">
+            <td>
+                ${system.name}
+            </td>
+
+            <td>
+                ${system.profile}
+            </td>
+
+        </tr>
+        #end for
+    </tbody>
+    </table>
+
+    <p>
+    <select name="profile" id="profile">
+        #for $profile in $profiles:
+        <option name="$profile.name"
+            #if $systems[0].profile == $profile.name
+                selected="1"
+            #end if
+        >$profile.name</option>
+        #end for
+    </select>
+    </p>
+
+    <input type="submit" name="change" value="Change profile"/>
+    <input type="button" name="cancel" onclick="javascript:history.go(-1)" value="Cancel"/>
+</form>
+#end block body
diff -urN old/webui_templates/system_rename.tmpl build/webui_templates/system_rename.tmpl
--- old/webui_templates/system_rename.tmpl	1970-01-01 01:00:00.000000000 +0100
+++ build/webui_templates/system_rename.tmpl	2008-12-05 12:57:07.000000000 +0100
@@ -0,0 +1,41 @@
+#extends cobbler.webui.master
+
+#block body
+
+<form name="myform" method="post" action="$base_url?mode=system_rename">
+    <input type="hidden" name="targetlist" id="targetlist" value="$targetlist"/>
+    
+    <table class="sortable">
+    <thead>
+        <caption>Rename the following system</caption>
+        <tr>
+            <th class="text">Name</th>
+        </tr>
+    </thead>
+    <tbody>
+        #set $evenodd = 1
+        #for $system in $systems
+        #if $evenodd % 2 == 0
+            #set $tr_class = "roweven"
+        #else
+            #set $tr_class = "rowodd"
+        #end if
+        #set $evenodd += 1
+
+        <tr class="$tr_class">
+            <td>
+                ${system.name}
+            </td>
+        </tr>
+        #end for
+    </tbody>
+    </table>
+
+    <p>
+    New name: <input type="text" size="128" style="width: 150px;" name="name" id="name" value=$systems[0].name>
+    </p>
+    
+    <input type="submit" name="rename" value="Rename System"/>
+    <input type="button" name="cancel" onclick="javascript:history.go(-1)" value="Cancel"/>
+</form>
+#end block body
