@@ -329,6 +329,12 @@ async function init (currentUser, challengeId, resource, isCreated) {
329329 const { memberId, email } = memberInfoFromDb
330330 handle = memberInfoFromDb . handle
331331 const userResources = allResources . filter ( ( r ) => _ . toLower ( r . memberHandle ) === _ . toLower ( handle ) )
332+
333+ let restrictedRoleIds
334+ if ( isCreated ) {
335+ restrictedRoleIds = await getRestrictedRoleIds ( )
336+ }
337+
332338 // Retrieve the constraint - Allowed Registrants
333339 if ( isCreated && resource . roleId === config . SUBMITTER_RESOURCE_ROLE_ID ) {
334340 const allowedRegistrants = _ . get ( challenge , 'constraints.allowedRegistrants' )
@@ -352,7 +358,6 @@ async function init (currentUser, challengeId, resource, isCreated) {
352358 )
353359 }
354360 // Check if user already has a restricted role (Manager, Copilot, Reviewer, etc.)
355- const restrictedRoleIds = await getRestrictedRoleIds ( )
356361 const existingRestrictedRole = _ . find ( userResources , r => restrictedRoleIds . includes ( r . roleId ) )
357362 if ( existingRestrictedRole ) {
358363 const roleNamesList = RESTRICTED_ROLE_NAMES . slice ( 0 , - 1 ) . join ( ', ' ) + ', or ' + RESTRICTED_ROLE_NAMES . slice ( - 1 )
@@ -393,7 +398,6 @@ async function init (currentUser, challengeId, resource, isCreated) {
393398
394399 // Check if user is trying to assign a restricted role and already has submitter role
395400 if ( isCreated ) {
396- const restrictedRoleIds = await getRestrictedRoleIds ( )
397401 if ( restrictedRoleIds . includes ( resource . roleId ) ) {
398402 const existingSubmitterRole = _ . find ( userResources , r => r . roleId === config . SUBMITTER_RESOURCE_ROLE_ID )
399403 if ( existingSubmitterRole ) {
0 commit comments