diff --git a/backend/main.py b/backend/main.py index cd66a12..acffa1f 100644 --- a/backend/main.py +++ b/backend/main.py @@ -26,7 +26,7 @@ from g_sheet.app import router as g_sheet_router from s3.app import router as s3_router from department.app import router as department_router from verification_check.app import router as verification_check_router -from reference_check.app import router as reference_check_router +# from reference_check.app import router as reference_check_router logging.basicConfig(level=logging.INFO,format="%(levelname)-8s %(name)s: %(message)s") logger=logging.getLogger("main") @@ -141,4 +141,4 @@ app.include_router(g_sheet_router) app.include_router(s3_router) app.include_router(department_router) app.include_router(verification_check_router) -app.include_router(reference_check_router) +# app.include_router(reference_check_router) diff --git a/backend/migrations/manual/043_reference_check.sql b/backend/migrations/manual/043_reference_check.sql deleted file mode 100644 index cc6784d..0000000 --- a/backend/migrations/manual/043_reference_check.sql +++ /dev/null @@ -1,49 +0,0 @@ --- 043_reference_check.sql --- Annexure G - Employment Reference Check Form as its own table --- (backend/reference_check/models.py, ReferenceCheck). One row per referee, so --- a candidate can have several. recruiter_id and candidate_id both point at --- users.id (recruiters and candidates are users in this system); created_by is --- the logged-in user who filled the form. --- --- The table name is mixed case at the user's request, so it must stay quoted --- ("Reference_Check") in any raw SQL. FK / index names follow the db_setup --- NAMING_CONVENTION so a dev DB that autogenerated first is a no-op. --- --- Idempotent, applied at startup by alembic_setup.run_manual_sql(). Needed --- because prod boots with DB_AUTOGENERATE=false and never autogenerates tables. - -CREATE TABLE IF NOT EXISTS app."Reference_Check" ( - id uuid PRIMARY KEY, - recruiter_id uuid, - candidate_id uuid, - position_applied varchar, - referee_name varchar, - date_time timestamptz, - referee_title varchar, - referee_organization varchar, - relationship_duration varchar, - scope_of_relationship varchar, - work_approach varchar, - leadership varchar, - communication varchar, - agility varchar, - signoff_referee_name varchar, - signoff_designation varchar, - signoff_date date, - created_by uuid, - created_at timestamptz NOT NULL DEFAULT NOW(), - updated_at timestamptz NOT NULL DEFAULT NOW(), - is_deleted boolean NOT NULL DEFAULT false, - CONSTRAINT "fk_Reference_Check_recruiter_id_users" - FOREIGN KEY (recruiter_id) REFERENCES app.users (id), - CONSTRAINT "fk_Reference_Check_candidate_id_users" - FOREIGN KEY (candidate_id) REFERENCES app.users (id), - CONSTRAINT "fk_Reference_Check_created_by_users" - FOREIGN KEY (created_by) REFERENCES app.users (id) -); - -CREATE INDEX IF NOT EXISTS "ix_Reference_Check_recruiter_id" - ON app."Reference_Check" (recruiter_id); - -CREATE INDEX IF NOT EXISTS "ix_Reference_Check_candidate_id" - ON app."Reference_Check" (candidate_id); diff --git a/backend/offer_email_template/template.py b/backend/offer_email_template/template.py index 1a8198e..1de8292 100644 --- a/backend/offer_email_template/template.py +++ b/backend/offer_email_template/template.py @@ -29,17 +29,26 @@ def _recruiter_names(recruiter_names): return ", ".join(escape(n) for n in names[:-1]) + f" & {escape(names[-1])}" -def _package_row(label, value, bold=False): - cell = "border:1px solid #000000;padding:4px 8px;vertical-align:top;" +def _package_row(label, value, bold=False, widths=(174, 449), bold_label=False, valign="top"): + cell = f"border:1px solid #000000;padding:1px 4px;vertical-align:{valign};" shown = f"{value}" if bold else value + label = f"{label}" if bold_label else label return ( "" - f'{label}' - f'{shown}' + f'{label}' + f'{shown}' "" ) +def render_offer_email_subject(candidate_name, offered_position, company_name): + """Offer Intent - """ + name = str(candidate_name or "").strip() + position = str(offered_position or "").strip() + company = str(company_name or "").strip() + return f"Offer Intent {name} - {position} {company}".strip() + + def render_offer_email_body( candidate_name, offered_position, @@ -53,21 +62,23 @@ def render_offer_email_body( timings, recruiter_names, ): - """Annexure J - Offer Email Format as an Outlook-safe HTML body: inline styles - and a bordered table only, no