Skip to content

Participants groups (adding groups with queue) #2127

Draft
IdirLISN wants to merge 24 commits intodevelopfrom
feature/groups_permissions_queues
Draft

Participants groups (adding groups with queue) #2127
IdirLISN wants to merge 24 commits intodevelopfrom
feature/groups_permissions_queues

Conversation

@IdirLISN
Copy link
Collaborator

@IdirLISN IdirLISN commented Jan 28, 2026

A brief description of the purpose of the changes contained in this PR.

Adding button inside the edit section of competitions to create groups of user linked to a queue.

In edit section of competition, we can now create groups for this specific competition, edit groups, add participant to groups and associate a queue to groups.

A new table in participant panel is added.

Multiple queues can be used in a single competition and submission participant will be able to have a access to a dedicated vhost and compute worker.

Issues this PR resolves

Closes #2100

A checklist for hand testing

  • check group model object creation, uptade, delete.
  • check if users are redirected to queues when submitting.
  • check if groups are not visible in other competitions (private).
  • check UX/UI in edit page.
  • check UX/UI in participants table.
  • check the group display in my submission page.
  • test migrations at deployment

Checklist

  • Code review by me
  • Hand tested by me
  • I'm proud of my work
  • Code review by reviewer
  • Hand tested by reviewer
  • CircleCi tests are passing
  • Ready to merge

@IdirLISN IdirLISN force-pushed the feature/groups_permissions_queues branch from f64dd0a to 2be8937 Compare February 11, 2026 11:16
@ObadaS ObadaS force-pushed the feature/groups_permissions_queues branch from ddf5edf to d6ab5c6 Compare February 12, 2026 10:30
@ObadaS ObadaS force-pushed the feature/groups_permissions_queues branch from 014ec69 to 3d202c1 Compare February 26, 2026 11:21
@Didayolo
Copy link
Member

Didayolo commented Mar 3, 2026

Please fix formatting issues, so the pytests actually start:

^@^@src/apps/competitions/tasks.py:119:1: E302 expected 2 blank lines, found 1
src/apps/competitions/tasks.py:218:21: W503 line break before binary operator
src/apps/competitions/tasks.py:337:21: W503 line break before binary operator
src/apps/competitions/tasks.py:469:1: E302 expected 2 blank lines, found 1
src/apps/competitions/tasks.py:492:1: E303 too many blank lines (3)
src/apps/competitions/tasks.py:609:5: E303 too many blank lines (3)
src/apps/competitions/tasks.py:654:1: E302 expected 2 blank lines, found 1
src/apps/competitions/admin.py:373:1: E302 expected 2 blank lines, found 0
src/apps/competitions/views.py:24:1: E303 too many blank lines (3)
src/apps/competitions/views.py:41:5: E303 too many blank lines (2)
src/apps/competitions/views.py:139:49: W291 trailing whitespace
src/apps/competitions/views.py:242:9: W503 line break before binary operator
src/apps/competitions/views.py:243:9: W503 line break before binary operator
src/apps/competitions/views.py:248:5: E303 too many blank lines (2)
src/apps/competitions/views.py:325:9: W503 line break before binary operator
src/apps/competitions/views.py:326:9: W503 line break before binary operator
src/apps/competitions/views.py:331:5: E303 too many blank lines (2)
src/apps/competitions/views.py:343:9: W503 line break before binary operator
src/apps/competitions/views.py:344:9: W503 line break before binary operator
src/apps/competitions/views.py:364:9: W503 line break before binary operator
src/apps/competitions/views.py:365:9: W503 line break before binary operator
src/apps/competitions/views.py:372:6: W292 no newline at end of file
src/apps/competitions/models.py:67:5: E303 too many blank lines (2)
src/apps/competitions/unpackers/base_unpacker.py:32:33: W291 trailing whitespace
src/apps/competitions/unpackers/base_unpacker.py:204:1: W293 blank line contains whitespace
src/apps/competitions/unpackers/base_unpacker.py:245:5: E303 too many blank lines (3)
src/apps/competitions/unpackers/base_unpacker.py:306:29: W503 line break before binary operator
src/apps/competitions/unpackers/base_unpacker.py:331:5: E303 too many blank lines (4)
src/apps/profiles/models.py:353:9: E128 continuation line under-indented for visual indent
src/apps/profiles/models.py:354:9: E128 continuation line under-indented for visual indent
src/apps/profiles/models.py:355:9: E128 continuation line under-indented for visual indent
src/apps/profiles/models.py:356:9: E128 continuation line under-indented for visual indent
src/apps/profiles/models.py:357:9: E128 continuation line under-indented for visual indent
src/apps/profiles/models.py:358:9: E128 continuation line under-indented for visual indent
src/apps/profiles/models.py:359:5: E124 closing bracket does not match visual indentation
src/apps/profiles/models.py:367:1: W391 blank line at end of file
src/apps/profiles/models.py:367:1: W293 blank line contains whitespace
src/apps/api/views/competitions.py:43:1: E402 module level import not at top of file
src/apps/api/views/competitions.py:48:1: E303 too many blank lines (3)
src/apps/api/views/competitions.py:465:1: W293 blank line contains whitespace
src/apps/api/views/competitions.py:467:5: E303 too many blank lines (2)
src/apps/api/views/competitions.py:788:1: W293 blank line contains whitespace
src/apps/api/views/competitions.py:1235:1: W293 blank line contains whitespace
src/apps/api/views/competitions.py:1236:1: W293 blank line contains whitespace
src/apps/api/views/competitions.py:1330:24: F821 undefined name 'users_by_id'
src/apps/api/views/competitions.py:1332:20: F821 undefined name 'users_by_id'
src/apps/api/views/competitions.py:1335:21: F821 undefined name 'users_by_username'
src/apps/api/views/competitions.py:1344:35: F821 undefined name 'users_by_id'
src/apps/api/views/competitions.py:1345:36: F821 undefined name 'users_by_id'
src/apps/api/views/competitions.py:1350:16: W292 no newline at end of file

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.

[Feature] Participant groups in Competitions

2 participants