diff --git a/src/portal/src/app/base/project/member/add-group/add-group.component.scss b/src/portal/src/app/base/project/member/add-group/add-group.component.scss
index fe23b549855..17faae93c2b 100644
--- a/src/portal/src/app/base/project/member/add-group/add-group.component.scss
+++ b/src/portal/src/app/base/project/member/add-group/add-group.component.scss
@@ -27,3 +27,16 @@
background-image: linear-gradient(180deg,#f5f5f5 0,#e8e8e8);
background-repeat: repeat-x;
}
+
+.role-radio-list {
+ max-height: 200px;
+ overflow-y: auto;
+ padding-right: 4px;
+}
+
+.role-builtin-badge {
+ font-size: 10px;
+ padding: 1px 4px;
+ margin-left: 4px;
+ vertical-align: middle;
+}
diff --git a/src/portal/src/app/base/project/member/add-group/add-group.component.ts b/src/portal/src/app/base/project/member/add-group/add-group.component.ts
index afe21b30172..7d161d53e22 100644
--- a/src/portal/src/app/base/project/member/add-group/add-group.component.ts
+++ b/src/portal/src/app/base/project/member/add-group/add-group.component.ts
@@ -23,11 +23,7 @@ import {
} from '@angular/core';
import { NgForm } from '@angular/forms';
import { AppConfigService } from '../../../../services/app-config.service';
-import { ProjectRootInterface } from '../../../../shared/services';
-import {
- GroupType,
- PROJECT_ROOTS,
-} from '../../../../shared/entities/shared.const';
+import { GroupType } from '../../../../shared/entities/shared.const';
import { InlineAlertComponent } from '../../../../shared/components/inline-alert/inline-alert.component';
import { UsergroupService } from '../../../../../../ng-swagger-gen/services/usergroup.service';
import { of, Subject, Subscription } from 'rxjs';
@@ -35,6 +31,9 @@ import { UserGroup } from 'ng-swagger-gen/models/user-group';
import { ClrLoadingState } from '@clr/angular';
import { MemberService } from 'ng-swagger-gen/services/member.service';
import { MessageHandlerService } from '../../../../shared/services/message-handler.service';
+import { RoleService } from '../../../../../../ng-swagger-gen/services/role.service';
+import { loadAllRoles } from '../../../left-side-nav/roles/roles-util';
+import { Role } from '../../../../../../ng-swagger-gen/models/role';
@Component({
selector: 'add-group',
@@ -43,7 +42,7 @@ import { MessageHandlerService } from '../../../../shared/services/message-handl
standalone: false,
})
export class AddGroupComponent implements OnInit, OnDestroy {
- projectRoots: ProjectRootInterface[] = PROJECT_ROOTS;
+ //projectRoots: ProjectRootInterface[] = PROJECT_ROOTS;
memberGroup: UserGroup = {
group_name: '',
};
@@ -59,6 +58,7 @@ export class AddGroupComponent implements OnInit, OnDestroy {
inlineAlert: InlineAlertComponent;
@Input() projectId: number;
+ @Input() assignableRoleIds: Set