HomePhabricator

Fix an issue with editing pre-space objects using a form with no visibility…

Description

Fix an issue with editing pre-space objects using a form with no visibility controls

Summary:
WMF ran into this after their update. Here's the setup:

  • When you enable Spaces, we leave all existing objects set to null, which means "these belong to the default space". This is so we don't have to go update a trillion objects.
  • New objects get set to the default space explicitly (PHID-SPCE-...) but older ones stay with null.
  • If you edit an older object (like a task) from the time before Spaces, and the form doesn't have a Visbility/Spaces control, we would incorrectly poplate the value with null when the effective value should be the default space PHID.
  • This caused a "You must choose a space." error in the UI.

Instead, populate the control with the effective value instead of the literal database value. This makes the edit go through cleanly.

Also add a note about this for future-me.

Test Plan:

  • Disabled "Visibility" control in task edit form.
  • Edited an old task which had null as a spacePHID in the database.
  • Before patch: UI error about selecting a Space.
  • After patch: edit goes through cleanly.

Reviewers: chad, 20after4

Reviewed By: chad, 20after4

Subscribers: 20after4, aklapper

Differential Revision: https://secure.phabricator.com/D15306

Details

Provenance
epriestleyAuthored on Feb 18 2016, 5:47 PM
epriestleyPushed on Feb 18 2016, 7:15 PM
Reviewer
chad
Differential Revision
D15306: Fix an issue with editing pre-space objects using a form with no visibility controls
Parents
rPdc7d0b4a56d8: Make repository callsigns optional
Branches
Unknown
Tags
Unknown
Build Status
Buildable 10768
Build 13255: Run Core Tests