inactive update

This commit is contained in:
2026-05-07 10:15:40 +05:30
parent fc973e86d2
commit 3856524152
4 changed files with 20 additions and 12 deletions

View File

@ -3,5 +3,6 @@ package net.shyshkin.study.fullstack.supportportal.backend.domain;
public enum WorkingStatus {
ACTIVE,
ON_LEAVE,
RETIRED
RETIRED,
INACTIVE
}

View File

@ -78,10 +78,12 @@
<td (click)="onSelectProfessor(professor)">
<span class="status-badge" [class.status-active]="professor?.status === WorkingStatus.ACTIVE"
[class.status-leave]="professor?.status === WorkingStatus.ON_LEAVE"
[class.status-retired]="professor?.status === WorkingStatus.RETIRED">
[class.status-retired]="professor?.status === WorkingStatus.RETIRED"
[class.status-inactive]="professor?.status === WorkingStatus.INACTIVE">
<i class="fa" [class.fa-check-circle]="professor?.status === WorkingStatus.ACTIVE"
[class.fa-pause-circle]="professor?.status === WorkingStatus.ON_LEAVE"
[class.fa-times-circle]="professor?.status === WorkingStatus.RETIRED"></i>
[class.fa-times-circle]="professor?.status === WorkingStatus.RETIRED"
[class.fa-ban]="professor?.status === WorkingStatus.INACTIVE"></i>
{{ professor?.status }}
</span>
</td>
@ -150,7 +152,8 @@
</span>
<span class="status-badge" [class.status-active]="selectedProfessor.status === 'ACTIVE'"
[class.status-leave]="selectedProfessor.status === 'ON_LEAVE'"
[class.status-retired]="selectedProfessor.status === 'RETIRED'">
[class.status-retired]="selectedProfessor.status === 'RETIRED'"
[class.status-inactive]="selectedProfessor.status === 'INACTIVE'">
{{ selectedProfessor.status }}
</span>
</div>
@ -205,13 +208,13 @@
</div>
<div class="detail-row"
*ngIf="selectedProfessor.certification || (selectedProfessor.training && selectedProfessor.status !== WorkingStatus.RETIRED)">
*ngIf="selectedProfessor.certification || (selectedProfessor.training && selectedProfessor.status !== WorkingStatus.RETIRED && selectedProfessor.status !== WorkingStatus.INACTIVE)">
<div class="detail-section" *ngIf="selectedProfessor.certification">
<h5>Certification</h5>
<p>{{ selectedProfessor.certification }}</p>
</div>
<div class="detail-section"
*ngIf="selectedProfessor.training && selectedProfessor.status !== WorkingStatus.RETIRED">
*ngIf="selectedProfessor.training && selectedProfessor.status !== WorkingStatus.RETIRED && selectedProfessor.status !== WorkingStatus.INACTIVE">
<h5>Training</h5>
<p>{{ selectedProfessor.training }}</p>
</div>
@ -329,6 +332,7 @@
<option [value]="WorkingStatus.ACTIVE">Active</option>
<option [value]="WorkingStatus.ON_LEAVE">On Leave</option>
<option [value]="WorkingStatus.RETIRED">Retired</option>
<option [value]="WorkingStatus.INACTIVE">Inactive</option>
</select>
</div>
@ -616,6 +620,7 @@
<option [value]="WorkingStatus.ACTIVE">Active</option>
<option [value]="WorkingStatus.ON_LEAVE">On Leave</option>
<option [value]="WorkingStatus.RETIRED">Retired</option>
<option [value]="WorkingStatus.INACTIVE">Inactive</option>
</select>
</div>
@ -714,9 +719,9 @@
</label>
<textarea id="editTraining" name="training" class="form-textarea" rows="2"
[(ngModel)]="selectedProfessor.training"
[disabled]="selectedProfessor.status === WorkingStatus.RETIRED"></textarea>
<small class="form-text text-muted" *ngIf="selectedProfessor.status === WorkingStatus.RETIRED">
Training field is disabled for retired faculty
[disabled]="selectedProfessor.status === WorkingStatus.RETIRED || selectedProfessor.status === WorkingStatus.INACTIVE"></textarea>
<small class="form-text text-muted" *ngIf="selectedProfessor.status === WorkingStatus.RETIRED || selectedProfessor.status === WorkingStatus.INACTIVE">
Training field is disabled for retired/inactive faculty
</small>
</div>
</div>

View File

@ -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 ───────────────────────────────────────────────────────────

View File

@ -2,5 +2,6 @@
export enum WorkingStatus {
ACTIVE = 'ACTIVE',
ON_LEAVE = 'ON_LEAVE',
RETIRED = 'RETIRED'
RETIRED = 'RETIRED',
INACTIVE = 'INACTIVE'
}