Files
edr-platform/apps/edr-freight-api/src/contracts/templates/edr-dynamic.hbs
Marshal fde5e6de4b add company stamp upload functionality for contract signing
- Introduced StampUpload component for uploading company stamp images.
- Integrated stamp upload in contract signing modal, supporting PNG and JPG formats.
- Implemented validation for file type and size (max 5 MB).
- Added visual feedback for drag-and-drop functionality.
- Updated contract-related pages to handle duplicate contract alerts and pricing notices.
- Enhanced contract expiry management with a nightly sweep service.
- Added unit tests for new features and updated existing tests for contract handling.
2026-07-25 17:14:58 +00:00

154 lines
5.8 KiB
Handlebars

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>{{dynamicDocumentTitle}}{{reference}}</title>
{{> styles}}
</head>
<body>
<main class="contract">
{{!-- ─────────────────────────── Cover page ─────────────────────────── --}}
<section class="cover page-section">
<div class="brand-row">
<div class="logo-mark">EDR</div>
<div>
<p class="kicker">Ethio-Djibouti Standard Gauge Railway Share Company</p>
<p class="muted">Freight Transport Services</p>
</div>
</div>
<div class="cover-title">
<p class="document-label">Contract Agreement</p>
<div class="cover-rule"></div>
<p class="cover-for">for</p>
<h1>{{dynamicDocumentTitle}}</h1>
<p class="cover-between">between</p>
<p class="cover-party">Ethio-Djibouti Standard Gauge Railway Share Company</p>
<p class="cover-between">and</p>
<p class="cover-party">{{client.companyName}}</p>
<div class="cover-rule"></div>
</div>
<table class="meta-grid">
<tr>
<th>Contract Ref No.</th>
<td>{{reference}}</td>
<th>Contract Date</th>
<td>{{contractDate}}</td>
</tr>
<tr>
<th>Trade Direction</th>
<td>{{schedule.tradeDirection}}</td>
<th>Freight Type</th>
<td>{{schedule.freightType}}</td>
</tr>
</table>
<p class="cover-year">{{contractYear}}</p>
</section>
{{!-- ──────────────────────────── Preamble ──────────────────────────── --}}
<section class="page-section">
<h2>Parties to the Agreement</h2>
<p class="lead">
This Contract Agreement is made on <strong>{{contractDate}}</strong>.
</p>
<p class="between-label">Between</p>
<p>
<strong>Ethio-Djibouti Standard Gauge Railway Share Company (EDR)</strong>, a share company
incorporated under the laws of the Federal Democratic Republic of Ethiopia (FDRE), having its
principal place of business at {{provider.address}} (hereinafter referred to as the
<strong>"Service Provider"</strong>);
</p>
<p class="between-label">And</p>
<p>
<strong>{{client.companyName}}</strong>, an organization incorporated under the laws of the
Federal Democratic Republic of Ethiopia (FDRE), having its principal place of business at
{{client.companyAddress}} (hereinafter referred to as the <strong>"Client"</strong>).
</p>
<div class="party-grid">
<div class="party-card">
<h3>Service Provider</h3>
<p class="party-name">{{provider.name}}</p>
<dl>
<dt>Address</dt><dd>{{provider.address}}</dd>
<dt>Phone</dt><dd>{{provider.phone}}</dd>
<dt>Email</dt><dd>{{provider.email}}</dd>
<dt>TIN</dt><dd>{{provider.tinNumber}}</dd>
</dl>
</div>
<div class="party-card">
<h3>Client</h3>
<p class="party-name">{{client.companyName}}</p>
<dl>
<dt>Address</dt><dd>{{client.companyAddress}}</dd>
<dt>Location</dt><dd>{{client.companyLocation}}</dd>
<dt>Phone</dt><dd>{{client.phone}}</dd>
<dt>Email</dt><dd>{{client.email}}</dd>
<dt>TIN</dt><dd>{{client.tinNumber}}</dd>
<dt>VAT</dt><dd>{{client.vatNumber}}</dd>
<dt>Business license</dt><dd>{{client.businessLicense}}</dd>
</dl>
</div>
</div>
</section>
{{#if dynamicWhereas.length}}
<section class="page-section">
<h2>Recitals</h2>
{{#each dynamicWhereas}}
<p><span class="whereas-label">Whereas</span> {{this}}</p>
{{/each}}
<p class="now-therefore">Now, therefore, the parties agree as follows:</p>
</section>
{{/if}}
{{!-- ──────────────────────── Dynamic articles ──────────────────────── --}}
{{> dynamic_articles}}
{{!-- ─────────────────── Commercial schedule (annex) ─────────────────── --}}
<section class="page-section annex">
<h2>Annex A — Commercial Schedule</h2>
<table class="details-table">
<tbody>
<tr>
<th>Route</th>
<td>{{schedule.originLabel}}{{schedule.destinationLabel}}</td>
<th>Service type</th>
<td>{{schedule.serviceType}}</td>
</tr>
<tr>
<th>Cargo</th>
<td>{{schedule.cargoDescription}}</td>
<th>Hazardous cargo</th>
<td>{{schedule.hazardousLabel}}</td>
</tr>
<tr>
<th>Equipment return</th>
<td>{{schedule.equipmentReturn}}</td>
<th>Payment currency</th>
<td>{{paymentArticle}}</td>
</tr>
</tbody>
</table>
<h3>Published Rate Schedule</h3>
{{> rate_schedule}}
</section>
{{!-- ────────────────────────── Signatures ───────────────────────────── --}}
<section class="page-section">
<h2>Execution</h2>
<p>
In witness whereof, the parties hereto have caused this contract to be signed in their respective
names as of the day and year first above written. The signatories confirm that they are fully
authorized to sign and execute this Contract Agreement.
</p>
{{> signatures_block}}
</section>
</main>
</body>
</html>