diff --git a/code/SecurityAdmin.php b/code/SecurityAdmin.php
index 03847567..e871a7d3 100644
--- a/code/SecurityAdmin.php
+++ b/code/SecurityAdmin.php
@@ -70,16 +70,20 @@ class SecurityAdmin extends LeftAndMain implements PermissionProvider {
$fields = $record->getCMSFields();
if($fields->hasTabSet()) {
- $fields->findOrMakeTab('Root.Import',_t('Group.IMPORTTABTITLE', 'Import'));
- $fields->addFieldToTab('Root.Import',
- new LiteralField(
- 'MemberImportFormIframe',
- sprintf(
- '',
- $this->Link('memberimport')
+ // Add import capabilities. Limit to admin since the import logic can affect assigned permissions
+ if(Permission::check('ADMIN')) {
+ $fields->findOrMakeTab('Root.Import',_t('Group.IMPORTTABTITLE', 'Import'));
+ $fields->addFieldToTab('Root.Import',
+ new LiteralField(
+ 'MemberImportFormIframe',
+ sprintf(
+ '',
+ $this->Link('memberimport')
+ )
)
- )
- );
+ );
+ }
+
if(Permission::check('APPLY_ROLES')) {
$fields->addFieldToTab(
'Root.Roles',
@@ -147,8 +151,19 @@ class SecurityAdmin extends LeftAndMain implements PermissionProvider {
)
)
)
- ),
- new Tab('Import', _t('SecurityAdmin.TABIMPORT', 'Import'),
+ )
+ ),
+ // necessary for tree node selection in LeftAndMain.EditForm.js
+ new HiddenField('ID', false, 0)
+ );
+
+ // Add import capabilities. Limit to admin since the import logic can affect assigned permissions
+ if(Permission::check('ADMIN')) {
+ $fields->addFieldsToTab(
+ 'Root',
+ new Tab(
+ 'Import',
+ _t('SecurityAdmin.TABIMPORT', 'Import'),
new LiteralField(
'GroupImportFormIframe',
sprintf(
@@ -157,10 +172,8 @@ class SecurityAdmin extends LeftAndMain implements PermissionProvider {
)
)
)
- ),
- // necessary for tree node selection in LeftAndMain.EditForm.js
- new HiddenField('ID', false, 0)
- );
+ );
+ }
// Add roles editing interface
if(Permission::check('APPLY_ROLES')) {
@@ -217,6 +230,8 @@ class SecurityAdmin extends LeftAndMain implements PermissionProvider {
* @return Form
*/
public function MemberImportForm() {
+ if(!Permission::check('ADMIN')) return false;
+
$group = $this->currentPage();
$form = new MemberImportForm(
$this,
@@ -249,6 +264,8 @@ class SecurityAdmin extends LeftAndMain implements PermissionProvider {
* @return Form
*/
public function GroupImportForm() {
+ if(!Permission::check('ADMIN')) return false;
+
$form = new GroupImportForm(
$this,
'GroupImportForm'