diff options
-rw-r--r-- | cobbler/item_distro.py | 4 | ||||
-rw-r--r-- | cobbler/item_profile.py | 4 | ||||
-rw-r--r-- | cobbler/item_system.py | 4 | ||||
-rw-r--r-- | cobbler/settings.py | 1 | ||||
-rw-r--r-- | cobbler/webui/CobblerWeb.py | 4 | ||||
-rw-r--r-- | config/settings | 1 | ||||
-rw-r--r-- | tests/tests.py | 4 | ||||
-rw-r--r-- | webui_templates/distro_edit.tmpl | 2 | ||||
-rw-r--r-- | webui_templates/profile_edit.tmpl | 2 | ||||
-rw-r--r-- | webui_templates/repo_edit.tmpl | 2 | ||||
-rw-r--r-- | webui_templates/system_edit.tmpl | 2 |
11 files changed, 22 insertions, 8 deletions
diff --git a/cobbler/item_distro.py b/cobbler/item_distro.py index c40f002..3b82595 100644 --- a/cobbler/item_distro.py +++ b/cobbler/item_distro.py @@ -32,7 +32,7 @@ class Distro(item.Item): Reset this object. """ self.name = None - self.owners = [] + self.owners = self.settings.default_ownership self.kernel = (None, '<<inherit>>')[is_subobject] self.initrd = (None, '<<inherit>>')[is_subobject] self.kernel_options = ({}, '<<inherit>>')[is_subobject] @@ -61,7 +61,7 @@ class Distro(item.Item): """ self.parent = self.load_item(seed_data,'parent') self.name = self.load_item(seed_data,'name') - self.owners = self.load_item(seed_data,'owners',[]) + self.owners = self.load_item(seed_data,'owners',self.settings.default_ownership) self.kernel = self.load_item(seed_data,'kernel') self.initrd = self.load_item(seed_data,'initrd') self.kernel_options = self.load_item(seed_data,'kernel_options') diff --git a/cobbler/item_profile.py b/cobbler/item_profile.py index 3145b82..9135e53 100644 --- a/cobbler/item_profile.py +++ b/cobbler/item_profile.py @@ -34,7 +34,7 @@ class Profile(item.Item): Reset this object. """ self.name = None - self.owners = [] # should not be inheritable + self.owners = self.settings.default_ownership self.distro = (None, '<<inherit>>')[is_subobject] self.kickstart = (self.settings.default_kickstart , '<<inherit>>')[is_subobject] self.kernel_options = ({}, '<<inherit>>')[is_subobject] @@ -58,7 +58,7 @@ class Profile(item.Item): self.parent = self.load_item(seed_data,'parent','') self.name = self.load_item(seed_data,'name') - self.owners = self.load_item(seed_data,'owners',[]) + self.owners = self.load_item(seed_data,'owners',self.settings.default_ownership) self.distro = self.load_item(seed_data,'distro') self.kickstart = self.load_item(seed_data,'kickstart') self.kernel_options = self.load_item(seed_data,'kernel_options') diff --git a/cobbler/item_system.py b/cobbler/item_system.py index 6b2315a..7346d33 100644 --- a/cobbler/item_system.py +++ b/cobbler/item_system.py @@ -30,7 +30,7 @@ class System(item.Item): def clear(self,is_subobject=False): self.name = None - self.owners = None + self.owners = self.settings.default_ownership self.profile = None self.kernel_options = {} self.ks_meta = {} @@ -81,7 +81,7 @@ class System(item.Item): self.parent = self.load_item(seed_data, 'parent') self.name = self.load_item(seed_data, 'name') - self.owners = self.load_item(seed_data, 'owners', []) + self.owners = self.load_item(seed_data, 'owners', self.settings.default_ownership) self.profile = self.load_item(seed_data, 'profile') self.kernel_options = self.load_item(seed_data, 'kernel_options', {}) self.ks_meta = self.load_item(seed_data, 'ks_meta', {}) diff --git a/cobbler/settings.py b/cobbler/settings.py index 7681188..4372f3a 100644 --- a/cobbler/settings.py +++ b/cobbler/settings.py @@ -33,6 +33,7 @@ DEFAULTS = { "default_virt_type" : "auto", "default_virt_file_size" : "5", "default_virt_ram" : "512", + "default_ownership" : [ "admin" ], "dhcpd_conf" : "/etc/dhcpd.conf", "dhcpd_bin" : "/usr/sbin/dhcpd", "dnsmasq_bin" : "/usr/sbin/dnsmasq", diff --git a/cobbler/webui/CobblerWeb.py b/cobbler/webui/CobblerWeb.py index 8813006..ee2d700 100644 --- a/cobbler/webui/CobblerWeb.py +++ b/cobbler/webui/CobblerWeb.py @@ -168,6 +168,7 @@ class CobblerWeb(object): return self.__render( 'distro_edit.tmpl', { + 'user' : self.username, 'edit' : True, 'editable' : can_edit, 'distro': input_distro, @@ -408,6 +409,7 @@ class CobblerWeb(object): can_edit = self.remote.check_access_no_fail(self.token,"new_system",None) return self.__render( 'system_edit.tmpl', { + 'user' : self.username, 'edit' : True, 'editable' : can_edit, 'system': input_system, @@ -450,6 +452,7 @@ class CobblerWeb(object): can_edit = self.remote.check_access_no_fail(self.token,"new_profile",None) return self.__render( 'profile_edit.tmpl', { + 'user' : self.username, 'edit' : True, 'editable' : can_edit, 'profile': input_profile, @@ -598,6 +601,7 @@ class CobblerWeb(object): return self.__render( 'repo_edit.tmpl', { + 'user' : self.username, 'repo': input_repo, 'editable' : can_edit } ) diff --git a/config/settings b/config/settings index 2fd2736..f4c2487 100644 --- a/config/settings +++ b/config/settings @@ -9,6 +9,7 @@ default_virt_bridge: xenbr0 default_virt_type: auto default_virt_file_size: 5 default_virt_ram: 512 +default_ownership: [ "admin" ] dhcpd_bin: /usr/sbin/dhcpd dhcpd_conf: /etc/dhcpd.conf dnsmasq_bin: /usr/sbin/dnsmasq diff --git a/tests/tests.py b/tests/tests.py index f9bc368..2c055ba 100644 --- a/tests/tests.py +++ b/tests/tests.py @@ -169,10 +169,10 @@ class Ownership(BootTest): # basmeent2 can not edit. for user in [ "admin1", "superlab1", "superlab2", "basement1" ]: - self.assertTrue(1==authorize(self.api, user, "modify_kickstart", xo), "%s can modify_kickstart" % user) + self.assertTrue(1==authorize(self.api, user, "modify_kickstart", "/tmp/test_cobbler_kickstart"), "%s can modify_kickstart" % user) for user in [ "basement2", "dne" ]: - self.assertTrue(0==authorize(self.api, user, "modify_kickstart", xo), "%s can modify_kickstart" % user) + self.assertTrue(0==authorize(self.api, user, "modify_kickstart", "/tmp/test_cobbler_kickstart"), "%s can modify_kickstart" % user) # ensure admin1 can edit (he's an admin) and do other tasks # same applies to basement1 who is explicitly added as a user diff --git a/webui_templates/distro_edit.tmpl b/webui_templates/distro_edit.tmpl index 80536f5..5d19a43 100644 --- a/webui_templates/distro_edit.tmpl +++ b/webui_templates/distro_edit.tmpl @@ -188,6 +188,8 @@ function disablename(value) <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> diff --git a/webui_templates/profile_edit.tmpl b/webui_templates/profile_edit.tmpl index 82be534..2f7a732 100644 --- a/webui_templates/profile_edit.tmpl +++ b/webui_templates/profile_edit.tmpl @@ -324,6 +324,8 @@ function disablename(value) <input type="text" size="255" style="width: 400px;" name="owners" id="owners" #if $profile value="$ownerslist" + #else + value="$user" #end if /> diff --git a/webui_templates/repo_edit.tmpl b/webui_templates/repo_edit.tmpl index b58e54f..469854a 100644 --- a/webui_templates/repo_edit.tmpl +++ b/webui_templates/repo_edit.tmpl @@ -179,6 +179,8 @@ function disablename(value) <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> diff --git a/webui_templates/system_edit.tmpl b/webui_templates/system_edit.tmpl index cdb1adc..5396f1d 100644 --- a/webui_templates/system_edit.tmpl +++ b/webui_templates/system_edit.tmpl @@ -225,6 +225,8 @@ function page_onload() { <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> |