Skip to content

Commit 5be8d07

Browse files
authored
Merge pull request #4200 from maxceem/issue-4183
feat: remove copilots
2 parents 7b536fd + c1e7d2c commit 5be8d07

File tree

4 files changed

+45
-3
lines changed

4 files changed

+45
-3
lines changed

docs/permissions.html

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,31 @@ <h2 class="anchor-container">
232232
</div>
233233
</div>
234234
</div>
235+
<div class="row border-top">
236+
<div class="col py-2">
237+
<div class="permission-title anchor-container">
238+
<a href="#REMOVE_COPILOTS" name="REMOVE_COPILOTS" class="anchor"></a>Remove Copilots
239+
</div>
240+
<div class="permission-variable"><small><code>REMOVE_COPILOTS</code></small></div>
241+
<div class="text-black-50 small-text">Remove copilots form the project.</div>
242+
</div>
243+
<div class="col-9 py-2">
244+
<div>
245+
<span class="badge badge-primary" title="Allowed Project Role">manager</span>
246+
<span class="badge badge-primary" title="Allowed Project Role">account_manager</span>
247+
<span class="badge badge-primary" title="Allowed Project Role">account_executive</span>
248+
<span class="badge badge-primary" title="Allowed Project Role">project_manager</span>
249+
<span class="badge badge-primary" title="Allowed Project Role">program_manager</span>
250+
<span class="badge badge-primary" title="Allowed Project Role">solution_architect</span>
251+
</div>
252+
253+
<div>
254+
<span class="badge badge-success" title="Allowed Topcoder Role">administrator</span>
255+
<span class="badge badge-success" title="Allowed Topcoder Role">Connect Admin</span>
256+
<span class="badge badge-success" title="Allowed Topcoder Role">Connect Copilot Manager</span>
257+
</div>
258+
</div>
259+
</div>
235260
<div class="row border-top">
236261
<div class="col py-2">
237262
<div class="permission-title anchor-container">

src/components/TeamManagement/CopilotManagementDialog.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ class ProjectManagementDialog extends React.Component {
9292
onCancel, copilotTeamInvites = [], selectedMembers, processingInvites,
9393
} = this.props
9494
const canManageCopilots = hasPermission(PERMISSIONS.MANAGE_COPILOTS)
95+
const canRemoveCopilots = hasPermission(PERMISSIONS.REMOVE_COPILOTS)
9596
const showSuggestions = hasPermission(PERMISSIONS.SEE_MEMBER_SUGGESTIONS)
9697
let i = 0
9798
return (
@@ -138,7 +139,7 @@ class ProjectManagementDialog extends React.Component {
138139
</span>
139140
</div>
140141
</div>
141-
{canManageCopilots && <div className="member-remove" onClick={remove}>
142+
{(canManageCopilots || canRemoveCopilots) && <div className="member-remove" onClick={remove}>
142143
{(currentUser.userId === member.userId) ? 'Leave' : 'Remove'}
143144
</div>}
144145
</div>
@@ -169,7 +170,7 @@ class ProjectManagementDialog extends React.Component {
169170
{ (!hasUserId) && <span className="member-email">{invite.email}</span>}
170171
</span>
171172
</div>
172-
{canManageCopilots && <div className="member-remove" onClick={remove}>
173+
{(canManageCopilots || canRemoveCopilots) && <div className="member-remove" onClick={remove}>
173174
Remove
174175
<span className="email-date">
175176
Invited {moment(invite.createdAt).format('MMM D, YY')}

src/components/TeamManagement/TeamManagement.jsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ class TeamManagement extends React.Component {
111111
const customerTeamManageAction = hasPermission(PERMISSIONS.MANAGE_CUSTOMER_TEAM)
112112
const topcoderTeamManageAction = hasPermission(PERMISSIONS.MANAGE_TOPCODER_TEAM)
113113
const copilotTeamManageAction = hasPermission(PERMISSIONS.MANAGE_COPILOTS)
114+
const copilotRemoveAction = hasPermission(PERMISSIONS.REMOVE_COPILOTS)
114115
const canRequestCopilot = hasPermission(PERMISSIONS.REQUEST_COPILOTS)
115116
const canJoinTopcoderTeam = !currentMember && hasPermission(PERMISSIONS.JOIN_TOPCODER_TEAM)
116117

@@ -191,7 +192,7 @@ class TeamManagement extends React.Component {
191192
<div className="projects-team">
192193
<div className="title">
193194
<span styleName="title-text">Copilot</span>
194-
{copilotTeamManageAction &&
195+
{(copilotTeamManageAction || copilotRemoveAction) &&
195196
<span className="title-action" onClick={() => onShowCopilotDialog(true)}>
196197
Manage
197198
</span>

src/config/permissions.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,21 @@ export const PERMISSIONS = {
228228
]
229229
},
230230

231+
REMOVE_COPILOTS: {
232+
meta: {
233+
group: 'Project Members',
234+
title: 'Remove Copilots',
235+
description: 'Remove copilots form the project.',
236+
},
237+
projectRoles: [
238+
..._.difference(PROJECT_ALL, [PROJECT_ROLE_COPILOT, PROJECT_ROLE_CUSTOMER])
239+
],
240+
topcoderRoles: [
241+
...TOPCODER_ADMINS,
242+
ROLE_CONNECT_COPILOT_MANAGER
243+
]
244+
},
245+
231246
MANAGE_TOPCODER_TEAM: {
232247
meta: {
233248
group: 'Project Members',

0 commit comments

Comments
 (0)