Skip to content

Production release#1866

Merged
becky-gilbert merged 8 commits into
masterfrom
develop
Apr 20, 2026
Merged

Production release#1866
becky-gilbert merged 8 commits into
masterfrom
develop

Conversation

@becky-gilbert
Copy link
Copy Markdown
Contributor

@becky-gilbert becky-gilbert commented Apr 13, 2026

This PR moves the following changes from staging to production:

* create new template tag to build query string for response pagination within studies on study history page - keeps all query params and adds response_page_{study_pk} var with page number request

* paginate both the number of studies (10) and the number of responses per study (1); add query parameters for navigating across study pages and response pages

* add labels to the different sets of page navs: Study responses; Previous studies

* modify response_page_transform template tag to remove query param when the response_page request is 1 (the default) - helps keep the url shorter

* add tests for StudiesHistoryView

* translate pagination labels; only include study pagination UI if there is more than 1 page
@becky-gilbert becky-gilbert self-assigned this Apr 13, 2026
becky-gilbert and others added 4 commits April 14, 2026 12:49
* add admin-only query param search/filter options for manage studies page to view context

* add admin-only search/filter options to study list template, with new helper template tags

* fix margin under search bar in non-admin view

* add tests for new manage studies search/filter options

* add admin-only filters for submitted studies based on history: first submission, previously rejected, previously approved, other

* update status change date on Manage Studies page and days_submitted: use study log to get the date when study object status_change_date is null (older studies)

* add tests for changes to days_submitted and fallback for study status change date on Manage Studies page

* refactor the study list queries to reduce complexity and improve maintainability - fixes SonarQube issue

* fix creator name search to find studies matching creator first + last name

* add emails to list of researchers with study access, tweak researcher/permission col sizes
* write all-responses json iteratively to tmp file in psychds download (avoid storing whole json string in memory)

* write psychds zip to temp file instead of bytesIO to reduce peak memory usage

* stream the frame data into psychds zip instead of accumulating all response CSVs in memory

* write psychds overview CSVs to temp files instead of building strings in memory

* store variables measured as a set to de-duplicate immediately, instead of creating a list and removing duplicates at the end

* add tests for psychds zip download contents

* switch from io.BytesIO to tempfile in the frame data csv/zip download; io import no longer needed

* response overview csv: use a named temp file to avoid in-memory string; need to re-import io and csv

* same issue with child summary csv: write to temp file to avoid in-memory string

* demographics JSON download: stream content with a json generator instead of constructing whole string in memory

* demographics CSV: create a temp file and write rows to disk on each iteration, instead of storing the whole list in memory

* update tests to be able to handle streaming responses
* check that data frame values (efp) and list elements (jspsych) are dicts before trying to check for keys via .get

* handle non dict values when extracting frame data and converting to rows

* check that data frame values (efp) and list elements (jspsych) are dicts before trying to check for keys via .get

* add tests for response post save - non dict values/elements should not raise errors

* add unit tests for get_frame_data - should add non-dict values/elements to frame row data instead of raising error
Bumps [pyasn1](https://github.com/pyasn1/pyasn1) from 0.6.2 to 0.6.3.
- [Release notes](https://github.com/pyasn1/pyasn1/releases)
- [Changelog](https://github.com/pyasn1/pyasn1/blob/main/CHANGES.rst)
- [Commits](pyasn1/pyasn1@v0.6.2...v0.6.3)

---
updated-dependencies:
- dependency-name: pyasn1
  dependency-version: 0.6.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@sonarqubecloud
Copy link
Copy Markdown

@becky-gilbert becky-gilbert merged commit c540e54 into master Apr 20, 2026
6 of 9 checks passed
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.

1 participant