Skip to content

Merge develop into feature/pbs-26-2#11639

Open
adlius wants to merge 27 commits intofeature/pbs-26-2from
develop
Open

Merge develop into feature/pbs-26-2#11639
adlius wants to merge 27 commits intofeature/pbs-26-2from
develop

Conversation

@adlius
Copy link
Collaborator

@adlius adlius commented Mar 16, 2026

Ticket

Purpose

Changes

Side Effects

QE Notes

CE Notes

Documentation

cslzchen and others added 27 commits February 4, 2026 09:53
…11575)

* Add is_digest_type property to NotificationType and log message in emit method
* Fix is_digest handling in NotificationType.emit method
* Log message update in NotificationType.emit method for is_digest handling
* fix unit tests

---------

Co-authored-by: Ostap Zherebetskyi <ozherebetskyi@exoft.net>
Co-authored-by: Ostap Zherebetskyi <ozherebetskyi@exoft.net>
…tch admin/admin changes

Update archive_size_exceeded_user and provider_reviews_resubmission_confirmation templates
Notification refactor post-release hotfix
* Exclude spam and deleted Registration from queryset

* Update RegistrationActionList to check deleted flag

* Fix tests

* Fix test
Hotfix for registration moderation
* linkset initial implementation

* linkset initial implementation (updating data extraction and adding serialization)

* and \n in EOF instead of %

* update code

* get file mediatype from metadata

* add unittests for linkset approach (TODO: ?)

* update code

* update code and unit tests and

* update file related code and unit tests

* refactor code after CR | implement 'describes' |  check file type differs from parent project / registry / preprint

* update files to compare on unittests run

* implement datacite - scheme type mapping for linkset draft version (need tests updates and maybe some type yield logic )

* Update osf/metadata/osf_gathering.py

Co-authored-by: abram axel booth <aaxelb@users.noreply.github.com>

* Update osf/metadata/serializers/linkset.py

Co-authored-by: abram axel booth <aaxelb@users.noreply.github.com>

* implement datacite - schema mapping

* update tests expected results

* resolve CR

* refactor code | resolve CR

* remove redundant describes from file response (#11590)

* [ENG-10256] 2.1.9 BE: Fix permission issue where users without permission to an object can access the metadata (#11588)

* Fix permission issue where users without permission to an object can access the metadata (add decorator is_contributor_or_public_resource)

* refactor code

* resolve CR | refactor code

* resolve CR | add unittests

* add  *args, **kwargs for decorated view

* [ENG-10167] 2.1.6 BE: add link header to guid metadata endpoints (#11594)

* add link header to guid metadata endpoints for registry and project

* update code

* avoid Component Registration/Project JSON Contains type: null (#11597)

* [ENG-10168] 2.1.7 BE: add link header to cedar metadata records endpoints (#11596)

* add link header to guid metadata endpoints for registry and project

* update code

* add link header to cedar metadata records endpoints

* change ResearchProject for CreativeWork for projects (#11603)

* [ENG-10169] 2.1.8 BE: add link header to file download URL (#11600)

* avoid Component Registration/Project JSON Contains type: null

* add link header to file download URL

* update unittests

* resolve CR

---------

Co-authored-by: mkovalua <mkoval@exoft.net>
Co-authored-by: abram axel booth <aaxelb@users.noreply.github.com>
* feat(osf): script to migrate Crossref Funder IDs to ROR IDs

* feat(osf): Fix fot the script to migrate Crossref Funder IDs to ROR IDs

* feat(osf): Update OSF metadata model code and tests for ROR funder identifier support

* feat(osf): Add DataCite client tests for ROR funder identifier support

* feat(osf): update migration script to remove unmapped crossref funders

* add another stat to the migration script

---------

Co-authored-by: Andriy Sheredko <sheredko.andriy@gmail.com>
[ENG-10131] add command to migrate ror funder names
* Create global_file_updated and global_reviews subscriptions if missing
* Use USER_FILE_UPDATED for group global_file_updated
* Use REVIEWS_SUBMISSION_STATUS for group global_reviews
* Add missing `is_digest=True` for new OSF user subscriptions
* Extend otf subscription creation to apply to _node_file_updated group
* Fix typo for `_is_digest`
* add is_digest_type property
* Add is_digest_type property to NotificationType and log message in emit method
* Fix is_digest handling in NotificationType.emit method
* Log message update in NotificationType.emit method for is_digest handling
* fix unit tests
* Move set-deafult-subscriptions out of non-effective try-except
* Add fake_sent field to Notification model and update notification creation logic
* add unique_together constraint
* Add 'PARTIAL_SUCCESS' status to EmailTask model and update email task handling logic
* NR migration [ENG-10040, ENG-10025, ENG-9854]
* Remove subscription if notifications.tasks.send_moderator_email_task fails with permission error
* Apply suggestion from @Ostap-Zherebetskyi
* remove datetime
* Add 'no_login_email_last_sent' field to OSFUser and update email task logic
* Enforce and improve permission check for subscriptions
* Fix typo in annotated_obj_qs for NODE_FILE_UPDATED
* Add unit tests for testing node_file_updated subscription detail
* Implement notifications cleanup task and related settings; add tests for functionality
* Fix legacy subscription ID for NODE_FILE_UPDATED: "guid_files_updated"
* Fix duplicate and mismatched type NODE_FILE(S)_UPDATED
* removed email.py
* Fix annotated qs for global reviews and update unit tests
* Update tests for node_file(s)_updated subscription detail
* Rename fixtures for notification subscription detail tests
* Annotate with legacy_id for serializer to handle created subscriptions
* Add unit tests for creating missing subscriptions on the fly
* clear useless code
* Rename migration name for NR post-release
* Improve unit test: test_emit_frequency_none
* Remove `seen` from `Notification` and re-make migrations
* `mark_sent()` now handles `fake_sent=True`, and only `save()` once
* Update default settings
* remove useless import
* Enhance SubscriptionList queryset with additional content types and refactor notification type handling
* fix unit test
* Refactor SubscriptionList queryset to use a single provider content type and update related notification handling; add script to update notification subscriptions' content types.
* fix CR comments
* Update comments
* split into 3 files
* remove populate_notification_subscriptions
* Renamed files, refactor of populate notification subscriptions user global file updated
* added try/except, added timers
* converted populate_notification_subscriptions_user_global_reviews.py
* fix batch time execution
* converted populate_notification_subscriptions_node_file_updated
* convert to separate update and create scripts
* updated, added parameters
* move to remove_after_use
* add time track to last batch, fix proper time track for batch in node_file_updated
* convert to use review_nt
* Fix unit tests due to new constraints
* Move missing subscription creation to a helper function in utils
* Subscription list view now creates missing attributes on-the-fly
  * Note: only works for when filter on "legacy id"; logs message to sentry for tracking purpose when filter on "event names".
* Fix broken `.exists()` due to complex annotated QS with `.distinct()`
* fix names of tasks
* Add notification subscriptions de-duplication v2 command
* fix naming
* Add deduplication command to notification migration
* Fix notification handling by updating legacy ID suffix from '_files_updated' to '_file_updated' across utils and views; adjust related test cases accordingly.
* fix unit tests
* Update the name of the NotificationType NODE_FILE_UPDATED to be consistent
* Rename notification type from node_files_updated to node_file_updated for consistency
* clean keys
* fix naming in templates, event_context
* remove leftover comments
* Refactor notification type references to use NotificationTypeEnum
  - Updated all instances of NotificationType.Type to NotificationTypeEnum in test files and application code.
  - Ensured consistency in notification type usage across various tests including auth, claims, events, and more.
  - This change improves clarity and maintainability by standardizing the notification type references.
* Fix notification type reference for FILE_UPDATED
* Refactor notification type references to use NotificationTypeEnum across views and scripts
* fix unit tests
* remove imports
* fix USER_CROSSREF_DOI_PENDING event_context
* sync naming
* added explanation
* Add Celery task to disable removed beat tasks from PeriodicTask entries
* Apply suggestion from @Ostap-Zherebetskyi
* Apply suggestion from @cslzchen
* Add migrations to remove duplicate notification subscriptions and refactor notification model
* removed comment
* Refactor no-login email filtering to ensure last sent date is before last login date
* Add test to exclude users logged in before no_login_email_last_sent
* Refactor no-login email user filtering to exclude those with pending EmailTasks and recent no-login emails
* Fix CollectionSubmission URLs to use absolute_url method for consistency
* Refactor logo handling in notification methods to improve consistency and readability
* Add management command to sync notification templates
* Apply suggestion from @cslzchen
* Add management command for deleting withdrawn or failed registration files to CeleryConfig
* fix: update logo handling in send_moderator_email_task for favicon support

---------

Co-authored-by: Longze Chen <cslzchen@gmail.com>
Co-authored-by: Ostap Zherebetskyi <ozherebetskyi@exoft.net>
Co-authored-by: Bohdan Odintsov <bodintsov@exoft.net>
Notification refactor post-release project (Post-NR)
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.

6 participants