Skip to content

Commit baa81e0

Browse files
authored
Merge pull request #1618 from KentShikama/kent-add-order-forms-back
Add old stock forms for Douglas and Umatilla counties
2 parents 818b4f3 + 0fb1d2d commit baa81e0

2 files changed

Lines changed: 19 additions & 5 deletions

File tree

src/backend/expungeservice/form_filling.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,22 @@ def build_zip(record_summary: RecordSummary, user_information: Dict[str, str]) -
8383
case_without_deleted_charges = replace(
8484
case, charges=tuple(c for c in case.charges if c.edit_status != EditStatus.DELETE)
8585
)
86+
87+
# Douglas and Umatilla counties explicitly want the "Order" part of the old forms too.
88+
if case.summary.location in ["douglas", "umatilla"]:
89+
pdf_with_warnings = OldFormFilling._build_pdf_for_case(case_without_deleted_charges, user_information)
90+
if pdf_with_warnings:
91+
pdf, internal_file_name, warnings = pdf_with_warnings
92+
file_name = f"{case_without_deleted_charges.summary.name}_{case_without_deleted_charges.summary.case_number}_{internal_file_name}_order"
93+
file_path = path.join(temp_dir, file_name)
94+
writer = PdfWriter()
95+
writer.addpages(pdf.pages)
96+
FormFilling._add_warnings(writer, warnings)
97+
trailer = writer.trailer
98+
trailer.Root.AcroForm = pdf.Root.AcroForm
99+
writer.write(file_path, trailer=trailer)
100+
zipfile.write(file_path, file_name)
101+
86102
pdf_with_warnings = FormFilling._build_pdf_for_case(case_without_deleted_charges, user_information, sid)
87103
if pdf_with_warnings:
88104
pdf, internal_file_name, warnings = pdf_with_warnings
@@ -159,9 +175,7 @@ def _build_pdf_for_case(
159175
eligible_charges, ineligible_charges = Case.partition_by_eligibility(case.charges)
160176
in_part = ", ".join([charge.ambiguous_charge_id.split("-")[-1] for charge in eligible_charges])
161177
case_number_with_comments = (
162-
f"{case.summary.case_number} (charge {in_part} only)"
163-
if ineligible_charges
164-
else case.summary.case_number
178+
f"{case.summary.case_number} (charge {in_part} only)" if ineligible_charges else case.summary.case_number
165179
)
166180
if eligible_charges:
167181
pdf, file_name, warnings = FormFilling._build_pdf_for_eligible_case(

src/backend/expungeservice/old_form_filling.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,12 +231,12 @@ def _set_font_for_field(field, field_value, kid, warnings):
231231
def _build_font_string(field: PdfDict, field_value: str) -> Tuple[str, bool]:
232232
max_length = FormFilling._compute_field_max_length(field)
233233
needs_shrink = len(field_value) > max_length
234-
font_size = 6 if needs_shrink else 8
234+
font_size = 6 if needs_shrink else 10
235235
return f"/TimesNewRoman {font_size} Tf 0 g", needs_shrink
236236

237237
@staticmethod
238238
def _compute_field_max_length(field: PdfDict) -> int:
239-
CHARACTER_WIDTH = 0.25 # Times New Roman size 8
239+
CHARACTER_WIDTH = 0.3125 # Times New Roman size 10
240240
width = float(field.Rect[2]) - float(field.Rect[0])
241241
return int(width * CHARACTER_WIDTH)
242242

0 commit comments

Comments
 (0)