Commit Graph

85 Commits

Author SHA1 Message Date
Nati
5b3672061a feat(license-review): implement actions resolution for seafarer certificates and add tests 2026-08-31 13:08:10 +00: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
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
51627f9918 feat: add inspection rescheduling workflow and unlock dependencies for flagged document sections 2026-08-28 06:46:06 +00:00
mihretue
53edd90330 Merge remote-tracking branch 'origin/dev' into feature/exam-attempt-domain 2026-08-27 13:19:51 +00:00
mihretue
12ffa72cb2 fix(exam): gate Take Exam on confirmed attendance
The registrations table mirrored the server's old attendance deny-list —
ABSENT/WITHDRAWN/DISQUALIFIED — so the default REGISTERED fell through and
"Take exam" appeared before any invigilator had confirmed the candidate was
there. It is an allow-list now, PRESENT and LATE only, matching
ExamAttemptService.MAY_SIT.

A blocked candidate gets a reason rather than an empty cell: "Awaiting
attendance" with a tooltip while nobody has called the register, "Not sitting"
once attendance was taken and they are not. useExamAttempt does the same for
the direct-link path, and translates attendance_not_confirmed /
candidate_not_present instead of showing a raw error key on a Start button
that cannot work. The server refuses either way — this only makes the refusal
legible.

ScheduleExamModal no longer promises an admission number: scheduling makes a
sitting available, and the candidate registers for it themselves.
2026-08-27 13:10:46 +00:00
Estifo77
82ddffd861 Merge branch 'WorkflowChange' of https://github.com/Tria-plc/emaui into estif-branch-1 2026-08-27 13:08:05 +03: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
def6218dbf fix: show inspection-failed alert at page level, not inside the inspection tab
A license type configured without an inspection detail section (e.g. vessel
ownership transfer) would hide the "approval blocked" explanation entirely if
it ever reached INSPECTION_FAILED. The alert now renders beside the other
page-level status notices, so the reason is visible regardless of which detail
sections the type declares.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-27 07:50:43 +00: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
580ceaa139 Remove 'assign-reviewer' action and related functionality from license review process 2026-08-26 14:08:09 +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
estifanos
f20ed670de fixes on backoffice for endorcement 2026-08-26 12:12:30 +00:00
estifanos
13c3e8974d feat: consolidate CoC and GOC endorsement workflows into a new ENDORSEMENT_SEAFARER type and add anyOf support to conditional form field logic. 2026-08-26 09:44:08 +00:00
Estifo77
a86f4750bc Merge branch 'WorkflowChange' of https://github.com/Tria-plc/emaui into estif-branch-1 2026-08-26 08:43:31 +03:00
Nati
294a8ded6c Refactor exam form handling to support mixed paper types and update related interfaces 2026-08-24 12:37:06 +00:00
Fistum
0ac969cca2 logestics chnage 2026-08-22 07:54:35 +00:00
estifanos
841579468a feat: add claim application functionality to the license review page 2026-08-22 06:11:44 +00:00
Nati
e82714ba1f Enhance exam selection by displaying certification rank in options and remove admission number input from scheduling modal 2026-08-22 06:11:02 +00:00
Estifo77
b652136bac Merge branch 'WorkflowChange' of https://github.com/Tria-plc/emaui into estif-branch-1 2026-08-22 09:00:45 +03:00
estifanos
b458bae35c refactor: introduce hasUnclaimedPool helper to allow claim workflows for specific document-family queues 2026-08-22 05:53:40 +00:00
Nati
c3977897b7 Add rankKey support to certification forms and exams
- Introduced rankKey field in Certification interface and payloads.
- Updated CertificationForm to handle rankKey input.
- Enhanced ScheduleExamModal to filter exams based on rank.
- Added getEligibleExams API query to fetch exams relevant to the application's rank.
- Updated related components and types to accommodate new rankKey functionality.
2026-08-21 19:10:01 +00:00
Nati
9f4954b5e8 UI 2026-08-21 18:17:52 +00:00
Fistum
62492e957b backoffice 2026-08-21 13:09:40 +00:00
Nati
6901e985fc feat: update exam stage actions and payment flow
- Refactor ExamStageActions component to handle eligibility payment and retake exam actions.
- Update MyApplicationsPage to use new retakeExam mutation instead of requestExamPayment.
- Modify licensing API to include retakeExam mutation for handling exam fee requests for failed candidates.
- Adjust mock data to reflect new application statuses and ensure consistency in eligibility and exam payment states.
- Update licensing helpers to include new status labels and colors for eligibility payment states.
- Revise licensing types to replace ELIGIBILITY_APPROVED with ELIGIBILITY_PAYMENT_PENDING and ELIGIBILITY_PAID for clarity in application status flow.
2026-08-20 12:41:46 +00:00
nati14575
524131fe42 Merge branch 'WorkflowChange' of https://github.com/Tria-plc/emaui into estif-branch-1 2026-08-19 16:49:12 +03:00
Nati
688b111b6a feat: define FAMILY_KIND_BY_KEY for SEAFARER_REGISTRATION in licensing helpers 2026-08-19 13:26:03 +00:00
Nati
acbb789960 feat: enhance license queue functionality for logistics and non-logistics applications 2026-08-19 13:20:21 +00:00
Nati
e1d52adb0c change 2026-08-19 11:14:30 +00:00
estifanos
4121e2a8b1 UI fixes 2026-08-19 10:09:15 +00:00
nati14575
548846a1bd feat: update routing and navigation for Basic Training Certificate and Seaman Book applications 2026-08-19 12:58:24 +03:00
estifanos
439a4963ec fixes 2026-08-19 09:04:28 +00:00
estifanos
4d87d41e55 feat: add PdfPreviewModal component and integrate into DocumentsTab for centralized PDF viewing 2026-08-19 08:48:50 +00:00
Nati
f97eb68e25 Major 2026-08-19 08:35:28 +00:00
Estifo77
c377ddf74a Merge branch 'WorkflowChange' of https://github.com/Tria-plc/emaui into estif-branch-1 2026-08-19 10:23:33 +03:00
nati14575
130082dcc4 Refactor LicenseApplicationPage and RequireSeafarerProfile components
- Updated imports for better readability in LicenseApplicationPage.
- Introduced legacy profile sources for backward compatibility in LicenseApplicationPage.
- Enhanced user profile handling by utilizing accountUser in LicenseApplicationPage.
- Improved application state management in LicenseApplicationPage to include accountUser.
- Refactored RequireSeafarerProfile to check for existing applications and handle navigation accordingly.
- Cleaned up navigation items in PortalLayout for better readability and maintainability.
2026-08-19 09:42:23 +03:00
Nati
d44977cbf3 Remove obsolete test artifacts and error context files for seafarer registration tests 2026-08-19 05:14:43 +00:00
estifanos
de0dcbfbe8 feat: add workflow profiles to restrict status filtering and sync queue counts by license type 2026-08-18 10:07:22 +00:00
estifanos
1dc82d943a feat: update document review progress tooltip with detailed counts and formatting 2026-08-18 07:46:51 +00:00
estifanos
3d508acc41 feat: implement 18+ age validation, enforce document review completion for approvals, and refactor DecisionBar UI 2026-08-18 07:43:48 +00:00
fitse-yotor
f294f67ced fix(portal,backoffice): six reported issues in registration and the designer
Seafarer and vessel registration were filtered out of the operations
step by `requiresOperatorMode !== false`, so someone registering as a
seafarer or vessel owner landed on an onboarding screen that did not
describe them. Both now appear, grouped apart from the company modes:
declaring "I am a seafarer" is a different kind of statement from "my
company forwards freight".

The designer's preview was gated on the Handlebars source alone, which a
canvas layout does not have until the server compiles it on save -- so
the button was dead for exactly the designs the canvas exists for.

Editing looked broken rather than deliberately read-only: every seeded
template is PUBLISHED, and a published design is immutable because
certificates were issued from it. Says so, and offers the new-version
action that is the way forward.

Reviewing officers saw company, capital and staff tabs on seafarer
certificate applications, because PRESENTATION is keyed by the generic
licence keys and the fifty-odd rank-specific CoC/CoP keys fell through
to the company default. Matched by prefix instead, so a certificate
configured tomorrow gets the right presentation without a code change.

Seaman book and BTC are wired to the newly seeded licence types and no
longer marked "soon".

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 22:21:00 +03:00
fitse-yotor
0ac75669d4 feat: add ExamStageActions component for exam fee handling
- Implemented ExamStageActions component to manage actions related to exam booking and payment based on application status.
- Added mock-base-query for development, providing a partial mock backend for various API endpoints.
- Introduced mock-data for simulating responses in the mock-base-query, covering profiles, vessels, applications, licenses, exams, and notifications.
2026-08-15 11:51:14 +03:00
Nati
6852fc86c6 feat: implement permission-based access control across various pages and components
- Added RequirePermission component to manage access based on user permissions.
- Integrated permission checks in MySeaRecordsPage, SeafarerRegistrationPage, VesselRegistrationPage, WaiverPage, and PortalLayout.
- Updated router to enforce permissions for specific routes.
- Introduced PORTAL_PERMISSIONS and LICENSE_PERMISSIONS constants for consistent permission management.
- Enhanced usePermissions hook to fetch permissions from the server and determine access rights.
- Refactored UI components to conditionally render based on user permissions, improving security and user experience.
2026-08-13 12:58:11 +00:00
Nati
220ed2d018 Merge branch 'dev' of github.com:Tria-plc/emaui into Refactor
Resolved by unifying on the lib/data AdvancedTable (PR #10) as the canonical
table component: kept its API plus teammate i18n/feature work, kept the
folder-per-table structure (index.tsx + columns.tsx + actions.tsx) across all
27 tables, removed the parallel lib/table implementation, and fixed
pre-existing compile breaks in ExamDetailPage/QuestionAssigner/RecordResultModal.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-13 11:31:27 +00:00
Nati
2af9e60800 feat(vessel-registration): add vessel registration page with incident reporting and certificate download functionality
feat(waiver): implement waiver page with application tracking and letter download feature

feat(ui): introduce AdvancedTable component for enhanced table functionality across the application

chore: update package-lock.json to remove unnecessary dependencies
2026-08-13 09:11:50 +00:00