django_program.manage.views_letters¶
Visa & Invitation Letter management views for the manage app.
Provides the staff-facing interface for reviewing, approving, generating, and sending invitation letters for conference attendees who need visa support documentation.
Classes
Bulk-generate invitation letter PDFs for all approved requests. |
|
Download the generated PDF for a letter request. |
|
Generate an invitation letter PDF for an approved request. |
|
Staff list of all letter requests for a conference. |
|
Review a single letter request with status transition actions. |
|
Send a generated invitation letter to the requester. |
- class django_program.manage.views_letters.LetterRequestListView[source]¶
Bases:
ConferencePermissionMixin,ListViewStaff list of all letter requests for a conference.
Supports filtering by status via the
?status=query parameter and provides aggregate status counts for the sidebar/header summary.- template_name = 'django_program/manage/letter_request_list.html'¶
- context_object_name = 'letter_requests'¶
- paginate_by = 50¶
- class django_program.manage.views_letters.LetterRequestReviewView[source]¶
Bases:
ConferencePermissionMixin,DetailViewReview a single letter request with status transition actions.
GET renders the detail page with available actions. POST handles status transitions: approve, reject (with reason), or mark as under review.
- template_name = 'django_program/manage/letter_request_review.html'¶
- context_object_name = 'letter_request'¶
- get_queryset()[source]¶
Scope to the current conference with related objects.
- Return type:
- Returns:
Queryset of letter requests for the active conference.
- post(request, **kwargs)[source]¶
Handle status transition actions on a letter request.
Supported actions via the
actionPOST parameter: -under_review: Move to under-review status. -approve: Approve the request and record reviewer. -reject: Reject the request with a reason and record reviewer.- Parameters:
request (
HttpRequest) – The incoming HTTP request.**kwargs (
str) – URL keyword arguments includingpk.
- Return type:
HttpResponse- Returns:
A redirect back to the review page.
- class django_program.manage.views_letters.LetterRequestGenerateView[source]¶
Bases:
ConferencePermissionMixin,ViewGenerate an invitation letter PDF for an approved request.
POST-only. Calls the letter generation service and redirects back to the review page.
- class django_program.manage.views_letters.LetterRequestBulkGenerateView[source]¶
Bases:
ConferencePermissionMixin,ViewBulk-generate invitation letter PDFs for all approved requests.
POST-only. Generates PDFs for every letter request in the conference that has
APPROVEDstatus, then redirects to the list view with a summary message.
- class django_program.manage.views_letters.LetterRequestSendView[source]¶
Bases:
ConferencePermissionMixin,ViewSend a generated invitation letter to the requester.
POST-only. Calls the letter sending service, updates the sent timestamp, and redirects back to the review page.
- class django_program.manage.views_letters.LetterRequestDownloadView[source]¶
Bases:
ConferencePermissionMixin,ViewDownload the generated PDF for a letter request.
GET-only. Returns the PDF file as an attachment response. Only works if a generated PDF exists on the letter request. Requires write-level access because the PDF contains passport PII.