Page MenuHomePhabricator

When a partner is switched to Library Bundle access method, set all open applications to Invalid
Closed, ResolvedPublic

Description

Applications become meaningless under the Library Bundle authorization method. We should update the post_save resource signal for partners which are switched to the Bundle method. The signal should find all open applications to the partner and set them to the Application.INVALID status.

Event Timeline

Samwalton9-WMF raised the priority of this task from Medium to High.Feb 11 2020, 11:01 AM

as a sidenote, this doesn't try to do anything clever in the case of open apps from editors who have deleted their data/accounts. Not sure if that is even a case that needs to be accounted for, but I thought I'd mention that I haven't even looked.

Interesting point. Deleted apps have their user-entered data blanked, version history deleted, and the user field becomes NULL on account of the on_delete setting. It doesn't look like we do anything with the status field, nor do we hide these apps via the model manager, rather we remove them from lists via editor__isnull=False (e.g. https://github.com/WikipediaLibrary/TWLight/blob/master/TWLight/applications/views.py#L656).

In short, setting these apps to Invalid should be harmless.

The signal in this pr posts a comment to the application indicating that the partner is now part of the bundle. We discussed adding a link to the 'my collections' page which makes sense for bundle eligible editors. Should we be sending them to the terms page (or somewhere else) if they are ineligible for bundle at the time?

My homepage redesign PR included a (not fully thought out) addition to the About page which summarised Library Bundle requirements, incl. technicalities. That may be the best place to point those (probably very few, if any) users.

We may also consider sending them to the homepage where they can view the Tick/Cross Bundle eligibility list.
Thoughts @Nikkimaria?

ah, yeah I can see that we already have some bundle info in the about page.