Sections: Refactor to allow sections in New Bedford middle schools #2612
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.
Who is this PR for?
New Bedford students, families, educators
What problem does this PR fix?
New Bedford exports only homeroom assignment data from the SIS, but this doesn't work well for most middle school educators. District folks are updating that separately.
When that is fixed, there are assumptions and configuration and product differences that don't make sense for their MS use case. One example is that in Somerville where sections are used, there is always grade data as well. Another issue is that there's no way to deploy in stages, where we import and validate, then enable for authorization.
What does this PR do?
Authorization
Authorization code now respects
PerDistrict#enabled_sections?
which can be overridden by an env variable as well.Endpoints
The section-related endpoints respect the same method.
Section links
This adds another layer,
PerDistrict#allow_sections_link?
, allowing incremental deployment where we enable the feature but don't make it visible to everyone yet.Student profile UI
This updates the profile UI to use a different path for New Bedford, where the sections are shown on the profile but without grades like in SHS. This involves changes to
LightProfilePage
and also pushing code out intoPerDistrict.js
. EDIT: last commit backs out this actual change for now, to test firstScreenshot (if adding a client-side feature)
Checklists
Which features or pages does this PR touch?
Does this PR use tests to help verify we can deploy these changes quickly and confidently?