Skip to content

Add CRUD interface for participation tags#1410

Draft
Copilot wants to merge 2 commits intomainfrom
copilot/add-crud-interface-tags
Draft

Add CRUD interface for participation tags#1410
Copilot wants to merge 2 commits intomainfrom
copilot/add-crud-interface-tags

Conversation

Copy link
Contributor

Copilot AI commented Feb 26, 2026

Participation tags were only manageable via the Django admin interface. This adds first-class course-level views for creating, editing, listing, and deleting participation tags.

Views (course/enrollment.py)

  • list_participation_tags — table of all tags for the course
  • edit_participation_tag — create (tag_id=-1) or update an existing tag; uses ParticipationTagForm (fields: name, shown_to_participant)
  • delete_participation_tag — GET renders confirmation, POST deletes

URLs (relate/urls.py)

  • GET/POST /course/<id>/participation-tags/
  • GET/POST /course/<id>/edit-participation-tag/<tag_id>/
  • GET/POST /course/<id>/delete-participation-tag/<tag_id>/

Templates

  • participation-tags.html — tag list with Edit/Delete actions and Add button
  • confirm-delete-participation-tag.html — delete confirmation page

Navigation (course-base.html)

"Manage participation tags" added to the Instructor dropdown, gated on pperm.edit_participation (distinct from the existing query_participation gate on "Query participations").

All views require PPerm.edit_participation; cross-course tag access raises SuspiciousOperation → 400.

Original prompt

This section details on the original issue you should resolve

<issue_title>Add a CRUD interface for participation tags</issue_title>
<issue_description></issue_description>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Co-authored-by: inducer <352067+inducer@users.noreply.github.com>
Copilot AI changed the title [WIP] Add a CRUD interface for participation tags Add CRUD interface for participation tags Feb 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a CRUD interface for participation tags

2 participants