Skip to content

Commit

Permalink
refactor: update letter filename
Browse files Browse the repository at this point in the history
  • Loading branch information
pjsier committed Feb 16, 2025
1 parent b82c673 commit 20c1544
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 18 deletions.
16 changes: 8 additions & 8 deletions api/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,14 +72,14 @@ def handle_user_form(body: RequestBody):
@app.route("/api/submit-appeal", methods=["POST"])
@validate()
def handle_submit_appeal(body: RequestBody):
log_step(app.logger, {**body.model_dump(), "step": "submit"})
submission = log_step(app.logger, {**body.model_dump(), "step": "submit"})

if body.region == "cook":
mailer = CookDocumentMailer(body)
mailer = CookDocumentMailer(body, submission)
elif body.region == "detroit":
mailer = DetroitDocumentMailer(body)
mailer = DetroitDocumentMailer(body, submission)
elif body.region == "milwaukee":
mailer = MilwaukeeDocumentMailer(body)
mailer = MilwaukeeDocumentMailer(body, submission)
else:
raise ValueError("Invalid region supplied")

Expand All @@ -91,14 +91,14 @@ def handle_submit_appeal(body: RequestBody):
@app.route("/api/agreement", methods=["POST"])
@validate()
def handle_agreement(body: RequestBody):
log_step(app.logger, {**request.json, "step": "agreement"})
submission = log_step(app.logger, {**request.json, "step": "agreement"})

if body.region == "cook":
mailer = CookDocumentMailer(body)
mailer = CookDocumentMailer(body, submission)
elif body.region == "detroit":
mailer = DetroitDocumentMailer(body)
mailer = DetroitDocumentMailer(body, submission)
elif body.region == "milwaukee":
mailer = MilwaukeeDocumentMailer(body)
mailer = MilwaukeeDocumentMailer(body, submission)
else:
raise ValueError("Invalid region supplied")

Expand Down
10 changes: 7 additions & 3 deletions api/email.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

from .constants import CURRENT_YEAR, METERS_IN_MILE, WORD_MIMETYPE
from .dto import FileBody, ParcelResponseBody, RequestBody
from .models import ParcelType
from .models import ParcelType, Submission
from .queries import (
find_parcel,
find_parcel_with_distance,
Expand Down Expand Up @@ -82,8 +82,9 @@ def process_images(
class BaseDocumentMailer:
document_template: Optional[str] = None

def __init__(self, body: RequestBody):
def __init__(self, body: RequestBody, submission: Optional[Submission] = None):
self.body = body
self.submission = submission
if self.document_template:
self.document = DocxTemplate(self.document_template)
self.region = body.region
Expand Down Expand Up @@ -209,8 +210,11 @@ def send_mail(self, mail: Mail):
message = self.submission_email()
internal_message = self.internal_submission_email()
if os.getenv("ATTACH_LETTERS"):
letter_date = datetime.today()
if self.submission:
letter_date = self.submission.created_at
letter = (
f"Protest Letter Updated {datetime.today().strftime('%m_%d_%y')}.docx",
f"{letter_date.strftime('%Y-%m-%d')} {self.body.agreement_name} {self.body.pin} Letter.docx", # noqa
WORD_MIMETYPE,
self.render_document(),
)
Expand Down
4 changes: 2 additions & 2 deletions api/queries.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,9 @@ def find_address_candidates(region: str, address: str) -> List[ParcelType]:
)


def log_step(logger, data):
def log_step(logger, data) -> Submission:
logger.info(f"LOG_STEP: {json.dumps(data, default=iso8601_serializer)}")
create_or_update_submission(data.get("uuid"), data)
return create_or_update_submission(data.get("uuid"), data)


def create_or_update_submission(uuid: str, data: Mapping) -> Submission:
Expand Down
10 changes: 5 additions & 5 deletions api/scripts/render_all_letters.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@
CURRENT_DIR = os.path.abspath(os.path.dirname(__file__))


def get_mailer(body: RequestBody):
def get_mailer(body: RequestBody, submission: Submission):
if body.region == "cook":
return CookDocumentMailer(body)
return CookDocumentMailer(body, submission)
elif body.region == "detroit":
return DetroitDocumentMailer(body)
return DetroitDocumentMailer(body, submission)
elif body.region == "milwaukee":
return MilwaukeeDocumentMailer(body)
return MilwaukeeDocumentMailer(body, submission)


if __name__ == "__main__":
Expand Down Expand Up @@ -46,7 +46,7 @@ def get_mailer(body: RequestBody):
if os.path.exists(output_path):
continue

mailer = get_mailer(body)
mailer = get_mailer(body, submission)
doc = mailer.render_document()
with open(
output_path,
Expand Down

0 comments on commit 20c1544

Please sign in to comment.