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 { public enum WorkingStatus {
ACTIVE, ACTIVE,
ON_LEAVE, ON_LEAVE,
RETIRED RETIRED,
INACTIVE
} }

View File

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

View File

@ -426,9 +426,10 @@ export class ProfessorComponent implements OnInit, OnDestroy {
formData.append('description', professor.description || ''); formData.append('description', professor.description || '');
formData.append('certification', professor.certification || ''); formData.append('certification', professor.certification || '');
// Only include training if NOT retired // Only include training if NOT retired or inactive
formData.append('training', formData.append('training',
professor.status !== WorkingStatus.RETIRED ? (professor.training || '') : '' (professor.status !== WorkingStatus.RETIRED && professor.status !== WorkingStatus.INACTIVE)
? (professor.training || '') : ''
); );
// ─── Work days ─────────────────────────────────────────────────────────── // ─── Work days ───────────────────────────────────────────────────────────

View File

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