Skip to content

Feature/pbs 26 18 - #11938

Merged
brianjgeiger merged 19 commits into
developfrom
feature/pbs-26-18
Sep 23, 2026
Merged

brianjgeiger merged 19 commits into
developfrom
feature/pbs-26-18

Conversation

@brianjgeiger

Copy link
Copy Markdown
Collaborator

Purpose

PB&S release

ihorsokhanexoft and others added 19 commits September 10, 2026 09:35
…11852)

## Ticket
https://openscience.atlassian.net/browse/ENG-6292

## Purpose
When a registration is approved by an admin, postcommit spam checks are run with a stale state of a registration. While admin is being updated a registration moderation state to **ACCEPTED**, postcommit spam checks process a stale version of the registration that has moderation_state=**INITIAL**. So if postcommit finishes execution after transaction handlers, it overrides already updated **ACCEPTED** value by the stale **INITIAL** state

If we revert **.save** logic in tasks.py, the new test starts failing as moderation state is updated to **INITIAL** because by default **.save** updates all fields
## Ticket
https://openscience.atlassian.net/browse/ENG-10903

## Purpose
Stuck Registration list contains some registrations that are not “stuck” this causes confusion for Support team members and significant increase in time required when restarting registrations that are stuck. Necessitating the use of a spreadsheet to track which registrations have already been restarted.
… delete_* fields (#11890)

## Ticket
https://openscience.atlassian.net/browse/ENG-10341

## Purpose
Restored files are considered as deleted and not shown on UI

## Changes
In fact, when user restores `TrashedFileNode`, we recast this object to `OsfStorageFileNode` but this object still contains `deleted`, `deleted_on`, `deleted_by` field values that make this file unreachable

- Now `restore()` method for `TrashedFileNode` objects clears values for the `deleted` field before recasting to `OsfStorageFileNode`
- Management command fixes all `OsfStorageFileNode` objects that were restored via `restore()` and have values in `deleted` field
- `deleted_on` field is not cleared because when we restore a folder, it restores **ONLY** children within the same `deleted_on` datetime. Therefore, we preserve `deleted_by` to know who triggered deletion
Code reference:
https://github.com/CenterForOpenScience/osf.io/blob/e2f47e984b5f0c42cf2f1668f44c2d7b14e96054/osf/models/files.py#L751-L766
…ration (#11883)

## Ticket
https://openscience.atlassian.net/browse/ENG-11228

## Purpose
During moderation of pending registrations, moderators are unable to view files because file links in schema_responses point to the backing source project (registered_from) rather than to the archived registration copy. This occurs when the archive_success task either has not yet executed or has failed, leaving file references un-migrated at the time of moderation.
## Ticket
https://openscience.atlassian.net/browse/ENG-10902

## Purpose
Problem Statement

Currently registrations which are stuck show up in a “Stuck Registration” list in admin https://admin.osf.io/nodes/stuck_registration_list/ this allows Support team (product personnel) to go in and restart stuck registrations potentially before users notice their registration has failed to archive, reducing user frustration with the OSF and the registration workflow in general. However, this is a time consuming task that can take anywhere from 45 - 90 min a day, tracking restarted registrations and noting if/when they have archived.

Acceptance Criteria

Create celery beat job to auto-restart stuck registrations daily

Admin controls to save who to email reports to after script runs

Create report to email that says which archive jobs failed to complete

In Admin on the Management Commands page have a section to designate what email to send reports to (up to 3 emails)
…even after the institution has been turned off (#11910)

## Ticket
https://openscience.atlassian.net/browse/ENG-11909

## Purpose
Problem
Currently, turning off an OSFI member means that all affiliation and dashboard information is removed from the frontend.  This is fine.  However, it also means that any ROR IDs for that institution within DOIs/metadata that already exists will be removed when those records are updated.  This really isn’t aligned with best practice.


Acceptance Criteria
Turning off an OSFI institutional member should have all of the existing effects except that metadata and DOIs that already have ROR IDs from this member should not have those IDs removed, even when the records are updated.  They should not appear on the FE or in Search.
…dates (#11927)

## Ticket
https://openscience.atlassian.net/browse/ENG-12207

## Purpose
Add preserve_everyone option to manage_waffle for flag updates
## Ticket
https://openscience.atlassian.net/browse/ENG-12251

## Changes

Admins can sign in into admin panel only by using correct email + password, having two-factor config enabled and confirmed + using a verification code for each log in
@brianjgeiger
brianjgeiger merged commit e9f1e52 into develop Sep 23, 2026
16 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.

8 participants