diff options
-rw-r--r-- | cobbler/webui/CobblerWeb.py | 36 | ||||
-rw-r--r-- | webui_templates/master.tmpl | 24 | ||||
-rw-r--r-- | webui_templates/search.tmpl | 135 |
3 files changed, 163 insertions, 32 deletions
diff --git a/cobbler/webui/CobblerWeb.py b/cobbler/webui/CobblerWeb.py index da871d1a..ebfe5274 100644 --- a/cobbler/webui/CobblerWeb.py +++ b/cobbler/webui/CobblerWeb.py @@ -154,17 +154,21 @@ class CobblerWeb(object): def distro_menu(self,**spam): return self.__render('blank.tmpl',{ 'more_blank' : 1}) - def __search_execute(self,what,key1=None,value1=None,key2=None,value2=None,key3=None,value3=None): + def __search_execute(self,what,key1=None,value1=None,key2=None,value2=None,key3=None,value3=None,key4=None,value4=None,key5=None,value5=None): if not self.__xmlrpc_setup(): return self.xmlrpc_auth_failure() criteria={} - if key1 is not None and key1 != "": + if value1 is not None and value1 != "": criteria[key1] = value1.replace('"','') - if key2 is not None and key2 != "": + if value2 is not None and value2 != "": criteria[key2] = value2.replace('"','') - if key3 is not None and key3 != "": + if value3 is not None and value3 != "": criteria[key3] = value3.replace('"','') + if value4 is not None and value4 != "": + criteria[key4] = value4.replace('"','') + if value5 is not None and value5 != "": + criteria[key5] = value5.replace('"','') params = {} params['page'] = -1 @@ -189,16 +193,20 @@ class CobblerWeb(object): else: return self.__render('empty.tmpl', { 'search' : 1 }) - def distro_search_execute(self,key1=None,value1=None,key2=None,value2=None,key3=None,value3=None,**rest): - return self.__search_execute("distro",key1,value1,key2,value2,key3,value3) - def profile_search_execute(self,key1=None,value1=None,key2=None,value2=None,key3=None,value3=None,**rest): - return self.__search_execute("profile",key1,value1,key2,value2,key3,value3) - def system_search_execute(self,key1=None,value1=None,key2=None,value2=None,key3=None,value3=None,**rest): - return self.__search_execute("system",key1,value1,key2,value2,key3,value3) - def image_search_execute(self,key1=None,value1=None,key2=None,value2=None,key3=None,value3=None,**rest): - return self.__search_execute("image",key1,value1,key2,value2,key3,value3) - def repo_search_execute(self,key1=None,value1=None,key2=None,value2=None,key3=None,value3=None,**rest): - return self.__search_execute("repo",key1,value1,key2,value2,key3,value3) + def distro_search_execute(self,key1=None,value1=None,key2=None,value2=None,key3=None,value3=None,key4=None,value4=None,key5=None,value5=None,**rest): + return self.__search_execute("distro",key1,value1,key2,value2,key3,value3,key4,value4,key5,value5) + + def profile_search_execute(self,key1=None,value1=None,key2=None,value2=None,key3=None,value3=None,key4=None,value4=None,key5=None,value5=None,**rest): + return self.__search_execute("profile",key1,value1,key2,value2,key3,value3,key4,value4,key5,value5) + + def system_search_execute(self,key1=None,value1=None,key2=None,value2=None,key3=None,value3=None,key4=None,value4=None,key5=None,value5=None,**rest): + return self.__search_execute("system",key1,value1,key2,value2,key3,value3,key4,value4,key5,value5) + + def image_search_execute(self,key1=None,value1=None,key2=None,value2=None,key3=None,value3=None,key4=None,value4=None,key5=None,value5=None,**rest): + return self.__search_execute("image",key1,value1,key2,value2,key3,value3,key4,value4,key5,value5) + + def repo_search_execute(self,key1=None,value1=None,key2=None,value2=None,key3=None,value3=None,key4=None,value4=None,key5=None,value5=None,**rest): + return self.__search_execute("repo",key1,value1,key2,value2,key3,value3,key4,value4,key5,value5) def __search(self, what): caption = "" diff --git a/webui_templates/master.tmpl b/webui_templates/master.tmpl index 80865605..6244ebaa 100644 --- a/webui_templates/master.tmpl +++ b/webui_templates/master.tmpl @@ -32,7 +32,7 @@ <li><a class="menu">Distros</span></li> ##if $mode.find("distro") != -1 <ul id="navaction"> - <li><a href="$base_url?mode=distro_list" class="menu">View</a></li> + <li><a href="$base_url?mode=distro_list" class="menu">List</a></li> <li><a href="$base_url?mode=distro_search" class="menu">Search</a></li> <li><a href="$base_url?mode=distro_edit" class="menu">Add</a></li> </ul> @@ -40,7 +40,7 @@ <li><a class="menu">Profiles</span></li> ##if $mode.find("profile") != -1 <ul id="navaction"> - <li><a href="$base_url?mode=profile_list" class="menu">View</a></li> + <li><a href="$base_url?mode=profile_list" class="menu">List</a></li> <li><a href="$base_url?mode=profile_search" class="menu">Search</a></li> <li><a href="$base_url?mode=profile_edit" class="menu">Add</a></li> <li><a href="$base_url?mode=subprofile_edit" class="menu">Add child</a></li> @@ -49,22 +49,15 @@ <li><a class="menu">Systems</span></li> ##if $mode.find("system") != -1 <ul id="navaction"> - <li><a href="$base_url?mode=system_list" class="menu">View</a></li> + <li><a href="$base_url?mode=system_list" class="menu">List</a></li> <li><a href="$base_url?mode=system_search" class="menu">Search</a></li> <li><a href="$base_url?mode=system_edit_new" class="menu">Add</a></li> </ul> ##end if - <li><a class="menu">Kickstarts</span></li> - ##if $mode.find("ksfile") != -1 - <ul id="navaction"> - <li><a href="$base_url?mode=ksfile_list" class="menu">View</a></li> - <li><a href="$base_url?mode=ksfile_new" class="menu">Add</a></li> - </ul> - ##end if <li><a class="menu">Repos</span></li> ##if $mode.find("repo") != -1 <ul id="navaction"> - <li><a href="$base_url?mode=repo_list" class="menu">View</a></li> + <li><a href="$base_url?mode=repo_list" class="menu">List</a></li> <li><a href="$base_url?mode=repo_search" class="menu">Search</a></li> <li><a href="$base_url?mode=repo_edit" class="menu">Add</a></li> </ul> @@ -72,11 +65,18 @@ <li><a class="menu">Images</span></li> ##if $mode.find("image") != -1 <ul id="navaction"> - <li><a href="$base_url?mode=image_list" class="menu">View</a></li> + <li><a href="$base_url?mode=image_list" class="menu">List</a></li> <li><a href="$base_url?mode=image_search" class="menu">Search</a></li> <li><a href="$base_url?mode=image_edit" class="menu">Add</a></li> </ul> ##end if + <li><a class="menu">Kickstarts</span></li> + ##if $mode.find("ksfile") != -1 + <ul id="navaction"> + <li><a href="$base_url?mode=ksfile_list" class="menu">List</a></li> + <li><a href="$base_url?mode=ksfile_new" class="menu">Add</a></li> + </ul> + ##end if <li><hr/><br/></li> <li><a class="button sync" href="$base_url?mode=sync">Sync</a></li> </ul> diff --git a/webui_templates/search.tmpl b/webui_templates/search.tmpl index f3fca6cb..44f1eb50 100644 --- a/webui_templates/search.tmpl +++ b/webui_templates/search.tmpl @@ -12,29 +12,152 @@ <legend>$caption</legend> <table border=0> - <tr> + #for $ct in [ "1", "2", "3", "4", "5"] + #set keyname="key"+$ct + #set valname="value"+$ct + + <tr> <td> - <select id="key1" name="key1"> + <select id="$keyname" name="$keyname"> + #if $ct == "1" <option value="name">name</option> + #else + <option value="">[SELECT]</option> + #end if #if $what == "distro": + <option value="arch">arch</option> + <option value="breed">breed</option> + <option value="comment">comment</option> <option value="kernel">kernel</option> <option value="initrd">initrd</option> + <option value="kernel_options">kernel options</option> + <option value="kernel_options_post">kernel options (post install)</option> + <option value="ks_meta">kickstart metadata</option> + <option value="mgmt_classes">management classes</option> + <option value="os_version">os version</option> + <option value="owners">owners</option> + <option value="redhat_management_key">red hat management key</option> + <option value="redhat_management_server">red hat management server</option> + <option value="template_files">template files</option> + #elif $what == "profile" + <option value="comment">comment</option> + <option value="dhcp_tag">dhcp tag</option> <option value="distro">distro</option> + <option value="owners">owners</option> + <option value="kickstart">kickstart</option> + <option value="kernel_options">kernel options</option> + <option value="kernel_options_post">kernel options (post install)</option> + <option value="ks_meta">kickstart metadata</option> + <option value="mgmt_classes">management classes</option> + <option value="name_servers">name servers</option> + <option value="name_servers_search">name servers search</option> + <option value="parent">parent (subprofiles only)</option> + <option value="redhat_management_key">red hat management key</option> + <option value="redhat_management_server">red hat management server</option> + <option value="repos">repos</option> + <option value="template_files">template files</option> + <option value="virt_bridge">virt bridge</option> + <option value="virt_cpus">virt cpus</option> + <option value="virt_file_size">virt file size (GB)</option> + <option value="virt_path">virt path</option> + <option value="virt_ram">virt ram (MB)</option> + <option value="virt_type">virt type</option> + <option value="server">server override</option> + #elif $what == "system" - <option value="profile">profile</option> + + <option value="bonding">bonding</option> + <option value="bonding_master">bonding master</option> + <option value="bonding_opts">bonding opts</option> + <option value="comment">comment</option> + <option value="dhcp_tag">dhcp tag</option> + <option value="distro">distro</option> + <option value="dns_name">dns name</option> + <option value="gateway">gateway</option> + <option value="hostname">hostname</option> <option value="image">image</option> + <option value="ip_address">ip address</option> + <option value="kickstart">kickstart</option> + <option value="kernel_options">kernel options</option> + <option value="kernel_options_post">kernel options (post install)</option> + <option value="ks_meta">kickstart metadata</option> + <option value="mac_address">mac address</option> + <option value="mgmt_classes">management classes</option> + <option value="name_servers">name servers</option> + <option value="name_servers_search">name servers search</option> + <option value="netboot_enabled">netboot enabled</option> + <option value="owners">owners</option> + <option value="power_address">power address</option> + <option value="power_id">power id</option> + <option value="power_pass">power password</option> + <option value="power_type">power type</option> + <option value="power_user">power user</option> + <option value="profile">profile</option> + + <option value="redhat_management_key">red hat management key</option> + <option value="redhat_management_server">red hat management server</option> + <option value="repos">repos</option> + <option value="server">server override</option> + <option value="subnet">subnet</option> + <option value="static">static</option> + <option value="static_routes">static_routes</option> + <option value="template_files">template files</option> + <option value="virt_bridge">virt bridge</option> + <option value="virt_cpus">virt cpus</option> + <option value="virt_file_size">virt file size (GB)</option> + <option value="virt_path">virt path</option> + <option value="virt_ram">virt ram (MB)</option> + <option value="virt_type">virt type</option> + + #elif $what == "repo" + <option value="arch">arch</option> + <option value="breed">breed</option> + <option value="comment">comment</option> + <option value="createrepo_flags">createrepo flags</option> + <option value="environment">environment</option> + <option value="keep_updated">keep updated</option> + <option value="mirror">mirror</option> + <option value="mirror_locally">mirror locally</option> + <option value="owners">owners</option> + <option value="priority">priority</option> + <option value="rpm_list">rpm list</option> + <option value="yumopts">yum options</option> + + + #elif $what == "image" + <option value="arch">arch</option> + <option value="breed">breed</option> + <option value="comment">comment</option> + <option value="file">file</option> + <option value="image_type">image type</option> + <option value="network_count">network count</option> + <option value="os_version">os version</option> + <option value="owners">owners</option> + <option value="virt_ram">virt ram (MB)</option> + <option value="virt_path">virt path</option> + <option value="virt_type">virt type</option> + <option value="virt_cpus">virt cpus</option> + <option value="virt_bridge">virt bridge</option> + <option value="virt_file_size">virt file size (GB)</option> + ## FIMXE: more values for more fields, add images, add repos #end if </select> </td> - ## FIXME copy and paste key2,value2 and key3,value3 in a loop <td> - <input type="text" id="value1" name="value1"/> + <input type="text" id="$valname" name="$valname"/> </td> - + </tr> + + #end for + + <tr> + <td colspan="2">Tip: Use shell wildcards above, ex: "*" and "?".</td> + </tr> + </table> <input type="submit" value="search"/> |