1) If the "config_perms module: administer themes" permission is enabled AND "system module: select different theme" permission is disabled, authorized users should be:
a) UNABLE to edit 'admin/build/themes' (i.e. disable/ enable themes and change default theme), but be
b) able to configure ONLY the ENABLED themes.
Aforementioned makes it possible to allow authorized users to change the configuration settings of enabled themes, without allowing them to select other themes.

2) Also a separate permission setting is needed for 'admin/build/themes/settings' (i.e. global settings).

Comments

not_Dries_Buytaert’s picture

In other words we need separate permissions for:
1) Administer theme selection
2) Administer theme global settings
3) Administer settings of DISabled themes
4) Administer settings of ENabled themes

Ad 1 & 2) Line 17 in the file 'config_perms.module' may (?!) have to change from:
'administer themes' => array('admin/build/themes', 'admin/build/themes/settings'),
to

'administer theme selection'                => array('admin/build/themes'),
'administer theme global settings'                => array('admin/build/themes/settings'),

Ad 3 & 4) Lines 56 up until 60 may (?!) have to change from:

// administer themes:
	foreach (list_themes() as $theme) {
		$items['admin/build/themes/settings/'. $theme->name]['access callback'] = 'config_perms_themes_access';
		$items['admin/build/themes/settings/'. $theme->name]['access arguments'] = array($theme);
	}

so, some discrimination is added for:
disabled themes:
if ($theme->status == 0) {}
enabled themes:
if ($theme->status == 1) {}

Docc’s picture

Status: Active » Closed (won't fix)

With the 2.x version you can add your own permissions through a admin form.
So give the dev a try.