* refactor: avoid using select2 data-* attrs on html elements
Using "data-ajax--url" shadows explicit configuration in our
select2.js wrapper. Use "data-select2-ajax-url" to avoid this.
Also add ability to omit the ajax setup entirely by returning
None from ajax_url().
* chore: hook up a flag to disable ajax for SearchablePersonsField
* refactor: send select2 prefetch data as array and allow config of min input length
* feat: only offer IAB/IESG members for bofreq responsible leadership
* test: area directors/IAB members should be options for bofreq responsible leaders
* test: update tests to match changes to SearchableField
* fix: clean up SearchablePersonsField breakage when searching by email address
* chore: finish incomplete comment
* Fix: Tweak the horrible code in SearchableField so another corner case works
Fixes#3940. Hopefully doesn't break anything.
* fix: remove incorrect remaining loop.
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
Create dev branch for session purpose work (from revision [19414])
Snapshot of dev work to add session purpose annotation (from revision [19415])
Allow non-WG-like groups to request additional sessions/durations and bypass approval (from revision [19424])
Add 'closed' session purpose, assign purposes for nomcom groups, and update schedule editor to enforce timeslot type and allow blurring sessions by purpose (from revision [19427])
Add management command to set up timeslots/sessions for testing/demoing 'purpose' field (from revision [19430])
Update session purposes and group type -> purpose map to match notes page, change 'session' purpose to 'regular' (from revision [19433])
Redirect edit_schedule urls to edit_meeting_schedule view (from revision [19434])
Allow hiding/blurring sessions and timeslots based on TimeSlotType in the schedule editor (from revision [19438])
Disable session purpose/timeslot type hiding on schedule editor when only 0 or 1 options (from revision [19439])
Improvements to the timeslot and schedule editors (move new toggles to modals, handle overflowing session names, fix timeslot editor scrolling, add buttons to quickly create single timeslot, accept trailing slash on edit URL) (from revision [19449])
Update purpose/types after discussions, add on_agenda Session field, prevent session requests for groups with no allowed purpose, handle addition fields in session request, fix editing session requests, add session edit form/access from schedule editor, eliminate TimeSlotTypeName "private" field, add server-side timeslot type filtering to schedule editor (from revision [19549])
Eliminate the officehours timeslot type, update/renumber migrations, mark offagenda/reserved TimeSlotTypeNames as not used, add a 'none' SessionPurposeName and disallow null, update agenda filter keywords/filter helpers, fix broken tests and general debugging (from revision [19550])
Tear out old meeting schedule editor and related code (from revision [19551])
Fix merge errors in preceding commits (from revision [19556])
- Legacy-Id: 19570
Note: SVN reference [19415] has been migrated to Git commit 1054f90873
Note: SVN reference [19424] has been migrated to Git commit 5318081608
Note: SVN reference [19427] has been migrated to Git commit 173e438aee
Note: SVN reference [19430] has been migrated to Git commit 7a2530a0a6
Note: SVN reference [19433] has been migrated to Git commit 3be50d6e39
Note: SVN reference [19434] has been migrated to Git commit 3e3d681e5f
Note: SVN reference [19438] has been migrated to Git commit b6ac3d4b1d
Note: SVN reference [19439] has been migrated to Git commit 446ac7a47e
Note: SVN reference [19449] has been migrated to Git commit 5cbe402036
Note: SVN reference [19549] has been migrated to Git commit 3dfce7b850
Note: SVN reference [19550] has been migrated to Git commit 7b35c09c40
Note: SVN reference [19551] has been migrated to Git commit d7f20342b6
Note: SVN reference [19556] has been migrated to Git commit 2b1864f5a0
This field is needed because the plain JSONField does not permit empty arrays - [] - or empty objects - {} - when the field is marked as required. Those values explicitly evaluate to a null value, and are rejected.
Instead, the IETFJSONField accepts two new arguments to control this:
- empty_values: An array of values that should evaluate to null/empty, and be rejected.
- accepted_empty_values: An array of values that should *not* evaluate to null/empty, and be accepted.
This allows the programmer to specify either a positive or negative statement of what values to accept.
Fixes issue #3331. Commit ready for merge.
- Legacy-Id: 19401
Consolidate repeated searchable field code into SearchableField class. Fix single-valued searchable fields. Make javascript test config reusable. Use Django Form.media for JS/CSS inclusion. Fixes#3196, #3204.
- Legacy-Id: 18948
Note: SVN reference [18939] has been migrated to Git commit 17d37723f7
utils/fields.py, also fix a couple of issues in NomCom tool (spelling
bugs and avoid overwriting base_fields on forms with dynamic data)
- Legacy-Id: 8276
* Create a new models NomComGroup with public_key field. Default type is nomcom
* News urls and views to separate members and chair forms
* Add rolodex url when person not found.
* Views access is only for secretariat and chair roles
See #904
- Legacy-Id: 5069