summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cobbler/item_distro.py4
-rw-r--r--cobbler/item_profile.py4
-rw-r--r--cobbler/item_system.py4
-rw-r--r--cobbler/settings.py1
-rw-r--r--cobbler/webui/CobblerWeb.py4
-rw-r--r--config/settings1
-rw-r--r--tests/tests.py4
-rw-r--r--webui_templates/distro_edit.tmpl2
-rw-r--r--webui_templates/profile_edit.tmpl2
-rw-r--r--webui_templates/repo_edit.tmpl2
-rw-r--r--webui_templates/system_edit.tmpl2
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>