diff --git a/support-portal-backend/src/main/java/net/shyshkin/study/fullstack/supportportal/backend/domain/WorkingStatus.java b/support-portal-backend/src/main/java/net/shyshkin/study/fullstack/supportportal/backend/domain/WorkingStatus.java index 96aec70..0cab3e9 100644 --- a/support-portal-backend/src/main/java/net/shyshkin/study/fullstack/supportportal/backend/domain/WorkingStatus.java +++ b/support-portal-backend/src/main/java/net/shyshkin/study/fullstack/supportportal/backend/domain/WorkingStatus.java @@ -3,5 +3,6 @@ package net.shyshkin.study.fullstack.supportportal.backend.domain; public enum WorkingStatus { ACTIVE, ON_LEAVE, - RETIRED + RETIRED, + INACTIVE } \ No newline at end of file diff --git a/support-portal-frontend/src/app/component/professor/professor.component.html b/support-portal-frontend/src/app/component/professor/professor.component.html index 75ab10e..f85dcab 100644 --- a/support-portal-frontend/src/app/component/professor/professor.component.html +++ b/support-portal-frontend/src/app/component/professor/professor.component.html @@ -78,10 +78,12 @@ + [class.status-retired]="professor?.status === WorkingStatus.RETIRED" + [class.status-inactive]="professor?.status === WorkingStatus.INACTIVE"> + [class.fa-times-circle]="professor?.status === WorkingStatus.RETIRED" + [class.fa-ban]="professor?.status === WorkingStatus.INACTIVE"> {{ professor?.status }} @@ -150,7 +152,8 @@ + [class.status-retired]="selectedProfessor.status === 'RETIRED'" + [class.status-inactive]="selectedProfessor.status === 'INACTIVE'"> {{ selectedProfessor.status }} @@ -205,13 +208,13 @@
+ *ngIf="selectedProfessor.certification || (selectedProfessor.training && selectedProfessor.status !== WorkingStatus.RETIRED && selectedProfessor.status !== WorkingStatus.INACTIVE)">
Certification

{{ selectedProfessor.certification }}

+ *ngIf="selectedProfessor.training && selectedProfessor.status !== WorkingStatus.RETIRED && selectedProfessor.status !== WorkingStatus.INACTIVE">
Training

{{ selectedProfessor.training }}

@@ -329,6 +332,7 @@ +
@@ -616,6 +620,7 @@ + @@ -714,9 +719,9 @@ - - Training field is disabled for retired faculty + [disabled]="selectedProfessor.status === WorkingStatus.RETIRED || selectedProfessor.status === WorkingStatus.INACTIVE"> + + Training field is disabled for retired/inactive faculty diff --git a/support-portal-frontend/src/app/component/professor/professor.component.ts b/support-portal-frontend/src/app/component/professor/professor.component.ts index 451cef3..8674485 100644 --- a/support-portal-frontend/src/app/component/professor/professor.component.ts +++ b/support-portal-frontend/src/app/component/professor/professor.component.ts @@ -426,9 +426,10 @@ export class ProfessorComponent implements OnInit, OnDestroy { formData.append('description', professor.description || ''); formData.append('certification', professor.certification || ''); - // Only include training if NOT retired + // Only include training if NOT retired or inactive formData.append('training', - professor.status !== WorkingStatus.RETIRED ? (professor.training || '') : '' + (professor.status !== WorkingStatus.RETIRED && professor.status !== WorkingStatus.INACTIVE) + ? (professor.training || '') : '' ); // ─── Work days ─────────────────────────────────────────────────────────── diff --git a/support-portal-frontend/src/app/enum/WorkingStatus.ts b/support-portal-frontend/src/app/enum/WorkingStatus.ts index dc3be8d..d8754c7 100644 --- a/support-portal-frontend/src/app/enum/WorkingStatus.ts +++ b/support-portal-frontend/src/app/enum/WorkingStatus.ts @@ -2,5 +2,6 @@ export enum WorkingStatus { ACTIVE = 'ACTIVE', ON_LEAVE = 'ON_LEAVE', - RETIRED = 'RETIRED' + RETIRED = 'RETIRED', + INACTIVE = 'INACTIVE' } \ No newline at end of file