Commit Graph

126 Commits

Author SHA1 Message Date
Nati Nigussie
3b5bdfb6d1 Merge pull request #53 from Tria-plc/WorkflowChange 2026-09-01 00:12:50 -07:00
Nati
d3ab19ff0e Merge branch 'WorkflowChange' of github.com:Tria-plc/emaui into WorkflowChange 2026-08-31 13:08:21 +00:00
Nati
5b3672061a feat(license-review): implement actions resolution for seafarer certificates and add tests 2026-08-31 13:08:10 +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
estifanos
eb338f66b9 feat: add StaffRolesCard component for managing license type staff requirements and integrate with existing API endpoints. 2026-08-31 10:26:36 +00:00
estifanos
e5117b1837 feat: add minSource property to Field interface for dynamic configuration binding 2026-08-31 09:37:53 +00: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
mihretue
ee64856983 fix(exam): show the back office the real examination state
The COC detail page read the application status alone, so a candidate who had
registered, been marked present, sat the paper and had a PASSED mark published
still appeared to be awaiting an exam — and the officer was offered "Schedule
exam" and "Record exam result" for work already done.

ExamStatePanel reads GET /exams/applications/:id/state, which the server
derives from the registration, the attempt and the published mark. Session,
date and admission number while the exam is ahead; score, outcome and whether
the exam engine or an examiner produced the mark once it is settled. Polled,
because attendance is recorded and papers are marked while the officer has the
page open. Same derivation the applicant's portal reads, so the two cannot
disagree.

The eligible-exams query, the scheduling mutation and the outcome mutation are
gone from the RTK layer along with the endpoints behind them.
2026-08-31 08:04:56 +00:00
Nati Nigussie
f1d6640629 Merge pull request #47 from Tria-plc/estif-branch-1
Estif branch 1
2026-08-31 10:30:03 +03:00
Estifanos Terefe
613d772389 Merge pull request #46 from Tria-plc/featDymanicSeeder
Feat dymanic seeder
2026-08-31 10:28:44 +03: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
estifanos
4eb9fe1ec2 feat: add inspection, issuance, and renewal toggles to certificate requirement settings 2026-08-31 07:01:09 +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
e1f33be0e2 feat(biometric-enrollment): update profile picker to reflect seafarers awaiting enrolment and adjust UI messages
feat(seafarer-registration): add AWAITING_BIOMETRICS and UNDER_REVIEW statuses to registration constants and types
2026-08-29 08:48:49 +00:00
estifanos
e25a786139 feat: add support for license validity defined in days alongside months 2026-08-29 08:41:08 +00:00
estifanos
53c0ec98af refactor: move license validity management to behavior tab and add capital threshold requirement 2026-08-29 08:22:09 +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
estifanos
2e9083211f feat: add configuration UI for license behavior and multi-stage examination fees 2026-08-29 06:37:58 +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
estifanos
bf083bff82 feat: refactor personal document management to use server-side pagination, grouping, and filtering 2026-08-28 11:17:25 +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
estifanos
19ef4215e0 feat: add scope filtering for personal documents in configuration and API 2026-08-28 09:56: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
Nati
4b733d4dfb feat(biometric-enrollment): add BSID generation functionality and update translations 2026-08-28 09:40:13 +00:00
estifanos
f255621672 feat: add support for global personal document requirements in applicant vaults 2026-08-28 08:54:10 +00:00
Nati
5006e4685b feat: add biometric enrollment and viewing capabilities with API integration 2026-08-28 08:15:39 +00:00
Nati
ea0a458ed0 Merge branch 'WorkflowChange' of github.com:Tria-plc/emaui into WorkflowChange 2026-08-28 06:49:06 +00:00
estifanos
51627f9918 feat: add inspection rescheduling workflow and unlock dependencies for flagged document sections 2026-08-28 06:46:06 +00:00
Nati
822abe4de4 feat(biometric-enrollment): add biometric enrollment feature with API integration and UI components 2026-08-28 06:45:47 +00:00
mihretue
7792128573 Merge branch 'dev' of github.com:Tria-plc/emaui into feature/fayda-auth-and-email-notifications 2026-08-27 17:07:31 +03:00
estifanos
88a1caa52b feat: add sorting support to seafarer registration query and default queue to newest first 2026-08-27 12:30:48 +00:00
nati14575
14508635c5 refactor(actions): update action eligibility conditions and remove unused actions
refactor(i18n): remove 'assignReviewer' translation key from Amharic and English locales
refactor(nav-config): clean up navigation configuration by removing redundant items
refactor(licensing-api): remove assignReviewer mutation from licensing API
feat(package): add build script for parallel building of portal and backoffice
2026-08-27 12:07:08 +03:00
Nati Nigussie
b163aa4d3c Merge branch 'WorkflowChange' into logestic_chnage 2026-08-27 11:23:14 +03:00
fitse-yotor
12e7927d01 feat(certificate-designer): add custom page size options and update related components 2026-08-27 10:53:11 +03:00
estifanos
f01c0ec31e feat: add INSPECTION_FAILED state, enforce inspection scheduling locks, and improve adjustment round UI for section locking and remark labeling 2026-08-27 07:36:07 +00:00
Nati
2a16ca8584 Merge branch 'WorkflowChange' of github.com:Tria-plc/emaui into WorkflowChange 2026-08-26 13:34:24 +00:00
Nati
b5f1ffa6b8 Add 'assign-reviewer' action and related functionality for license review process 2026-08-26 13:34:06 +00:00
Estifo77
08e9b73b8f Merge branch 'WorkflowChange' of https://github.com/Tria-plc/emaui into estif-branch-1 2026-08-26 13:27:12 +03:00
estifanos
b099870370 fix: prevent out-of-bounds wizard steps and remove duplicate FieldCondition property definition 2026-08-26 09:52:31 +00:00