diff options
author | Michael DeHaan <mdehaan@redhat.com> | 2008-05-28 11:07:39 -0400 |
---|---|---|
committer | Michael DeHaan <mdehaan@redhat.com> | 2008-05-28 11:07:39 -0400 |
commit | 36fd29894dc5859fa295aac08d2726cf77667088 (patch) | |
tree | 75ec187193a029af50a898878c9fe9f56735075b /webui_templates | |
parent | 60e7b2048cb810082d9f5da189d827d0dec3747c (diff) | |
parent | 2963016f5c143a6f3c3bc711a2b6d1ed07d65abe (diff) | |
download | third_party-cobbler-36fd29894dc5859fa295aac08d2726cf77667088.tar.gz third_party-cobbler-36fd29894dc5859fa295aac08d2726cf77667088.tar.xz third_party-cobbler-36fd29894dc5859fa295aac08d2726cf77667088.zip |
Merge branch 'devel'
Conflicts:
cobbler.spec
cobbler/item_system.py
cobbler/webui/master.py
Diffstat (limited to 'webui_templates')
-rw-r--r-- | webui_templates/distro_edit.tmpl | 30 | ||||
-rw-r--r-- | webui_templates/enoaccess.tmpl | 12 | ||||
-rw-r--r-- | webui_templates/ksfile_edit.tmpl | 56 | ||||
-rw-r--r-- | webui_templates/ksfile_list.tmpl | 3 | ||||
-rw-r--r-- | webui_templates/ksfile_new.tmpl | 48 | ||||
-rw-r--r-- | webui_templates/ksfile_view.tmpl | 6 | ||||
-rw-r--r-- | webui_templates/master.tmpl | 1 | ||||
-rw-r--r-- | webui_templates/profile_edit.tmpl | 32 | ||||
-rw-r--r-- | webui_templates/profile_list.tmpl | 19 | ||||
-rw-r--r-- | webui_templates/repo_edit.tmpl | 58 | ||||
-rw-r--r-- | webui_templates/system_edit.tmpl | 161 | ||||
-rw-r--r-- | webui_templates/system_list.tmpl | 24 |
12 files changed, 411 insertions, 39 deletions
diff --git a/webui_templates/distro_edit.tmpl b/webui_templates/distro_edit.tmpl index 4729816..f72ab11 100644 --- a/webui_templates/distro_edit.tmpl +++ b/webui_templates/distro_edit.tmpl @@ -15,6 +15,11 @@ function disablename(value) </script> #end if +#if $editable != True +#set global $owners = $distro.owners +#include "/usr/share/cobbler/webui_templates/enoaccess.tmpl" +#end if + <form method="POST" action="$base_url"> <fieldset id="cform"> @@ -61,6 +66,8 @@ function disablename(value) <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 @@ -172,7 +179,27 @@ function disablename(value) </td> </tr> + <tr> + <td> + <label for="owners">Access Allowed For</label> + </td> + <td> #if $distro + #set ownerslist = ','.join($distro.owners) + #end if + <input type="text" size="255" style="width: 400px;" name="owners" id="owners" + #if $distro + value="$ownerslist" + #else + value="$user" + #end if + /> + <p class="context-tip">Applies only if using authz_ownership module, comma-delimited</p> + </td> + </tr> + + + #if $distro and $editable == True <tr> <td> <label for="delete">Delete</label> @@ -180,11 +207,13 @@ function disablename(value) <td> <input type="checkbox" name="delete1" value="delete1">Yes <input type="checkbox" name="delete2" value="delete2">Really + <input type="checkbox" name="recursive" value="recursive">Delete child objects? <p class="context-tip">Check both buttons and click save to delete this object</p> </td> </tr> #end if + #if $editable == True <tr> <td> </td> @@ -193,6 +222,7 @@ function disablename(value) <input type="reset" name="reset" value="Reset"/> </td> </tr> + #end if </table> </fieldset> diff --git a/webui_templates/enoaccess.tmpl b/webui_templates/enoaccess.tmpl new file mode 100644 index 0000000..b3a001e --- /dev/null +++ b/webui_templates/enoaccess.tmpl @@ -0,0 +1,12 @@ +#set $myowners = ", ".join($owners) + +<blockquote> +WARNING: You do not have permission to make changes to this +object. To recieve access, contact your Cobbler server administrator. +</br> + +#if $owners != [] +The access control list for this object is: <B><U>$myowners</U></B>. +#end if +</blockquote> + diff --git a/webui_templates/ksfile_edit.tmpl b/webui_templates/ksfile_edit.tmpl index 5e0c5ae..6303442 100644 --- a/webui_templates/ksfile_edit.tmpl +++ b/webui_templates/ksfile_edit.tmpl @@ -1,17 +1,65 @@ #extends cobbler.webui.master -#attr $title = "Cobbler: Edit Kickstart File $ksfile" +##attr $title = "Cobbler: Edit Kickstart File $ksfile" #block body + +#if $editable != True +<blockquote> +NOTE: You do not have permission to make changes to this +kickstart template and can only read it. It is possible that +other Cobbler users has secured permissions on Cobbler +profiles/systems that depend on this template -- changing this +template would ultimately affect those profile/system records which +you do not have access to. Alternatively, you may not have access +to edit *any* kickstart templates. Contact your Cobbler server administrator +if you need to resolve this. +</blockquote> +</br> +#end if + <form method="post" action="$base_url?mode=ksfile_save"> <input type="hidden" name="name" value="$name"/> <fieldset id="cform"> - <legend>Edit Kickstart File</legend> + <legend>Edit Kickstart Template</legend> + + <table> + <tr><td colspan="2"> + <label for="ksdata">Editing: $name</label> + <td></tr> + + <tr><td colspan="2"> <pre><textarea rows="40" cols="120" name="ksdata" id="ksdata">$ksdata</textarea></pre> <br/> - <input type="submit" name="submit" value="Save"/> - <input type="reset" name="reset" value="Reset"/> + </td></tr> + + + #if $deleteable + <tr><td> + <label>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> + #else + <tr><td colspan="2"> + NOTE: This kickstart template is currently in-use. + </td></tr> + #end if + + <tr><td colspan="2"> + #if $editable == True + <input type="submit" name="submit" value="Save"/> + <input type="reset" name="reset" value="Reset"/> + + #end if + </td></tr> + + </table> </fieldset> </form> + #end block body diff --git a/webui_templates/ksfile_list.tmpl b/webui_templates/ksfile_list.tmpl index dcfaa0a..6ae1a9c 100644 --- a/webui_templates/ksfile_list.tmpl +++ b/webui_templates/ksfile_list.tmpl @@ -3,7 +3,7 @@ #block body <table class="sortable"> <thead> - <caption>Cobbler Kickstart Files</caption> + <caption>Cobbler Kickstart Templates</caption> <tr> <th class="text">File</th> <th class="text">Edit/View</th> @@ -12,6 +12,7 @@ <tbody> #set $evenodd = 1 #for $ksfile in $ksfiles + <!-- $ksfile --> #if $evenodd % 2 == 0 #set $tr_class = "roweven" #else diff --git a/webui_templates/ksfile_new.tmpl b/webui_templates/ksfile_new.tmpl new file mode 100644 index 0000000..c68bbdd --- /dev/null +++ b/webui_templates/ksfile_new.tmpl @@ -0,0 +1,48 @@ +#extends cobbler.webui.master + +#block body + +#if $editable != True +<blockquote> +NOTE: You do not have permission to create new kickstart templates. +</blockquote> +</br> +#end if + +<form method="post" action="$base_url?mode=ksfile_save"> + <fieldset id="cform"> + <legend>Create New Kickstart Template</legend> + + <input type="hidden" name="isnew" value="1"/> + + <table> + <tr> + <td> + <label for="name">Filename</label> + </td> + <td> + <input type="text" size="128" style="width: 150px;" name="name" id="name" + <p class="context-tip">Example: foo.ks (to be saved in /var/lib/cobbler/kickstarts/)</p> + </td> + </tr> + + + <tr><td colspan="2"> + + <pre><textarea rows="40" cols="120" name="ksdata" id="ksdata">$ksdata</textarea></pre> + <br/> + + </td></tr> + + <tr><td colspan="2"> + #if $editable == True + <input type="submit" name="submit" value="Save"/> + <input type="reset" name="reset" value="Reset"/> + #end if + </td></tr> + </table> + + </fieldset> +</form> + +#end block body diff --git a/webui_templates/ksfile_view.tmpl b/webui_templates/ksfile_view.tmpl deleted file mode 100644 index b6abf67..0000000 --- a/webui_templates/ksfile_view.tmpl +++ /dev/null @@ -1,6 +0,0 @@ -#extends cobbler.webui.master - -#block body -<pre class="config_data">$ksdata</pre> -#end block body - diff --git a/webui_templates/master.tmpl b/webui_templates/master.tmpl index 96fbe75..5e9438f 100644 --- a/webui_templates/master.tmpl +++ b/webui_templates/master.tmpl @@ -43,6 +43,7 @@ <li><a href="$base_url?mode=profile_edit" class="menu">Profile</a></li> <li><a href="$base_url?mode=subprofile_edit" class="menu">Subprofile</a></li> <li><a href="$base_url?mode=system_edit" class="menu">System</a></li> + <li><a href="$base_url?mode=ksfile_new" class="menu">Kickstart</a></li> <li><a href="$base_url?mode=repo_edit" class="menu">Repo</a></li> <li><hr/><br/></li> <li><a class="button sync" href="$base_url?mode=sync">Sync</a></li> diff --git a/webui_templates/profile_edit.tmpl b/webui_templates/profile_edit.tmpl index f9eca09..0c8f156 100644 --- a/webui_templates/profile_edit.tmpl +++ b/webui_templates/profile_edit.tmpl @@ -13,6 +13,11 @@ function disablename(value) </script> #end if +#if $editable != True +#set global $owners = $profile.owners +#include "/usr/share/cobbler/webui_templates/enoaccess.tmpl" +#end if + <form method="post" action="$base_url?mode=profile_save"> <fieldset id="cform"> @@ -75,6 +80,8 @@ function disablename(value) <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 $subprofile @@ -308,8 +315,28 @@ function disablename(value) </td> </tr> - + <tr> + <td> + <label for="owners">Access Allowed For</label> + </td> + <td> #if $profile + #set ownerslist = ','.join($profile.owners) + #end if + <input type="text" size="255" style="width: 400px;" name="owners" id="owners" + #if $profile + value="$ownerslist" + #else + value="$user" + #end if + + /> + <p class="context-tip">Applies only if using authz_ownership module, comma-delimited</p> + </td> + </tr> + + + #if $profile and $editable == True <tr> <td> <label for="delete">Delete</label> @@ -317,11 +344,13 @@ function disablename(value) <td> <input type="checkbox" name="delete1" value="delete1">Yes <input type="checkbox" name="delete2" value="delete2">Really + <input type="checkbox" name="recursive" value="recursive">Delete child objects? <p class="context-tip">Check both buttons and click save to delete this object</p> </td> </tr> #end if + #if $editable == True <tr> <td> </td> @@ -330,6 +359,7 @@ function disablename(value) <input type="reset" name="reset" value="Reset"/> </td> </tr> + #end if </fieldset> #end block body diff --git a/webui_templates/profile_list.tmpl b/webui_templates/profile_list.tmpl index f213775..fefe753 100644 --- a/webui_templates/profile_list.tmpl +++ b/webui_templates/profile_list.tmpl @@ -38,7 +38,24 @@ <a href="$base_url?mode=profile_edit&name=$profile.parent">$profile.parent</A> #end if </td> - <td>$profile.kickstart</td> + <td> + #if $profile.kickstart and $profile.kickstart !="" + #set $kick = $profile.kickstart + #if $kick.startswith("http://") or $kick.startswith("ftp://") or $kick.startswith("nfs://") + #if not $kick.startswith("nfs://") + <A HREF="$kick">$kick</A> + #else + $kick + #end if + #else + #set $name = $profile.name + <A HREF="/cblr/svc/op/ks/profile/$name">(view rendered)</A> + #if $kick != "" and $kick != "<<inherit>>": + <A HREF="$base_url?mode=ksfile_edit&name=$kick">(edit template)</A> + #end if + #end if + #end if + </td> </tr> #end for </tbody> diff --git a/webui_templates/repo_edit.tmpl b/webui_templates/repo_edit.tmpl index 445218f..c259a13 100644 --- a/webui_templates/repo_edit.tmpl +++ b/webui_templates/repo_edit.tmpl @@ -13,6 +13,10 @@ function disablename(value) </script> #end if +#if $editable != True +#set global $owners = $repo.owners +#include "/usr/share/cobbler/webui_templates/enoaccess.tmpl" +#end if <form method="post" action="$base_url?mode=repo_save"> <fieldset id="cform"> @@ -58,6 +62,8 @@ function disablename(value) <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 <tr> @@ -84,10 +90,24 @@ function disablename(value) checked="true" #end if /> - <p class="context-tip">Disable to prevent the mirror from being updated.</p> + <p class="context-tip">Uncheck to prevent the mirror from being updated again.</p> </td> </tr> + <br/> + <tr> + <td> + <label for="keep_updated">Mirror Locally</label> + </td> + <td> + <input type="checkbox" name="mirror_locally" id="mirror_locally" + #if (not $repo) or $repo.mirror_locally + checked="true" + #end if + /> + <p class="context-tip">Uncheck to reference the repository directly instead of mirroring.</p> + </td> + </tr> <br/> <tr> @@ -124,7 +144,7 @@ function disablename(value) <tr> <td> - <label for="createrepo_flags">createrepo flags</label> + <label for="createrepo_flags">Createrepo flags</label> </td> <td> <input type="text" size="255" style="width: 150px;" name="creatrepoflags" id="createrepoflags" @@ -138,7 +158,7 @@ function disablename(value) <tr> <td> - <label for="arch">arch</label> + <label for="arch">Arch</label> </td> <td> <input type="text" size="255" style="width: 150px;" name="arch" id="arch" @@ -152,7 +172,7 @@ function disablename(value) <tr> <td> - <label for="yumopts">yum options</label> + <label for="yumopts">Yum options</label> </td> <td> <input type="text" size="255" style="width: 150px;" name="yumopts" id="yumopts" @@ -164,8 +184,27 @@ function disablename(value) </td> </tr> - + <tr> + <td> + <label for="owners">Access Allowed For</label> + </td> + <td> #if $repo + #set ownerslist = ','.join($repo.owners) + #end if + <input type="text" size="255" style="width: 400px;" name="owners" id="owners" + #if $repo + value="$ownerslist" + #else + value="$user" + #end if + /> + <p class="context-tip">Applies only if using authz_ownership module, comma-delimited</p> + </td> + </tr> + + + #if $repo and $editable == True <tr> <td> <label for="delete">Delete</label> @@ -178,6 +217,7 @@ function disablename(value) </tr> #end if + #if $editable == True <tr> <td> </td> @@ -185,6 +225,7 @@ function disablename(value) <input type="submit" name="submit" value="Save"/> <input type="reset" name="reset" value="Reset"/> </tr> + #end if </table> </fieldset> @@ -192,10 +233,9 @@ function disablename(value) <br/> <blockquote> -Note: Newly added repos contain no package content until "cobbler reposync" is run -from the command line, which means that profiles relying on these repositories will -not install. Placing "cobbler reposync" on a crontab to ensure frequent updates -is recommended procedure. +Note: Newly added repo definitions will not be usable until +"cobbler reposync" is run from the command line on this system. +Placing "cobbler reposync" on a crontab is recommended procedure. </blockquote> <br/> diff --git a/webui_templates/system_edit.tmpl b/webui_templates/system_edit.tmpl index 22bdda4..b996520 100644 --- a/webui_templates/system_edit.tmpl +++ b/webui_templates/system_edit.tmpl @@ -14,9 +14,11 @@ function delete_interface(num) { - #for $field in $fields - document.getElementById("${field}-intf" + num).value = ""; - #end for + #if $editable == True + #for $field in $fields + document.getElementById("${field}-intf" + num).value = ""; + #end for + #end if toggleRowVisibility("id" + num); } @@ -65,7 +67,6 @@ function get_random_mac(field) #set $defined_interfaces = [ "intf0" ] #end if - ### ### now generate the onload function. ### @@ -87,6 +88,11 @@ function page_onload() { } </script> +#if $editable != True +#set global $owners = $system.owners +#include "/usr/share/cobbler/webui_templates/enoaccess.tmpl" +#end if + <form method="post" action="$base_url?mode=system_save"> <fieldset id="cform"> @@ -132,6 +138,8 @@ function page_onload() { <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 <tr id="id9002"> @@ -208,6 +216,126 @@ function page_onload() { </td> </tr> + <tr> + <td> + <label for="owners">Access Allowed For</label> + </td> + <td> + #if $system + #set ownerslist = ','.join($system.owners) + #end if + <input type="text" size="255" style="width: 400px;" name="owners" id="owners" + #if $system + value="$ownerslist" + #else + value="$user" + #end if + /> + <p class="context-tip">Applies only if using authz_ownership module, comma-delimited</p> + </td> + </tr> + + + <tr> + <td> + <label for="virtfilesize">Virt Disk (GB)</label> + </td> + <td> + <input type="text" size="5" style="width: 150px;" name="virtfilesize" id="virtfilesize" + #if $system + value="$system.virt_file_size" + #end if + /> + <p class="context-tip">For virtual installs only, require this disk size in GB.</p> + </td> + </tr> + + <tr> + <td> + <label for="virtram">Virt RAM (MB)</label> + </td> + <td> + <input type="text" size="5" style="width: 150px;" name="virtram" id="virtram" + #if $system + value="$system.virt_ram" + #end if + /> + <p class="context-tip">For virtual installs only, allocate this amount of RAM, in MB.</p> + </td> + </tr> + + <tr> + <td> + <label for="virttype">Virt Type</label> + </td> + <td> + + #if $system and $system.virt_type == "<<inherit>>" + <input type="radio" name="virttype" id="virttype" value="<<inherit>>" checked>Inherit + #else + #if $system + <input type="radio" name="virttype" id="virttype" value="<<inherit>>">Inherit + #else + <input type="radio" name="virttype" id="virttype" value="<<inherit>>" checked>Inherit + #end if + #end if + + + #if $system and $system.virt_type == "auto" + <input type="radio" name="virttype" id="virttype" value="auto" checked>Any + #else + #if $system + <input type="radio" name="virttype" id="virttype" value="auto">Any + #else + <input type="radio" name="virttype" id="virttype" value="auto">Any + #end if + #end if + + #if $system and $system.virt_type == "xenpv" + <input type="radio" name="virttype" id="virttype" value="xenpv" checked>Xen (pv) + #else + <input type="radio" name="virttype" id="virttype" value="xenpv">Xen (pv) + #end if + + #if $system and $system.virt_type == "qemu" + <input type="radio" name="virttype" id="virttype" value="qemu" checked>qemu/KVM + #else + <input type="radio" name="virttype" id="virttype" value="qemu">qemu/KVM + #end if + <p class="context-tip">What virtualization technology should koan use?</p> + </td> + </tr> + + <tr> + <td> + <label for="virtpath">Virt Path</label> + </td> + <td> + <input type="text" size="255" style="width: 400px;" name="virtpath" id="virtpath" + #if $system + value="$system.virt_path" + #end if + /> + <p class="context-tip">Sets koan's storage preferences, read manpage or leave blank.</p> + </td> + </tr> + + <tr> + <td> + <label for="virtpath">Virt CPUs</label> + </td> + <td> + <input type="text" size="255" style="width: 150px;" name="virtcpus" id="virtcpus" + #if $system + value="$system.virt_cpus" + #end if + /> + <p class="context-tip">How many virtual CPUs? This is an integer.</p> + </td> + </tr> + + + ## ====================================== start of looping through interfaces @@ -321,8 +449,6 @@ function page_onload() { </td> </tr> - ## FIXME: add virt_bridge editing (like above) - <tr class="listrow" id="child-id${counter}-5"> <td> <label for="virtbridge-$interface">Virt Bridge</label> @@ -335,8 +461,6 @@ function page_onload() { </td> </tr> - ## FIXME: add subnet editing (like above) - <tr class="listrow" id="child-id${counter}-6"> <td> <label for="subnet-$interface">Subnet</label> @@ -349,8 +473,6 @@ function page_onload() { </td> </tr> - ## FIXME: add gateway editing (like above) - <tr class="listrow" id="child-id${counter}-7"> <td> <label for="gateway-$interface">Gateway</label> @@ -366,11 +488,20 @@ function page_onload() { #if $interface != "intf0" <tr class="listrow" id="child-id${counter}-8"> <td> - <label for="enabled-$interface">Remove</label> + #if $editable == True + <label for="enabled-$interface">Remove</label> + #else + <label for="enabled-$interface">Hide</label> + #end if </td> <td> - <input type="button" name="delete-$interface" value="remove" onclick="delete_interface($counter)"> - <p class="context-tip">Clicking this button removes the interface from the configuration.</p> + #if $editable == True + <input type="button" name="delete-$interface" value="remove" onclick="delete_interface($counter)"> + <p class="context-tip">Clicking this button removes the interface from the configuration.</p> + #else + <input type="button" name="delete-$interface" value="hide" onclick="delete_interface($counter)"> + + #end if </td> </tr> #end if @@ -392,7 +523,7 @@ function page_onload() { </td> </tr> - #if $system + #if $system and $editable == True <tr id="id10001"> <td> <label for="delete">Delete</label> @@ -405,6 +536,7 @@ function page_onload() { </tr> #end if + #if $editable == True <tr id="9008"> <td> </td> @@ -413,6 +545,7 @@ function page_onload() { <input type="reset" name="reset" value="Reset"/> </td> </tr> + #end if </table> diff --git a/webui_templates/system_list.tmpl b/webui_templates/system_list.tmpl index 5c70ffc..6ab5fac 100644 --- a/webui_templates/system_list.tmpl +++ b/webui_templates/system_list.tmpl @@ -14,9 +14,7 @@ <tr> <th class="text">Name</th> <th class="text">Profile</th> - ## FIXME: how to handle for multiple interface listing? <th class="text">MAC</th> - ## <th class="text">IP</th> - ## <th class="text">Hostname</th> + <th class="text">Kickstart</th> </tr> </thead> <tbody> @@ -39,7 +37,27 @@ ## <td> ${system.mac_address} </td> ## <td> ${system.ip_address} </td> ## <td> ${system.hostname} </td> + + <td> + #set $kick = $system.kickstart + #if $kick.startswith("http://") or $kick.startswith("ftp://") or $kick.startswith("nfs://") + #if not $kick.startswith("nfs://") + <A HREF="$kick">$kick</A> + #else + $kick + #end if + #else + #set $name = $system.name + #set $pname = $system.profile + <A HREF="/cblr/svc/op/ks/system/$name">(view rendered)</A> + #if $kick != "<<inherit>>" and $kick != "" + <A HREF="$base_url?mode=ksfile_edit&name=$kick">(edit template)</A> + #end if + #end if + </td> </tr> + + #end for </tbody> </table> |