Implement organization maker-checker workflows

This commit is contained in:
2026-09-24 17:22:50 +05:30
parent 08a427467a
commit 7b9a6394c8
30 changed files with 787 additions and 90 deletions
@@ -48,7 +48,6 @@ const USER_FIELD_LABELS: Record<string, string> = {
officeName: 'Office Name',
staffId: 'Staff Member',
roles: 'Assigned Roles',
roleNames: 'Assigned Roles',
otpDeliveryMethod: '2FA / OTP Channel',
sendPasswordToEmail: 'Send Password To Email',
passwordNeverExpires: 'Password Never Expires',
@@ -59,10 +59,10 @@
<tr>
<td class="col-field">{{ r.label }}</td>
@if (data.requestType === 'UPDATE_USER') {
<td class="col-curr">{{ r.current != null && r.current !== '' ? r.current : '—' }}</td>
<td class="col-curr">{{ displayValue(r.current) }}</td>
}
<td class="col-prop" [class.highlight-change]="data.requestType === 'UPDATE_USER' && r.current !== r.value">
{{ r.value != null && r.value !== '' ? r.value : '—' }}
{{ displayValue(r.value) }}
</td>
</tr>
}
@@ -17,6 +17,7 @@ import {
} from '@angular/material/dialog';
import { CdkScrollable } from '@angular/cdk/scrolling';
import { STANDALONE_SHARED_IMPORTS } from 'app/standalone-shared.module';
import { displayScalar } from 'app/tasks/command-diff.util';
export interface UserEditCompareRow {
key: string;
@@ -54,4 +55,7 @@ export interface UserEditCompareDialogData {
export class UserEditCompareDialogComponent {
dialogRef = inject<MatDialogRef<UserEditCompareDialogComponent>>(MatDialogRef);
data = inject<UserEditCompareDialogData>(MAT_DIALOG_DATA);
/** Shared with the generic maker-checker diff screens so booleans/nulls render the same way everywhere. */
displayValue = displayScalar;
}