Affiliation-extras plugin: add Affiliation Catalogs#6
Open
duartegalvao wants to merge 26 commits into
Open
Conversation
duartegalvao
force-pushed
the
affiliation-schemas
branch
6 times, most recently
from
May 14, 2026 09:17
3a9c0ea to
d3959e6
Compare
duartegalvao
force-pushed
the
affiliation-schemas
branch
from
June 8, 2026 08:29
1d1223e to
617ad71
Compare
This was referenced Jun 9, 2026
moliholy
reviewed
Jun 9, 2026
moliholy
reviewed
Jun 10, 2026
There was a problem hiding this comment.
A few things that don't map to a single line:
- No controller tests.
schemas_test.pystubssys.modulesand skips the catalog schemas entirely, so the catalog args + the uniqueness validators (the headline feature) are untested.- State/props are snake_case while one endpoint opts into
camelize. Core camelizes at the boundary; worth picking one.
duartegalvao
force-pushed
the
affiliation-schemas
branch
from
June 19, 2026 12:42
0398bd9 to
f16b4de
Compare
moliholy
reviewed
Jun 22, 2026
duartegalvao
force-pushed
the
affiliation-schemas
branch
from
June 23, 2026 09:34
6781cb9 to
0012e73
Compare
* Add invite affiliations tab Move AffiliationInvitations definition to another file Improve AddItemsModal UI Migrate invite dialog to use AffiliationListField Replaces the regform-endpoint-based AffiliationsTab with AffiliationInvitations, which delegates affiliation selection to the existing AffiliationListField component. AddItemsModal is refactored from a generic data-URL modal to an affiliation-specific search modal. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Show user count per affiliation in AddItemsModal search results Extends the affiliations search API to include user_count per affiliation. AddItemsModal gains a showInviteCount prop that, when enabled, displays the registration count per result item and a running total of registrations for newly added affiliations in the footer. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Fix send button to show correct invitation count Adds a backend endpoint that counts unique users across the selected affiliations, groups, and tags (deduplicating users who belong to multiple entries). AffiliationListField fetches this count asynchronously and stores it in _userCount so the synchronous getCount callback in AffiliationInvitations can return the accurate value for the send confirmation dialog. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Improve ui Self review minor improvements Turn the results column in a ternary expression Decouple userCount from AffiliationListField and AddItemsModal Disable search button if no search input Change UserBasicSchema for BasicUserSchema Remove comments Use resolve_affiliations when necessary Rename affiliationInvitations Move AddItemsModal.jsx Fix rebase problems Convert AddItemsModal from JS to TS Remove email attachments comments Improve CSS for AddItemsModal.tsx Small refactor Self review fixes * Small refactor to follow indico patterns * Improve tags * Refactor useEffect and variable names * Add AddAffiliationsModal scss module * Add AffiliationListField scss module * Improve css styles * Run biomejs * Fix affiliation invitation schema import * Fix conditional hook * Add compatibility shim * Apply code style improvements --------- Co-authored-by: Duarte Galvão <duarte.galvao@unconventional.dev>
* test: mock plugin manifest so manage pages render in tests * fix: keep unchanged representation value valid after catalog changes * perf: resolve inherited default catalogs without per-ancestor queries * fix: reject duplicate affiliation list names in a catalog * refactor: register all models from the package init * fix: handle failed affiliation resolve without crashing the list * fix: use stable keys for unsaved catalog list rows * fix: correct invalid contact emails warning condition
* perf: resolve affiliations in a constant number of queries * perf: fetch invited users in a single query * fix: let regform managers invite by affiliation * refactor: simplify the email image upload handler * refactor: drop the /api prefix from admin endpoints * perf: load affiliation users in a single query * fix: default the affiliation list position * refactor: apply review feedback to the affiliation client * fix: let regform managers see the affiliation user count * test: drop schema stub and cover catalog validation * test: add management endpoint access matrix * chore: remove unused imports and void a floating promise * fix: let managers read affiliation groups, tags and search * style: drop the void on the affiliation search call * test: cover the email image upload * fix: scope affiliation reference endpoints to event or category * refactor: use `SearchAffiliationsMixin` for the extended affiliation search
duartegalvao
force-pushed
the
affiliation-schemas
branch
from
June 23, 2026 09:36
0012e73 to
e8df8e6
Compare
duartegalvao
marked this pull request as ready for review
June 23, 2026 09:38
tomako
pushed a commit
to wipo-digital-secretariat/indico-plugins-contrib
that referenced
this pull request
Jul 14, 2026
…co#6) 7232300 Add missing i18n e8df8e6 Fix visual bug where group/tag dropdowns get clipped by modal fa10014 Refactor scoped RHs to match with Indico patterns e12fbe7 Fix country API being admin-only b5bf3bd Bump plugin version 6791494 Handle tagged groups in affiliation search 91db545 Refactor affiliation search into FinalForm 7e59835 Code improvements 1e0deb2 Apply review feedback to the Affiliation Catalogs plugin (indico#3) d851273 Remove unnecessary i18n 4ba229d Fix param name mismatch 7707ed5 Review fixes for the Affiliation Catalogs plugin (indico#2) 13131b5 Improve log format 6b1af16 Run ruff format ea9b01b Add reglist columns for representation affiliation and type 18fecc7 Allow inviting affiliations (indico#1) 73173db Cleanup code 7104de0 Add representation field 7f65c91 Rename category controllers to catalogs f94ff54 Implement catalog editor for events a8ac9c9 Rename presets to catalogs fcd718b Allow setting a default preset e659518 Allow cloning presets 5c962aa Show origin group and tags on affiliations list 4671831 Add affiliation presets 886f9e9 Use UploadFileMixin for picture attachments
tomako
pushed a commit
to wipo-digital-secretariat/indico-plugins-contrib
that referenced
this pull request
Jul 15, 2026
…co#6) 7232300 Add missing i18n e8df8e6 Fix visual bug where group/tag dropdowns get clipped by modal fa10014 Refactor scoped RHs to match with Indico patterns e12fbe7 Fix country API being admin-only b5bf3bd Bump plugin version 6791494 Handle tagged groups in affiliation search 91db545 Refactor affiliation search into FinalForm 7e59835 Code improvements 1e0deb2 Apply review feedback to the Affiliation Catalogs plugin (indico#3) d851273 Remove unnecessary i18n 4ba229d Fix param name mismatch 7707ed5 Review fixes for the Affiliation Catalogs plugin (indico#2) 13131b5 Improve log format 6b1af16 Run ruff format ea9b01b Add reglist columns for representation affiliation and type 18fecc7 Allow inviting affiliations (indico#1) 73173db Cleanup code 7104de0 Add representation field 7f65c91 Rename category controllers to catalogs f94ff54 Implement catalog editor for events a8ac9c9 Rename presets to catalogs fcd718b Allow setting a default preset e659518 Allow cloning presets 5c962aa Show origin group and tags on affiliations list 4671831 Add affiliation presets 886f9e9 Use UploadFileMixin for picture attachments
tomako
pushed a commit
to wipo-digital-secretariat/indico-plugins-contrib
that referenced
this pull request
Jul 22, 2026
…co#6) 7232300 Add missing i18n e8df8e6 Fix visual bug where group/tag dropdowns get clipped by modal fa10014 Refactor scoped RHs to match with Indico patterns e12fbe7 Fix country API being admin-only b5bf3bd Bump plugin version 6791494 Handle tagged groups in affiliation search 91db545 Refactor affiliation search into FinalForm 7e59835 Code improvements 1e0deb2 Apply review feedback to the Affiliation Catalogs plugin (indico#3) d851273 Remove unnecessary i18n 4ba229d Fix param name mismatch 7707ed5 Review fixes for the Affiliation Catalogs plugin (indico#2) 13131b5 Improve log format 6b1af16 Run ruff format ea9b01b Add reglist columns for representation affiliation and type 18fecc7 Allow inviting affiliations (indico#1) 73173db Cleanup code 7104de0 Add representation field 7f65c91 Rename category controllers to catalogs f94ff54 Implement catalog editor for events a8ac9c9 Rename presets to catalogs fcd718b Allow setting a default preset e659518 Allow cloning presets 5c962aa Show origin group and tags on affiliations list 4671831 Add affiliation presets 886f9e9 Use UploadFileMixin for picture attachments
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains a second version of the affiliation-extras plugin.
Changelog:
Depends on: