Skip to content

Commit 871d706

Browse files
github-actions[bot]Marfuenclaude
authored
fix(people): restore isActive when re-inviting deactivated contractor (#2801)
addEmployeeWithoutInvite only set deactivated=false when reactivating, leaving isActive=false — making the member invisible on the People page. Also fix reactivateById to handle the isActive=false+deactivated=false limbo state, and add missing Contractor option to role filter dropdown. Closes CS-376 Co-authored-by: Mariano <marfuen98@gmail.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 42d06db commit 871d706

3 files changed

Lines changed: 7 additions & 6 deletions

File tree

apps/api/src/people/people-invite.service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,11 +170,11 @@ export class PeopleInviteService {
170170
let isNewMember = false;
171171

172172
if (existingMember) {
173-
if (existingMember.deactivated) {
173+
if (existingMember.deactivated || !existingMember.isActive) {
174174
const roleString = [...roles].sort().join(',');
175175
member = await db.member.update({
176176
where: { id: existingMember.id },
177-
data: { deactivated: false, role: roleString },
177+
data: { deactivated: false, isActive: true, role: roleString },
178178
});
179179
} else {
180180
member = existingMember;

apps/api/src/people/people.service.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -448,16 +448,16 @@ export class PeopleService {
448448
organizationId,
449449
);
450450

451-
if (member) {
451+
if (member && member.isActive) {
452452
throw new BadRequestException('Member is already active');
453453
}
454454

455-
// Look for deactivated member
456-
const deactivatedMember = await db.member.findFirst({
455+
// Look for inactive or deactivated member
456+
const inactiveMember = await db.member.findFirst({
457457
where: { id: memberId, organizationId },
458458
});
459459

460-
if (!deactivatedMember) {
460+
if (!inactiveMember) {
461461
throw new NotFoundException(
462462
`Member with ID ${memberId} not found in organization ${organizationId}`,
463463
);

apps/app/src/app/(app)/[orgId]/people/all/components/TeamMembersClient.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,7 @@ export function TeamMembersClient({
282282
<SelectItem value="admin">Admin</SelectItem>
283283
<SelectItem value="auditor">Auditor</SelectItem>
284284
<SelectItem value="employee">Employee</SelectItem>
285+
<SelectItem value="contractor">Contractor</SelectItem>
285286
</SelectContent>
286287
</Select>
287288
</div>

0 commit comments

Comments
 (0)