mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-24 15:52:41 +01:00
5d76a4b0a2
Summary: Ref T10004. Currently, when a logged-out user visits an application like Maniphest, we show them a disabled "Create Task" button with no dropdown menu. This is technically correct in some sense because none of the items in the menu will work, but we can be more helpful and show the items, just in a disabled state: {F1028903} When the user clicks these, they'll be pushed through the login flow and (after D14804) end up on the same page they were on when they selected the item. From here, they can proceed normally. I changed "...to continue." to "...to take this action." to hopefully be a little more clear. In particular, we do not //continue// the action after you log in: you end up back on the same page you started on. For example, if you clicked "Create New Bug" from the list view, you end up back on the list view and need to click "Create New Bug" again. If you clicked "Edit Task" from some task detail page, you end up on the task detail page and have to click "Edit Task" again. I think this behavior is always very good. I think it is often the best possible behavior: for actions like "Edit Blocking Tasks" and "Merge Duplicates In", the alternatives I can see are: - Send user back to task page (best?) - Send user to standalone page with weird dialog on it and no context (underlying problem behavior all of this is tackling, clearly not good) - Send user back to task page, but with dialog open (very complicated, seems kind of confusing/undesirable?) For actions like "Create New Bug" or "Edit Task", we have slightly better options: - Send user back to task page (very good?) - Send user to edit/create page (slightly better?) However, we have no way to tell if a Workflow "makes sense" to complete in a standalone way. That is, we can't automatically determine which workflows are like "Edit Task" and which workflows are like "Merge Duplicates In". Even within an action, this distinction is not straightforward. For example, "Create Task" can standalone from the Maniphest list view, but should not from a Workboard. "Edit Task" can standalone from the task detail page, but should not from an "Edit" pencil action on a list or a workboard. Since the simpler behavior is easy, very good in all cases, often the best behavior, and never (I think?) confusing or misleading, I don't plan to puruse the "bring you back to the page, with the dialog open" behavior at any point. I'm theoretically open to discussion here if you REALLY want the dialogs to pop open magically but I think it's probably a lot of work. Test Plan: As a logged out user, clicked "Create Task". Got a dropdown showing the options available to me if I log in. Clicked one, logged in, ended up in a reasonable place (the task list page where I'd started). Reviewers: chad Reviewed By: chad Maniphest Tasks: T10004 Differential Revision: https://secure.phabricator.com/D14806 |
||
---|---|---|
.. | ||
config | ||
PhabricatorAuthConfirmLinkController.php | ||
PhabricatorAuthController.php | ||
PhabricatorAuthDowngradeSessionController.php | ||
PhabricatorAuthFinishController.php | ||
PhabricatorAuthInviteController.php | ||
PhabricatorAuthLinkController.php | ||
PhabricatorAuthLoginController.php | ||
PhabricatorAuthNeedsApprovalController.php | ||
PhabricatorAuthNeedsMultiFactorController.php | ||
PhabricatorAuthOldOAuthRedirectController.php | ||
PhabricatorAuthOneTimeLoginController.php | ||
PhabricatorAuthRegisterController.php | ||
PhabricatorAuthRevokeTokenController.php | ||
PhabricatorAuthSSHKeyController.php | ||
PhabricatorAuthSSHKeyDeleteController.php | ||
PhabricatorAuthSSHKeyEditController.php | ||
PhabricatorAuthSSHKeyGenerateController.php | ||
PhabricatorAuthStartController.php | ||
PhabricatorAuthTerminateSessionController.php | ||
PhabricatorAuthUnlinkController.php | ||
PhabricatorAuthValidateController.php | ||
PhabricatorDisabledUserController.php | ||
PhabricatorEmailLoginController.php | ||
PhabricatorEmailVerificationController.php | ||
PhabricatorLogoutController.php | ||
PhabricatorMustVerifyEmailController.php | ||
PhabricatorRefreshCSRFController.php |