Commit Graph

4674 Commits

Author SHA1 Message Date
Stephanos A.
56da01dc4c Merge pull request #1257 from Tria-plc/alpha
Backoffice build issue resolution
2026-08-12 13:50:44 +03:00
Stephanos A
057d68709b Backoffice build issue resolution 2026-08-12 13:44:52 +03:00
Nathnael Wondisha
f6be3f4e32 Merge pull request #1255 from Tria-plc/freight/nati-2
Freight/nati 2
2026-08-12 13:23:29 +03:00
Stephanos A.
ec2b381870 Merge pull request #1256 from Tria-plc/alpha
Overall report and segment tariff override updates
2026-08-12 13:23:00 +03:00
ghost2023
2a816912fc fix(freight-permissions): split company stamp from per-officer teeter permission 2026-08-12 13:18:29 +03:00
Stephanos A
9d19801535 Overall report and segment tariff override updates 2026-08-12 13:11:24 +03:00
ghost2023
02a264930b fix: consolidate stamp settings into single company stamp page 2026-08-12 13:04:18 +03:00
Nathnael
068ee49a9f style: invoice 2026-08-12 09:33:21 +00:00
Nathnael
bd9f7f354a feat(freight-api): enrich canonical request log line
Emit the request line as raw JSON on stdout (level/time/logger as fields)
instead of through Nest's console logger, whose prefix made it unparsable.

Collect data points via logCtx at the flow chokepoints: BaseRepository
writes (status changes, creates, deletes), invoice transitions, payment
intent lifecycle + outbound payment-service calls, booking/contract entry
state, review-note reasons, signatures and OTP verify outcomes.
2026-08-12 09:31:31 +00:00
Marshal
4efd65c105 feat: key bulk templates by trade direction
Bulk contract templates are now unique per (cargo type, trade direction,
customs option) instead of (cargo type, customs option). Intercity is
domestic and crosses no border, so it carries no customs variant:
with_customs stays null there, enforced by a check constraint.

Contract resolution already passed the trade direction through but the
bulk lookup dropped it, so one template served all three directions.

Container templates are unchanged — cargo_type_id is null on those rows,
which keeps them out of both the new index and the constraint.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 09:20:28 +00:00
marshal
b485e56a3e Merge pull request #1254 from Tria-plc/freight_feature/usermanagement
fix issue
2026-08-12 12:08:41 +03:00
Marshal
357aae7d82 fix issue 2026-08-12 09:08:08 +00:00
marshal
6e1bd6e8aa Merge pull request #1253 from Tria-plc/freight_feature/usermanagement
changes
2026-08-12 11:58:06 +03:00
Marshal
08bd110e5b changes 2026-08-12 08:56:47 +00:00
marshal
34fe55c8d7 Merge pull request #1252 from Tria-plc/freight_feature/usermanagement
fix issue
2026-08-12 11:44:22 +03:00
Marshal
61f261b8f0 fix issues 2026-08-12 08:42:42 +00:00
Nathnael Wondisha
8438a1ad5d Merge pull request #1251 from Tria-plc/freight/nati-2
Freight/nati 2
2026-08-12 11:42:35 +03:00
Nathnael
879f0b890d fix: file size limit 2026-08-12 08:42:16 +00:00
Marshal
325cbbc882 fix issue 2026-08-12 08:40:02 +00:00
Nathnael
abeb296157 fix: file upload seeder 2026-08-12 08:39:54 +00:00
robiman
73cd870a84 Merge pull request #1250 from Tria-plc/feature/report
Feature/report
2026-08-12 11:30:48 +03:00
Roba Boru
5249441422 Merge branch 'dev' of https://github.com/Tria-plc/edr-platform into feature/report 2026-08-12 11:27:05 +03:00
Nathnael
2a3a231665 fix: auto select ethiopian when chosing the coop option 2026-08-12 08:25:39 +00:00
Roba Boru
bdcdb4f047 Added financial report 2026-08-12 11:24:12 +03:00
Nathnael Wondisha
4652a95688 Merge pull request #1244 from Tria-plc/freight/nati-2
fix: an issue
2026-08-12 11:03:47 +03:00
Nathnael
85bdaa4afb Merge branch 'dev' into freight/nati-2 2026-08-12 08:03:10 +00:00
marshal
e2c4894154 Merge pull request #1249 from Tria-plc/freight_feature/usermanagement
fix issue
2026-08-12 10:57:50 +03:00
Marshal
86979afccd fix issue 2026-08-12 07:57:20 +00:00
Nathnael
03e498d6e8 fixes 2026-08-12 07:53:05 +00:00
marshal
f935d7edce Merge pull request #1248 from Tria-plc/freight_feature/usermanagement
fix issue
2026-08-12 10:50:57 +03:00
Marshal
bc7790392c fix issue 2026-08-12 07:49:31 +00:00
marshal
e5cbf74a10 Merge pull request #1247 from Tria-plc/freight_feature/usermanagement
fix issue
2026-08-12 10:34:04 +03:00
Marshal
4098d25ca1 fix issue 2026-08-12 07:33:13 +00:00
Nathnael Wondisha
21881a348d Merge pull request #1246 from Tria-plc/deps-fix
chore: deps
2026-08-12 10:29:53 +03:00
ghost2023
4bf1aa8053 chore: deps 2026-08-12 10:28:56 +03:00
marshal
7ef289efa3 Merge pull request #1245 from Tria-plc/freight_feature/usermanagement
chore: update package overrides in pnpm-workspace.yaml for dependencies
2026-08-12 10:19:19 +03:00
Marshal
4b8fea2d76 chore: update package overrides in pnpm-workspace.yaml for dependencies 2026-08-12 07:17:13 +00:00
Nathnael
d4767e0d06 fix: an issue 2026-08-12 07:12:04 +00:00
marshal
1060a6456a Merge pull request #1243 from Tria-plc/freight_feature/usermanagement
Freight feature/usermanagement
2026-08-12 09:47:05 +03:00
Marshal
6434bb266c Merge branch 'dev' 2026-08-12 06:44:30 +00:00
marshalyordanos
5da36eb128 feat: add wagon usage computation and maintenance logging features
- Implemented  utility to calculate wagon usage metrics for train schedules.
- Created  for sending wagons to maintenance with optional notes.
- Added unit tests for train builder maintenance functionalities, including formatting train run labels and building maintenance notes.
- Developed  component for merging train schedules with detailed previews and reasons for merging.
- Introduced  component for selecting wagons with search functionality and selection limits.
- Created  for displaying and filtering audit logs, including detailed views of individual log entries.
- Added  for handling API interactions related to audit logs, including fetching logs and entity types.
2026-08-12 09:36:50 +03:00
Nathnael Wondisha
08eebd21a2 Merge pull request #1242 from Tria-plc/freight/nati-2
feat(freight-api): seal EDR side of contracts with the one global stamp
2026-08-12 06:31:12 +03:00
ghost2023
a603807e8e feat(freight-api): seal EDR side of contracts with the one global stamp 2026-08-12 06:26:46 +03:00
marshalyordanos
35e5404b41 Refactor code structure for improved readability and maintainability 2026-08-11 19:36:00 +03:00
Nathnael Wondisha
13dca1a287 Merge pull request #1241 from Tria-plc/freight/nati-2
Freight/nati 2
2026-08-11 17:47:26 +03:00
ghost2023
e52d666647 feat(freight-api): persist eTrade manager phone in identity 2026-08-11 17:41:06 +03:00
Nathnael
637a766118 WIP(represtation step) 2026-08-11 13:13:11 +00:00
Nathnael
d6e349f329 feat(companies): onboard co-operative unions and farms
They hold a TIN but no business licence, so there is no eTrade record to look
their registration up in. A checkbox on the first wizard step marks them, and
everything that assumed a trade licence bends around it:

- The company step replaces the eTrade lookup with typed registration details
  — name, region, zone, woreda, kebele, house number — required exactly because
  they are now on screen. applyEtradeSourcedFields skips the lookup rather than
  failing it, so what the customer sends is what is stored.
- No freight-forwarder role. Forwarding is licensed work, so the option is not
  offered, and the API refuses it at start-onboarding and at every later
  role-add rather than letting approval fail on a document they cannot produce.
- No per-role business-licence upload, client-side or in the completion gate.
- Their own document set (company_onboarding_documents_cooperative) merges on
  top of the nationality one, admin-managed like every other set. Nationality
  wins a fileKey collision so no slot renders twice, and the DARS paper is not
  injected into it — the set it merges onto already carries one.
- The owner is typed in full; with no eTrade manager on file the licence
  comparison reports "nothing to compare against", which backoffice now
  explains rather than leaving as a bare dash.

Stored as an attributes flag, not a column: everything it changes is
behavioural, and nothing queries or joins on it.
2026-08-11 12:54:51 +00:00
Nathnael
72164b0b8e fix(freight-portal): stop owner details vanishing between wizard steps
SourcedField rendered read-only whenever a value existed, so the input a
customer had just typed into turned into a badge as soon as the step saved and
they navigated back — and dropped out of requiredKeys at the same time. It now
locks on ownership instead: a Fayda verification owns what its claims filled,
everything else stays an editable, prefilled input.

The representation step follows the same rule and asks in the right order:

- The power-of-attorney question collapses to its answer once given, with a
  button back to it (none for a freight forwarder, whose answer is forced).
- A foreign company picks how to prove the person outright — Fayda or a
  passport — rather than being shown both at once.
- The representative's own fields appear only once the person is established,
  and only for what the verification did not supply; what it did supply is
  already on the panel above and is no longer repeated beneath it.
- Dropped the freight-forwarder lecture and the DARS blurb; the badge and the
  upload field's own help text already say both.

VAT numbers accept any non-blank value. A foreign tax authority's carries
letters and dashes and a co-operative's follows neither pattern, so the 10-11
digit rule only ever rejected numbers we had no business judging.
2026-08-11 12:54:38 +00:00
Hagernesh Tadesse
3de7ea9775 Merge pull request #1240 from Tria-plc/eims-integration
fix(train-scheduling): exempt direct-to-train export bookings from GR…
2026-08-11 15:20:56 +03:00