Skip to content

Add UW grant tracking: internal worktag/award fields + admin links to official UW/CSE trackers #1448

Description

@jonfroehlich

Two related admin-only additions around grants.

1. Links to the official UW grant tracking systems

UW CSE (a SharePoint "Financial Reporting and Projections" folder) and UW central
(the Award Portal) each host an authoritative view of the PI's grants. There is no
link to either from our admin today, so getting there means digging through
bookmarks.

These URLs embed per-PI SharePoint sharing tokens and this repo is public, so
they must NOT be committed to source. Instead, add a small GrantTrackingLink
model (label / url / notes / display order) that the superuser fills in through
/admin, rendered as a link bar at the top of the Grant changelist (already
superuser-gated — the correct audience for personal financial-reporting links,
unlike the admin dashboard, which every staff user sees).

2. UW internal tracking codes on each grant

UW/Workday identifies a grant by a grant worktag (GR…), plus an award
number
and award name. Sponsored-programs staff ask for these constantly and
there's nowhere to record them. Add three nullable fields to Grant:

  • uw_grant_id — the worktag (comma-separated if an award spans several)
  • uw_award_number
  • uw_award_name

Shown in a "UW Internal Tracking" fieldset, with uw_grant_id as a changelist
column and all three searchable.

These are internal administrative codes and must never reach the public site or
the REST API.
GrantSerializer.Meta.fields is an explicit allowlist so they're
excluded structurally; a regression test in test_api.py pins that (same shape as
the existing funding_amount / Person.email exclusions).

Naming note

Grant.grant_id already exists and means the sponsor's award ID (NSF-style
1302338). It is public and is serialized at /api/v1/grants/. It stays exactly
as-is — hence the uw_ prefix on the new field.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions