Commit Graph

336 Commits

Author SHA1 Message Date
Nati Nigussie
54d083e40b Merge pull request #68 from Tria-plc/WorkflowChange
Workflow change
2026-09-07 12:08:24 +03:00
Nati Nigussie
9962e2b9e7 Merge branch 'WorkflowChange' into estif-branch-1 2026-09-07 12:06:52 +03:00
estifanos
a67a29ae79 refactor: enhance license configuration with per-type renewal windows, inspection requirements, and issuance policies 2026-09-07 08:59:21 +00:00
mihretu
24fb51de23 fix(exam): reflect authoritative exam state and lock engine-graded results
- COC queue status cell shows the server-derived exam state (registered,
  present, sat, passed, failed) instead of the lagging application status.
- Portal examStageFor prefers the server's examState so portal and back
  office never disagree; NOT_SITTING stage added.
- Exam roster shows each candidate's result and lock; Regrade hidden once
  a result exists.
- Record Result modal: only unmarked candidates, empty score boxes (no
  silent zeros), reason required, backend refusals translated.
- Result page: auto-graded marks read-only, per-applicant publish.
- Exam page: session window fields, Add Question menu (bank / Excel /
  scratch), wait metrics panel; PUBLISHED exam status removed.
- Portal: exam window shown, early launch and eligibility refusals explained.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 08:12:12 +00:00
nati
29990d3142 feat: refactor certificate generation and download logic to use licenseId and integrate new API mutation 2026-09-05 07:46:10 +00:00
Nati Nigussie
76dbcbc50d Merge pull request #63 from Tria-plc/WorkflowChange 2026-09-04 01:51:14 -08:00
Estifanos Terefe
2fd7a19947 Merge pull request #64 from Tria-plc/createNewLicenseType
feat: add license type management and import personal document requirements
2026-09-04 11:47:32 +03:00
Estifo77
37065ecf12 Merge branch 'createNewLicenseType' of https://github.com/Tria-plc/emaui into createNewLicenseType 2026-09-04 09:43:46 +03:00
Estifo77
b8c0d7028f Merge branch 'estif-branch-1' of https://github.com/Tria-plc/emaui into estif-branch-1 2026-09-04 09:36:06 +03:00
Estifo77
d66484921b feat: implement comprehensive dashboard UI components, analytics integration, and internationalization support for portal and backoffice apps. 2026-09-03 14:40:55 +03:00
Nati Nigussie
7b09151161 Merge pull request #63 from Tria-plc/WorkflowChange 2026-09-02 03:50:18 -08:00
Estifo77
f8ed067b9d Merge branch 'createNewLicenseType' of https://github.com/Tria-plc/emaui into createNewLicenseType 2026-09-02 14:18:35 +03:00
estifanos
92f2f16b80 feat: add REISSUE application kind and dynamic file size limits, and remove unused serviceKind logic 2026-09-02 10:31:18 +00:00
Nati Nigussie
36c2130271 Merge pull request #60 from Tria-plc/WorkflowChange
Workflow change
2026-09-02 12:27:59 +03:00
Estifo77
51aa446eee feat: configure Vite for backoffice and portal applications with shared environment directories and API proxies 2026-09-02 09:29:08 +03:00
mihretue
55823068a3 Merge branch 'fix/coc-exam-workflow-defects' of github.com:Tria-plc/emaui into fix/coc-exam-workflow-defects 2026-09-01 15:18:27 +03:00
mihretue
64836d6e1e fix: sanitize applicationId and documentId parameters in PaymentCheckPage 2026-09-01 15:18:13 +03:00
mihretue
09a6f492de refactor(exam): drop the last trace of "Eligible to Register"
The label was reverted to "Exam Paid" but the name survived as the internal
stage key, so the concept was still in the codebase to be reintroduced by
accident. The stage is named after the status it derives from now.
2026-09-01 07:33:56 +00:00
Estifo77
0fe0525a97 Merge branch 'estif-branch-1' of https://github.com/Tria-plc/emaui into estif-branch-1 2026-09-01 09:44:39 +03:00
estifanos
26330eee3c feat: add date bounds to DateField and improve validation flow in registration wizard 2026-09-01 06:44:10 +00:00
estifanos
32ad5124f1 feat: add non-expiring license support to backoffice and portal UI with updated i18n and selective form patching 2026-09-01 05:58:48 +00:00
mihretue
8438bc5122 Merge branch 'dev' of github.com:Tria-plc/emaui into fix/coc-exam-workflow-defects 2026-08-31 14:20:32 +03:00
mihretue
46f317a73f Merge remote-tracking branch 'origin/dev' into fix/coc-exam-workflow-defects
# Conflicts:
#	apps/portal/src/app/features/licensing/pages/MyApplicationsPage/index.tsx
#	libs/api/src/lib/features/licensing/licensing-api.ts
#	libs/api/src/lib/features/licensing/licensing.types.ts
2026-08-31 09:16:24 +00:00
estifanos
317a1532b1 feat: implement auto-filling of license and registration document slots from personal vault and add UI labels for vault-sourced files 2026-08-31 08:18:27 +00:00
Nati Nigussie
272a77dad5 Merge pull request #43 from Tria-plc/estif-branch-1
merge from documentVault
2026-08-31 10:23:56 +03:00
mihretue
6f4878d300 fix(exam): step the exam form, derive portal status, drop queue overrides
Four screens were telling the applicant things that were not true, and two
back-office actions were writing state nobody should be able to write by hand.

The exam form is a stepper. Basic Info and Settings each answer only for their
own fields, and a third step reviews the whole thing before anything is sent —
"Create Exam" exists on that step alone, so there is no path from an earlier
one into the API. Clicking it from Basic Info used to report the Settings
fields as missing: a correct error the user could not act on, since that step
had not been shown yet. The rules move to ./validation, which is what the
per-step check and the final whole-payload check both read, so the two cannot
drift apart. Back keeps everything entered — state lives in the component.

The portal derives the examination stage from the records rather than from the
application status alone. Registering, attendance and the sitting itself all
happen on the registration and the attempt, and the portal read none of them —
which is how an application still said "Awaiting Exam Date" after the back
office had already evaluated the paper. examStageFor() names what the records
add up to: eligible to register, registered, attendance confirmed, sitting,
under evaluation, passed, failed. Both the applications list and the
certificates page use it, and both poll the registrations they read it from,
because attendance is recorded by an invigilator while the candidate is
watching the screen.

EXAM_PAID is no longer a waiting state. Nobody assigns a date: the fee having
cleared is exactly what makes the candidate eligible to pick a published
sitting, so that row now offers Register rather than a disabled button.

Schedule Exam and Record Exam Outcome are gone from the COC queue — actions,
modals, RTK endpoints and strings. Their server endpoints are gone too, so
this is not a hidden button over a live route.
2026-08-31 07:14:59 +00:00
Nati
16ac650f5f feat(applications): add discard functionality for draft applications and update UI 2026-08-31 07:11:05 +00:00
Estifo77
dae24f48db Merge branch 'WorkflowChange' of https://github.com/Tria-plc/emaui into estif-branch-1 2026-08-31 09:19:35 +03:00
nati14575
a5c875f8f8 Refactor code structure for improved readability and maintainability 2026-08-29 12:56:47 +03:00
Nati
b8dc7274e6 feat(configuration): add BSID to NumberFormatScope and update related UI 2026-08-29 09:53:30 +00:00
Nati
760eee9155 Merge branch 'WorkflowChange' of github.com:Tria-plc/emaui into WorkflowChange 2026-08-29 06:52:20 +00:00
Nati
890aca44f4 feat(signature): add signature functionality for officers and seafarers
- Implemented MySignaturePad component for officers to draw and upload their signatures.
- Added signature API endpoints for managing officer signatures in the backoffice.
- Created SignaturePad component for seafarers to manage their specimen signatures.
- Updated ProfilePage to include signature tabs for both officers and seafarers.
- Added translations for signature-related terms in English and Amharic.
- Introduced RankTier options for seafarer registration.
- Added tests for canvas-point utility to ensure accurate pointer mapping on signature pad.
2026-08-29 06:52:14 +00:00
Estifo77
af3fad018a Merge branch 'WorkflowChange' of https://github.com/Tria-plc/emaui into estif-branch-1 2026-08-29 09:03:43 +03:00
fitse-yotor
fa217fc577 Merge origin/WorkflowChange into logestic_chnage
Resolves conflicts:
- LicenseReviewPage: dropped a duplicated schedule-issuance ActionIcon,
  keeping the Tooltip-wrapped one and adding scheduledPeriod (required
  by the scheduleIssuance mutation) to it.
- portal i18n (en.ts/am.ts): both sides added distinct keys under
  licensing.card (reportDamaged/reissueFailed vs status/statusReason) —
  kept both, additive.
- licensing.helpers.ts: kept sectionAppliesToKind (this branch) and
  switched to the centralized BASE_API_URL import from
  base-api/base-query-with-reauth (WorkflowChange), dropping the local
  duplicate constant.
2026-08-28 16:27:36 +03:00
fitse-yotor
a4fe5a7111 Merge branch into logestic_chnage, resolve licensing-api tag conflict
Kept both new cache tags (PickupOffice/PickupAppointment from this
branch, Department/Rank from origin) — additive, not conflicting.
2026-08-28 15:51:09 +03:00
fitse-yotor
687e3df3c2 feat: add pickup appointment scheduling and management features
- Introduced new pickup appointment functionalities in the licensing API, including scheduling, rescheduling, and managing pickup offices.
- Added UI components for the pickup desk, allowing officers to check in, issue documents, and manage no-show appointments.
- Implemented a new page for managing pickup offices with CRUD operations.
- Enhanced internationalization support for new pickup-related terms and messages.
- Updated licensing types to include new application kinds and issuance periods.
- Created a read-only panel for displaying scheduled pickup appointments in the licensing component.
2026-08-28 15:49:05 +03:00
Estifo77
1384885bc1 Merge branch 'WorkflowChange' of https://github.com/Tria-plc/emaui into estif-branch-1 2026-08-28 15:27:43 +03:00
Estifanos Terefe
72fc690d53 Merge branch 'estif-branch-1' into documentVault 2026-08-28 15:25:50 +03:00
Mihretu Endeshaw
bff1ae5375 Merge pull request #41 from Tria-plc/feature/fayda-auth-and-email-notifications
Feature/fayda auth and email notifications
2026-08-28 14:43:49 +03:00
nati14575
9841092ddc Merge branch 'WorkflowChange' of https://github.com/Tria-plc/emaui into WorkflowChange 2026-08-28 14:39:02 +03:00
nati14575
a66eef352c feat(i18n): add biometric-related translations and update navigation permissions 2026-08-28 14:38:56 +03:00
estifanos
32f5fb4590 feat: implement FilePreviewModal to support image, video, and audio previews alongside PDFs 2026-08-28 10:45:06 +00:00
estifanos
3368c9bd3f feat: implement XHR-based file upload with progress tracking to replace RTK-based mutations for personal documents 2026-08-28 10:42:04 +00:00
Estifo77
c53c1b8a45 Merge branch 'WorkflowChange' of https://github.com/Tria-plc/emaui into estif-branch-1 2026-08-28 12:47:46 +03:00
Estifo77
4dc1ee18b9 revert 2026-08-28 11:59:23 +03:00
estifanos
f255621672 feat: add support for global personal document requirements in applicant vaults 2026-08-28 08:54:10 +00:00
estifanos
627fcfbfde UI fixes 2026-08-28 08:18:19 +00:00
Nati
5006e4685b feat: add biometric enrollment and viewing capabilities with API integration 2026-08-28 08:15:39 +00:00
estifanos
c26528dad5 feat: implement DocumentVaultPage to display seafarer licenses, medical certificates, and official documents with PDF preview functionality. 2026-08-28 07:56:04 +00:00
estifanos
c1005cf927 refactor: replace dimmed text hint with an alert box and remove opacity styling on locked license cards 2026-08-28 07:40:58 +00:00