diff --git a/code/PermissionRoleAdmin.php b/code/PermissionRoleAdmin.php index cb828a9f..1f4aed6c 100644 --- a/code/PermissionRoleAdmin.php +++ b/code/PermissionRoleAdmin.php @@ -8,8 +8,39 @@ class PermissionRoleAdmin extends ModelAdmin { 'PermissionRole' ); + public static $collection_controller_class = "PermissionRoleAdmin_CollectionController"; + public static $record_controller_class = "PermissionRoleAdmin_RecordController"; + static $url_segment = 'roles'; static $menu_title = 'Roles'; } +/** + * Customized controller for hiding permissions on AddForm + */ +class PermissionRoleAdmin_CollectionController extends ModelAdmin_CollectionController { + public function AddForm() { + $form = parent::AddForm(); + if ( $this->modelClass=='PermissionRole' ) { + $permissionField = $form->Fields()->dataFieldByName('Codes'); + if($permissionField) $permissionField->setHiddenPermissions(SecurityAdmin::$hidden_permissions); + } + return $form; + } +} + +/** + * Customized controller for hiding permissions on EditForm + */ +class PermissionRoleAdmin_RecordController extends ModelAdmin_RecordController { + public function EditForm() { + $form = parent::EditForm(); + if ( $this->parentController->modelClass=='PermissionRole' ) { + $permissionField = $form->Fields()->dataFieldByName('Codes'); + if($permissionField) $permissionField->setHiddenPermissions(SecurityAdmin::$hidden_permissions); + } + return $form; + } +} + ?>