Skip to content

Commit 6032e28

Browse files
authored
fix: firstOrgAdmin being set to true even if invite was not for an admin (#2110)
Non-admin users should not be given option to rename org when invited to a new org: - set firstOrgAdmin to true only when invite is for an admin - default to false instead of null - update tests to check
1 parent c33f749 commit 6032e28

File tree

4 files changed

+6
-4
lines changed

4 files changed

+6
-4
lines changed

backend/btrixcloud/invites.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ async def get_invite_out(
292292
invite_out.orgName = org.name
293293
invite_out.orgSlug = org.slug
294294

295-
if include_first_org_admin:
295+
if include_first_org_admin and invite.role >= UserRole.OWNER:
296296
invite_out.firstOrgAdmin = True
297297
for role in org.users.values():
298298
if role == UserRole.OWNER:

backend/btrixcloud/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ class InviteOut(BaseModel):
102102
orgSlug: Optional[str] = None
103103
role: UserRole = UserRole.VIEWER
104104
email: Optional[EmailStr] = None
105-
firstOrgAdmin: Optional[bool] = None
105+
firstOrgAdmin: bool = False
106106

107107

108108
# ============================================================================

backend/test/test_org.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,7 @@ def test_get_pending_org_invites(
334334
assert invite["oid"] == non_default_org_id
335335
assert invite["created"]
336336
assert invite["role"]
337+
assert invite["firstOrgAdmin"] == False
337338

338339
# Delete Invites
339340
r = requests.post(

backend/test/test_users.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ def test_pending_invite_new_user(admin_auth_headers, default_org_id):
216216
assert invite["oid"] == default_org_id
217217
assert invite["created"]
218218
assert invite["role"]
219-
assert invite["firstOrgAdmin"] == None
219+
assert invite["firstOrgAdmin"] == False
220220

221221

222222
def test_new_user_token():
@@ -382,7 +382,7 @@ def test_pending_invite_existing_user(admin_auth_headers, non_default_org_id):
382382
assert invite["oid"] == non_default_org_id
383383
assert invite["created"]
384384
assert invite["role"]
385-
assert invite["firstOrgAdmin"] == None
385+
assert invite["firstOrgAdmin"] == False
386386

387387

388388
def test_pending_invites_crawler(crawler_auth_headers, default_org_id):
@@ -512,6 +512,7 @@ def test_non_superadmin_admin_can_invite(default_org_id):
512512
assert not data["fromSuperuser"]
513513
assert data["inviterEmail"] == VALID_USER_EMAIL
514514
assert data["inviterName"] == "valid"
515+
assert data["firstOrgAdmin"] == False
515516

516517

517518
def test_forgot_password():

0 commit comments

Comments
 (0)