Skip to content
  • epriestley's avatar
    Allow numeric constants to act as aliases for task priorities in the web UI <select /> · 474d528c
    epriestley authored
    Summary:
    Ref T12124. This is a fairly narrow fix for existing saved EditEngine forms with a default priority value.
    
    These saved forms have a numeric (or probably "string-numeric") default value, like "50". They lost their meaning after D18111, when "50" no longer appears in the dropdown. Instead, these forms all select the highest available priority.
    
    At time of writing, this form was broken on this install, for example:
    
    > https://secure.phabricator.com/transactions/editengine/maniphest.task/view/13/
    
    Additionally, `/task/edit/form/123/?priority=...` (for templating forms) stopped working with `priority=50`. This isn't nearly as important, but a larger and more sudden compatiblity break than we need to make.
    
    Add support for an "alias map" on `<select />` controls, so if the value comes in with something we don't recognize we'll treat it like some other value. Then alias all the numeric constants -- and other keywords -- to the right constants.
    
    This ended up only affecting the `<select />` control in the web UI.
    
    Test Plan:
      - On `stable`, created a form with "Priority: Low".
      - Before patch: form has "Priority: Unbreak Now!" on `master`.
      - After patch: form has "Priority: Low" again.
      - Used `?priority=25`, `?priority=wish`, `?priority=wishlist` to template forms: all forms worked.
    
    Reviewers: amckinley, chad
    
    Reviewed By: amckinley
    
    Maniphest Tasks: T12124
    
    Differential Revision: https://secure.phabricator.com/D18134
    474d528c