1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-25 15:00:58 +01:00
phorge-phorge/src/infrastructure
epriestley 120a7d9164 Improve Phriction page move dialog
Summary:
Fixes T5492. I figured this would be easier to just fix than write a guide for; it actually took me an hour, but I spent like 75% of that futzing with my editor.

  - The Move controller currently accepts either a slug or an ID. I can't find any callsites which pass a slug, and this doesn't make sense. Pretty sure this was copy/pasted from Edit or something. Only accept IDs.
  - Slightly modernize the Move controller (newDialog(), handleRequest(), $viewer).
  - When the user enters a bad slug, warn them that we're going to fix it for them and let them accept or reject the changes.
  - Don't prefill the edit note (this feels inconsistent/unusual).
  - On the form, label the input "Path" instead of "URI".
  - Show the old path, to help remind the user what the input should look like.
  - When a user tries to do a no-op move, show a more tailored message.
  - When the user tries to do an overwriting move, explain how they can fix it.
  - When normalizing a slug like `/question/???/mark/`, make it normalize to `/question/_/mark`.

Test Plan:
  - Tried to move a document to itself.
  - Tried to overwrite a document.
  - Did a bad-path move, accepted corrected path.
  - Did a good-path move.
  - Did a path move with a weird component like `/???/`.
  - Added and executed unit tests.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T5492

Differential Revision: https://secure.phabricator.com/D10838
2014-11-12 07:04:51 -08:00
..
customfield Allow standard custom fields to be indexed in global fulltext search 2014-10-27 13:37:41 -07:00
daemon Fix daemon task queue to respect task priority 2014-10-31 09:27:04 -07:00
diff Minor formatting changes 2014-10-08 08:39:49 +11:00
edges Make Phortune account members editable and modernize the edge constant 2014-10-10 15:00:06 -07:00
env Add an extensible "SiteSource" for configuration 2014-11-05 15:30:40 -08:00
events Apply some autofix linter rules 2014-09-10 06:55:05 +10:00
internationalization Minor formatting changes 2014-10-08 08:39:49 +11:00
javelin Allow Javelin initBehavior to source alternative library behaviors 2014-11-04 06:47:07 -08:00
lint/linter Rename Conduit classes 2014-07-25 10:54:15 +10:00
log Add an SSH access log 2013-12-05 17:00:48 -08:00
management Extend all "ManagementWorkflow" classes from a base class 2013-12-27 13:15:40 -08:00
markup Fix project hashtag regexp to stop matching terminal periods 2014-10-29 08:13:38 -07:00
query Apply some autofix linter rules 2014-09-10 06:55:05 +10:00
sms Minor formatting changes 2014-10-08 08:39:49 +11:00
ssh Change double quotes to single quotes. 2014-06-09 11:36:50 -07:00
storage Apply storage adjustments as part of storage upgrade 2014-11-07 14:25:32 -08:00
testing Make Releeph a normal prototype application 2014-09-24 13:49:25 -07:00
time Change double quotes to single quotes. 2014-06-09 11:36:50 -07:00
util Improve Phriction page move dialog 2014-11-12 07:04:51 -08:00
PhabricatorEditor.php Use ManiphestTaskQuery in nearly all interfaces 2013-09-25 13:44:14 -07:00