Updated documentation to reflect the migration from WebUI to EnvelopeGenerator.Server, including a new "Documentation Catalog" in `AGENTS.md`. Adjusted route mappings, render modes, and directory structure for Blazor components. Revised coordinate system documentation and CSS for status colors to align with the new architecture. Updated YARP proxy and PDF.js configuration paths. Migrated `MIGRATION_PLAN.md` to modernize `EnvelopeGenerator.Service` with C# Worker Service equivalents. Updated `FORM_APPLICATION_CONTEXT.md` and `RECEIVER_PDF_VIEWER_CONTEXT.md` to reflect the new architecture and planned viewer integration. Fixed German translation issues in `fix-report-label-read-and-confirmed.md`. Standardized formatting and terminology across all files.
4.0 KiB
Fix: Report Label "Read and confirmed" for Read and Sign Envelopes
Status
✅ COMPLETED
Git Branch
fix/report-label-read-and-confirmed
Problem
In the Signature Certificate report (Signierungszertifikat), the history event
list always showed "Document signed" for status DocumentSigned (code 2005) —
even when the envelope type was "Read and Sign" (EnvelopeTypeId = 2).
For "Read and Sign" envelopes the correct label must be "Read and confirmed" (DE: "Gelesen und bestätigt").
Screenshot reference
The report shows a table with columns Ereignis | Benutzer | Zeitstempel.
The row with status 2005 displayed "Document signed" where "Read and confirmed"
was expected.
Root Cause
ReportItem.ItemStatusTranslated in
EnvelopeGenerator.CommonServices\Jobs\FinalizeDocument\ReportItem.vb
resolved the display label by calling:
My.Resources.Model.ResourceManager.GetString(ItemStatus.ToString())
There was no branching logic to handle the Read and Sign envelope type.
The same DocumentSigned key was always used regardless of envelope type.
Solution
Convention followed
The project already uses a RaC (Read and Confirm) suffix for
Read-and-Sign label variants across all resource files:
| Existing RaC keys |
|---|
DocumentRejectedRaC |
EnvelopeReportCreatedRaC |
MessageConfirmationSentRaC |
New resource key added: DocumentSignedRaC
| Resource file | Value |
|---|---|
Model.resx (DE, default) |
Gelesen und bestätigt |
Model.en.resx (EN) |
Read and confirmed |
Logic change in ReportItem.vb
Public ReadOnly Property ItemStatusTranslated As String
Get
Dim oStatusKey = ItemStatus.ToString()
If ItemStatus = EnvelopeStatus.DocumentSigned AndAlso
Envelope IsNot Nothing AndAlso
Envelope.IsReadAndConfirm() Then
oStatusKey = "DocumentSignedRaC"
End If
Return My.Resources.Model.ResourceManager.GetString(oStatusKey)
End Get
End Property
Envelope.IsReadAndConfirm() is defined in
EnvelopeGenerator.Domain\Interfaces\IEnvelope.cs and returns true
when EnvelopeTypeId == 2.
Files Changed
| # | File | Change | Status |
|---|---|---|---|
| 1 | EnvelopeGenerator.CommonServices\Jobs\FinalizeDocument\ReportItem.vb |
Added RaC branching logic to ItemStatusTranslated |
? Done |
| 2 | EnvelopeGenerator.Domain\Resources\Model.resx |
Added DocumentSignedRaC = Gelesen und bestätigt |
✅ Done |
| 3 | EnvelopeGenerator.CommonServices\Strings\Model.resx |
Added DocumentSignedRaC = Gelesen und bestätigt |
✅ Done |
| 4 | EnvelopeGenerator.CommonServices\Strings\Model.en.resx |
Added DocumentSignedRaC = Read and confirmed |
✅ Done |
| 5 | EnvelopeGenerator.Domain\Resources\Model.Designer.cs |
Added DocumentSignedRaC strongly-typed property |
✅ Done |
How to resume (for next agent)
All pending items are resource file additions only.
Each file needs one new <data> block inserted directly after the existing
DocumentSigned entry:
<data name="DocumentSignedRaC" xml:space="preserve">
<value>Gelesen und bestätigt</value> <!-- DE files -->
<!-- OR -->
<value>Read and confirmed</value> <!-- EN file -->
</data>
Model.Designer.cs also needs a new strongly-typed property added after
DocumentSigned:
/// <summary>
/// Looks up a localized string similar to Gelesen und bestätigt.
/// </summary>
public static string DocumentSignedRaC {
get {
return ResourceManager.GetString("DocumentSignedRaC", resourceCulture);
}
}
Testing
After changes, generate a Signature Certificate report for a Read and Sign envelope and verify:
- History row with status 2005 shows "Read and confirmed" (EN)
- History row with status 2005 shows "Gelesen und bestätigt" (DE)
- Regular (non-RaC) envelopes still show "Document signed" / "Dokument unterzeichnet"